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

BHSDMPR1.m

Go to the documentation of this file.
  1. BHSDMPR1 ;IHS/CIA/MGH - Health Summary for Pre-Diabetic Supplement ;19-Jun-2008 12:37;MGH
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**1,2**;Mar 17,2006
  1. ;====================================================================
  1. ; IHS/TUCSON/LAB - DIABETIC CARE SUMMARY SUPPLEMENT ;07-Jul-2006 16:02;MGH
  1. ;;2.0;IHS RPMS/PCC Health Summary;**3,5,6,7,8,9,10,11,12,14**;JUN 24, 1997
  1. ;IHS/CMI/LAB patch 3 - patch 3 fixes various problems
  1. ;Copied from APCHS9B2
  1. ;======================================================================
  1. ;
  1. ;
  1. MORE ;EP
  1. N X,BHSX,BHSY,BHSIEN,V,Y
  1. S BHSBEG=$$FMADD^XLFDT(DT,-(6*30))
  1. S X="On Metformin: "_$$MET(BHSDFN,BHSBEG,DT) D S(X,1)
  1. S X="On TZD: "_$$TROG(BHSDFN,BHSBEG,DT) D S(X)
  1. S X="On Acarbose: "_$$ACAR(BHSDFN,BHSBEG,DT) D S(X)
  1. S X="On Lipid Lowering Drugs: "_$$LLOW(BHSDFN,BHSBEG,DT) D S(X)
  1. S BHSX=$$STATIN(BHSDFN,BHSBEG,DT) I $E(BHSX,1,3)="Yes" S X=" :"_BHSX D S(X)
  1. S X="Laboratory Results (most recent):" D S(X,1)
  1. S X="Last Fasting Glucose:" S Y=$$FGLUCOSE(BHSDFN),$E(X,28)=$P(Y,"|||"),$E(X,42)=$P(Y,"|||",2),$E(X,56)=$P(Y,"|||",3) D S(X)
  1. S X="Last 75 GM 2 hour Glucose:" S Y=$$GM75(BHSDFN),$E(X,28)=$P(Y,"|||"),$E(X,42)=$P(Y,"|||",2),$E(X,56)=$P(Y,"|||",3) D S(X)
  1. S X="Total Cholesterol:" S Y=$$TCHOL^BHSDM2(BHSDFN),$E(X,28)=$P(Y,"|||"),$E(X,42)=$P(Y,"|||",2),$E(X,56)=$P(Y,"|||",3) D S(X,1)
  1. S X=" LDL Cholesterol:" S Y=$$CHOL^BHSDM2(BHSDFN),$E(X,28)=$P(Y,"|||"),$E(X,42)=$P(Y,"|||",2),$E(X,56)=$P(Y,"|||",3) D S(X)
  1. S V=$P(Y,"|||") I V'=+V D
  1. .;get last 3 and display next most recent 2
  1. .S BHSIEN=$P(Y,"|||",4)
  1. .S T=$O(^ATXLAB("B","DM AUDIT LDL CHOLESTEROL TAX",0)) D LDLLAB^BHSDM2
  1. .I $D(BHSX) S X=" Next most recent LDL values:" D S(X)
  1. .S BHSY=0 F S BHSY=$O(BHSX(BHSY)) Q:BHSY'=+BHSY S X="",$E(X,28)=$P(BHSX(BHSY),U),$E(X,42)=$$FMTE^XLFDT($P(BHSX(BHSY),U,2)) D S(X)
  1. S X=" HDL Cholesterol:" S Y=$$HDL^BHSDM2(BHSDFN),$E(X,28)=$P(Y,"|||"),$E(X,42)=$P(Y,"|||",2),$E(X,56)=$P(Y,"|||",3) D S(X)
  1. S X=" Triglycerides:" S Y=$$TRIG^BHSDM2(BHSDFN),$E(X,28)=$P(Y,"|||"),$E(X,42)=$P(Y,"|||",2),$E(X,56)=$P(Y,"|||",3) D S(X)
  1. Q
  1. S(Y,F,C,T) ;set up array
  1. I '$G(F) S F=0
  1. I '$G(T) S T=0
  1. NEW %,X,L
  1. ;blank lines
  1. F F=1:1:F S X="" D S1
  1. S X=Y
  1. I $G(C) S L=$L(Y),T=(80-L)/2 D D S1 Q
  1. .F %=1:1:(T-1) S X=" "_X
  1. F %=1:1:T S X=" "_Y
  1. D S1
  1. Q
  1. S1 ;
  1. S %=$P(^TMP("BHS",$J,"DCS",0),U)+1,$P(^TMP("BHS",$J,"DCS",0),U)=%
  1. S ^TMP("BHS",$J,"DCS",%)=X
  1. Q
  1. EDUC ;gather up all education provided in past year in APCHX
  1. K APCHX,APCHY S %=BHSDFN_"^ALL EDUC;DURING "_$$FMTE^XLFDT($$FMADD^XLFDT(DT,-365))_"-"_$$FMTE^XLFDT(DT) S E=$$START1^APCLDF(%,"APCHY(")
  1. I '$D(APCHY) S APCHX(1)=" <No Education Topics recorded in past year>" K APCHY Q
  1. NEW X,APCHP K APCHP S X=0,E="" F S X=$O(APCHY(X)) Q:X'=+X S E=+$P(APCHY(X),U,4),E=$P(^AUPNVPED(E,0),U) I $$EDT(E) S APCHP($P(APCHY(X),U,2))=$$FMTE^XLFDT($P(APCHY(X),U))
  1. S %=0,E="" F S E=$O(APCHP(E)) Q:E="" S %=%+1,APCHX(%)=E,$E(APCHX(%),25)=APCHP(E)
  1. K APCHY,APCHP
  1. Q
  1. EDT(E) ;
  1. ;is this ien in any taxonomy
  1. NEW T
  1. S T=$O(^ATXAX("B","DM AUDIT DIABETES EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$O(^ATXAX("B","DM AUDIT DIET EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$O(^ATXAX("B","DM AUDIT EXERCISE EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$O(^ATXAX("B","DM AUDIT OTHER EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$P(^AUTTEDT(E,0),U)
  1. I $P(T,"-")="DM" Q 1
  1. I $P(T,"-")="DMC" Q 1
  1. Q ""
  1. FGLUCOSE(P) ;
  1. N LT
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT FASTING GLUCOSE TESTS",0)),LT="DM AUDIT FASTING GLUC LOINC" I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB^BHSDM2(P,T,LT)
  1. GM75(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT 75GM 2HR GLUCOSE",0)),LT="DM AUDIT 75GM 2HR GLUC LOINC" I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB^BHSDM2(P,T,LT)
  1. DATE(D) ;EP - convert to slashed date
  1. I $G(D)="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. LLOW(P,BDATE,EDATE) ;EP
  1. NEW X,APCH,E
  1. S X=P_"^LAST MEDS [DM AUDIT LIPID LOWERING DRUGS"_";DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"APCH(")
  1. I $D(APCH(1)) Q "Yes - "_$$VAL^XBDIQ1(9000010.14,+$P(APCH(1),U,4),.01)_" "_$$FMTE^XLFDT($P(APCH(1),U))
  1. Q "No"
  1. ;
  1. STATIN(P,BDATE,EDATE) ;EP
  1. NEW X,APCH,E
  1. S X=P_"^LAST MEDS [DM AUDIT STATIN DRUGS"_";DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"APCH(")
  1. I $D(APCH(1)) Q "Yes - "_$$VAL^XBDIQ1(9000010.14,+$P(APCH(1),U,4),.01)_" "_$$FMTE^XLFDT($P(APCH(1),U))
  1. Q "No"
  1. MET(P,BDATE,EDATE) ;EP
  1. NEW X,APCH,E
  1. S X=P_"^LAST MEDS [DM AUDIT METFORMIN DRUGS"_";DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"APCH(")
  1. I $D(APCH(1)) Q "Yes - "_$$VAL^XBDIQ1(9000010.14,+$P(APCH(1),U,4),.01)_" "_$$FMTE^XLFDT($P(APCH(1),U))
  1. Q "No"
  1. ;
  1. ACAR(P,BDATE,EDATE) ;EP
  1. NEW X,APCH,E
  1. S X=P_"^LAST MEDS [DM AUDIT ACARBOSE DRUGS"_";DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"APCH(")
  1. I $D(APCH(1)) Q "Yes - "_$$VAL^XBDIQ1(9000010.14,+$P(APCH(1),U,4),.01)_" "_$$FMTE^XLFDT($P(APCH(1),U))
  1. Q "No"
  1. ;
  1. TROG(P,BDATE,EDATE) ;EP
  1. NEW X,APCH,E
  1. I '$O(^ATXAX("B","DM AUDIT GLITAZONE DRUGS",0)) Q $$TROG1(P,BDATE,EDATE)
  1. S X=P_"^LAST MEDS [DM AUDIT GLITAZONE DRUGS"_";DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"APCH(")
  1. I $D(APCH(1)) Q "Yes - "_$$VAL^XBDIQ1(9000010.14,+$P(APCH(1),U,4),.01)_" "_$$FMTE^XLFDT($P(APCH(1),U))
  1. Q "No"
  1. TROG1(P,BDATE,EDATE) ;EP
  1. NEW X,APCH,E
  1. S X=P_"^LAST MEDS [DM AUDIT TROGLITAZONE DRUGS"_";DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"APCH(")
  1. I $D(APCH(1)) Q "Yes - "_$$VAL^XBDIQ1(9000010.14,+$P(APCH(1),U,4),.01)_" "_$$FMTE^XLFDT($P(APCH(1),U))
  1. Q "No"