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

BGP8D3B.m

Go to the documentation of this file.
  1. BGP8D3B ; IHS/CMI/LAB - PNEUMO REMINDER 27 Feb 2015 7:52 AM ;
  1. ;;18.1;IHS CLINICAL REPORTING;;MAY 25, 2018;Build 66
  1. ;
  1. I13 ;EP - PN
  1. NEW BGPTDAP,BGPTD,BGPFLU,BGPZOST,BGPPNEU,BGPPNEUD,BGPDTAPP,BGPPPSEV,BGPPCVEV,BGPPP65,BGPPC65,BGPPP5Y,BGPPC5Y,BGPPC1Y,BGPPC19,BGPPP1Y
  1. S (BGPPNCON,BGPPPSEV,BGPPCVEV,BGPPP65,BGPPC65,BGPPP5Y,BGPPC5Y,BGPPC1Y,BGPPC19,BGPPP1Y,BGPPPCON,BGPPCCON)=""
  1. F X=1:1:17 S Y="BGPD"_X S @Y=""
  1. F X=1:1:55 S Y="BGPN"_X S @Y=""
  1. I BGPAGEB>64,BGPACTUP S BGPD3=1 ;UP 65+
  1. I BGPDMD2 S BGPD2=1 ;ACT DM
  1. I BGPAGEB>64,BGPACTCL S BGPD1=1 ;AC 65+
  1. I BGPAGEB>17,BGPAGEB<65,BGPACTCL,$$HIGHRP^BGP8D3A(DFN,BGPEDATE) S BGPD4=1 ;18-64 AC HIGH RISK
  1. I BGPAGEB>17,BGPAGEB<65,BGPACTUP,$$HIGHRP^BGP8D3A(DFN,BGPEDATE) S BGPD5=1 ;18-64 UP HIGH RISK
  1. I BGPAGEB>17,BGPAGEB<65,BGPACTCL S BGPD6=1 ;18-64 AC
  1. I BGPAGEB>17,BGPAGEB<65,BGPACTUP S BGPD7=1 ;18-64 UP
  1. I BGPAGEB>17,BGPACTCL S BGPD8=1
  1. I BGPAGEB>17,BGPACTUP S BGPD9=1
  1. I BGPAGEB>18,BGPAGEB<60,BGPACTCL S BGPD10=1 ;AC 19-59 026.N.1
  1. I BGPAGEB>18,BGPAGEB<60,BGPACTUP S BGPD11=1
  1. I BGPAGEB>59,BGPAGEB<65,BGPACTCL S BGPD12=1 ;AC 60-64 026.QO
  1. I BGPAGEB>59,BGPAGEB<65,BGPACTUP S BGPD13=1
  1. I BGPSEX="F" S X=$$PREG(DFN,BGPBDATE,BGPEDATE) I X S BGPD14=1 ;pregnant
  1. I BGPACTCL,BGPAGEB>18 S BGPD15=1 ;GPRA DEV V17 AC 19+
  1. I BGPACTUP,BGPAGEB>18 S BGPD17=1 ;V18 USER OP 19+
  1. I '(BGPD1+BGPD2+BGPD3+BGPD4+BGPD5+BGPD6+BGPD7+BGPD8+BGPD9+BGPD10+BGPD11+BGPD12+BGPD13+BGPD14+BGPD15+BGPD16+BGPD17) S BGPSTOP=1 Q
  1. S BGPVALUE="",BGPVALUD="",BGPPLPNU="",BGPDTAPP="",BGPTDAP=""
  1. PN ;EP - called from elder
  1. ;NEW PNEUMO AGE 65+ ONLY
  1. ;I BGPAGEB<65 G N1
  1. S BGPPPCON=$$PPCONT(DFN,BGPEDATE) ;I BGPPPCON S (BGPPPSEV,BGPPP5Y,BGPPP1Y,BGPPP65)=BGPPPCON ;did they have a contraindication
  1. S BGPPCCON=$$PCCONT(DFN,BGPEDATE) ;I BGPPCCON S (BGPPCVEV,BGPPC5Y,BGPPC1Y,BGPPC19)=BGPPCCON ;did they have a contraindication
  1. ;I BGPPCON S (BGPN1,BGPN8,BGPN37,BGPN46,BGPN47,BGPN48,BGPN49,BGPN50,BGPN51,BGPN52)=1 G N1
  1. S BGPPPSEV=$$PPSV23^BGP8D3C(DFN,$$DOB^AUPNPAT(DFN),BGPEDATE) ;PPSV23 EVER
  1. S BGPPCVEV=$$PCV13^BGP8D3C(DFN,$$DOB^AUPNPAT(DFN),BGPEDATE) ;PCV13 EVER
  1. S BGPPP5Y=$$PPSV23^BGP8D3C(DFN,$$FMADD^XLFDT(BGPEDATE,-(5*365)),BGPEDATE) ;PPSV23 LAST 5 YEARS
  1. S BGPPC5Y=$$PCV13^BGP8D3C(DFN,$$FMADD^XLFDT(BGPEDATE,-(5*365)),BGPEDATE) ;PCV13 LAST 5 YEARS
  1. S BGPPC1Y=$$PCV13^BGP8D3C(DFN,BGPBDATE,BGPEDATE) ;PCV13 PAST YEAR
  1. S BGPPP1Y=$$PPSV23^BGP8D3C(DFN,BGPBDATE,BGPEDATE) ;PPSV23 PAST YEAR
  1. S B=$$DOB^AUPNPAT(DFN)
  1. S BGPA65BD=$E(B,1,3)+65_$E(B,4,7)
  1. I BGPAGEB>64 S BGPPP65=$$PPSV23^BGP8D3C(DFN,BGPA65BD,BGPEDATE),BGPPC65=$$PCV13^BGP8D3C(DFN,BGPA65BD,BGPEDATE)
  1. S BGPA19BD=$E(B,1,3)+19_$E(B,4,7)
  1. S BGPPC19=$$PCV13^BGP8D3C(DFN,BGPA19BD,BGPEDATE)
  1. I BGPPPSEV!(BGPPCVEV)!(BGPPCCON)!(BGPPPCON) S BGPN1=1
  1. ;BGPN8 - V18 026.C.5
  1. S BGPN8=0
  1. ;I BGPAGEB<65,(BGPPPSEV!(BGPPCVEV)) S BGPN8=1 ;UNDER 65 HAD PPSV23 OR PCV13 EVER PNEUMO ONLY 65+
  1. I (BGPPPSEV!(BGPPCVEV)),(BGPPP65!(BGPPC65)!(BGPPP5Y)!(BGPPC5Y)) S BGPN8=1 ;026.C.5 BGPN8
  1. I BGPPPCON!(BGPPCCON) S BGPN8=1
  1. S BGPN47=0 ;026.C.26
  1. I BGPPC19!(BGPPP1Y) S BGPN47=1
  1. I BGPPCCON S BGPN47=1
  1. S BGPN48=0 ;026.C.27
  1. I BGPPPCON!(BGPPC1Y) S BGPN48=1
  1. I BGPPP5Y!(BGPPP65) S BGPN48=1
  1. S BGPN46=0 ;026.C.25 UP TO DATE
  1. I BGPN47,BGPN48 S BGPN46=1 ;UP TO DATE
  1. S BGPN49=0 ;026.C.28
  1. I BGPPP65!(BGPPPCON),BGPPC65!(BGPPCCON) S BGPN49=1
  1. S BGPN50=0 ;026.C.29
  1. I BGPPP65!(BGPPPCON) S BGPN50=1
  1. S BGPN51=0 ;026.C.30
  1. I BGPPC65!(BGPPCCON) S BGPN51=1
  1. ;BGPN52 026.D.1
  1. S BGPN52=0
  1. I BGPAGEB>64,BGPPPSEV,(BGPPP65!(BGPPP5Y)) S BGPN52=1
  1. I BGPAGEB<65,BGPPPSEV S BGPN52=1
  1. I BGPPPCON S BGPN52=1
  1. N1 S BGPDV=""
  1. ;
  1. TD ;new tdap and td stuff for v11.1
  1. I BGPRTYPE=5 G P1
  1. S BGPTDAP=$$DTAP^BGP8D3A(DFN,$$DOB^AUPNPAT(DFN),BGPEDATE)
  1. I BGPTDAP S BGPN9=1 ;026.N.3 TDAP/TD EVER BGPN9
  1. S BGPTD=$$DTAPTD^BGP8D3A(DFN,$$FMADD^XLFDT(BGPEDATE,-(10*365)),BGPEDATE)
  1. I BGPTD S BGPN10=1 ;026.N.1 1 Tdap/Td in past 10 years BGPN10
  1. I BGPN9,BGPN10 S BGPN30=1 ;026.N.9 TD 10 YRS/TDAP EVER 1:1 19-59 BGPN30
  1. ;FLU
  1. S BGPFLU=$$FLU^BGP8D3(DFN,BGPBDATE,BGPEDATE)
  1. I $P(BGPFLU,U,3)=1!($P(BGPFLU,U,3)=3) S BGPN13=1 ;026.O.5 FLU DURING RP BGPN13
  1. I BGPN9,BGPN10,BGPN13 S BGPN15=1 ;022=6.N.7 1:1:1 19-59 BGPN15
  1. ;I BGPN11!(BGPN12)!(BGPN14) S BGPN16=1
  1. S BGPZOST=$$IZOSTER^BGP8D3C(DFN,$$DOB^AUPNPAT(DFN),BGPEDATE)
  1. I $P(BGPZOST,U,3)=1!($P(BGPZOST,U,3)=3) S BGPN17=1 ;026.O.7
  1. I BGPN9,BGPN10,BGPN13,BGPN17 S BGPN19=1 ;026.O.9 60-64 1:1:1:1
  1. I BGPN9,BGPN10,BGPN17 S BGPN32=1 ;1:1:1: TD/TDAP/ZOSTER O26.O.11
  1. I BGPN9,BGPN10,BGPN13,BGPN17,BGPN46 S BGPN21=1 ;026.C.14
  1. I BGPN9,BGPN10,BGPN17,BGPN46 S BGPN34=1
  1. I BGPN11!(BGPN12)!(BGPN14)!(BGPN18)!(BGPN3) S BGPN22=1
  1. I BGPN11!(BGPN12)!(BGPN18)!(BGPN3) S BGPN35=1
  1. I BGPN9,BGPN10,BGPN13,BGPN17,BGPN48 S BGPN29=1 ;026.C.17
  1. I BGPN9,BGPN10,BGPN17,BGPN48 S BGPN38=1
  1. ;
  1. S BGPTRIM=""
  1. I BGPD14 D
  1. .S BGPVALUD="AC PREG|||"
  1. .S BGPFPRDX=$$FIRSTPDX^BGP8D3C(DFN,$$FMADD^XLFDT(BGPEDATE,-608),BGPEDATE) I BGPFPRDX="" S BGPFPRDX=$P($G(^AUPNREP(DFN,11)),U,2)
  1. .;GET EDD
  1. .S BGPEDD=$$EDD^BGP8UTL2(DFN,BGPBDATE,BGPEDATE)
  1. .K BGPTDAPP
  1. .S D=BGPEDATE
  1. .I BGPEDD]"",BGPEDD<BGPEDATE S D=BGPEDD
  1. .S BGPTDAPP=$$LASTTDAP(DFN,BGPFPRDX,D)
  1. .I $E(BGPTDAPP) S BGPN39=1 ;A SHOT OR AN NMI
  1. .I $E(BGPTDAPP)=2 S BGPN40=1 ;NMI
  1. .;I 'BGPN39 Q
  1. .;TRIMESTER
  1. .I BGPEDD D Q
  1. ..;FIGURE OUT TRIMESTER FOR ALL TDAPS, IF ANY ARE 3RD USE IT, THEN DO 2ND, THEN DO 1ST
  1. ..;FIRST DAY OF PREG IS 280 DAYS BEFORE EDD
  1. ..NEW FB,FE,SB,SE,TB,TE
  1. ..;
  1. ..S G=""
  1. ..;I $E(BGPTDAPP)=2 G UNK
  1. ..S TB=$$FMADD^XLFDT(BGPEDD,-91)
  1. ..S TE=BGPEDD
  1. ..S BGPD16=$$LASTVD^BGP8D3C(DFN,TB,TE)
  1. ..S SB=$$FMADD^XLFDT(BGPEDD,-182)
  1. ..S SE=$$FMADD^XLFDT(TB,-1)
  1. ..S FB=$$FMADD^XLFDT(BGPEDD,-280)
  1. ..S FE=$$FMADD^XLFDT(SB,-1)
  1. ..S X=$P(BGPTDAPP,U,2) ;DATE OF DTAP
  1. ..I X="" Q
  1. ..I $E(BGPTDAPP)=2 G UNK
  1. ..I X'<TB,X'>TE S G=G_3
  1. ..I X'>SE,X'<SB S G=G_2
  1. ..I X>FB S G=G_1
  1. ..I G[3 S BGPN43=1,BGPTRIM="3rd Trimester" Q
  1. ..I G[2 S BGPN42=1,BGPTRIM="2nd Trimester" Q
  1. ..I G[1 S BGPN41=1,BGPTRIM="1st Trimester" Q
  1. UNK ..I G="" S BGPN44=1,BGPTRIM="unk Trimester"
  1. .I BGPEDD="" D ;try to find icd codes
  1. ..;get all dxs tri, sec, 1st
  1. ..S G=""
  1. ..S BGPD16=$$LASTDX^BGP8UTL1(DFN,"BGP PREGNANCY TRI 3 DXS",BGPBDATE,BGPEDATE)
  1. ..S X=$P(BGPTDAPP,U,2) ;DATE OF TDAP
  1. ..I X="" Q
  1. ..I $E(BGPTDAPP)=2 G UNK1
  1. ..S Y=$$LASTDX^BGP8UTL1(DFN,"BGP PREGNANCY TRI 3 DXS",$$FMADD^XLFDT(X,-7),$$FMADD^XLFDT(X,7))
  1. ..I Y S G=G_3,BGPD16=1
  1. ..S Y=$$LASTDX^BGP8UTL1(DFN,"BGP PREGNANCY TRI 2 DXS",$$FMADD^XLFDT(X,-7),$$FMADD^XLFDT(X,7))
  1. ..I Y S G=G_2
  1. ..S Y=$$LASTDX^BGP8UTL1(DFN,"BGP PREGNANCY TRI 1 DXS",$$FMADD^XLFDT(X,-7),$$FMADD^XLFDT(X,7))
  1. ..I Y S G=G_1
  1. ..I G[3 S BGPN43=1,BGPTRIM="3rd Trimester" Q
  1. ..I G[2 S BGPN42=1,BGPTRIM="2nd Trimester" Q
  1. ..I G[1 S BGPN41=1,BGPTRIM="1st Trimester" Q
  1. UNK1 ..I G="" S BGPN44=1,BGPTRIM="unk Trimester"
  1. N ;
  1. ;GPRA DEV PREG BGPVALUD
  1. I BGPD16 S BGPVALUD=$P(BGPVALUD,"|||")_",PREGVTTM|||"_$P(BGPVALUD,"|||",2)
  1. I BGPD14!(BGPD16) D
  1. .I BGPTDAP S BGPVALUD=BGPVALUD_$S($P(BGPVALUD,"|||",2)]"":"; ",1:""),BGPVALUD=BGPVALUD_"TDAP: "_$S($P(BGPDTAPP,U,3)]"":$P(BGPDTAPP,U,3),1:$P(BGPTDAP,U,2))_" (ever) "_$S(BGPTRIM]"":"("_BGPTRIM_")",1:"")
  1. .I BGPTD S BGPVALUD=BGPVALUD_$S($P(BGPVALUD,"|||",2)]"":"; ",1:""),BGPVALUD=BGPVALUD_"TDAP/TD: "_$P(BGPTD,U,2)_" (past 10 yrs)"
  1. .I BGPFLU S BGPVALUD=BGPVALUD_$S($P(BGPVALUD,"|||",2)]"":"; ",1:""),BGPVALUD=BGPVALUD_"FLU: "_$P(BGPFLU,U,2)_" (past yr)"
  1. ;ONM DENOMINATOR LIST VALUE
  1. S BGPDV=""
  1. I BGPRTYPE=7 S BGPDV=$S(BGPD6:"AC",BGPD8:"AC",1:"") S:BGPD4 BGPDV=BGPDV_$S(BGPDV]"":",HR",1:"HR") S:BGPD2 BGPDV=BGPDV_$S(BGPDV]"":",AD",1:"AD")
  1. ;SELECTED DENOMINATOR LIST VALUE
  1. I BGPRTYPE=4 D
  1. .S BGPDV="UP"
  1. .I BGPD6!(BGPD1)!(BGPD8) S BGPDV=BGPDV_$S(BGPDV]"":",AC",1:"AC")
  1. .I BGPD4!(BGPD5) S BGPDV=BGPDV_$S(BGPDV]"":",HR",1:"HR")
  1. .I BGPD2 S BGPDV=BGPDV_$S(BGPDV]"":",AD",1:"AD")
  1. ;NATL GPRA DENOMINATOR LIST VALUE
  1. I BGPRTYPE=1 D
  1. .S BGPDV="UP"
  1. .I BGPD6!(BGPD1)!(BGPD8) S BGPDV=BGPDV_$S(BGPDV]"":",AC",1:"AC")
  1. I BGPD10!(BGPD11),BGPN30 S BGPN45=1 ;19-59
  1. I BGPD12!(BGPD13),BGPN32 S BGPN45=1 ;60-64
  1. I BGPD1!(BGPD3),BGPN34 S BGPN45=1 ;65+
  1. S BGPVALUE=""
  1. I BGPTDAP S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:""),BGPVALUE=BGPVALUE_"TDAP: "_$P(BGPTDAP,U,2)_" (ever)"
  1. I BGPTD S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:""),BGPVALUE=BGPVALUE_"TDAP/TD: "_$P(BGPTD,U,2)_" (past 10 yrs)"
  1. I BGPFLU S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:""),BGPVALUE=BGPVALUE_"FLU: "_$P(BGPFLU,U,2)_" (past yr)"
  1. I BGPZOST]"" S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:""),BGPVALUE=BGPVALUE_"ZOSTER: "_$P(BGPZOST,U,2)_" (ever)"
  1. P1 I BGPPPCON S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:"")_"PPSV23: "_$$DATE^BGP8UTL($P(BGPPPCON,U,1))_" "_$P(BGPPPCON,U,2)
  1. I BGPPCCON S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:"")_"PCV13: "_$$DATE^BGP8UTL($P(BGPPCCON,U,1))_" "_$P(BGPPCCON,U,2)
  1. ;PPSV23
  1. I BGPPPSEV D
  1. .S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:"")_"PPSV23: "_$$DATE^BGP8UTL($P(BGPPPSEV,U,1))_" "_$P(BGPPPSEV,U,2)_" (ever)"
  1. .S:BGPPP5Y BGPVALUE=BGPVALUE_" (past 5 yrs)" S:BGPPP1Y BGPVALUE=BGPVALUE_" (past 1 yr)" S:BGPPP65 BGPVALUE=BGPVALUE_" (after 65)" I BGPN46 S BGPVALUE=BGPVALUE_" (up-to-date)"
  1. I BGPPCVEV D
  1. .S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":"; ",1:"")_"PCV13: "_$$DATE^BGP8UTL($P(BGPPCVEV,U,1))_" "_$P(BGPPCVEV,U,2)_" (ever)"
  1. .S:BGPPC5Y BGPVALUE=BGPVALUE_" (past 5 yrs)" S:BGPPC1Y BGPVALUE=BGPVALUE_" (past 1 yr)" S:BGPPC65 BGPVALUE=BGPVALUE_" (after 65)" S:BGPPC19 BGPVALUE=BGPVALUE_" (after 19)" I BGPN46 S BGPVALUE=BGPVALUE_" (up-to-date)"
  1. S BGPVALUE=BGPDV_"|||"_BGPVALUE
  1. ;S BGPVALUE=BGPVALUE_" MET: "_BGPLORI
  1. TDE K BGPLPNU,BGPVAL,BGPA65,BGPVALH,BGPTD,BGPTDAP,BGPFLU,BGPTDAPP,BGPPNCON,BGPA65BD,BGPA19BD,BGPPNCON
  1. Q
  1. OPTOM ;EP
  1. G OPTOM^BGP8D213
  1. LASTTDAP(P,BDATE,EDATE) ;EP
  1. NEW C,D,BGPX,X,Y,G,B,R,ID,BGPZ
  1. S BGPX=""
  1. S C=$O(^AUTTIMM("C",115,0))
  1. S D=0 F S D=$O(^AUPNVIMM("AA",P,C,D)) Q:D'=+D!(BGPX) D
  1. .S X=0 F S X=$O(^AUPNVIMM("AA",P,C,D,X)) Q:X'=+X D
  1. ..S ID=$P($P($G(^AUPNVIMM(X,12)),U),".")
  1. ..I ID="" Q:$P(^AUPNVIMM(X,0),U,3)=""
  1. ..I ID="" S ID=$$VD^APCLV($P(^AUPNVIMM(X,0),U,3))
  1. ..Q:ID<BDATE
  1. ..Q:ID>EDATE
  1. ..S BGPX=ID_U_$$DATE^BGP8UTL(ID)_" Imm 115"
  1. .Q
  1. ;now add in cpt
  1. S C=+$$CODEN^ICPTCOD(90715)
  1. S D=$$CPTI^BGP8DU(P,BDATE,EDATE,C)
  1. I $P(D,U,2)>$P(BGPX,U,1) S BGPX=$P(D,U,2)_U_$$DATE^BGP8UTL(D)_" CPT 90715"
  1. I BGPX Q 1_U_BGPX
  1. ;contra/nmi
  1. F BGPZ=115 S X=$$ANCONT^BGP8D31(P,BGPZ,EDATE)
  1. I X]"" S BGPX=2_U_$P(X,U,1)_U_$$DATE^BGP8UTL($P(X,U,1))_" "_$P(X,U,2) Q BGPX
  1. ;Refusals
  1. S B=$$DOB^AUPNPAT(P),E=EDATE,BGPNMI="",R=""
  1. F BGPIMM=115 D
  1. .S I=$O(^AUTTIMM("C",BGPIMM,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) D
  1. ..Q:$P(^AUPNPREF(Y,0),U,7)'="N"
  1. ..S R=D
  1. I R S BGPX=2_U_R_U_$$DATE^BGP8UTL(R)_" "_"NMI Dtap" Q BGPX
  1. S R="",B=+$$CODEN^ICPTCOD(90715)
  1. S G=$$NMIREF^BGP8UTL1(P,81,B,$$DOB^AUPNPAT(P),EDATE)
  1. I G S BGPX=2_U_$P(G,U,2)_U_$$DATE^BGP8UTL($P(G,U,2))_" "_"NMI Dtap 90715" Q G
  1. Q ""
  1. PREG(P,BDATE,EDATE) ;
  1. I '$$PREG^BGP8D7(DFN,$$FMADD^XLFDT(EDATE,-608),EDATE,1,1,,BDATE,EDATE) Q "" ;V17.1 CMI/LAB ADDED DATES FOR CURRENTLY PREGNANT
  1. Q 1
  1. PPCONT(P,EDATE) ;contraindicated
  1. ;NOW CHECK FOR CONTRAINDICATION pps23
  1. NEW X,TA,BGPZ,G,R
  1. S X=""
  1. S T1=$O(^ATXAX("B","BGP PPSV23 CVX CODES",0))
  1. S BGPZ=0 F S BGPZ=$O(^ATXAX(T1,21,"B",BGPZ)) Q:BGPZ'=+BGPZ!(X]"") S X=$$ANCONT^BGP8D31(P,BGPZ,EDATE)
  1. I X]"" Q X_U_3
  1. ;NMI Refusal
  1. S BGPZ=0,G="" F S BGPZ=$O(^ATXAX(T1,21,"B",BGPZ)) Q:BGPZ'=+BGPZ!(G) D
  1. .S G=$$NMIREF^BGP8UTL1(P,9999999.14,$O(^AUTTIMM("C",BGPZ,0)),$$DOB^AUPNPAT(P),EDATE)
  1. .I $P(G,U)=1 S G=$P(G,U,2)_U_"NMI Refusal"_U_3
  1. I G]"" Q G
  1. S R=$$CPTREFT^BGP8UTL1(P,$$DOB^AUPNPAT(P),EDATE,$O(^ATXAX("B","BGP PPSV23 CPT CODES",0)),"N")
  1. I R Q $P(R,U,2)_U_"NMI Refusal "_$P(R,U,4)_U_3
  1. Q ""
  1. PCCONT(P,EDATE) ;
  1. ;NOW CHECK FOR CONTRAINDICATION (NEW IN 8.0)
  1. S X=""
  1. S T1=$O(^ATXAX("B","BGP PCV13 CVX CODES",0))
  1. S BGPZ=0 F S BGPZ=$O(^ATXAX(T1,21,"B",BGPZ)) Q:BGPZ'=+BGPZ!(X]"") S X=$$ANCONT^BGP8D31(P,BGPZ,EDATE)
  1. I X]"" Q X_U_3
  1. ;NMI Refusal pcv13
  1. S BGPZ=0,G="" F S BGPZ=$O(^ATXAX(T1,21,"B",BGPZ)) Q:BGPZ'=+BGPZ!(G) D
  1. .S G=$$NMIREF^BGP8UTL1(P,9999999.14,$O(^AUTTIMM("C",BGPZ,0)),$$DOB^AUPNPAT(P),EDATE)
  1. .I $P(G,U)=1 S G=$P(G,U,2)_U_"NMI Refusal"_U_3
  1. I G]"" Q G
  1. S R=$$CPTREFT^BGP8UTL1(P,$$DOB^AUPNPAT(P),EDATE,$O(^ATXAX("B","BGP PNEUMO CONJUGATE CPTS",0)),"N")
  1. I R Q $P(R,U,2)_U_"NMI Refusal "_$P(R,U,4)_U_3
  1. Q ""