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

BDMDF13.m

Go to the documentation of this file.
  1. BDMDF13 ; IHS/CMI/LAB - 2018 DIABETES AUDIT ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**11**;JUN 14, 2007;Build 30
  1. ;
  1. LASTFLU(BDMPDFN,BDMBD,BDMED,BDMFORM) ;PEP - date of last FLU
  1. ; Return the last recorded FLU:
  1. ;
  1. I $G(BDMPDFN)="" Q ""
  1. I $G(BDMBD)="" S BDMBD=$$DOB^AUPNPAT(BDMPDFN)
  1. I $G(BDMED)="" S BDMED=DT
  1. I $G(BDMFORM)="" S BDMFORM="D"
  1. NEW BDMLAST,BDMVAL,BDMX,R,X,Y,V,E,T,G,BDMY,BDMF,Z,D,S
  1. S BDMLAST="",S=""
  1. S T=$O(^ATXAX("B","BGP FLU IZ CVX CODES",0))
  1. I T S X=0 F S X=$O(^ATXAX(T,21,"B",X)) Q:X="" S S(X)=""
  1. S R="" F S R=$O(S(R)) Q:R="" D
  1. .S BDMVAL=$$LASTITEM^APCLAPIU(BDMPDFN,R,"IMMUNIZATION",$S($P(BDMLAST,U)]"":$P(BDMLAST,U),1:BDMBD),BDMED,"A")
  1. .D E
  1. S BDMVAL=$$LASTCPTT^APCLAPIU(BDMPDFN,$S($P(BDMLAST,U)]"":$P(BDMLAST,U),1:BDMBD),BDMED,"BGP CPT FLU","A")
  1. D E
  1. S BDMVAL=$$LASTDXT^APCLAPIU(BDMPDFN,$S($P(BDMLAST,U)]"":$P(BDMLAST,U),1:BDMBD),BDMED,"BGP FLU IZ DXS","A")
  1. D E
  1. I BDMFORM="D" Q $P(BDMLAST,U)
  1. Q BDMLAST
  1. E ;
  1. I $P(BDMVAL,U,1)>$P(BDMLAST,U,1) S BDMLAST=BDMVAL
  1. Q
  1. FLU(P,BDATE,EDATE,R,F) ;EP
  1. NEW BDM,X,E,%,%DT,BD,B,D,C,Y,LFLU,TFLU,Z,G,T,S,A,J
  1. I $G(F)="" S F="E"
  1. I $G(R)="" S R=0
  1. I $G(BDATE)="" S BDATE=$$FMADD^XLFDT(EDATE,-366)
  1. S LFLU=$$LASTFLU(P,BDATE,EDATE,"D")
  1. I LFLU]"" Q $S(F="E":"1 Yes "_$$DATE^BDMS9B1(LFLU),1:LFLU)
  1. ;
  1. I R Q ""
  1. K S
  1. S T=$O(^ATXAX("B","BGP FLU IZ CVX CODES",0))
  1. I T S X=0 F S X=$O(^ATXAX(T,21,"B",X)) Q:X="" S S(X)=""
  1. S T=$O(^ATXAX("B","SURVEILLANCE FLU CVX CODES",0))
  1. I T S X=0 F S X=$O(^ATXAX(T,21,"B",X)) Q:X="" S S(X)=""
  1. S A="",J="" F S A=$O(S(A)) Q:A=""!(J]"") D
  1. .S G=$$REFUSAL^BDMDF17(P,9999999.14,$O(^AUTTIMM("C",A,0)),BDATE,EDATE)
  1. .I G,$P(G,U,2)'="N" S J="3 Refused "_$P(G,U,3) Q
  1. .I G S J="2 No - Not Medically Indicated"_$$DATE^BDMS9B1($P(G,U,3))
  1. I J]"" Q J
  1. S Z=0,G="" F S Z=$O(S(Z)) Q:Z=""!(G) S X=0,Y=$O(^AUTTIMM("C",Z,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X!(G) D
  1. .S R=$P(^BIPC(X,0),U,3)
  1. .Q:R=""
  1. .Q:'$D(^BICONT(R,0))
  1. .Q:$P(^BICONT(R,0),U,1)'["Refusal"
  1. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:D=""
  1. .Q:$P(^BIPC(X,0),U,4)<BDATE
  1. .Q:$P(^BIPC(X,0),U,4)>EDATE
  1. .S G=1_U_D
  1. I G Q "3 Refused "_$$DATE^BDMS9B1($P(D,U,2))
  1. Q "2 No"
  1. PNEU(P,EDATE,R,F) ;EP
  1. NEW BDM,X,E,B,%DT,Y,TPN,D,LPN,G,C,Z,T
  1. K TPN
  1. I $G(F)="" S F="E"
  1. I $G(R)="" S R=0
  1. S LPN=$$LASTPNEU^BDMS9B4(P,"",EDATE,"D")
  1. I LPN]"" Q $S(F="E":"1 Yes "_$$DATE^BDMS9B1(LPN),1:LPN)
  1. I R Q ""
  1. S R="",G="" F R=33,100,109,133,152 Q:R=""!(G) D
  1. .S G=$$REFUSAL^BDMDF17(P,9999999.14,$O(^AUTTIMM("C",R,0)),$$DOB^AUPNPAT(P),DT,"R")
  1. I G Q "3 Refused "_$P(G,U,3)
  1. ;; BI REFUSALS
  1. S G="" F Z=33,100,109,133,152 Q:G S X=0,Y=$O(^AUTTIMM("C",Z,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X!(G) D
  1. .S R=$P(^BIPC(X,0),U,3)
  1. .Q:R=""
  1. .Q:'$D(^BICONT(R,0))
  1. .Q:$P(^BICONT(R,0),U,1)'["Refusal"
  1. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:D=""
  1. .S G=1_U_D
  1. I G Q "3 Refused "_$$DATE^BDMS9B1($P(G,U,2))
  1. S G="",Z="" F Z=33,100,109,133,152 Q:Z=""!(G]"") S G=$$PNEUCONT^BDMS9B4(P,Z,$$DOB^AUPNPAT(P),DT)
  1. I G]"" Q "2 No "_G
  1. Q "2 No"
  1. BI() ;
  1. Q $S($O(^AUTTIMM(0))>100:1,1:0)
  1. BPS(P,BDATE,EDATE,F) ;EP ;
  1. I $G(F)="" S F="E"
  1. NEW X,BDM,E,BDML,BDMLL,BDMV,BDMVF,BDMBDT,D,I
  1. S BDMLL=0,BDMV=""
  1. K BDM,BDMBDT
  1. S X=P_"^ALL MEAS BP;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(")
  1. S BDML=0 F S BDML=$O(BDM(BDML)) Q:BDML'=+BDML D
  1. .S BDMVF=+$P(BDM(BDML),U,4)
  1. .Q:$P($G(^AUPNVMSR(BDMVF,2)),U,1) ;entered in error
  1. .Q:$$CLINIC^APCLV($P(BDM(BDML),U,5),"C")=30
  1. .S D=$$VALI^XBDIQ1(9000010.01,BDMVF,1201)
  1. .I D="" S D=$$VDTM^APCLV($P(BDM(BDML),U,5))
  1. .S BDMBDT($P(D,"."),D,BDMVF)=BDM(BDML)
  1. S D="" F S D=$O(BDMBDT(D),-1) Q:D'=+D!(BDMLL=3) D
  1. .S E="",E=$O(BDMBDT(D,E),-1) Q:E'=+E!(BDMLL=3)
  1. .S I="" S I=$O(BDMBDT(D,E,I),-1) Q:I'=+I!(BDMLL=3) D
  1. ..S BDMLL=BDMLL+1
  1. ..S BDMBP=$P(BDMBDT(D,E,I),U,2)
  1. ..I F="E" S $P(BDMV,";",BDMLL)=BDMBP_" mm Hg "_$$DATE^BDMS9B1($P(BDMBDT(D,E,I),U))
  1. ..I F="I" S $P(BDMV,";",BDMLL)=$P(BDMBP," ")
  1. Q BDMV
  1. HTNDX(P,EDATE) ;EP - is HTN on problem list
  1. I '$G(P) Q ""
  1. I '$D(^DPT(P)) Q ""
  1. NEW %,BDM,E,X,T,G,Y
  1. S T=$O(^ATXAX("B","SURVEILLANCE HYPERTENSION",0))
  1. S (X,G)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(G) D
  1. .Q:'$D(^AUPNPROB(X,0)) ;bad xref
  1. .Q:$P(^AUPNPROB(X,0),U,8)>EDATE ;if added to pl after end of time period, no go
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:$P(^AUPNPROB(X,0),U,12)="I"
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D"
  1. .I $$ICD^BDMUTL(Y,$P(^ATXAX(T,0),U),9) S G=1 Q
  1. .I $P($G(^AUPNPROB(X,800)),U,1)]"",$$SNOMED^BDMUTL(2018,"PXRM ESSENTIAL HYPERTENSION",$P(^AUPNPROB(X,800),U,1)) S G=1
  1. .Q
  1. I G Q "1 Yes"
  1. K BDM
  1. S X=P_"^LAST 3 DX [SURVEILLANCE HYPERTENSION;DURING "_$$DATE^BDMS9B1($$DOB^AUPNPAT(P))_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(")
  1. I $D(BDM(3)) S Y=$$DATE^BDMS9B1($P(BDM(3),U,1))_" "_$$DATE^BDMS9B1($P(BDM(2),U))_" "_$$DATE^BDMS9B1($P(BDM(1),U)) Q "1 Yes - DX on "_Y
  1. Q "2 No"
  1. LASTHT(P,EDATE,F) ;PEP - return last ht and date
  1. I 'P Q ""
  1. I $G(F)="" S F="E"
  1. I '$D(^AUPNVSIT("AC",P)) Q ""
  1. NEW %,BDMARRY,H,E,W,BDATE,D
  1. S %DT="P",X=EDATE D ^%DT S EDATE=Y
  1. S BDATE=$P(^DPT(P,0),U,3)
  1. S E=$O(^AUTTMSR("B","HT",0))
  1. S H=""
  1. S D=0 F S D=$O(^AUPNVMSR("AA",P,E,D)) Q:D'=+D!(H]"") D
  1. .S W=0 F S W=$O(^AUPNVMSR("AA",P,E,D,W)) Q:W'=+W!(H]"") D
  1. ..Q:'$D(^AUPNVMSR(W,0))
  1. ..Q:$P($G(^AUPNVMSR(W,2)),U,1) ;entered in error
  1. ..S H=$P(^AUPNVMSR(W,0),U,4)
  1. ..S BDMARRY(1)=$$VD^APCLV($P(^AUPNVMSR(W,0),U,3))
  1. I H="" Q H
  1. I F="I" Q H
  1. S H=$J(H,5,2)
  1. Q H_" inches "_$$DATE^BDMS9B1($P(BDMARRY(1),U))
  1. LASTWT(P,BDATE,EDATE,F) ;PEP - return last wt
  1. I 'P Q ""
  1. I $G(F)="" S F="E"
  1. NEW %,BDMARRY,E,BDMW,X,BDMN,BDM,BDMD,BDMZ,BDMX,W,H,BDMVF
  1. K BDM S BDMW="" S BDMX=P_"^LAST 24 MEAS WT;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(BDMX,"BDM(")
  1. S BDMN=0 F S BDMN=$O(BDM(BDMN)) Q:BDMN'=+BDMN!(BDMW]"") D
  1. . S BDMVF=+$P(BDM(BDMN),U,4)
  1. . Q:$P($G(^AUPNVMSR(BDMVF,2)),U,1) ;entered in error
  1. . S BDMZ=$P(BDM(BDMN),U,5)
  1. . I '$D(^AUPNVPOV("AD",BDMZ)) S BDMW=$P(BDM(BDMN),U,2)\1_" lbs "_$$DATE^BDMS9B1($P(BDM(BDMN),U)) Q
  1. . S BDMD=0,G=0 F S BDMD=$O(^AUPNVPOV("AD",BDMZ,BDMD)) Q:'BDMD D
  1. .. N ICDI
  1. .. S ICDI=$P($$ICDDX^BDMUTL($P(^AUPNVPOV(BDMD,0),U)),U) ;p8
  1. .. S ICD=$P($$ICDDX^BDMUTL($P(^AUPNVPOV(BDMD,0),U)),U,2) ;cmi/anch/maw 9/12/2007 csv
  1. .. ;make the call here to BGP PREGNANCY DIAGNOSIS 2
  1. ..N TAX
  1. ..S TAX=$O(^ATXAX("B","BGP PREGNANCY DIAGNOSES 2",0))
  1. .. I $$ICD^BDMUTL(ICDI,$P(^ATXAX(TAX,0),U),9) S G=1 ;cmi/maw 05/15/2014 p8
  1. .I 'G S BDMW=$P(BDM(BDMN),U,2)\1_" lbs "_$$DATE^BDMS9B1($P(BDM(BDMN),U))
  1. .Q
  1. Q $S(F="E":BDMW,1:+BDMW)
  1. CMSFDX(P,R,T) ;EP - return date/dx of dm in register
  1. I '$G(P) Q ""
  1. I '$G(R) Q ""
  1. I $G(T)="" Q ""
  1. NEW D1,Y,X,D,G S X=0,(D,Y)="" F S X=$O(^ACM(44,"C",P,X)) Q:X'=+X I $P(^ACM(44,X,0),U,4)=R D
  1. .S D=$P($G(^ACM(44,X,"SV")),U,2),D1=D,D=$$DATE^BDMS9B1(D)
  1. .S Y=$$VAL^XBDIQ1(9002244,X,.01)
  1. .I D1="" S D1=0
  1. .S G(9999999-D1)=D_"^"_D1_"^"_Y
  1. I '$O(G(0)) Q ""
  1. S Y=0,G=$O(G(Y))
  1. S D=$P(G(G),U),D1=$P(G(G),U,2),Y=$P(G(G),U,3)
  1. Q $S(T="D":$G(D),T="DX":$G(Y),T="ID":$G(D1),1:"")
  1. ;
  1. PLDMDOO(P,F) ;EP
  1. I '$G(P) Q ""
  1. I $G(F)="" S F="E"
  1. NEW T S T=$O(^ATXAX("B","SURVEILLANCE DIABETES",0))
  1. I 'T Q ""
  1. NEW D,X,I S D="",X=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X D
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D" ;deleted problem
  1. .S I=$P(^AUPNPROB(X,0),U)
  1. .I $$ICD^BDMUTL(I,$P(^ATXAX(T,0),U),9) D Q
  1. ..I $P(^AUPNPROB(X,0),U,13)]"" S D($P(^AUPNPROB(X,0),U,13))=""
  1. ..Q
  1. .I $P($G(^AUPNPROB(X,800)),U,1)]"",$$SNOMED^BDMUTL(2018,"PXRM DIABETES",$P(^AUPNPROB(X,800),U,1)) D
  1. ..I $P(^AUPNPROB(X,0),U,13)]"" S D($P(^AUPNPROB(X,0),U,13))=""
  1. .Q
  1. S D=$O(D(0)) Q $S(F="E":$$DATE^BDMS9B1(D),1:$O(D(0)))
  1. PLDMDXS(P) ;EP - get all DM dxs from problem list
  1. I '$G(P) Q ""
  1. NEW T S T=$O(^ATXAX("B","SURVEILLANCE DIABETES",0))
  1. I 'T Q "<diabetes taxonomy missing>"
  1. NEW D,X,I S D="",X=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X D
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D" ;deleted problem
  1. .S I=$P(^AUPNPROB(X,0),U)
  1. .I $$ICD^BDMUTL(I,$P(^ATXAX(T,0),U),9) S:D]"" D=D_";" S D=D_$P($$ICDDX^BDMUTL(I),U,2) Q
  1. .I $P($G(^AUPNPROB(X,800)),U,1)]"",$$SNOMED^BDMUTL(2018,"PXRM DIABETES",$P(^AUPNPROB(X,800),U,1)) S:D]"" D=D_";" S D=D_"SNOMED: "_$P(^AUPNPROB(X,800),U,1)
  1. .Q
  1. Q D
  1. ;
  1. FRSTDMDX(P,F) ;EP return date of first dm dx
  1. I '$G(P) Q ""
  1. I $G(F)="" S F="E"
  1. NEW X,E,BDM,Y
  1. S Y="BDM("
  1. S X=P_"^FIRST DX [SURVEILLANCE DIABETES" S E=$$START1^APCLDF(X,Y) S Y=$P($G(BDM(1)),U)
  1. Q $S(F="E":$$DATE^BDMS9B1(Y),1:Y)
  1. LASTDMDX(P,D) ;EP - last pcc dm dx
  1. I '$G(P) Q ""
  1. NEW X,E,BDM,Y
  1. S Y="BDM("
  1. S X=P_"^LAST DX [DM AUDIT TYPE II DXS;DURING "_$$DOB^AUPNPAT(P,"E")_"-"_D S E=$$START1^APCLDF(X,Y)
  1. I $D(BDM(1)) Q "Type 2"
  1. K BDM S X=P_"^LAST DX [DM AUDIT TYPE I DXS;DURING "_$$DOB^AUPNPAT(P,"E")_"-"_D S E=$$START1^APCLDF(X,Y)
  1. I $D(BDM(1)) Q "Type 1"
  1. Q ""
  1. INCHES ;
  1. NEW F,FI,Z
  1. S (X,Z)=$$LASTHT^BDMDF13(BDMPD,BDMRED,"I")
  1. Q:X=""
  1. S X=X/12 ;get feet
  1. S F=$P(X,".")
  1. S FI=F*12 ;GET INCHES
  1. S X=Z-FI
  1. S X=$J(X,5,2)
  1. S X=$$STRIP^XLFSTR(X," ")
  1. Q
  1. DATE(D) ;EP
  1. I D="" Q D
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. HEP(P,EDATE,S,F) ;EP
  1. NEW BDMC,BDMG,BDMX,BDMHEP,C,X,ED,G,T,BDM10743,V,Z,Y,BDMIMM,I,R,BDMZ
  1. ;get all immunizations
  1. S F=$G(F) I F="" S F="E"
  1. S S=$G(S)
  1. S C="8^42^43^44^45^51^102^104^110^132^146"
  1. D GETIMMS^BDMUTL(P,EDATE,C,.BDMX)
  1. ;go through and set into array if 10 days apart
  1. S X=0 F S X=$O(BDMX(X)) Q:X'=+X S BDMHEP(X)=""
  1. ;now get cpts
  1. S ED=9999999-EDATE,BD=9999999-$$DOB^AUPNPAT(P),G=0
  1. S T=$O(^ATXAX("B","BGP HEPATITIS CPTS",0))
  1. S BDM10743=0 F S ED=$O(^AUPNVSIT("AA",P,ED)) Q:ED=""!($P(ED,".")>BD) D
  1. .S V=0 F S V=$O(^AUPNVSIT("AA",P,ED,V)) Q:V'=+V D
  1. ..Q:'$D(^AUPNVSIT(V,0))
  1. ..S X=0 F S X=$O(^AUPNVCPT("AD",V,X)) Q:X'=+X D
  1. ...S Y=$P(^AUPNVCPT(X,0),U) S Z=$P($$CPT^ICPTCOD(Y),U,2) S:Z=90743 BDM10743=1 I $$ICD^BDMUTL(Y,$P(^ATXAX(T,0),U),1) S BDMHEP(9999999-$P(ED,"."))="" ;cmi/maw 05/15/2014 p8
  1. ..S X=0 F S X=$O(^AUPNVTC("AD",V,X)) Q:X'=+X D
  1. ...S Y=$P(^AUPNVTC(X,0),U,7) Q:'Y S Z=$P($$CPT^ICPTCOD(Y),U,2) S:Z=90743 BDM10743=1 I $$ICD^BDMUTL(Y,$P(^ATXAX(T,0),U),1) S BDMHEP(9999999-$P(ED,"."))="" ;cmi/maw 05/15/2014 p8
  1. ;now check to see if they are all spaced 20 days apart, if not, kill off the odd ones
  1. S X="",Y="",C=0 F S X=$O(BDMHEP(X)) Q:X'=+X S C=C+1 D
  1. .I C=1 S Y=X Q
  1. .I $$FMDIFF^XLFDT(X,Y)<21 K BDMHEP(X) Q
  1. .S Y=X
  1. ;now count them and see if there are 3 of them
  1. S BDMHEP=0,X=0 F S X=$O(BDMHEP(X)) Q:X'=+X S BDMHEP=BDMHEP+1
  1. I BDMHEP>2 Q "1 Yes"
  1. I I BDMHEP=2,BDM10743 Q "1 Yes" ;2 Hep B + 90743"
  1. I $G(S) D Q %
  1. .S %=""
  1. .S X=0 F S X=$O(BDMHEP(X)) Q:X'=+X S %=X
  1. ;check for Evidence of desease and Contraindications and if yes, then quit
  1. ;CONTRA OF IMMUNE
  1. F BDMIMM=8,42,43,44,45,51,102,104,110,132,146 S R=$$HEPCONT(P,BDMIMM,$$DOB^AUPNPAT(P),EDATE) Q:R]""
  1. I R Q "4 Immune"
  1. K BDMG S %=P_"^LAST DX [BGP HEP EVIDENCE;DURING "_$$DOB^AUPNPAT(P)_"-"_EDATE,E=$$START1^APCLDF(%,"BDMG(")
  1. I $D(BDMG(1)) Q "4 Immune by DX" ;_U_"Evid Hep B"
  1. I $$PLTAX^BDMDF12(P,"BGP HEP EVIDENCE") Q "4 Immune by DX"
  1. ;now go to Refusals
  1. S B=$$FMADD^XLFDT(EDATE,-365),E=EDATE,BDMNMI="",R=""
  1. F BDMIMM="8",42,43,44,45,51,102,104,110,132,146 D
  1. .S I=$O(^AUTTIMM("C",BDMIMM,0)) Q:'I
  1. .S X=0 F S X=$O(^AUPNPREF("AA",P,9999999.14,I,X)) Q:X'=+X S Y=0 F S Y=$O(^AUPNPREF("AA",P,9999999.14,I,X,Y)) Q:Y'=+Y S D=$P(^AUPNPREF(Y,0),U,3) I D'<B&(D'>E) S:$P(^AUPNPREF(Y,0),U,7)="N" BDMNMI=1 S R=1
  1. I R Q $S(BDMNMI:2,1:3)_" "_$S(BDMNMI:"No - Not Medically Ind",1:"Refused")
  1. S R=$$CPTREFT^BDMDFDU(P,$$DOB^AUPNPAT(P),EDATE,$O(^ATXAX("B","BGP HEPATITIS CPTS",0)))
  1. I R S:$P(R,U,3)="N" BDMNMI=1 Q $S(BDMNMI:2,1:3)_" "_$S(BDMNMI:"No - Not Medically Ind.",1:"Refused")_" "_$$DATE^BDMS9B1($P(R,U,2))
  1. ;now check Refusals in imm pkg
  1. F BDMIMM=8,42,43,44,45,51,102,104,110,132,146 S R=$$IMMREF^BDMUTL(P,BDMIMM,$$DOB^AUPNPAT(P),EDATE) Q:R
  1. I R Q "3 Refused"
  1. F BDMZ=8,42,43,44,45,51,102,104,110,132,146 S X=$$ANCONT^BDMUTL(P,BDMZ,EDATE) Q:X]"" ;cmi/maw 12/17/07 missing edate
  1. I X]"" Q X
  1. Q "2 No"
  1. HEPCONT(P,C,BD,ED) ;EP
  1. NEW X,G,Y,R,D
  1. S X=0,G="",Y=$O(^AUTTIMM("C",C,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X!(G) D
  1. .S R=$P(^BIPC(X,0),U,3)
  1. .Q:R=""
  1. .Q:'$D(^BICONT(R,0))
  1. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .I $P(^BICONT(R,0),U,1)="Immune" S G="4 Immune"
  1. Q G