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

BDMD111.m

Go to the documentation of this file.
  1. BDMD111 ; IHS/CMI/LAB -IHS -CUMULATIVE REPORT ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**4**;JUN 14, 2007
  1. ;
  1. ;
  1. IMM ;
  1. S:'$D(BDMCUML(140)) BDMCUML(140)="IMMUNIZATIONS"
  1. S $P(BDMCUML(140),U,2)=$P(BDMCUML(140),U,2)+1
  1. S V=$G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,64))
  1. I $E(V)="1" S $P(BDMCUML(140),U,3)=$P(BDMCUML(140),U,3)+1
  1. I $E(V)="3" S $P(BDMCUML(140),U,6)=$P(BDMCUML(140),U,6)+1
  1. S V=$G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,66))
  1. I $E(V)="1" S $P(BDMCUML(140),U,4)=$P(BDMCUML(140),U,4)+1
  1. I $E(V)="3" S $P(BDMCUML(140),U,7)=$P(BDMCUML(140),U,7)+1
  1. S V=$G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,68))
  1. I $E(V)="1" S $P(BDMCUML(140),U,5)=$P(BDMCUML(140),U,5)+1
  1. I $E(V)="3" S $P(BDMCUML(140),U,8)=$P(BDMCUML(140),U,8)+1
  1. ;
  1. QUAN ;
  1. ;145
  1. ;title^total pts^total YES^NO^REF^UACR^UPCR^24HR^MICRO STRIP^MICRO ONLY^DIPSTICK
  1. K BDMOFLG
  1. S BDMOFLG=0
  1. S:'$D(BDMCUML(145)) BDMCUML(145)="LABORATORY EXAMS"
  1. S $P(BDMCUML(145),U,2)=$P(BDMCUML(145),U,2) ;TOTAL # of patients
  1. S Q=$G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,92))
  1. S V=$E($G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,92))) ;test done?
  1. S T=$P($G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,92)),U,5) ;type of test
  1. S R=$S($P(Q,U,6)]"":$P(Q,U,6),1:$P(Q,U,2)) ;value/result
  1. I V=1 D
  1. .S $P(BDMCUML(145),U,3)=$P(BDMCUML(145),U,3)+1
  1. .S P=$S(T=1:6,T=2:7,T=3:8,T=4:9,T=5:10,T=6:11,1:"")
  1. .S $P(BDMCUML(145),U,P)=$P(BDMCUML(145),U,P)+1
  1. ;.I T=1!(T=2)!(T=5) D
  1. ;..I T=5 D
  1. ;...S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1
  1. ;..I T=1 D
  1. ;...I R[">" S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1 Q
  1. ;...;I $$UP^XLFSTR(R)["COMMENT" S $P(BDMCUML(145),U,12)=$P(BDMCUML(145),U,12)+1 Q
  1. ;...S R=$$STV^BDMD118(R,8)
  1. ;...I R="" S $P(BDMCUML(145),U,15)=$P(BDMCUML(145),U,15)+1 Q
  1. ;...S R=+R
  1. ;...I R<30 S $P(BDMCUML(145),U,12)=$P(BDMCUML(145),U,12)+1 Q
  1. ;...I R<300.9999 S $P(BDMCUML(145),U,13)=$P(BDMCUML(145),U,13)+1 Q
  1. ;...S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1
  1. ;..I T=2 D
  1. ;...I R["-" S $P(BDMCUML(145),U,13)=$P(BDMCUML(145),U,13)+1 Q
  1. ;...I R["300" S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1 Q
  1. ;...I R[">" S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1 Q
  1. ;...S R=$$STV^BDMD118(R,5,1) I R>300 S $P(BDMCUML(145),U,14)=$P(BDMCUML(145),U,14)+1 Q
  1. ;...S $P(BDMCUML(145),U,12)=$P(BDMCUML(145),U,12)+1
  1. I V=2 S $P(BDMCUML(145),U,4)=$P(BDMCUML(145),U,4)+1 ;no urine testing
  1. I V=3 S $P(BDMCUML(145),U,5)=$P(BDMCUML(145),U,5)+1 ;refused urine testing
  1. EKG ;need date of last ekg
  1. S:'$D(BDMCUML(150)) BDMCUML(150)="Electrocardiogram (Age 30 and above)"
  1. G:$$AGE^AUPNPAT(BDMPD,BDMADAT)<30 CREAT
  1. S $P(BDMCUML(150),U,2)=$P(BDMCUML(150),U,2)+1
  1. S V=$$EKG^BDMD112(BDMPD,BDMRED,"I")
  1. I V]"" D
  1. .S E=$$FMDIFF^XLFDT(BDMADAT,V)
  1. .I E<(365.25*3) S $P(BDMCUML(150),U,3)=$P(BDMCUML(150),U,3)+1
  1. .I E<(365.25*5) S $P(BDMCUML(150),U,4)=$P(BDMCUML(150),U,4)+1
  1. .S $P(BDMCUML(150),U,5)=$P(BDMCUML(150),U,5)+1
  1. CREAT ;
  1. S:'$D(BDMCUML(170)) BDMCUML(170)="Serum Creatinine obtained in the past 12 months"
  1. S $P(BDMCUML(170),U,2)=$P(BDMCUML(170),U,2)+1
  1. S V=$$CREAT^BDMD118(BDMPD,BDMBDAT,BDMADAT,"I")
  1. I V="" S $P(BDMCUML(170),U,5)=$P(BDMCUML(170),U,5)+1 G GFR
  1. S V=$P(V,U)
  1. S V=$$STV^BDMD118(V,5,1) I $E(V)'=+$E(V),$E(V)'="." S $P(BDMCUML(170),U,6)=$P(BDMCUML(170),U,6)+1 G GFR ;unable to determine result, not a number
  1. I V>1.9 S $P(BDMCUML(170),U,3)=$P(BDMCUML(170),U,3)+1
  1. I V<2.0 S $P(BDMCUML(170),U,4)=$P(BDMCUML(170),U,4)+1
  1. ;
  1. GFR ;
  1. G:$$AGE^AUPNPAT(BDMPD,BDMADAT)<18 TCHOL
  1. S:'$D(BDMCUML(175)) BDMCUML(175)="Estimated GFR documented during audit period"
  1. S $P(BDMCUML(175),U,2)=$P(BDMCUML(175),U,2)+1
  1. S V=$E($G(^XTMP("BDMDM11",BDMJOB,BDMBTH,"AUDIT",BDMPD,79)))
  1. I V=1 S $P(BDMCUML(175),U,5)=$P(BDMCUML(175),U,5)+1
  1. ;
  1. TCHOL ;
  1. S:'$D(BDMCUML(180)) BDMCUML(180)="Total Cholesterol obtained in past 12 months"
  1. S $P(BDMCUML(180),U,2)=$P(BDMCUML(180),U,2)+1
  1. S V=$$CHOL^BDMD118(BDMPD,BDMBDAT,BDMADAT,"I")
  1. I V="" S $P(BDMCUML(180),U,6)=$P(BDMCUML(180),U,6)+1 G LDL
  1. S V=$P(V,U)
  1. S V=$$STV^BDMD118(V,5,1)
  1. I V="" S $P(BDMCUML(180),U,7)=$P(BDMCUML(180),U,7)+1 G LDL
  1. I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(180),U,7)=$P(BDMCUML(180),U,7)+1 G LDL ;unable to determine result, not a number or is blank
  1. I V<200 S $P(BDMCUML(180),U,3)=$P(BDMCUML(180),U,3)+1 G LDL
  1. I V<240 S $P(BDMCUML(180),U,4)=$P(BDMCUML(180),U,4)+1 G LDL
  1. S $P(BDMCUML(180),U,5)=$P(BDMCUML(180),U,5)+1
  1. LDL ;
  1. S:'$D(BDMCUML(190)) BDMCUML(190)="LDL Cholesterol obtained in the past 12 months"
  1. S $P(BDMCUML(190),U,2)=$P(BDMCUML(190),U,2)+1
  1. S V=$$LDL^BDMD118(BDMPD,BDMBDAT,BDMADAT,"I")
  1. I V="" S $P(BDMCUML(190),U,7)=$P(BDMCUML(190),U,7)+1 G HDL
  1. S V=$P(V,U)
  1. ;S V=$$STV^BDMD118(V,4)
  1. S V=$$STV^BDMD118(V,5,1) I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(190),U,8)=$P(BDMCUML(190),U,8)+1 G HDL ;unable to determine result, not a number or blank
  1. I V<100 S $P(BDMCUML(190),U,3)=$P(BDMCUML(190),U,3)+1 G HDL
  1. I V<130 S $P(BDMCUML(190),U,4)=$P(BDMCUML(190),U,4)+1 G HDL
  1. I V<160.1 S $P(BDMCUML(190),U,5)=$P(BDMCUML(190),U,5)+1 G HDL
  1. S $P(BDMCUML(190),U,6)=$P(BDMCUML(190),U,6)+1
  1. HDL ;
  1. S:'$D(BDMCUML(195)) BDMCUML(195)="HDL Cholesterol obtained in the past 12 months"
  1. S $P(BDMCUML(195),U,2)=$P(BDMCUML(195),U,2)+1
  1. S V=$$HDL^BDMD118(BDMPD,BDMBDAT,BDMADAT,"I")
  1. I V="" S $P(BDMCUML(195),U,7)=$P(BDMCUML(195),U,7)+1 G TRIG
  1. S V=$P(V,U)
  1. S V=$$STV^BDMD118(V,5,1) I $E(V)'=+$E(V)!(+V=0) S $P(BDMCUML(195),U,8)=$P(BDMCUML(195),U,8)+1 G TRIG ;unable to determine result, not a number
  1. S V=$P(V,"."),V=$$STV^BDMD118(V,5,1)
  1. I $E(V)'=+$E(V)!(+V=0)!(V="") S $P(BDMCUML(195),U,8)=$P(BDMCUML(195),U,8)+1 G TRIG ;unable to determine result, not a number
  1. I V<35 S $P(BDMCUML(195),U,3)=$P(BDMCUML(195),U,3)+1 G TRIG
  1. I V<46 S $P(BDMCUML(195),U,4)=$P(BDMCUML(195),U,4)+1 G TRIG
  1. I V<55.1 S $P(BDMCUML(195),U,5)=$P(BDMCUML(195),U,5)+1 G TRIG
  1. S $P(BDMCUML(195),U,6)=$P(BDMCUML(195),U,6)+1
  1. TRIG ;
  1. S:'$D(BDMCUML(200)) BDMCUML(200)="Triglycerides obtained in past 12 months"
  1. S $P(BDMCUML(200),U,2)=$P(BDMCUML(200),U,2)+1
  1. S V=$$TRIG^BDMD118(BDMPD,BDMBDAT,BDMADAT,"I")
  1. I V="" S $P(BDMCUML(200),U,7)=$P(BDMCUML(200),U,7)+1 G SELF
  1. S V=$P(V,U)
  1. S V=$$STV^BDMD118(V,5,1) I $E(V)'=+$E(V) S $P(BDMCUML(200),U,8)=$P(BDMCUML(200),U,8)+1 G SELF ;unable to determine result, not a number
  1. I V<150 S $P(BDMCUML(200),U,3)=$P(BDMCUML(200),U,3)+1 G SELF
  1. I V<200 S $P(BDMCUML(200),U,4)=$P(BDMCUML(200),U,4)+1 G SELF
  1. I V<401 S $P(BDMCUML(200),U,5)=$P(BDMCUML(200),U,5)+1 G SELF
  1. S $P(BDMCUML(200),U,6)=$P(BDMCUML(200),U,6)+1
  1. SELF ;
  1. Q
  1. PED(P,BDATE,EDATE) ;EP
  1. K BDMALED
  1. NEW Y,B,D,T,A,G,Z,V,X
  1. S Y="BDMALED("
  1. S X=P_"^ALL EDUC;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,Y)
  1. I $D(BDMALED(1)) S %="" D I %]"" Q %
  1. .S (X,D)=0,%="",T="" F S X=$O(BDMALED(X)) Q:X'=+X!(%]"") D
  1. ..S T=$P(^AUPNVPED(+$P(BDMALED(X),U,4),0),U)
  1. ..Q:'T
  1. ..Q:'$D(^AUTTEDT(T,0))
  1. ..S T=$P(^AUTTEDT(T,0),U,2)
  1. ..I $E(T,1,4)="TO-Q" S %="1 Yes-"_T_" "_$$FMTE^XLFDT($P(BDMALED(X),U),5) Q
  1. ..I T="TO-LA" S %="1 Yes-"_T_" "_$$FMTE^XLFDT($P(BDMALED(X),U),5) Q
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"",",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(B,A)
  1. I '$D(^TMP($J,"A",1)) Q ""
  1. S X=0,G="" F S X=$O(^TMP($J,"A",X)) Q:X'=+X!(G]"") S V=$P(^TMP($J,"A",X),U,5) D
  1. .Q:'$D(^AUPNVSIT(V,0))
  1. .Q:'$P(^AUPNVSIT(V,0),U,9)
  1. .Q:$P(^AUPNVSIT(V,0),U,11)
  1. .S B=$$CLINIC^APCLV(V,"C")
  1. .I B=94 S G="1 Yes-"_$$FMTE^XLFDT($P($P(^AUPNVSIT(V,0),U),"."),5)_" CL 94" Q
  1. .S Z=0 F S Z=$O(^AUPNVDEN("AD",V,Z)) Q:Z'=+Z!(G]"") S B=$P($G(^AUPNVDEN(Z,0)),U) I B S B=$P($G(^AUTTADA(B,0)),U) I B=1320 S G="1 Yes-"_$$FMTE^XLFDT($P($P(^AUPNVSIT(V,0),U),"."),5)_" ADA 1320" Q
  1. .Q
  1. Q G
  1. CESS(P,BDATE,EDATE) ;EP - find any cessation hf in 12 months before E
  1. I '$G(P) Q ""
  1. I $P($$TOBACCO^BDMD11T(P,$$DOB^AUPNPAT(P),EDATE),U,1)'=1 Q ""
  1. NEW BDM,E,X,G,T,O,D,H,C
  1. K BDM
  1. S T=$O(^ATXAX("B","DM AUDIT CESSATION HLTH FACTOR",0))
  1. S C=$O(^AUTTHF("B","TOBACCO",0)) ;ien of category passed
  1. I '$G(C) Q ""
  1. S (H,D)=0 S O=""
  1. S H=0 F S H=$O(^AUPNVHF("AA",P,H)) Q:H'=+H!(O]"") D
  1. .S G=0
  1. .I $D(^ATXAX(T,21,"AA",H)) S G=1
  1. .I $P(^AUTTHF(H,0),U,1)["CESSATION",$$VAL^XBDIQ1(9999999.64,H,.03)="TOBACCO" S G=1
  1. .S D="" F S D=$O(^AUPNVHF("AA",P,H,D)) Q:D'=+D!(O]"") D
  1. ..Q:(9999999-D)>EDATE ;after time frame
  1. ..Q:(9999999-D)<BDATE ;before time frame
  1. ..S O="1 Yes- "_$$FMTE^XLFDT(9999999-D)_" "_$P(^AUTTHF(H,0),U)
  1. .Q
  1. S X=P_"^EDUC [DM AUDIT SMOKING CESS EDUC;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(")
  1. I $D(BDM(1)) Q "1 Yes-"_$$FMTE^XLFDT($P(BDM(1),U),5)_" "_$P(BDM(1),U,3)
  1. S BDM=$$PED(P,BDATE,EDATE)
  1. I BDM]"" Q BDM
  1. NEW T S T=$O(^ATXAX("B","DM AUDIT SMOKING CESS EDUC",0))
  1. ;I 'T Q "No"
  1. S (X,G)=0
  1. I T F S X=$O(^ATXAX(T,21,X)) Q:X'=+X!(G) S G=$$REFUSAL^BDMD117(P,9999999.09,$P(^ATXAX(T,21,X,0),U),BDATE,EDATE)
  1. I G Q "3 Refused "_$P(G,U,6)_" "_$P(G,U,4)_" "_$P(G,U,3)_" "_$P(G,U,5)
  1. S X=0,G="" F S X=$O(^AUTTEDT("C","TO-Q",X)) Q:X'=+X!(G) D
  1. .S Y=$$REFUSAL^BDMD117(P,9999999.09,X,BDATE,EDATE) I $P(Y,U,1)=1 S G="3 Refused "_$P(Y,U,6)_" "_$P(Y,U,4)_" "_$P(Y,U,3)_" "_$P(Y,U,5)
  1. I G Q G
  1. S X=0,G="" F S X=$O(^AUTTEDT("C","TO-QT",X)) Q:X'=+X!(G) D
  1. .S Y=$$REFUSAL^BDMD117(P,9999999.09,X,BDATE,EDATE) I $P(Y,U,1)=1 S G="3 Refused "_$P(Y,U,6)_" "_$P(Y,U,4)_" "_$P(Y,U,3)_" "_$P(Y,U,5)
  1. I G Q G
  1. S X=0,G="" F S X=$O(^AUTTEDT("C","TO-QU",X)) Q:X'=+X!(G) D
  1. .S Y=$$REFUSAL^BDMD117(P,9999999.09,X,BDATE,EDATE) I $P(Y,U,1)=1 S G="3 Refused "_$P(Y,U,6)_" "_$P(Y,U,4)_" "_$P(Y,U,3)_" "_$P(Y,U,5)
  1. I G Q G
  1. S X=0,G="" F S X=$O(^AUTTEDT("C","TO-LA",X)) Q:X'=+X!(G) D
  1. .S Y=$$REFUSAL^BDMD117(P,9999999.09,X,BDATE,EDATE) I $P(Y,U,1)=1 S G="3 Refused "_$P(Y,U,6)_" "_$P(Y,U,4)_" "_$P(Y,U,3)_" "_$P(Y,U,5)
  1. I G Q G
  1. Q "2 No"
  1. ;