Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BDMDM6

BDMDM6.m

Go to the documentation of this file.
  1. BDMDM6 ; IHS/CMI/LAB - TOBACCO USE ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**2,4,8**;JUN 14, 2007;Build 53
  1. ;
  1. ;cmi/anch/maw 9/10/2007 code set versioning in TOBACCO1
  1. ;
  1. TOBACCO ;EP
  1. K BDMTOB
  1. D TOBACCO3
  1. I $D(^TMP("BDM",$J,1)) D TOBCUML G X1
  1. D TOBACCO0
  1. I $D(^TMP("BDM",$J,1)) D TOBCUML G X1
  1. D TOBACCO1 ;check Problem file for tobacco use
  1. I $D(^TMP("BDM",$J,1)) D TOBCUML G X1
  1. D TOBACCO2 ;check POVs for tobacco use
  1. I $D(^TMP("BDM",$J,1)) D TOBCUML G X1
  1. S BDMTOB(44)="UNDOCUMENTED",^TMP("BDM",$J,1)="UNDOCUMENTED"
  1. D TOBCUML
  1. X1 S:BDMER ^TMP("BDM",$J,1)="*** SCRIPT ERROR IN TOBACCO^BDMDM1. CONTACT SITE MANAGER"
  1. Q
  1. TOBCUML ;
  1. I BDMCUML F BDMSUB=7,42,43,44 S BDMGOT1=$S('$D(BDMTOB(BDMSUB)):0,1:1) D CUML^BDMDM1
  1. K BDMTOB,BDMTOBN
  1. Q
  1. TOBACCO0 ;check for tobacco documented in health factors
  1. K BDM S BDMX=BDMPD_"^LAST HEALTH [DM AUDIT TOBACCO HLTH FACTORS" S BDMER=$$START1^APCLDF(BDMX,BDMY) G:BDMER X1 I $D(BDM(1)) D S BDMTOBN=$O(BDMTOB("")),^TMP("BDM",$J,1)=BDMTOB(BDMTOBN)
  1. . I $P(BDM(1),U,3)["NON" S BDMTOB(42)="NO, DOES NOT USE TOBACCO" Q
  1. . I $P(BDM(1),U,3)["PREVIOUS" S BDMTOB(43)="PAST USE OF TOBACCO" Q
  1. . S BDMTOB(7)="YES, USES TOBACCO"
  1. .Q
  1. Q
  1. TOBACCO3 ;lookup in health status
  1. S %=$O(^ATXAX("B","DM AUDIT TOBACCO HLTH FACTORS",0))
  1. Q:'%
  1. S (X,Y)=0 F S X=$O(^AUPNHF("AA",BDMPD,X)) Q:X'=+X!(Y) I $D(^ATXAX(%,21,"B",X)) S Y=X
  1. Q:'Y
  1. S Y=$P(^AUTTHF(Y,0),U)
  1. S ^TMP("BDM",$J,1)=Y
  1. I Y["NON" S BDMTOB(42)="NO, DOES NOT USE TOBACCO" Q
  1. I Y["PREVIOUS" S BDMTOB(43)="PAST USE OF TOBACCO" Q
  1. S BDMTOB(7)="YES, USES TOBACCO"
  1. Q
  1. TOBACCO1 ;check problem file for tobacco use
  1. K BDM S BDMX=BDMPD_"^PROBLEMS [DM AUDIT PROBLEM SMOKING DXS" S BDMER=$$START1^APCLDF(BDMX,BDMY) G:BDMER X1 I $D(BDM(1)) D S BDMTOBN=$O(BDMTOB("")),^TMP("BDM",$J,1)=BDMTOB(BDMTOBN)
  1. . ;I $P(^ICD9($P(BDM(1),U,2),0),U,1)=305.13 S BDMTOB(43)="PAST USE OF TOBACCO"_" - "_$E($P(^AUTNPOV($P(^AUPNPROB(+$P(BDM(1),U,4),0),U,5),0),U),1,30) Q ;cmi/anch/maw 9/10/2007 orig line
  1. . I $P($$ICDDX^BDMUTL($P(BDM(1),U,2)),U,2)=305.13 S BDMTOB(43)="PAST USE OF TOBACCO"_" - "_$E($$VAL^XBDIQ1(9000011,+$P(BDM(1),U,4),.05),1,30) Q ;cmi/anch/maw 9/10/2007 csv
  1. . S BDMTOB(7)="YES, USES TOBACCO - "_$E($$VAL^XBDIQ1(9000011,+$P(BDM(1),U,4),.05),1,30)
  1. .Q
  1. Q
  1. TOBACCO2 ;check pov file for TOBACCO USE DOC
  1. K BDM S BDMX=BDMPD_"^LAST DX [DM AUDIT SMOKING RELATED DXS"_BDMDATE S BDMER=$$START1^APCLDF(BDMX,BDMY) G:BDMER X1 I $D(BDM(1)) D S BDMTOBN=$O(BDMTOB("")),^TMP("BDM",$J,1)=BDMTOB(BDMTOBN)
  1. . I $P(BDM(1),U,2)=305.13 S BDMTOB(43)="PAST USE OF TOBACCO"_" - "_$E($$VAL^XBDIQ1(9000010.07,+$P(BDM(1),U,4),.05),1,30) Q
  1. . S BDMTOB(7)="YES, USES TOBACCO"_" - "_$E($$VAL^XBDIQ1(9000010.07,+$P(BDM(1),U,4),.05),1,30)
  1. .Q
  1. Q
  1. ;
  1. RSTAT(R,S) ;EP - return # pts on register REG with status STAT
  1. I $G(R)="" Q ""
  1. I '$D(^ACM(41,"B",R)) Q ""
  1. I "AITUDN"'[S Q ""
  1. NEW %,C
  1. S (%,C)=0 F S %=$O(^ACM(41,"B",R,%)) Q:%'=+% I $P($G(^ACM(41,%,"DT")),U)=S S C=C+1
  1. Q C
  1. LASTHT(P,F) ;PEP - return last ht
  1. I 'P Q -1
  1. I '$D(^AUPNVSIT("AC",P)) Q -1
  1. NEW %,BDMARRY,H,E
  1. S %=P_"^LAST MEAS HT" NEW X S E=$$START1^APCLDF(%,"BDMARRY(") S H=$P($G(BDMARRY(1)),U,2)
  1. I H="" Q H
  1. S H=$J(H,2,0)
  1. Q $S(F="I":H,1:(H\12)_" "_(H#12))
  1. ;F="I" - in inches, F="E" - feet and inches 5 5
  1. LASTWT(P,F) ;PEP - return last wt
  1. I 'P Q ""
  1. NEW %,BDMARRY,E,W
  1. S %=P_"^LAST MEAS WT" NEW X S E=$$START1^APCLDF(%,"BDMARRY(") S W=$P($G(BDMARRY(1)),U,2)
  1. Q W
  1. BMI(P) ;PEP - return BMI with last weight,last height
  1. I 'P Q -1
  1. NEW %,W,H,B
  1. S %=""
  1. S W=$$LASTWT(P) I W="" Q %
  1. S H=$$LASTHT(P,"I") I H="" Q %
  1. ;S W=(W/5)*2.3,H=(H*2.5),H=(H*H)/10000,%=(W/H),%=$J(%,4,1)
  1. S W=W*.45359,H=(H*.0254),H=(H*H),%=(W/H),%=$J(%,4,1)
  1. Q %