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

BDMDF11.m

Go to the documentation of this file.
BDMDF11 ; IHS/CMI/LAB -IHS -CUMULATIVE REPORT 10 Oct 2014 9:50 AM ; 
 ;;2.0;DIABETES MANAGEMENT SYSTEM;**11**;JUN 14, 2007;Build 30
 ;
IMM ;
 S:'$D(BDMCUML(140)) BDMCUML(140)="IMMUNIZATIONS"
 S $P(BDMCUML(140),U,2)=$P(BDMCUML(140),U,2)+1
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,64))
 I $E(V)="1" S $P(BDMCUML(140),U,3)=$P(BDMCUML(140),U,3)+1
 I $E(V)="3" S $P(BDMCUML(140),U,6)=$P(BDMCUML(140),U,6)+1
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,66))
 I $E(V)="1" S $P(BDMCUML(140),U,4)=$P(BDMCUML(140),U,4)+1
 I $E(V)="3" S $P(BDMCUML(140),U,7)=$P(BDMCUML(140),U,7)+1
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,68))
 I $E(V)="1" S $P(BDMCUML(140),U,5)=$P(BDMCUML(140),U,5)+1
 I $E(V)="3" S $P(BDMCUML(140),U,8)=$P(BDMCUML(140),U,8)+1
 ;HEP B
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,115))
 I $E(V)="1" S $P(BDMCUML(140),U,9)=$P(BDMCUML(140),U,9)+1
 I $E(V)="3" S $P(BDMCUML(140),U,10)=$P(BDMCUML(140),U,10)+1
 I $E(V)="4" S $P(BDMCUML(140),U,11)=$P(BDMCUML(140),U,11)+1
 ;TDAP EVER
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,216))
 I $E(V)="1" S $P(BDMCUML(140),U,12)=$P(BDMCUML(140),U,12)+1
 I $E(V)="3" S $P(BDMCUML(140),U,13)=$P(BDMCUML(140),U,13)+1
 ;
QUAN ;
 ;145
 ;title^total pts^total YES^NO^REF^UACR^UPCR^24HR^MICRO STRIP^MICRO ONLY^DIPSTICK
 K BDMOFLG
 S BDMOFLG=0
 S:'$D(BDMCUML(145)) BDMCUML(145)="LABORATORY EXAMS"
 S $P(BDMCUML(145),U,2)=$P(BDMCUML(145),U,2)+1  ;TOTAL # of patients
 S Q=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92))
 S V=$E($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92)))  ;test done?
 ;S T=$P($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92)),U,5)  ;type of test
 S R=$S($P(Q,U,6)]"":$P(Q,U,6),1:$P(Q,U,2))  ;value/result
 ;CONVERT RESULT LIKE IN WEB EXPORT
 S S=$$AS^BDMDF18(R),S=$$STV^BDMDF18(S,8)
 I S="" S V=0  ;X=$E(X,1,5)
 I V'=1 S $P(BDMCUML(145),U,4)=$P(BDMCUML(145),U,4)+1  ;no UACR
 I V=1 D
 .S $P(BDMCUML(145),U,3)=$P(BDMCUML(145),U,3)+1  ;TOTAL WITH UACR
 .I R[">" S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1 Q
 .;I $$UP^XLFSTR(R)["COMMENT" S $P(BDMCUML(145),U,12)=$P(BDMCUML(145),U,12)+1 Q
 .S R=$$STV^BDMDF18(R,8)
 .I R="" S $P(BDMCUML(145),U,15)=$P(BDMCUML(145),U,15)+1 Q  ;NO RESULT
 .S R=+R
 .I R<30 S $P(BDMCUML(145),U,12)=$P(BDMCUML(145),U,12)+1,BDMUACRV="<30" Q  ;NORMAL UACR
 .I R<300.9999 S $P(BDMCUML(145),U,13)=$P(BDMCUML(145),U,13)+1,BDMCKD=1,BDMUACRV=">30" Q  ;INREACSED 30-300
 .S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1,BDMCKD=1,BDMUACRV=">30"  ;INCREASED >300
 S G=$P($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,79)),U,2)  ;egfr value
 S H=0
 I $$AGE^AUPNPAT(BDMPD,BDMADAT)>17 D
 .S G=$$AS^BDMDF18(G)
 .S G=$$STV^BDMDF18(G,5,1)
 .I G="" Q
 .I +G>29 S $P(BDMCUML(145),U,20)=$P(BDMCUML(145),U,20)+1 I V=1 S $P(BDMCUML(145),U,21)=$P(BDMCUML(145),U,21)+1
 ;
