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

BDMS9B2.m

Go to the documentation of this file.
  1. BDMS9B2 ; IHS/CMI/LAB - DIABETIC CARE SUMMARY SUPPLEMENT ; 09 Nov 2017 3:25 PM
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**3,4,5,6,7,8,9,10,11,12**;JUN 14, 2007;Build 51
  1. ;
  1. ;
  1. MORE ;EP
  1. S X="Immunizations:" D S(X,1)
  1. S X=" Influenza vaccine (since August 1st): ",$E(X,41)=$$FLU^BDMS9B3(BDMSDFN) D S(X)
  1. S X=" Pneumococcal vaccine (ever):",$E(X,41)=$$PNEU^BDMS9B4(BDMSDFN) D S(X)
  1. S X=" Td/Tdap/DTAP/DT (in past 10 yrs):",$E(X,41)=$$TD^BDMS9B3(BDMSDFN,(DT-100000),DT) D S(X)
  1. S X=" Tdap (ever):",$E(X,41)=$P($$TDAP^BDMDG1B(BDMSDFN,DT,"H")," ",2,99) D S(X)
  1. S X=" Hepatitis B complete series (ever): ",$E(X,41)=$P($$HEP^BDMDG13(BDMSDFN,DT)," ",2,99) D S(X)
  1. S Y=$$PPDS^BDMS9B4(BDMSDFN) S J=1 I Y]"" S X="TB - Status:",$E(X,30)=Y D S(X,1) S J=0
  1. S Y=$$PPD^BDMS9B4(BDMSDFN) S X="TB - Last Documented Test:",$E(X,30)=$P(Y," ",4)_" "_$P(Y," ",1) D S(X,J)
  1. S X="",$E(X,6)="TB Test Result:",$E(X,30)=$P(Y," ",2)_" "_$P(Y," ",3) D S(X)
  1. S X=" TB Treatment Completed: ",$E(X,30)=$$TB(BDMSDFN) D S(X)
  1. HEPC ;2018 AUDIT
  1. D S("Hepatitis C (HCV)",1)
  1. S X=$$HEPCDX^BDMDG1D(BDMSDFN,DT) D S(" Diagnosed with HCV ever: "_$P(X," ",2))
  1. ;SCREEN ALL P12
  1. S B=$$DOB^AUPNPAT(BDMSDFN)
  1. ;I B<2450101!(B>2651231) G R ;patch 12 - add if screened ever
  1. I $E(X)'=1 D S(" Screened for HCV ever: "_$P($$HEPSCR^BDMDG1D(BDMSDFN,DT)," ",2))
  1. R ;retinopathy
  1. S X=$$DMRETDX^BDMDG1D(BDMSDFN,DT) D S("Retinopathy Diagnosed: "_$S($E(X)=1:"Yes",1:"No"),1)
  1. ;ADDED LE AMPUTATIONS
  1. LEAMP ;
  1. S R=$$LEAMP^BDMDG1D(BDMSDFN,DT,2)
  1. ;
  1. D S("Amputation",1)
  1. S Y=" Lower extremity (ever), any type (e.g., toe, partial foot, above or" D S(Y)
  1. S Y=" below knee): "_R D S(Y)
  1. L ;
  1. S X="Laboratory Results (most recent):",$E(X,55)="RPMS LAB TEST NAME" D S(X,1)
  1. S X=" A1C:" S Y=$$HBA1C(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. I $P(Y,"|||",4)]"" S X=" Note: "_$P(Y,"|||",4) D S(X)
  1. S X=" Next most recent A1C:" S Y=$$NLHGB(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S X=" Serum Creatinine:" S Y=$$CREAT(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X,1)
  1. I $P(Y,"|||",4)]"" S X=" Note: "_$P(Y,"|||",4) D S(X)
  1. S X=" eGFR:" S Y=$$GFR(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S Y=$$ACRATIO(BDMSDFN)
  1. S X=" UACR (Quant A/C Ratio):",$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S X=" Total Cholesterol:" S Y=$$TCHOL(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X,1)
  1. ;S X=" Non-HDL Cholesterol:" S Y=$$NONHDL(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S X=" LDL Cholesterol:" S Y=$$CHOL(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S X=" HDL Cholesterol:" S Y=$$HDL(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S X=" Triglycerides:" S Y=$$TRIG(BDMSDFN),$E(X,25)=$P(Y,"|||"),$E(X,44)=$$DATE^BDMS9B1($P(Y,"|||",2)),$E(X,55)=$P(Y,"|||",3) D S(X)
  1. S Z=0
  1. EDUCD D S(" ")
  1. S BDMSBEG=$$FMADD^XLFDT(DT,-365)
  1. S X="Education Provided (in past yr): " D S(X)
  1. S X=" Last Dietitian Visit (ever): "_$$DIETV^BDMS9B3(BDMSDFN) D S(X)
  1. S X=""
  1. K BDMX
  1. D EDUC
  1. I $D(BDMX) D
  1. .S %="" F S %=$O(BDMX(%)) Q:%="" D S(" "_BDMX(%))
  1. ;I X]"" D S(X)
  1. K BDMX,BDMY,%
  1. D EDUCREF I $D(BDMX) S X="In the past year, the patient has refused the following Diabetes education:" D S(X) D
  1. .S %="" F S %=$O(BDMX(%)) Q:%="" S X=" "_%_" "_BDMX(%) D S(X)
  1. K BDMR,BDMY,%
  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
  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("APCHS",$J,"DCS",0),U)+1,$P(^TMP("APCHS",$J,"DCS",0),U)=%
  1. S ^TMP("APCHS",$J,"DCS",%)=X
  1. Q
  1. EDUC ;EP - gather up all education provided in past year in BDMX
  1. K BDMX,BDMY,BDMP S %=BDMSDFN_"^ALL EDUC;DURING "_$$DATE^BDMS9B1(BDMSBEG)_"-"_$$DATE^BDMS9B1(DT) S E=$$START1^APCLDF(%,"BDMY(") ;
  1. I '$D(BDMY) S BDMX(1)=" <No Education Topics recorded in past year>" K BDMY Q
  1. NEW X K BDMP S X=0,E="" F S X=$O(BDMY(X)) Q:X'=+X D
  1. .S E=+$P(BDMY(X),U,4)
  1. .Q:$P(^AUPNVPED(E,0),U,6)=5
  1. .S E=$P(^AUPNVPED(E,0),U)
  1. .Q:'$$EDT(E)
  1. .S BDMP($$UP^XLFSTR($P(BDMY(X),U,2)))=$$DATE^BDMS9B1($P(BDMY(X),U))_U_$$EPRV(+$P(BDMY(X),U,4))
  1. ;S %=0,E="" F S E=$O(BDMP(E)) Q:E="" S %=%+1,BDMX(%)=$E(E,1,25),$E(BDMX(%),28)=$P(BDMP(E),U,1),$E(BDMX(%),39)=$P(BDMP(E),U,2)
  1. S E="" F S E=$O(BDMP(E)) Q:E="" S BDMX(E)=$E(E,1,30),$E(BDMX(E),33)=$P(BDMP(E),U,1),$E(BDMX(E),45)=$P(BDMP(E),U,2)
  1. K BDMY
  1. Q
  1. EPRV(I) ;
  1. NEW P,D,%
  1. S P=$$VALI^XBDIQ1(9000010.16,I,.05) I P S D=$$PROVCLS^XBFUNC1(P) S %="",%=$E($P(^VA(200,P,0),U,1),1,18),$E(%,24)=$E(D,1,15) Q %
  1. S P=$$VALI^XBDIQ1(9000010.16,I,1204) I P S D=$$PROVCLS^XBFUNC1(P) S %="",%=$E($P(^VA(200,P,0),U,1),1,18),$E(%,24)=$E(D,1,15) Q %
  1. S P=$$VALI^XBDIQ1(9000010.16,I,1202) I P S D=$$PROVCLS^XBFUNC1(P) S %="",%=$E($P(^VA(200,P,0),U,1),1,18),$E(%,24)=$E(D,1,15) Q %
  1. S P=$$PRIMPROV^APCLV($P(^AUPNVPED(I,0),U,3),"I") I P S D=$$PROVCLS^XBFUNC1(P) S %="",%=$E($P(^VA(200,P,0),U,1),1,18),$E(%,20)=$E(D,1,15)
  1. Q ""
  1. EDUCREF ;EP - gather up all education provided in past year
  1. K BDMX,BDMY
  1. S BDMY=0 F S BDMY=$O(^AUPNPREF("AA",BDMSPAT,9999999.09,BDMY)) Q:BDMY'=+BDMY I $$EDT(BDMY) S BDMD=$O(^AUPNPREF("AA",BDMSPAT,9999999.09,BDMY,0)) I BDMD<(9999999-BDMSBEG) D
  1. .Q:$D(BDMP($$UP^XLFSTR($P(^AUTTEDT(BDMY,0),U)))) ;already displayed
  1. .S BDMX($P(^AUTTEDT(BDMY,0),U))=$$DATE^BDMS9B1(9999999-BDMD)
  1. Q
  1. EDT(E) ;
  1. ;is this ien in any taxonomy
  1. NEW T,S
  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,2)
  1. I $P(T,"-")="DM" Q 1
  1. I $P(T,"-")="DMC" Q 1
  1. I $P(T,"-")="MNT" Q 1
  1. I $P(T,"-")="DMCN" Q 1
  1. I $P(T,"-",2)="EX" Q 1
  1. I $P(T,"-",2)="N" Q 1
  1. I $P(T,"-",2)="DT" Q 1
  1. I $P(T,"-",2)="MNT" Q 1
  1. ;SNOMED
  1. I $P(T,"-",1)]"",$$SNOMED^BDMUTL($$LE(),"PXRM DIABETES",$P(T,"-",1)) Q 1
  1. NEW CODE
  1. S G=""
  1. S CODE=$P($$CODEN^BDMUTL($P(T,"-",1),80),"~")
  1. I CODE>0 D
  1. .N TAX
  1. .S TAX=$O(^ATXAX("B","SURVEILLANCE DIABETES",0))
  1. .I $$ICD^BDMUTL(CODE,$P(^ATXAX(TAX,0),U),9) S G=1
  1. Q G
  1. LE() ;EP
  1. NEW A,B
  1. S B=""
  1. S A=0 F S A=$O(^BDMSNME("B",A)) Q:A="" S B=A
  1. Q B
  1. TB(P) ;
  1. I '$G(P) Q ""
  1. NEW BDMS,E,X
  1. K BDMS
  1. S X=P_"^LAST HEALTH [DM AUDIT TB HEALTH FACTORS" S E=$$START1^APCLDF(X,"BDMS(")
  1. I $D(BDMS(1)) Q $P($G(BDMS(1)),U,3)
  1. NEW %,Y
  1. S %=$O(^ATXAX("B","DM AUDIT TB HEALTH FACTORS",0))
  1. I '% Q ""
  1. S (X,Y)=0 F S X=$O(^AUPNHF("AA",P,X)) Q:X'=+X!(Y) I $D(^ATXAX(%,21,"B",X)) S Y=X
  1. I 'Y Q ""
  1. Q $P(^AUTTHF(Y,0),U)
  1. GFR(P) ;
  1. I '$G(P) Q ""
  1. S BDMC=""
  1. NEW T,T1,T2
  1. S T=$O(^LAB(60,"B","ESTIMATED GFR",0))
  1. S T1=$O(^ATXLAB("B","BGP GPRA ESTIMATED GFR TAX",0))
  1. S T2=$O(^ATXAX("B","BGP ESTIMATED GFR LOINC",0))
  1. NEW D,V,G,X,J S (D,G)=0 F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(BDMC]"") D
  1. .S X=0 F S X=$O(^AUPNVLAB("AE",P,D,X)) Q:X'=+X!(BDMC]"") D
  1. ..S Y=0 F S Y=$O(^AUPNVLAB("AE",P,D,X,Y)) Q:Y'=+Y D
  1. ...Q:'$D(^AUPNVLAB(Y,0))
  1. ...I $O(^LAB(60,$P(^AUPNVLAB(Y,0),U,1),2,0)) Q ;NO PANELS PER DOROTHY
  1. ...I T,$P(^AUPNVLAB(Y,0),U)=T D
  1. ....I BDMC]"",$P(^AUPNVLAB(Y,0),U,4)="" Q
  1. ....S BDMC=$$LBLK($P(^AUPNVLAB(Y,0),U,4),6)_" "_$P($G(^AUPNVLAB(Y,11)),U)_"|||"_$P($P(^AUPNVSIT($P(^AUPNVLAB(Y,0),U,3),0),U),".")_"|||"_$E($$VAL^XBDIQ1(9000010.09,Y,.01),1,25)_"|||"_Y Q
  1. ...I T1,$P(^AUPNVLAB(Y,0),U),$D(^ATXLAB(T1,21,"B",$P(^AUPNVLAB(Y,0),U))) D
  1. ....I BDMC]"",$P(^AUPNVLAB(Y,0),U,4)="" Q
  1. ....S BDMC=$$LBLK($P(^AUPNVLAB(Y,0),U,4),6)_" "_$P($G(^AUPNVLAB(Y,11)),U)_"|||"_$P($P(^AUPNVSIT($P(^AUPNVLAB(Y,0),U,3),0),U),".")_"|||"_$E($$VAL^XBDIQ1(9000010.09,Y,.01),1,25)_"|||"_Y Q
  1. ...S J=$P($G(^AUPNVLAB(Y,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC(J,T2)
  1. ...I $O(^LAB(60,$P(^AUPNVLAB(Y,0),U,1),2,0)) Q ;NO PANELS PER DOROTHY
  1. ...S BDMC=$$LBLK($P(^AUPNVLAB(Y,0),U,4),6)_" "_$P($G(^AUPNVLAB(Y,11)),U)_"|||"_$P($P(^AUPNVSIT($P(^AUPNVLAB(Y,0),U,3),0),U),".")_"|||"_$E($$VAL^XBDIQ1(9000010.09,Y,.01),1,25)_"|||"_Y
  1. ...Q
  1. I BDMC]"" Q BDMC
  1. S T=$O(^ATXLAB("B","BGP GPRA ESTIMATED GFR TAX",0)) I 'T Q ""
  1. Q $$LAB(P,T)
  1. CHOL(P) ;EP
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT LDL CHOLESTEROL TAX",0)),LT=$O(^ATXAX("B","BGP LDL LOINC CODES",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. HDL(P) ;EP
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT HDL TAX",0)),LT=$O(^ATXAX("B","BGP HDL LOINC CODES",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. TCHOL(P) ;EP
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT CHOLESTEROL TAX",0)),LT=$O(^ATXAX("B","BGP TOTAL CHOLESTEROL LOINC",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. NONHDL(P) ;
  1. NEW V,D,TC,HDL,TCD,HDLD,NT
  1. I '$G(P) Q ""
  1. S V=""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT CHOLESTEROL TAX",0)),LT=$O(^ATXAX("B","BGP TOTAL CHOLESTEROL LOINC",0)) I 'T Q "<Taxonomy Missing>"
  1. S TC=$$LAB(P,T,LT),TCD=$P(TC,"|||",2),TC=$$STRIP^XLFSTR($P(TC,"|||")," ")
  1. I TC="" Q V
  1. I TCD<$P(V,"|||",2) Q V
  1. S T=$O(^ATXLAB("B","DM AUDIT HDL TAX",0)),LT=$O(^ATXAX("B","BGP HDL LOINC CODES",0)) I 'T Q "<Taxonomy Missing>"
  1. S HDL=$$LAB(P,T,LT),HDLD=$P(HDL,"|||",2),HDL=$$STRIP^XLFSTR($P(HDL,"|||")," ")
  1. I HDL="" Q V
  1. I HDLD<$P(V,"|||",2) Q V
  1. S TC=+TC,HDL=+HDL
  1. I 'TC Q ""
  1. I 'HDL Q ""
  1. Q $$LBLK(TC-HDL,6)_"|||"_TCD_"|||[Calculated Value]"
  1. TRIG(P) ;EP
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT TRIGLYCERIDE TAX",0)),LT=$O(^ATXAX("B","BGP TRIGLYCERIDE LOINC CODES",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. CREAT(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT CREATININE TAX",0)),LT=$O(^ATXAX("B","BGP CREATININE LOINC CODES",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. ;
  1. PCR(P) ;EP
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT P/C RATIO TAX",0)),LT=$O(^ATXAX("B","DM AUDIT P/C RATIO LOINC",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT,1)
  1. LAB(P,T,LT,YEAR) ;EP
  1. I '$G(LT) S LT=""
  1. S YEAR=$G(YEAR)
  1. NEW BDATE
  1. S BDATE=$S(YEAR:$$FMADD^XLFDT(DT,-365),1:$$DOB^AUPNPAT(P))
  1. NEW D,V,G,X,J S (D,G)=0 F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(G) D
  1. .S X=0 F S X=$O(^AUPNVLAB("AE",P,D,X)) Q:X'=+X!(G) D
  1. ..Q:(9999999-D)<BDATE
  1. ..S Y=0 F S Y=$O(^AUPNVLAB("AE",P,D,X,Y)) Q:Y'=+Y!(G) D
  1. ...I $D(^ATXLAB(T,21,"B",X)),$P(^AUPNVLAB(Y,0),U,4)]"" S G=Y Q
  1. ...Q:'LT
  1. ...S J=$P($G(^AUPNVLAB(Y,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC(J,LT)
  1. ...S G=Y
  1. ...Q
  1. ..Q
  1. .Q
  1. I 'G Q ""
  1. S R=$$LBLK($P(^AUPNVLAB(G,0),U,4),6)_" "_$P($G(^AUPNVLAB(G,11)),U)_"|||"
  1. S R=R_$P($P($G(^AUPNVSIT($P(^AUPNVLAB(G,0),U,3),0)),U),".")_"|||"_$E($$VAL^XBDIQ1(9000010.09,G,.01),1,25)_"|||"_$$REF(P,T,$P($P($G(^AUPNVSIT($P(^AUPNVLAB(G,0),U,3),0)),U),"."))_"|||"_G
  1. Q R
  1. LOINC(A,B) ;EP
  1. NEW %
  1. S %=$P($G(^LAB(95.3,A,9999999)),U,2)
  1. I %]"",$D(^ATXAX(B,21,"B",%)) Q 1
  1. S %=$P($G(^LAB(95.3,A,0)),U)_"-"_$P($G(^LAB(95.3,A,0)),U,15)
  1. I $D(^ATXAX(B,21,"B",%)) Q 1
  1. Q ""
  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. REF(P,T,D) ;return refusal string after date D for test is tax T
  1. I '$G(P) Q ""
  1. I '$G(T) Q ""
  1. I '$G(D) S D=""
  1. N BDMREF,BDMT,V S BDMT=0 F S BDMT=$O(^ATXLAB(T,21,"B",BDMT)) Q:BDMT'=+BDMT D
  1. .S V=$$REF1(P,60,BDMT,D) I V]"" S BDMREF(9999999-$P(V,U,3))=V
  1. I $D(BDMREF) S %=0,%=$O(BDMREF(%)) I % S V=BDMREF(%) Q V
  1. Q ""
  1. REF1(P,F,I,D,T) ; ;
  1. I '$G(P) Q ""
  1. I '$G(F) Q ""
  1. I '$G(I) Q ""
  1. I $G(D)="" S D=""
  1. I $G(T)="" S T="E"
  1. NEW X,N S X=$O(^AUPNPREF("AA",P,F,I,0))
  1. I 'X Q ""
  1. S N=$O(^AUPNPREF("AA",P,F,I,X,0))
  1. NEW Y S Y=9999999-X
  1. I D]"",Y>D Q $S(T="I":Y,1:$$TYPEREF(N)_"-"_$$DATE(Y))
  1. I T="I" Q Y ;quit on internal form of date
  1. Q $$TYPEREF(N)_"-"_$$DATE(Y)
  1. ;
  1. TYPEREF(N) ;
  1. NEW % S %=$P(^AUPNPREF(N,0),U,7)
  1. I %="R"!(%="") Q "Refused"
  1. I %="N" Q "Not Med Ind"
  1. I %="F" Q "No Resp to F/U"
  1. Q ""
  1. NLHGB(P) ;return next to last HGBA1C
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT HGB A1C TAX",0)) I 'T Q "<Taxonomy Missing>"
  1. NEW LT S LT=$O(^ATXAX("B","BGP HGBA1C LOINC CODES",0))
  1. NEW D,V,G,X,E S (D,G)=0,E="" F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(G=2) D
  1. .S X=0 F S X=$O(^AUPNVLAB("AE",P,D,X)) Q:X'=+X!(G=2) D
  1. ..S Y=0 F S Y=$O(^AUPNVLAB("AE",P,D,X,Y)) Q:Y'=+Y!(G=2) D
  1. ...I $D(^ATXLAB(T,21,"B",X)),$P(^AUPNVLAB(Y,0),U,4)]"" S G=G+1,E=Y Q
  1. ...Q:'LT
  1. ...S J=$P($G(^AUPNVLAB(Y,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC(J,LT)
  1. ...S G=G+1,E=Y
  1. ...Q
  1. ..Q
  1. .Q
  1. I G'=2 Q ""
  1. I 'E Q ""
  1. Q $$LBLK($P(^AUPNVLAB(E,0),U,4),6)_" "_$P($G(^AUPNVLAB(E,11)),U)_"|||"_$P($P(^AUPNVSIT($P(^AUPNVLAB(E,0),U,3),0),U),".")_"|||"_$E($$VAL^XBDIQ1(9000010.09,E,.01),1,25)
  1. HBA1C(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT HGB A1C TAX",0)),LT=$O(^ATXAX("B","BGP HGBA1C LOINC CODES",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. URIN(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT URINE PROTEIN TAX",0)),LT=$O(^ATXAX("B","DM AUDIT URINE PROTEIN LOINC",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT,1)
  1. MICRO(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT MICROALBUMINURIA TAX",0)),LT=$O(^ATXAX("B","DM AUDIT MICROALBUMIN LOINC",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT,1)
  1. ACRATIO(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT QUANT UACR",0)),LT=$O(^ATXAX("B","DM AUDIT A/C RATIO LOINC",0)) I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT)
  1. HR24(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT 24HR URINE PROTEIN",0)),LT="" I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT,1)
  1. SEMI(P) ;
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXLAB("B","DM AUDIT SEMI QUANT UACR",0)),LT="" I 'T Q "<Taxonomy Missing>"
  1. Q $$LAB(P,T,LT,1)
  1. LBLK(V,L) ;EP LEFT blank fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V=" "_V
  1. Q V
  1. LDLLAB ;EP
  1. K BDMX
  1. NEW LT S LT=$O(^ATXAX("B","BGP LDL LOINC CODES",0))
  1. NEW D,V,X,G S (D,G)=0 F S D=$O(^AUPNVLAB("AE",BDMSPAT,D)) Q:D'=+D!(G>2) D
  1. .S X=0 F S X=$O(^AUPNVLAB("AE",BDMSPAT,D,X)) Q:X'=+X!(G>2) D
  1. ..S Y=0 F S Y=$O(^AUPNVLAB("AE",BDMSPAT,D,X,Y)) Q:Y'=+Y!(G>2) D
  1. ...Q:'$D(^AUPNVLAB(Y,0))
  1. ...I $P(^AUPNVLAB(Y,0),U,4)="" Q
  1. ...I Y=BDMIEN Q
  1. ...I $D(^ATXLAB(T,21,"B",X)) D Q
  1. ....S R=$P(^AUPNVLAB(Y,0),U,4) Q:R'=+R
  1. ....S BDMX(Y)=R_"^"_(9999999-D),G=G+1
  1. ...Q:'LT
  1. ...S J=$P($G(^AUPNVLAB(Y,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC(J,LT)
  1. ...S R=$P(^AUPNVLAB(Y,0),U,4) Q:R'=+R
  1. ...S BDMX(Y)=R_"^"_(9999999-D),G=G+1
  1. ...Q
  1. ..Q
  1. .Q
  1. Q