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

BGP6D3A.m

Go to the documentation of this file.
  1. BGP6D3A ; IHS/CMI/LAB - measure 11 17 Oct 2009 12:40 PM 15 Apr 2015 8:06 AM ;
  1. ;;18.0;IHS CLINICAL REPORTING;;NOV 21, 2017;Build 51
  1. ;
  1. ;
  1. SEALDEV(P,BDATE,EDATE) ;EP
  1. NEW BGPG,BGPX,BGPC,%,X,V,T
  1. S BGPC=0
  1. S T=$$FMADD^XLFDT(EDATE,-1096)
  1. K BGPG
  1. S %=P_"^ALL ADA 0007;DURING "_$$DATE^BGP6UTL(T)_"-"_$$DATE^BGP6UTL(EDATE),E=$$START1^APCLDF(%,"BGPG(")
  1. S %="",X=0
  1. F S X=$O(BGPG(X)) Q:X'=+X S V=$P(BGPG(X),U,5) I '$$HAS13(V) S %=1_U_$$DATE^BGP6UTL($P(BGPG(1),U,1))_" ADA 0007"
  1. Q %
  1. HAS13(V) ;
  1. NEW X,Y,Z
  1. S Z=0
  1. S X=0 F S X=$O(^AUPNVDEN("AD",V,X)) Q:X'=+X!(Z) S Y=$$VAL^XBDIQ1(9000010.05,X,.01) I Y="1351"!(Y="1352") S Z=1
  1. S X=0 F S X=$O(^AUPNVCPT("AD",V,X)) Q:X'=+X!(Z) S Y=$$VAL^XBDIQ1(9000010.18,X,.01) I Y="D1351"!(Y="D1352") S Z=1
  1. Q Z
  1. ;I $D(BGPG(1)) Q 1_U_$$DATE^BGP6UTL($P(BGPG(1),U,1))_" ADA 0007"
  1. ;S T=$$FMADD^XLFDT(EDATE,-1096)
  1. ;S %="",E=+$$CODEN^ICPTCOD("D0007"),%=$$CPTI^BGP6DU(P,T,EDATE,E)
  1. ;I % Q 1_"^"_$$DATE^BGP6UTL($P(%,U,2))_" CPT D0007"
  1. Q ""
  1. TF(P,BDATE,EDATE) ;EP
  1. NEW T,A,%,X,Y,T,Z,G,BGPZ,BGPJ,R
  1. K BGPG,BGPZ S BGPC=0
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"","
  1. S Z=$O(^ATXAX("B","BGP TOPICAL FLUORIDE ADA CODES",0))
  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)!($P(BGPC,U,1)>3) D
  1. ..S A=$P($G(^AUPNVDEN(Y,0)),U) D
  1. ...I $D(^ATXAX(Z,21,"B",A)) S T=1 S $P(BGPC,U,1)=$P(BGPC,U,1)+1,G=G+1,$P(BGPC,U,BGPC+1)=$$VD^APCLV($P(^AUPNVDEN(Y,0),U,3))_"|ADA "_$$VAL^XBDIQ1(9000010.05,Y,.01) ;one per visit
  1. ...Q
  1. .Q:G
  1. .S Y=0,G=0 F S Y=$O(^AUPNVCPT("AD",V,Y)) Q:Y'=+Y!(G)!(BGPC>3) D
  1. ..S A=$P($G(^AUPNVCPT(Y,0)),U)
  1. ..Q:'A
  1. ..I $$ICD^BGP6UTL2(A,$O(^ATXAX("B","BGP CPT TOPICAL FLUORIDE",0)),1) S T=1 S $P(BGPC,U,1)=$P(BGPC,U,1)+1,G=G+1,$P(BGPC,U,BGPC+1)=$$VD^APCLV($P(^AUPNVCPT(Y,0),U,3))_"|CPT "_$$VAL^XBDIQ1(9000010.18,Y,.01) ;one per visit
  1. .Q:G ;one per visit
  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 D
  1. ...I $$ICD^BGP6UTL2(A,$O(^ATXAX("B","BGP TOPICAL FLUORIDE DXS",0)),9) S $P(BGPC,U,1)=$P(BGPC,U,1)+1,G=1,$P(BGPC,U,BGPC+1)=$$VD^APCLV($P(^AUPNVPOV(Y,0),U,3))_"|POV "_$$VAL^XBDIQ1(9000010.07,Y,.01) ;one per visit
  1. ...Q
  1. I BGPC Q BGPC
  1. Q ""
  1. SEAL(P,BDATE,EDATE) ;EP
  1. NEW A,%,X,Y,BGPC,BGPG,BGPX,G,T,S,V,BGPCNT
  1. K BGPG,BGPX
  1. S BGPCNT=0
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"","
  1. S BGPC=0
  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 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 D
  1. ..S A=$P($G(^AUPNVDEN(Y,0)),U) I A S A=$P($G(^AUTTADA(A,0)),U) D
  1. ...I A'=1351,A'=1352 Q
  1. ...S G=1
  1. ...S T=$P($G(^AUPNVDEN(Y,0)),U,4) S:T=""!(T=0) T=1
  1. ...S S=$P(^AUPNVDEN(Y,0),U,5)
  1. ...I S]"" D
  1. ....I $G(BGPX(S))<2 D
  1. .....I T=1 S BGPX(S)=$G(BGPX(S))+T
  1. .....I T'=1 S T=$S(T>(2-$G(BGPX(S))):(2-$G(BGPX(S))),1:T),BGPX(S)=$G(BGPX(S))+T ;only first 2 per tooth
  1. .....S BGPCNT=BGPCNT+1 S BGPSEALS(BGPCNT,$$VD^APCLV($P(^AUPNVDEN(Y,0),U,3)))="ADA "_A_" ("_T_")"
  1. ...I S="" S BGPX("NO OS")=$G(BGPX("NO OS"))+T,BGPCNT=BGPCNT+1,BGPSEALS(BGPCNT,$$VD^APCLV($P(^AUPNVDEN(Y,0),U,3)))="ADA 1351 ("_T_")"
  1. ...Q
  1. .Q:G ;had ADA1351/1352 codes so skip cpts/0007
  1. .S Y=0,G=0 F S Y=$O(^AUPNVCPT("AD",V,Y)) Q:Y'=+Y D
  1. ..S A=$P($G(^AUPNVCPT(Y,0)),U)
  1. ..Q:'A
  1. ..S A=$P($$CPT^ICPTCOD(A),U,2) I A="D1351" D
  1. ...S T=$P($G(^AUPNVCPT(Y,0)),U,16) S:T=""!(T=0) T=1
  1. ...S BGPX("CPT")=$G(BGPX("CPT"))+T,BGPCNT=BGPCNT+1,BGPSEALS(BGPCNT,$$VD^APCLV($P(^AUPNVCPT(Y,0),U,3)))="CPT D1351 ("_T_")"
  1. S X="" F S X=$O(BGPX(X)) Q:X="" I X'="CPT" S BGPC=BGPC+$S(BGPX(X)>2:2,1:BGPX(X))
  1. S BGPC=BGPC+$G(BGPX("CPT"))
  1. S BGPSEAL=BGPC
  1. Q
  1. SEALR(P,BDATE,EDATE) ;EP
  1. NEW A,%,X,Y,BGPC,BGPG,BGPX,G,T,S,V,BGPCNT
  1. K BGPG,BGPX
  1. S BGPCNT=0
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"","
  1. S BGPC=0
  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 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 D
  1. ..S A=$P($G(^AUPNVDEN(Y,0)),U) I A S A=$P($G(^AUTTADA(A,0)),U) D
  1. ...I A'=1353 Q
  1. ...S G=1
  1. ...S T=1 ;$P($G(^AUPNVDEN(Y,0)),U,4) S:T=""!(T=0) T=1 DOESN'T MATTER HOW MANY, WE ARE ONLY COUNTING 1 PER TOOTH
  1. ...S S=$P(^AUPNVDEN(Y,0),U,5)
  1. ...I S]"" D
  1. ....I $G(BGPX(S))<1 D
  1. .....S BGPX(S)=$G(BGPX(S))+1
  1. .....S BGPCNT=BGPCNT+1 S BGPSEALS(BGPCNT,$$VD^APCLV($P(^AUPNVDEN(Y,0),U,3)))="ADA "_A_" ("_T_")"
  1. ...I S="" S BGPX("NO OS")=$G(BGPX("NO OS"))+T,BGPCNT=BGPCNT+1,BGPSEALS(BGPCNT,$$VD^APCLV($P(^AUPNVDEN(Y,0),U,3)))="ADA 1351 ("_T_")"
  1. ...Q
  1. .Q:G ;had ADA1353 SO SKIP CPTS
  1. .S Y=0,G=0 F S Y=$O(^AUPNVCPT("AD",V,Y)) Q:Y'=+Y D
  1. ..S A=$P($G(^AUPNVCPT(Y,0)),U)
  1. ..Q:'A
  1. ..S A=$P($$CPT^ICPTCOD(A),U,2) I A="D1353" D
  1. ...S T=$P($G(^AUPNVCPT(Y,0)),U,16) S:T=""!(T=0) T=1
  1. ...S BGPX("CPT")=$G(BGPX("CPT"))+T,BGPCNT=BGPCNT+1,BGPSEALS(BGPCNT,$$VD^APCLV($P(^AUPNVCPT(Y,0),U,3)))="CPT D1353 ("_T_")"
  1. S X="" F S X=$O(BGPX(X)) Q:X="" I X'="CPT" S BGPC=BGPC+$S(BGPX(X)>1:1,1:BGPX(X))
  1. S BGPC=BGPC+$G(BGPX("CPT"))
  1. S BGPSEALR=BGPC
  1. Q
  1. HIGHR(P,EDATE) ;EP
  1. ;must have 2 dx in past 3 years, then check problem list before EDATE
  1. NEW BGPG,Y,X,G,V,BDATE,C,D
  1. S BDATE=$$FMADD^XLFDT(EDATE,-(3*365))
  1. S Y="BGPG(",G="",C=0
  1. S X=P_"^ALL DX [BGP HIGH RISK FLU DXS;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,Y)
  1. I '$D(BGPG(1)) G HRPL
  1. K Y S X=0,G=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) D
  1. .S D=$P(BGPG(X),U,1)
  1. .Q:$D(Y(D)) ;already had one on that day
  1. .S Y(D)=""
  1. .S C=C+1
  1. .I C>1 S G=1
  1. I G Q G
  1. HRPL ;
  1. S G=""
  1. S T=$O(^ATXAX("B","BGP HIGH RISK FLU DXS",0))
  1. S (X,G)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(G) D
  1. .Q:$P(^AUPNPROB(X,0),U,8)>EDATE ;if added to pl after beginning of time period, no go
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D"
  1. .Q:$P(^AUPNPROB(X,0),U,12)="I"
  1. .Q:'$$ICD^BGP6UTL2(Y,T,9)
  1. .S G=1
  1. .Q
  1. Q G
  1. DTAP(P,BDATE,EDATE) ;EP
  1. K BGPC,BGPG,BGPX,BD,ED,BGPVARI,C,V,X,Y,BGPZ,BGPIMM,D
  1. ;gather up all immunizations, cpts, povs and check for 3 each ten days apart
  1. K BGPVARI
  1. ;get all immunizations
  1. ;S C="115"
  1. ;D GETIMMS^BGP6D32(P,EDATE,C,.BGPX)
  1. S BGPX=$$LASTITEM^BGP6DU(P,BDATE,EDATE,"IMMUNIZATION",115)
  1. I BGPX S BGPX=$P(BGPX,U,2)_U_$$DATE^BGP6UTL($P(BGPX,U,2))_" Imm 115"
  1. ;go through and set into array if 10 days apart
  1. ;now add in LAST cpt codes if on different dates
  1. S C=+$$CODEN^ICPTCOD(90715)
  1. S D=$$CPTI^BGP6DU(P,BDATE,EDATE,C)
  1. I $P(D,U,2)>$P(BGPX,U,1) S BGPX=$P(D,U,2)_U_$$DATE^BGP6UTL($P(D,U,2))_" CPT 90715"
  1. I BGPX Q 1_U_$P(BGPX,U,2)
  1. ;I $D(BGPVARI) Q 1_U_$$DATE^BGP6UTL($O(BGPVARI(9999999),-1))_" CPT 90715"
  1. F BGPZ=115 S X=$$ANCONT^BGP6D31(P,BGPZ,EDATE)
  1. I X]"" Q 2_U_$$DATE^BGP6UTL($P(X,U,1))_" "_$P(X,U,2)
  1. ;now go to 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 ;S:$P(^AUPNPREF(Y,0),U,7)="N" BGPNMI=1 S R=1
  1. I R Q 2_U_$$DATE^BGP6UTL(R)_" "_"NMI Dtap"
  1. S R="",B=+$$CODEN^ICPTCOD(90715)
  1. S G=$$NMIREF^BGP6UTL1(P,81,B,$$DOB^AUPNPAT(P),EDATE)
  1. I G Q 2_U_$$DATE^BGP6UTL($P(G,U,2))_" "_"NMI Dtap 90715"
  1. Q ""
  1. DTAPTD(P,BDATE,EDATE) ;EP
  1. NEW BDM,X,E,B,%DT,Y,TDD,D,LTD,G,C,Z,TK,BGPC,BGPG,BGPX,BD,ED,BGPVARI,C,V,X,Y,BGPZ,BGPIMM,T
  1. K TDD
  1. D LASTTDN ;get td from v imm
  1. S LTD=$O(TDD(0))
  1. I LTD]"" S LTD=(9999999-LTD)_U_$$DATE^BGP6UTL(9999999-LTD)_" Imm "_TDD(LTD)
  1. ;now check cpt codes
  1. S T=$O(^ATXAX("B","BGP CPT TDAP/TD",0))
  1. S BGPVARI=$$CPT^BGP6DU(P,BDATE,EDATE,T,5)
  1. I $P(BGPVARI,U,1)>$P(LTD,U,1) S LTD=$P(BGPVARI,U,1)_U_$$DATE^BGP6UTL($P(BGPVARI,U,1))_" CPT "_$P(BGPVARI,U,2)
  1. K BGPG S %=P_"^LAST DX [BGP TD IZ DXS;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. I $D(BGPG(1)),$P(BGPG(1),U,1)>$P(LTD,U,1) S LTD=$P(BGPG(1),U,1)_U_$$DATE^BGP6UTL($P(BGPG(1),U))_" DX V06.5"
  1. I LTD Q 1_U_$P(LTD,U,2)
  1. F BGPZ=115,9,113,138,139 S X=$$ANCONT^BGP6D31(P,BGPZ,EDATE) Q:X]""
  1. I X]"" Q 2_U_$$DATE^BGP6UTL($P(X,U,1))_" "_$P(X,U,2)
  1. ;now go to Refusals
  1. S B=$$DOB^AUPNPAT(P),E=EDATE,BGPNMI="",R=""
  1. F BGPIMM=115,9,113,138,139 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 ;S:$P(^AUPNPREF(Y,0),U,7)="N" BGPNMI=1 S R=1
  1. I R Q 2_U_$$DATE^BGP6UTL(R)_" NMI Dtap/Td"
  1. S R="",B=+$$CODEN^ICPTCOD(90715)
  1. S G=$$NMIREF^BGP6UTL1(P,81,B,$$DOB^AUPNPAT(P),EDATE)
  1. I G Q 2_U_$$DATE^BGP6UTL($P(G,U,2))_" "_"NMI Dtap 90715"
  1. S R="",B=+$$CODEN^ICPTCOD(90714)
  1. S G=$$NMIREF^BGP6UTL1(P,81,B,$$DOB^AUPNPAT(P),EDATE)
  1. I G Q 2_U_$$DATE^BGP6UTL($P(G,U,2))_" "_"NMI Dtap 90714"
  1. S R="",B=+$$CODEN^ICPTCOD(90718)
  1. S G=$$NMIREF^BGP6UTL1(P,81,B,$$DOB^AUPNPAT(P),EDATE)
  1. I G Q 2_U_$$DATE^BGP6UTL($P(G,U,2))_" "_"NMI Dtap 90718"
  1. Q ""
  1. ;
  1. LASTTDN ;
  1. S X=0 F S X=$O(^AUPNVIMM("AC",P,X)) Q:X'=+X D
  1. .S Y=$P(^AUPNVIMM(X,0),U) Q:'Y
  1. .Q:'$D(^AUTTIMM(Y,0))
  1. .S Y=$P(^AUTTIMM(Y,0),U,3)
  1. .S D=$P(^AUPNVIMM(X,0),U,3) Q:'D
  1. .S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. .I D<BDATE Q ;too early
  1. .I D>EDATE Q ;after time frame
  1. .I Y=9 S TDD(9999999-D)=9 Q
  1. .I Y=113 S TDD(9999999-D)=113 Q
  1. .I Y=115 S TDD(9999999-D)=115 Q
  1. .I Y=138 S TDD(9999999-D)=138 Q
  1. .I Y=139 S TDD(9999999-D)=139 Q
  1. Q
  1. ;;
  1. HIGHRP(P,EDATE) ;EP
  1. ;must have 2 dx in past 3 years, then check problem list before EDATE
  1. NEW BGPG,Y,X,G,V,BDATE,C,D
  1. S BDATE=$$FMADD^XLFDT(EDATE,-(3*365))
  1. S Y="BGPG(",G="",C=0
  1. S X=P_"^ALL DX [BGP HIGH RISK PNEUMO DXS;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,Y)
  1. I '$D(BGPG(1)) G HRPL
  1. K Y S X=0,G=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) D
  1. .S D=$P(BGPG(X),U,1)
  1. .Q:$D(Y(D)) ;already had one on that day
  1. .S Y(D)=""
  1. .S C=C+1
  1. .I C>1 S G=1
  1. I G Q G
  1. HRPLP ;
  1. S G=""
  1. S T=$O(^ATXAX("B","BGP HIGH RISK PNEUMO DXS",0))
  1. S (X,G)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(G) D
  1. .Q:$P(^AUPNPROB(X,0),U,8)>EDATE ;if added to pl after beginning of time period, no go
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D"
  1. .Q:$P(^AUPNPROB(X,0),U,12)="I"
  1. .Q:'$$ICD^BGP6UTL2(Y,T,9)
  1. .S G=1
  1. .Q
  1. Q G
  1. GA(P,BDATE,EDATE) ;EP
  1. NEW T,A,%,X,Y,T,Z,G,BGPZ,BGPJ,R,BGPC,BGPGA,BGPGASSC
  1. K BGPG,BGPZ S BGPC=0
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"","
  1. S Z=$O(^ATXAX("B","BGP GEN ANESTHESIA ADA CODES",0))
  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 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 D
  1. ..S A=$P($G(^AUPNVDEN(Y,0)),U) D
  1. ...I $D(^ATXAX(Z,21,"B",A)) S BGPZ(V)=""
  1. .S Y=0,G=0 F S Y=$O(^AUPNVCPT("AD",V,Y)) Q:Y'=+Y D
  1. ..S A=$P($G(^AUPNVCPT(Y,0)),U)
  1. ..Q:'A
  1. ..I $$ICD^BGP6UTL2(A,$O(^ATXAX("B","BGP CPT DENT GEN ANESTHESIA",0)),1) S BGPZ(V)=""
  1. ;ARRAY BGPZ has all visits with general anesthesia
  1. S BGPGA=0 S X=0 F S X=$O(BGPZ(X)) Q:X'=+X S BGPGA=BGPGA+1
  1. ;LOOP THROUGH THESES VISITS AND SEE IF THEY HAVE A SSC
  1. S Z=$O(^ATXAX("B","BGP SSC ADA CODES",0))
  1. S V=0 F S V=$O(BGPZ(V)) Q:V'=+V D
  1. .S Y=0 F S Y=$O(^AUPNVDEN("AD",V,Y)) Q:Y'=+Y D
  1. ..S A=$P($G(^AUPNVDEN(Y,0)),U) D
  1. ...I $D(^ATXAX(Z,21,"B",A)) S BGPZ(V)=1
  1. .S Y=0,G=0 F S Y=$O(^AUPNVCPT("AD",V,Y)) Q:Y'=+Y D
  1. ..S A=$P($G(^AUPNVCPT(Y,0)),U)
  1. ..Q:'A
  1. ..I $$ICD^BGP6UTL2(A,$O(^ATXAX("B","BGP CPT DENTAL SSC",0)),1) S BGPZ(V)=1
  1. I 'BGPGA Q ""
  1. S BGPGASSC=0,X=0 F S X=$O(BGPZ(X)) Q:X'=+X I BGPZ(X) S BGPGASSC=BGPGASSC+1
  1. S Z="",X=0 F S X=$O(BGPZ(X)) Q:X'=+X S:Z]"" Z=Z_"; " S Z=Z_$$DATE^BGP6UTL($$VD^APCLV(X))_": GEN ANESTH"_$S(BGPZ(X):", SSC",1:"")
  1. Q BGPGA_U_BGPGASSC_U_Z