GFR ;
 G:$$AGE^AUPNPAT(BDMPD,BDMADAT)<18 TCHOL
 S:'$D(BDMCUML(175)) BDMCUML(175)="e-GFR to assess kidney function obtained during audit period"
 S $P(BDMCUML(175),U,2)=$P(BDMCUML(175),U,2)+1  ;total pts over 18
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,79))
 ;I $E(V)=1 S $P(BDMCUML(175),U,5)=$P(BDMCUML(175),U,5)+1  ;EGFR DONE
 S V=$P(V,U,2) ;EGFR VALUE
 I $E(V)=">" S $P(BDMCUML(175),U,6)=$P(BDMCUML(175),U,6)+1 S BDMEGFRV="61" S $P(BDMCUML(175),U,5)=$P(BDMCUML(175),U,5)+1 G TCHOL ;>60
 S V=$$STV^BDMDF18(V,5,1)
 I V="" S $P(BDMCUML(175),U,10)=$P(BDMCUML(175),U,10)+1 G TCHOL
 S $P(BDMCUML(175),U,5)=$P(BDMCUML(175),U,5)+1  ;EGFR DONE
 S BDMEGFRV=+V
 I +V<60 S BDMCKD=1
 I +V>59 S $P(BDMCUML(175),U,6)=$P(BDMCUML(175),U,6)+1 G TCHOL
 I +V<15 S $P(BDMCUML(175),U,9)=$P(BDMCUML(175),U,9)+1 G TCHOL
 I +V>29,+V<60 S $P(BDMCUML(175),U,7)=$P(BDMCUML(175),U,7)+1 G TCHOL
 I +V>14,+V<30 S $P(BDMCUML(175),U,8)=$P(BDMCUML(175),U,8)+1 G TCHOL
 ;
TCHOL ;
 S:'$D(BDMCUML(180)) BDMCUML(180)="Total Cholesterol obtained in past 12 months"
 S $P(BDMCUML(180),U,2)=$P(BDMCUML(180),U,2)+1
 S V=$$CHOL^BDMDF18(BDMPD,BDMBDAT,BDMADAT,"I")
 I V="" S $P(BDMCUML(180),U,6)=$P(BDMCUML(180),U,6)+1 G NONHDL
 S V=$P(V,U)
 S V=$$STV^BDMDF18(V,5,1)
 I V="" S $P(BDMCUML(180),U,7)=$P(BDMCUML(180),U,7)+1 G NONHDL
 I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(180),U,7)=$P(BDMCUML(180),U,7)+1 G NONHDL
 I V<200 S $P(BDMCUML(180),U,3)=$P(BDMCUML(180),U,3)+1 G NONHDL
 I V<240 S $P(BDMCUML(180),U,4)=$P(BDMCUML(180),U,4)+1 G NONHDL
 S $P(BDMCUML(180),U,5)=$P(BDMCUML(180),U,5)+1
NONHDL ;
LDL ;
 S:'$D(BDMCUML(190)) BDMCUML(190)="LDL Cholesterol obtained during audit period"
 S $P(BDMCUML(190),U,2)=$P(BDMCUML(190),U,2)+1
 S V=$$LDL^BDMDF18(BDMPD,BDMBDAT,BDMADAT,"I")
 I V="" S $P(BDMCUML(190),U,7)=$P(BDMCUML(190),U,7)+1 G HDL
 S V=$P(V,U)
 ;S V=$$STV^BDMDF18(V,4)
 S V=$$STV^BDMDF18(V,5,1) I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(190),U,8)=$P(BDMCUML(190),U,8)+1 G HDL
 I V<100 S $P(BDMCUML(190),U,3)=$P(BDMCUML(190),U,3)+1 G HDL
 I V<190 S $P(BDMCUML(190),U,4)=$P(BDMCUML(190),U,4)+1 G HDL
 ;I V<189.1 S $P(BDMCUML(190),U,5)=$P(BDMCUML(190),U,5)+1 G HDL
 S $P(BDMCUML(190),U,6)=$P(BDMCUML(190),U,6)+1
HDL ;
 S:'$D(BDMCUML(195)) BDMCUML(195)="HDL Cholesterol obtained during audit period"
 S V=$$HDL^BDMDF18(BDMPD,BDMBDAT,BDMADAT,"I")
 S S=$P(^DPT(BDMPD,0),U,2)  ;GENDER
 I S="F" D
 .S $P(BDMCUML(195),U,2)=$P(BDMCUML(195),U,2)+1
 .I V="" S $P(BDMCUML(195),U,5)=$P(BDMCUML(195),U,5)+1 Q
 .S V=$P(V,U)
 .S V=$$STV^BDMDF18(V,5,1) I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(195),U,5)=$P(BDMCUML(195),U,5)+1 Q
 .S V=$P(V,"."),V=$$STV^BDMDF18(V,5,1)
 .I $E(V)'=+$E(V)!(+V=0)!(V="") S $P(BDMCUML(195),U,5)=$P(BDMCUML(195),U,5)+1 Q
 .I V<50 S $P(BDMCUML(195),U,3)=$P(BDMCUML(195),U,3)+1 Q
 .S $P(BDMCUML(195),U,4)=$P(BDMCUML(195),U,4)+1 Q
 I S="M" D
 .S $P(BDMCUML(195),U,6)=$P(BDMCUML(195),U,6)+1
 .I V="" S $P(BDMCUML(195),U,9)=$P(BDMCUML(195),U,9)+1 Q
 .S V=$P(V,U)
 .S V=$$STV^BDMDF18(V,5,1) I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(195),U,9)=$P(BDMCUML(195),U,9)+1 Q  ;unable to determine result, not a number
 .S V=$P(V,"."),V=$$STV^BDMDF18(V,5,1)
 .I $E(V)'=+$E(V)!(+V=0)!(V="") S $P(BDMCUML(195),U,9)=$P(BDMCUML(195),U,9)+1 Q  ;unable to determine result, not a number
 .I V<40 S $P(BDMCUML(195),U,7)=$P(BDMCUML(195),U,7)+1 Q
 .S $P(BDMCUML(195),U,8)=$P(BDMCUML(195),U,8)+1 Q
