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

BGP9D3.m

Go to the documentation of this file.
  1. BGP9D3 ; IHS/CMI/LAB - measure 11 17 Oct 2007 12:40 PM ;
  1. ;;9.0;IHS CLINICAL REPORTING;;JUL 1, 2009
  1. ;
  1. ;
  1. I10 ;EP
  1. S (BGPN1,BGPN2,BGPN3,BGPN4,BGPN5,BGPN6)=0
  1. S BGPSEAL=$$SEAL(DFN,BGP365,BGPEDATE)
  1. I $P(BGPSEAL,U,2)]"" S BGPN5=$P(BGPSEAL,U,1),BGPN1=$P(BGPSEAL,U,1) G I101
  1. S BGPN1=$P(BGPSEAL,U)
  1. I BGPAGEB<12 S BGPN2=BGPN1
  1. I BGPAGEB>11,BGPAGEB<19 S BGPN3=BGPN1
  1. I BGPAGEB>18 S BGPN4=BGPN1
  1. S BGPN6=BGPN1
  1. I101 ;
  1. S BGPVALUE="UP|||"_BGPN1_$S($P(BGPSEAL,U,3)]"":" "_$P(BGPSEAL,U,3),1:" sealants ")
  1. K BGPSEAL
  1. Q
  1. I11 ;EP
  1. S (BGPN1,BGPN2,BGPN3,BGPN4,BGPN5,BGPD1,BGPD2,BGPD3)=0
  1. S BGPFLUOR=$$TF(DFN,BGP365,BGPEDATE)
  1. S BGPN1=$P(BGPFLUOR,U)
  1. I $P(BGPFLUOR,U,3)]"" S BGPN2=1,BGPD2=1
  1. I BGPN1>0 S BGPD1=1
  1. I BGPN1>4 S BGPN1=4
  1. I BGPD1,'BGPD2 S BGPD3=1
  1. S BGPVALUE="UP|||"_BGPN1_$S($P(BGPFLUOR,U,3)]"":" "_$P(BGPFLUOR,U,3),1:" topical fluoride ")
  1. K ^TMP($J,"A"),BGPFLUOR
  1. Q
  1. I12 ;EP
  1. S (BGPN1,BGPN2,BGPN3,BGPN4,BGPN7,BGPD1,BGPD2,BGPD3,BGPD4,BGPD5,BGPD6,BGPD7)=0
  1. I BGPAGEB>49,BGPACTUP S BGPD5=1
  1. I BGPAGEB>49,BGPAGEB<65,BGPACTUP S BGPD6=1
  1. I BGPAGEB>64,BGPACTUP S BGPD7=1
  1. I BGPDMD2 S BGPD4=1
  1. I BGPAGEB>49,BGPACTCL S BGPD1=1
  1. I BGPAGEB>49,BGPAGEB<65,BGPACTCL S BGPD2=1
  1. I BGPAGEB>64,BGPACTCL S BGPD3=1
  1. I '(BGPD1+BGPD2+BGPD3+BGPD4+BGPD5+BGPD6+BGPD7) S BGPSTOP=1 Q
  1. S BGPVALUE=$$FLU(DFN,,BGPEDATE) ;set to date of flu shot
  1. I BGPVALUE]"" S BGPN1=1
  1. I $P(BGPVALUE,U,3)=2 S BGPN2=1
  1. I $P(BGPVALUE,U,3)=3 S BGPN3=1
  1. I BGPN1,'BGPN2 S BGPN7=1
  1. S BGPDV=""
  1. I BGPRTYPE=4 S BGPDV=$S(BGPD5:"UP",1:"") D
  1. .I BGPD1 S BGPDV=BGPDV_$S(BGPDV]"":",AC",1:"AC")
  1. .I BGPD4 S BGPDV=BGPDV_$S(BGPDV]"":",AD",1:"AD")
  1. I BGPRTYPE=1 S BGPDV=$S(BGPD3!(BGPD2):"AC",1:"") I BGPD4 S BGPDV=BGPDV_$S(BGPDV]"":";AD",1:"AD")
  1. I BGPRTYPE=3!(BGPRTYPE=8) S BGPDV="AC"
  1. I BGPRTYPE=7 S BGPDV="AD"
  1. S BGPVALUE=BGPDV_"|||"_$$DATE^BGP9UTL($P(BGPVALUE,U,1))_" "_$P(BGPVALUE,U,2)
  1. K BGPLFLU,BGPDV
  1. Q
  1. I13 ;EP
  1. S (BGPN1,BGPN2,BGPN3,BGPN4,BGPN5,BGPN6,BGPN7,BGPD1,BGPD2,BGPD3)=0
  1. I BGPAGEB>64,BGPACTUP S BGPD3=1
  1. I BGPDMD2 S BGPD2=1
  1. I BGPAGEB>64,BGPACTCL S BGPD1=1
  1. I '(BGPD1+BGPD2+BGPD3) S BGPSTOP=1 Q
  1. I BGPRTYPE=3,'BGPD1 S BGPSTOP=1 Q
  1. PN ;EP - called from elder
  1. S BGPVALUE=$$PNEU^BGP9D31(DFN,$$DOB^AUPNPAT(DFN),BGPEDATE) ;set to date of PNEU shot
  1. I BGPVALUE]"" S BGPN1=1
  1. I $P(BGPVALUE,U,3)=2 S BGPN2=1
  1. I $P(BGPVALUE,U,3)=3 S BGPN3=1
  1. I BGPN1,'BGPN2 S BGPN7=1
  1. S BGPVAL=$$PNEU^BGP9D31(DFN,$$FMADD^XLFDT(BGPEDATE,-(5*365)),BGPEDATE)
  1. I BGPVAL]"" S BGPN4=1
  1. I $P(BGPVAL,U,3)=2 S BGPN5=1
  1. I $P(BGPVAL,U,3)=3 S BGPN6=1
  1. S BGPDV=""
  1. I BGPRTYPE=4 S BGPDV=$S(BGPD3:"UP",1:"") D
  1. .I BGPD1 S BGPDV=BGPDV_$S(BGPDV]"":",AC",1:"AC")
  1. .I BGPD2 S BGPDV=BGPDV_$S(BGPDV]"":",AD",1:"AD")
  1. I BGPRTYPE=1 S BGPDV=$S(BGPD1:"AC",1:"") I BGPD2 S BGPDV=BGPDV_$S(BGPDV]"":",AD",1:"AD")
  1. I BGPRTYPE=7 S BGPDV="AD"
  1. I BGPRTYPE=3!(BGPRTYPE=5) S BGPVALUE="AC"_"|||"_$$DATE^BGP9UTL($P(BGPVALUE,U,1))_" "_$P(BGPVALUE,U,2) I 1
  1. E S BGPVALUE=BGPDV_"|||"_$$DATE^BGP9UTL($P(BGPVALUE,U,1))_" "_$P(BGPVALUE,U,2)_$S(BGPVALUE]"":" (ever)",1:"")_" "_$$DATE^BGP9UTL($P(BGPVAL,U,1))_" "_$P(BGPVAL,U,2)_$S(BGPVAL]"":" (past 5 yrs)",1:"")
  1. K BGPLPNU
  1. Q
  1. I15 ;EP
  1. K BGPN1,BGPN2,BGPN3,BGPN4,BGPVALUE,BGPPAP,BGPI7,BGPI7DA,BGPI7DB
  1. S BGPI7DA=0,BGPI7DB=0,BGPI7DC=0,BGPN1=0,BGPN2=0,BGPN3=0
  1. S BGPI7=$$DEN7(DFN,BGPAGEB,BGPAGEE,BGPSEX,BGPEDATE)
  1. I BGPACTUP,BGPI7 S BGPI7DA=1
  1. I BGPACTCL,BGPI7 S BGPI7DB=1
  1. I BGPACTCL,BGPI7,BGPAGEB>23,BGPAGEE<65 S BGPI7DC=1
  1. I 'BGPI7DA,'BGPI7DB,'BGPI7DC S BGPSTOP=1 Q ;not in either denom so quit
  1. S BGPPAP=$$PAP(DFN,BGPEDATE,3)
  1. S BGPN1=0 I $P(BGPPAP,U)=1 S BGPN1=1
  1. I $P(BGPPAP,U,3)="ref" S BGPN2=1
  1. I BGPN1,'BGPN2 S BGPN3=1
  1. I BGPRTYPE'=3 S BGPVALUE=$S(BGPI7DA:"UP",1:"")_$S(BGPI7DB:",AC",1:"")_"|||"_$$DATE^BGP9UTL($P(BGPPAP,U,2))_" "_$P(BGPPAP,U,3)
  1. I BGPRTYPE=3 S BGPVALUE="AC|||"_$$DATE^BGP9UTL($P(BGPPAP,U,2))_" "_$P(BGPPAP,U,3)
  1. K BGPLPAP
  1. Q
  1. ;
  1. SEAL(P,BDATE,EDATE) ;
  1. K BGPG,BGPX S BGPC=0
  1. S %=P_"^ALL ADA 1351;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGPG(")
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X D
  1. .S V=+$P(BGPG(X),U,4)
  1. .S T=$P($G(^AUPNVDEN(V,0)),U,4)
  1. .S:T=""!(T=0) T=1
  1. .S S=$P(^AUPNVDEN(V,0),U,5)
  1. .I S]"" S BGPX(S)=$G(BGPX(S))+T
  1. .I S="" S BGPX("NO OS")=$G(BGPX("NO OS"))+T
  1. .Q
  1. S X="" F S X=$O(BGPX(X)) Q:X="" S BGPC=BGPC+$S(BGPX(X)>2:2,1:BGPX(X))
  1. I BGPC Q BGPC
  1. ;now gather up refusals - one per patient
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.31,$O(^AUTTADA("B","1351",0)),BDATE,EDATE)
  1. I $P(G,U)=1 Q "1^"_$P(G,U,2)_"^Refused ADA 1351"
  1. Q ""
  1. TF(P,BDATE,EDATE) ;
  1. K BGPG S BGPC=0
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"","
  1. S %=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,A)
  1. S X=0,Y=0 F S X=$O(^TMP($J,"A",X)) Q:X'=+X!(BGPC>3) S V=$P(^TMP($J,"A",X),U,5) D
  1. .S Y=0,G=0 F S Y=$O(^AUPNVDEN("AD",V,Y)) Q:Y'=+Y!(G>0)!(BGPC>3) D
  1. ..S A=$P($G(^AUPNVDEN(Y,0)),U) I A S A=$P($G(^AUTTADA(A,0)),U) D
  1. ...I A=1201!(A=1203)!(A=1204)!(A=1205)!(A=1206) S T=$P($G(^AUPNVDEN(Y,0)),U,4) S:T=""!(T=0) T=1 S BGPC=BGPC+T,G=G+1
  1. ...Q
  1. .Q:G
  1. .S Y=0,G=0 F S Y=$O(^AUPNVPOV("AD",V,Y)) Q:Y'=+Y!(G)!(BGPC>3) D
  1. ..S A=$P($G(^AUPNVPOV(Y,0)),U) I A S A=$P($$ICDDX^ICDCODE(A),U,2) D
  1. ...I A="V07.31" S BGPC=BGPC+1,G=1
  1. ...Q
  1. I BGPC Q BGPC
  1. ;one refusal per patient
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.31,$O(^AUTTADA("B","1201",0)),BDATE,EDATE)
  1. I $P(G,U)=1 Q "1^"_$P(G,U,2)_"^Refused ADA 1201"
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.31,$O(^AUTTADA("B","1203",0)),BDATE,EDATE)
  1. I $P(G,U)=1 Q "1^"_$P(G,U,2)_"^Refused ADA 1203"
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.31,$O(^AUTTADA("B","1204",0)),BDATE,EDATE)
  1. I $P(G,U)=1 Q "1^"_$P(G,U,2)_"^Refused ADA 1204"
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.31,$O(^AUTTADA("B","1205",0)),BDATE,EDATE)
  1. I $P(G,U)=1 Q "1^"_$P(G,U,2)_"^Refused ADA 1205"
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.31,$O(^AUTTADA("B","1206",0)),BDATE,EDATE)
  1. I $P(G,U)=1 Q "1^"_$P(G,U,2)_"^Refused ADA 1206"
  1. Q ""
  1. FLU(P,BD,ED) ;EP
  1. K BGPG
  1. S BGPLFLU=""
  1. I $G(BD)="" S BD=$$FMADD^XLFDT(ED,-365)
  1. S EDATE=$$FMTE^XLFDT(ED),BDATE=$$FMTE^XLFDT(BD)
  1. S X=P_"^LAST IMM 88;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BGPG(")
  1. I $D(BGPG(1)) S BGPLFLU=$P(BGPG(1),U)_U_"Imm 88"
  1. S X=P_"^LAST IMM 111;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPLFLU,U)<$P(BGPG(1),U) S BGPLFLU=$P(BGPG(1),U)_U_"Imm 111"
  1. S X=P_"^LAST IMM 15;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPLFLU,U)<$P(BGPG(1),U) S BGPLFLU=$P(BGPG(1),U)_U_"Imm 15"
  1. S X=P_"^LAST IMM 16;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPLFLU,U)<$P(BGPG(1),U) S BGPLFLU=$P(BGPG(1),U)_U_"Imm 16"
  1. S BGPG=$$LASTPRCI^BGP9UTL1(P,"99.52",BDATE,EDATE)
  1. I $P(BGPG,U,1)=1,$P(BGPLFLU,U)<$P(BGPG,U,3) S BGPLFLU=$P(BGPG,U,3)_U_"99.52"
  1. K BGPG S %=P_"^LAST DX V04.8;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPLFLU,U)<$P(BGPG(1),U,1) S BGPLFLU=$P(BGPG(1),U,1)_U_"V04.8"
  1. K BGPG S %=P_"^LAST DX V04.81;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPLFLU,U)<$P(BGPG(1),U,1) S BGPLFLU=$P(BGPG(1),U,1)_U_"V04.81"
  1. K BGPG S %=P_"^LAST DX V06.6;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPLFLU,U)<$P(BGPG(1),U,1) S BGPLFLU=$P(BGPG(1),U,1)_U_"V06.6"
  1. S T=$O(^ATXAX("B","BGP CPT FLU",0))
  1. I T D I X]"" I $P(BGPLFLU,U)<X S BGPLFLU=$P(X,U)_U_"CPT "_$P(X,U,2)
  1. .S X=$$CPT^BGP9DU(P,,ED,T,5) I X]"" Q
  1. .S X=$$TRAN^BGP9DU(P,,ED,T,5)
  1. I BGPLFLU]"" Q BGPLFLU_U_1
  1. ;contraindication new in 8.0
  1. F BGPZ=15,16,88,111 S X=$$FLCONT(P,BGPZ,$$DOB^AUPNPAT(P),ED) Q:X]""
  1. I X]"" Q X_U_3
  1. ;NMI refusal
  1. S G=$$NMIREF^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",88,0)),$$DOB^AUPNPAT(P),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"NMI Refusal"_U_3
  1. S G=$$NMIREF^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",111,0)),$$DOB^AUPNPAT(P),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"NMI Refusal"_U_3
  1. S G=$$NMIREF^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",15,0)),$$DOB^AUPNPAT(P),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"NMI Refusal"_U_3
  1. S G=$$NMIREF^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",16,0)),$$DOB^AUPNPAT(P),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"NMI Refusal"_U_3
  1. ;refusal
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",88,0)),$$FMADD^XLFDT(ED,-365),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"Refused"_U_2
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",111,0)),$$FMADD^XLFDT(ED,-365),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"Refused"_U_2
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",15,0)),$$FMADD^XLFDT(ED,-365),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"Refused"_U_2
  1. S G=$$REFUSAL^BGP9UTL1(P,9999999.14,$O(^AUTTIMM("C",16,0)),$$FMADD^XLFDT(ED,-365),ED)
  1. I $P(G,U)=1 Q $P(G,U,2)_U_"Refused"_U_2
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",88,0)) 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)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .S G=1
  1. I G Q $P(G,U,2)_U_"Refused Imm pkg"_U_2
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",111,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)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .S G=1
  1. I G Q $P(G,U,2)_U_"Refused Imm pkg"_U_2
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",15,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)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .S G=1
  1. I G Q $P(G,U,2)_U_"Refused Imm pkg"_U_2
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",16,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)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .S G=1
  1. I G Q $P(G,U,2)_U_"Refused Imm pkg"_U_2
  1. Q ""
  1. FLCONT(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:D=""
  1. .Q:$P(^BIPC(X,0),U,4)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .I $P(^BICONT(R,0),U,1)="Egg Allergy" S G=D_U_"Contraindication: Egg Allergy"
  1. .I $P(^BICONT(R,0),U,1)="Anaphylaxis" S G=D_U_"Contraindication: Anaphylaxis"
  1. Q G
  1. BI() ;
  1. Q $S($O(^AUTTIMM(0))>100:1,1:0)
  1. DEN7(P,AGEB,AGEE,SEX,EDATE) ;EP
  1. I SEX'="F" Q 0
  1. I AGEB<21 Q 0
  1. I AGEE>64 Q 0
  1. I $$HYSTER(P,EDATE) Q 0
  1. Q 1
  1. PAP(P,EDATE,YEARS) ;EP
  1. K BGPC
  1. S BGPC=""
  1. S BGPLPAP=""
  1. S BDATE=$$FMADD^XLFDT(EDATE,-(365*YEARS))
  1. S T=$O(^ATXAX("B","BGP PAP LOINC CODES",0))
  1. S BGPLT=$O(^ATXLAB("B","BGP PAP SMEAR TAX",0))
  1. S B=9999999-BDATE,E=9999999-EDATE S D=E-1 F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(D>B)!(BGPC]"") D
  1. .S L=0 F S L=$O(^AUPNVLAB("AE",P,D,L)) Q:L'=+L!(BGPC]"") D
  1. ..S X=0 F S X=$O(^AUPNVLAB("AE",P,D,L,X)) Q:X'=+X!(BGPC]"") D
  1. ...Q:'$D(^AUPNVLAB(X,0))
  1. ...S Z=$P(^AUPNVLAB(X,0),U),Z=$P($G(^LAB(60,Z,0)),U) I Z="PAP SMEAR" S BGPC="1^"_(9999999-D)_"^Lab" Q
  1. ...I BGPLT,$P(^AUPNVLAB(X,0),U),$D(^ATXLAB(BGPLT,21,"B",$P(^AUPNVLAB(X,0),U))) S BGPC="1^"_(9999999-D)_"^Lab" Q
  1. ...Q:'T
  1. ...S J=$P($G(^AUPNVLAB(X,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC(J,T)
  1. ...S BGPC="1^"_(9999999-D)_"^Lab-loinc" Q
  1. ...Q
  1. S BGPLPAP=BGPC
  1. K BGP
  1. S T="BGP PAP SMEAR DXS"
  1. I BGPRTYPE=3 S T="BGP HEDIS PAP SMEAR DXS"
  1. S X=$$LASTDX^BGP9UTL1(P,T,BDATE,EDATE) I X,$P(BGPLPAP,U,2)<$P(X,U,3) S BGPLPAP="1^"_$P(X,U,3)_"^"_$P(X,U,2)
  1. K BGP S %=P_"^LAST PROCEDURE 91.46;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGP(")
  1. I $D(BGP(1)),$P(BGPLPAP,U,2)<$P(BGP(1),U,1) S BGPLPAP="1^"_$P(BGP(1),U)_"^91.46"
  1. S T=$O(^ATXAX("B","BGP CPT PAP",0))
  1. I T D I X]"",$P(BGPLPAP,U,2)<$P(X,U,1) S BGPLPAP="1^"_$P(X,U)_"^"_$P(X,U,2)
  1. .S X=$$CPT^BGP9DU(P,$$FMADD^XLFDT(EDATE,-(YEARS*365)),EDATE,T,5) I X]"" Q
  1. .S X=$$TRAN^BGP9DU(P,$$FMADD^XLFDT(EDATE,-(YEARS*365)),EDATE,T,5)
  1. S T="PAP SMEAR",T=$O(^BWPN("B",T,0))
  1. I T D I X]"",$P(BGPLPAP,U,2)<X S BGPLPAP="1^"_X_"^WH"
  1. .S X=$$WH^BGP9DU(P,$$FMADD^XLFDT(EDATE,-(YEARS*365)),EDATE,T,3)
  1. I BGPLPAP]"" Q BGPLPAP
  1. S T=$$REFUSAL^BGP9UTL1(P,60,$O(^LAB(60,"B","PAP SMEAR",0)),$$FMADD^XLFDT(EDATE,-365),EDATE)
  1. I T Q "1^"_$P(T,U,2)_"^ref"
  1. S BGPLT=$O(^ATXLAB("B","BGP PAP SMEAR TAX",0))
  1. I 'BGPLT Q 0
  1. S X=0,T="" F S X=$O(^ATXLAB(BGPLT,21,X)) Q:X'=+X!($P(T,U)=1) D
  1. .S T=""
  1. .S Y=$P(^ATXLAB(BGPLT,21,X,0),U)
  1. .Q:'Y
  1. .S T=$$REFUSAL^BGP9UTL1(P,60,Y,$$FMADD^XLFDT(EDATE,-365),EDATE)
  1. I T Q 1_"^"_$P(T,U,2)_"^ref"
  1. Q ""
  1. LOINC(A,B) ;
  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. HYSTER(P,EDATE) ;EP
  1. I '$G(P) Q ""
  1. S X=$$LASTPRC^BGP9UTL1(P,"BGP HYSTERECTOMY PROCEDURES",$$DOB^AUPNPAT(P),EDATE)
  1. I X Q 1
  1. S T="HYSTERECTOMY",T=$O(^BWPN("B",T,0))
  1. I T D I X]"" Q 1
  1. .S X=$$WH^BGP9DU(P,$$DOB^AUPNPAT(P),EDATE,T,2)
  1. S T=$O(^ATXAX("B","BGP HYSTERECTOMY CPTS",0))
  1. I T D I X]"" Q 1
  1. .S X=$$CPT^BGP9DU(P,$P(^DPT(P,0),U,3),EDATE,T,3) I X]"" Q
  1. .S X=$$TRAN^BGP9DU(P,$P(^DPT(P,0),U,3),EDATE,T,3)
  1. S X=$$LASTDXI^BGP9UTL1(P,618.5,$$DOB^AUPNPAT(P),EDATE,1)
  1. I X Q 1
  1. Q ""