TRIG ;
 S:'$D(BDMCUML(200)) BDMCUML(200)="Triglycerides obtained in past 12 months"
 S $P(BDMCUML(200),U,2)=$P(BDMCUML(200),U,2)+1
 S V=$$TRIG^BDMDF18(BDMPD,BDMBDAT,BDMADAT,"I")
 I V="" S $P(BDMCUML(200),U,7)=$P(BDMCUML(200),U,7)+1 G ACE
 S V=$P(V,U)
 S V=$$STV^BDMDF18(V,5,1) I $E(V)'=+$E(V) S $P(BDMCUML(200),U,5)=$P(BDMCUML(200),U,5)+1 G ACE ;unable to determine result, not a number
 I V<150 S $P(BDMCUML(200),U,3)=$P(BDMCUML(200),U,3)+1 G ACE
 I V<500 S $P(BDMCUML(200),U,8)=$P(BDMCUML(200),U,8)+1 G ACE
 I V<1000 S $P(BDMCUML(200),U,9)=$P(BDMCUML(200),U,9)+1 G ACE
 S $P(BDMCUML(200),U,4)=$P(BDMCUML(200),U,4)+1
 ;
ACE ;110 title^total pts^total pts with protein^# of those on ace^# with htn^# of those on ace"
 S $P(BDMCUML(110),U,2)=$P(BDMCUML(110),U,2)+1
 ;set 3rd piece with # with proteinuria
 S P=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92))  ;URINE PROTEIN VALUE
 S H=$E($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,34)))
 S A=$E($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,60)))
 I A S $P(BDMCUML(110),U,3)=$P(BDMCUML(110),U,3)+1  ;TOTAL ACE
 I $E(H)=1 S $P(BDMCUML(110),U,5)=$P(BDMCUML(110),U,5)+1 I A=1 S $P(BDMCUML(110),U,7)=$P(BDMCUML(110),U,7)+1  ;TOTAL HTN
 I BDMCKD,$$AGE^AUPNPAT(BDMPD)>17 S $P(BDMCUML(110),U,4)=$P(BDMCUML(110),U,4)+1 I A=1 S $P(BDMCUML(110),U,8)=$P(BDMCUML(110),U,8)+1 ;TOTAL CKD
CVD ;USE 250
 S:'$D(BDMCUML(250)) BDMCUML(250)="Cardiovascular Disease"
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,116))
 I $E(V)=1 S $P(BDMCUML(250),U,3)=$P(BDMCUML(250),U,3)+1
 S $P(BDMCUML(250),U,2)=$P(BDMCUML(250),U,2)+1
EGFRQUP ;
 S:'$D(BDMCUML(270)) BDMCUML(270)="eGFR and QUANTITATIVE URINARY PROTEIN ASSESSMENT"
 G:$$AGE^AUPNPAT(BDMPD,BDMADAT)<18 COMBINED
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,79)),V=$$STV^BDMDF18($P(V,U,2),5)
 S T=$P($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92)),U,5)  ;type of test
 S Q=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92))
 S $P(BDMCUML(270),U,2)=$P(BDMCUML(270),U,2)+1
 S R=$S($P(Q,U,6)]"":$P(Q,U,6),1:$P(Q,U,2))  ;value/result
 ;CONVERT RESULT LIKE IN WEB EXPORT
 S S=$$AS^BDMDF18(R),S=$$STV^BDMDF18(S,8)
 ;I S="" S V=0  ;X=$E(X,1,5)
 I V]"",T=1,S]"" S $P(BDMCUML(270),U,3)=$P(BDMCUML(270),U,3)+1,BDMEGFRU=1 ;I DUZ=2881 S ^LORI12CU(BDMPD)=V_U_$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,92)) ;had both
COMBINED ;USE 260
 S:'$D(BDMCUML(260)) BDMCUML(260)="Combined Outcome Measure"
 ;ONLY 40 AND OLDER
 G:$$AGE^AUPNPAT(BDMPD,BDMADAT)<40 E
 I $E($G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,300)))=3 G E  ;statin allergy
 S V=$G(^XTMP("BDMDM18",BDMJOB,BDMBTH,"AUDIT",BDMPD,118))
 I $E(V)=1 S $P(BDMCUML(260),U,3)=$P(BDMCUML(260),U,3)+1
 S $P(BDMCUML(260),U,2)=$P(BDMCUML(260),U,2)+1
E G CUML^BDMDF1J
 ;
CESS(P,BDATE,EDATE) ;EP - find any cessation hf in 12 months before E
 G CESS^BDMDF1B