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

BGP8DPE2.m

Go to the documentation of this file.
  1. BGP8DPE2 ;IHS/CMI/LAB - EDUC REPORT;
  1. ;;18.1;IHS CLINICAL REPORTING;;MAY 25, 2018;Build 66
  1. ;
  1. 5 ;EP
  1. Q:'$D(^AUPNVPED("AC",DFN)) ;no education so don't bother
  1. K BGPALLED,BGPEDPRV S BGPVALUE=""
  1. K BGPPROVS
  1. S BGPFYCT=$O(^BGPCTRL("B",2018,0))
  1. S Y="BGPALLED("
  1. S X=DFN_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BGPBDATE)_"-"_$$FMTE^XLFDT(BGPEDATE) S E=$$START1^APCLDF(X,Y)
  1. I '$D(BGPALLED(1)) Q
  1. S (X,D,G)=0,%="",T="" F S X=$O(BGPALLED(X)) Q:X'=+X D
  1. .S Y=+$P(BGPALLED(X),U,4)
  1. .S T=$P(^AUPNVPED(+$P(BGPALLED(X),U,4),0),U)
  1. .Q:'T
  1. .Q:'$D(^AUTTEDT(T,0))
  1. .S T=$P(^AUTTEDT(T,0),U,2)
  1. .I T="" Q
  1. .Q:'$$EDUALLOW^BGP8DPE1(BGPFYCT,T)
  1. .;Q:'$D(^BGPCTRL(BGPFYCT,62,"B",T)) ;not an official topic per Chris Lamer's spreadsheet
  1. .Q:$P(^AUPNVPED(Y,0),U,5)="" ;SKIP IF NO PROVIDER DOCUMENTED
  1. .S P=$P(^AUPNVPED(Y,0),U,5)
  1. .S D=$P($G(^VA(200,P,"PS")),U,5)
  1. .I 'D Q ;no discipline to tally
  1. .S BGPT=$P($G(^DIC(7,D,9999999)),U,1)
  1. .Q:BGPT="" ;not standard
  1. .S BGPT1=$P(^DIC(7,D,0),U,1)
  1. .D S(BGPRPT,BGPGBL,11,10,1) ;add to total # of topics
  1. .I BGPTIME=1 D SET51
  1. .I BGPTIME=2 D SET52
  1. .I BGPTIME=3 D SET53
  1. .;set PROVS For this patient
  1. .S BGPPROVS(BGPT1)=$G(BGPPROVS(BGPT1))+1
  1. .S %=$P(^AUPNVPED(+$P(BGPALLED(X),U,4),0),U,5)
  1. .;I %="" S %=$P($G(^AUPNVPED(+$P(BGPALLED(X),U,4),12)),U,4)
  1. .;I %="" S %="UNKNOWN"
  1. .I % S BGPEDPRV(%)=""
  1. Q:'$D(BGPPROVS)
  1. S BGPVALUE=""
  1. S X="" F S X=$O(BGPPROVS(X)) Q:X="" S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":";",1:"")_X_"-"_BGPPROVS(X)
  1. D SETLIST
  1. Q
  1. SET51 ;
  1. I '$D(^BGPPEDCR(BGPRPT,15,0)) S ^BGPPEDCR(BGPRPT,15,0)="^90560.1215A^0^0"
  1. S Z=$O(^BGPPEDCR(BGPRPT,15,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDCR(BGPRPT,15,Z,0),U,3)=$P(^BGPPEDCR(BGPRPT,15,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDCR(BGPRPT,15,0),U,3)+1,$P(^BGPPEDCR(BGPRPT,15,0),U,3)=Z,$P(^BGPPEDCR(BGPRPT,15,0),U,4)=Z
  1. S ^BGPPEDCR(BGPRPT,15,Z,0)=BGPT_U_BGPT1_U_1
  1. S ^BGPPEDCR(BGPRPT,15,"B",BGPT,Z)=""
  1. Q
  1. SET52 ;
  1. I '$D(^BGPPEDPR(BGPRPT,15,0)) S ^BGPPEDPR(BGPRPT,15,0)="^90560.1315A^0^0"
  1. S Z=$O(^BGPPEDPR(BGPRPT,15,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDPR(BGPRPT,15,Z,0),U,3)=$P(^BGPPEDPR(BGPRPT,15,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDPR(BGPRPT,15,0),U,3)+1,$P(^BGPPEDPR(BGPRPT,15,0),U,3)=Z,$P(^BGPPEDPR(BGPRPT,15,0),U,4)=Z
  1. S ^BGPPEDPR(BGPRPT,15,Z,0)=BGPT_U_BGPT1_U_1
  1. S ^BGPPEDPR(BGPRPT,15,"B",BGPT,Z)=""
  1. Q
  1. SET53 ;
  1. I '$D(^BGPPEDBR(BGPRPT,15,0)) S ^BGPPEDBR(BGPRPT,15,0)="^90560.1515A^0^0"
  1. S Z=$O(^BGPPEDBR(BGPRPT,15,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDBR(BGPRPT,15,Z,0),U,3)=$P(^BGPPEDBR(BGPRPT,15,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDBR(BGPRPT,15,0),U,3)+1,$P(^BGPPEDBR(BGPRPT,15,0),U,3)=Z,$P(^BGPPEDBR(BGPRPT,15,0),U,4)=Z
  1. S ^BGPPEDBR(BGPRPT,15,Z,0)=BGPT_U_BGPT1_U_1
  1. S ^BGPPEDBR(BGPRPT,15,"B",BGPT,Z)=""
  1. Q
  1. 6 ;EP
  1. Q:'$D(^AUPNVPED("AC",DFN)) ;no education so don't bother
  1. K BGPALLED,BGPEDPRV S BGPVALUE=""
  1. K BGPPROVS
  1. S BGPFYCT=$O(^BGPCTRL("B",2018,0))
  1. S Y="BGPALLED("
  1. S X=DFN_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BGPBDATE)_"-"_$$FMTE^XLFDT(BGPEDATE) S E=$$START1^APCLDF(X,Y)
  1. I '$D(BGPALLED(1)) Q
  1. S (X,D,G)=0,%="",T="" F S X=$O(BGPALLED(X)) Q:X'=+X D
  1. .S Y=+$P(BGPALLED(X),U,4)
  1. .S T=$P(^AUPNVPED(+$P(BGPALLED(X),U,4),0),U)
  1. .Q:'T
  1. .Q:'$D(^AUTTEDT(T,0))
  1. .S T=$P(^AUTTEDT(T,0),U,2)
  1. .I T="" Q
  1. .Q:'$$EDUALLOW^BGP8DPE1(BGPFYCT,T)
  1. .;Q:'$D(^BGPCTRL(BGPFYCT,62,"B",T)) ;not an official topic per Chris Lamer's spreadsheet
  1. .D S(BGPRPT,BGPGBL,11,12,1) ;add to total # of topics
  1. .S BGPLEVEL=$P(^AUPNVPED(Y,0),U,6)
  1. .I BGPLEVEL=1 D S(BGPRPT,BGPGBL,11,13,1)
  1. .I BGPLEVEL=2 D S(BGPRPT,BGPGBL,11,14,1)
  1. .I BGPLEVEL=3 D S(BGPRPT,BGPGBL,11,15,1)
  1. .I BGPLEVEL=5 D S(BGPRPT,BGPGBL,11,16,1)
  1. .I BGPLEVEL=4 D S(BGPRPT,BGPGBL,11,17,1)
  1. .I BGPLEVEL="" D S(BGPRPT,BGPGBL,11,18,1)
  1. .;set PROVS For this patient
  1. .I BGPLEVEL="" S BGPLEVEL="BLANK"
  1. .S BGPPROVS(BGPLEVEL)=$G(BGPPROVS(BGPLEVEL))+1
  1. .S %=$P(^AUPNVPED(+$P(BGPALLED(X),U,4),0),U,5)
  1. .;I %="" S %=$P($G(^AUPNVPED(+$P(BGPALLED(X),U,4),12)),U,4)
  1. .;I %="" S %="UNKNOWN"
  1. .I % S BGPEDPRV(%)=""
  1. Q:'$D(BGPPROVS)
  1. S BGPVALUE=""
  1. S X="" F S X=$O(BGPPROVS(X)) Q:X="" S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":";",1:"")_$S(X:$$EXTSET^XBFUNC(9000010.16,.06,X),1:"BLANK-NOT RECORDED")_"-"_BGPPROVS(X)
  1. D SETLIST
  1. Q
  1. ;
  1. 7 ;EP
  1. ;Q:'$D(^AUPNVPED("AC",DFN)) ;no education so don't bother
  1. K BGPALLED,BGPEDPRV S BGPVALUE="",BGPVAX=""
  1. K BGPPROVS
  1. S BGPFYCT=$O(^BGPCTRL("B",2018,0))
  1. S Y="BGPALLED("
  1. S X=DFN_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BGPBDATE)_"-"_$$FMTE^XLFDT(BGPEDATE) S E=$$START1^APCLDF(X,Y)
  1. I '$D(BGPALLED(1)) G PTG
  1. S (X,D,G)=0,%="",T="" F S X=$O(BGPALLED(X)) Q:X'=+X D
  1. .S Y=+$P(BGPALLED(X),U,4)
  1. .S T=$P(^AUPNVPED(+$P(BGPALLED(X),U,4),0),U)
  1. .Q:'T
  1. .Q:'$D(^AUTTEDT(T,0))
  1. .S T=$P(^AUTTEDT(T,0),U,2)
  1. .I T="" Q
  1. .Q:'$$EDUALLOW^BGP8DPE1(BGPFYCT,T)
  1. .S G=1
  1. .S BGPLEVEL=$P(^AUPNVPED(Y,0),U,13)
  1. .Q:BGPLEVEL=""
  1. .S BGPPROVS(BGPLEVEL)=$G(BGPPROVS(BGPLEVEL))+1 ;count up
  1. .;get provider
  1. .S R="",R=$P(^AUPNVPED(Y,0),U,5) D
  1. ..Q:R]""
  1. ..S R=$P($G(^AUPNVPED(Y,12)),U,4)
  1. ..Q:R]""
  1. ..S R=$P($G(^AUPNVPED(Y,12)),U,2)
  1. ..Q:R]""
  1. ..S R=$$PRIMPROV^APCLV($P(^AUPNVPED(Y,0),U,3),"I")
  1. .I R D
  1. ..S D=$$VALI^XBDIQ1(200,R,53.5)
  1. ..S D=$S(D:$$VAL^XBDIQ1(7,D,9999999.01),1:"")
  1. ..I D="" S D="??"
  1. ..S BGPPROVS(BGPLEVEL,"PROVS")=$G(BGPPROVS(BGPLEVEL,"PROVS"))_"; "_$$DATE^BGP8UTL($$VD^APCLV($P(^AUPNVPED(Y,0),U,3))) ;"; "_$$VAL^XBDIQ1(200,R,.01)_"-"_D
  1. S BGPVALUE=""
  1. I 'G G PTG ;no allowable topics
  1. S BGPVAX=1
  1. D S(BGPRPT,BGPGBL,11,19,1) ;add to total # of patients with a topic
  1. I '$D(BGPPROVS) G PTG
  1. I $G(BGPPROVS("GS")) D S(BGPRPT,BGPGBL,11,20,1) S BGPVALUE="GS"_$G(BGPPROVS("GS","PROVS"))
  1. I $G(BGPPROVS("GNS")),'$G(BGPPROVS("GS")) D S(BGPRPT,BGPGBL,11,21,1) S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":", ",1:"")_"GNS"_$G(BGPPROVS("GNS","PROVS"))
  1. I $G(BGPPROVS("GM")) D S(BGPRPT,BGPGBL,11,22,1) S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":", ",1:"")_"GM"_$G(BGPPROVS("GM","PROVS"))
  1. I $G(BGPPROVS("GNM")),'$G(BGPPROVS("GM")) D S(BGPRPT,BGPGBL,11,23,1) S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":", ",1:"")_"GNM"_$G(BGPPROVS("GNM","PROVS"))
  1. S BGPVALUE="UP PED: "_BGPVALUE
  1. PTG ;now do patient goals stuff
  1. D S(BGPRPT,BGPGBL,11,29,1) ;user pop
  1. ;did patient have a goal set with a start date in report period
  1. S BGPVALU=""
  1. K BGPSET
  1. D SET
  1. I $D(BGPSET) D
  1. .D S(BGPRPT,BGPGBL,11,24,1)
  1. .S BGPVALU=BGPVALU_$S(BGPVALU]"":"; GS:",1:"GS:")
  1. .S BGPT="" F S BGPT=$O(BGPSET(BGPT)) Q:BGPT="" S BGPC=BGPSET(BGPT) D SET71 S BGPVALU=BGPVALU_$S($P(BGPVALU,"GS:",2)="":"",1:", ")_$P(BGPSET(BGPT),U,2)
  1. K BGPNSET
  1. D NOTSET
  1. I $D(BGPNSET) D
  1. .D S(BGPRPT,BGPGBL,11,25,1)
  1. .S BGPVALU=BGPVALU_$S(BGPVALU]"":"; GNS:",1:"GNS:")
  1. .S BGPT="" F S BGPT=$O(BGPNSET(BGPT)) Q:BGPT="" S BGPC=BGPNSET(BGPT) D SET72 S BGPVALU=BGPVALU_$S($P(BGPVALU,"GNS:",2)="":"",1:", ")_$P(BGPNSET(BGPT),U,2)
  1. ;MET
  1. K BGPMET
  1. D MET
  1. I $D(BGPMET) D
  1. .D S(BGPRPT,BGPGBL,11,26,1)
  1. .S BGPVALU=BGPVALU_$S(BGPVALU]"":"; GM:",1:"GM:")
  1. .S BGPT="" F S BGPT=$O(BGPMET(BGPT)) Q:BGPT="" S BGPC=BGPMET(BGPT) D SET73^BGP8DPE3 S BGPVALU=BGPVALU_$S($P(BGPVALU,"GM:",2)="":"",1:", ")_$P(BGPMET(BGPT),U,2)
  1. K BGPMAIN
  1. D MAINTAIN
  1. I $D(BGPMAIN) D
  1. .D S(BGPRPT,BGPGBL,11,27,1)
  1. .S BGPVALU=BGPVALU_$S(BGPVALU]"":"; GMaint:",1:"GMaint:")
  1. .S BGPT="" F S BGPT=$O(BGPMAIN(BGPT)) Q:BGPT="" S BGPC=BGPMAIN(BGPT) D SET74^BGP8DPE3 S BGPVALU=BGPVALU_$S($P(BGPVALU,"GMaint:",2)="":"",1:", ")_$P(BGPMAIN(BGPT),U,2)
  1. K BGPNMET
  1. D NOTMET
  1. I $D(BGPNMET) D
  1. .D S(BGPRPT,BGPGBL,11,28,1)
  1. .S BGPVALU=BGPVALU_$S(BGPVALU]"":"; GNM:",1:"GNM:")
  1. .S BGPT="" F S BGPT=$O(BGPNMET(BGPT)) Q:BGPT="" S BGPC=BGPNMET(BGPT) D SET75^BGP8DPE3 S BGPVALU=BGPVALU_$S($P(BGPVALU,"GNM:",2)="":"",1:", ")_$P(BGPNMET(BGPT),U,2)
  1. I BGPVALU]"" S BGPVALU=" UP: "_BGPVALU
  1. S BGPVALUE=BGPVALU_" "_BGPVALUE_U_BGPVAX
  1. ;
  1. D SETLIST
  1. K BGPSET,BGPNSET,BGPMET,BGPMAIN,BGPNMET
  1. Q
  1. S(R,G,N,P,V,J) ;
  1. I 'V Q ;no value to add
  1. I $G(J) S $P(@(G_R_","_N_")"),U,P)=$P($G(@(G_R_","_N_")")),U,P)=V Q
  1. S $P(@(G_R_","_N_")"),U,P)=$P($G(@(G_R_","_N_")")),U,P)+V
  1. Q
  1. ;
  1. SETLIST ;
  1. Q:'$D(BGPLIST(BGPIC))
  1. Q:BGPTIME'=1
  1. I BGPLIST="P",$P(^AUPNPAT(DFN,0),U,14)'=BGPLPRV Q
  1. I BGPLIST="O",'$D(BGPEDPRV(BGPEPRV)) Q
  1. S BGPLIST(BGPIC)=$G(BGPLIST(BGPIC))+1
  1. S ^XTMP("BGP8PE",BGPJ,BGPH,"LIST",BGPIC,$S($P($G(^AUPNPAT(DFN,11)),U,18)]"":$P(^AUPNPAT(DFN,11),U,18),1:"UNKNOWN"),$P(^DPT(DFN,0),U,2),BGPAGEB,DFN)=$G(BGPVALUE)
  1. Q
  1. NOTSET ;
  1. ;FIRST GATHER UP ALL SET GOALS AND GOAL TYPES
  1. K BGPNSET
  1. NEW X,Y,Z,%,D,G
  1. S G=""
  1. S X=0,%=""
  1. F S X=$O(^AUPNGOAL("AC",DFN,X)) Q:X'=+X!(%]"") D
  1. .Q:'$D(^AUPNGOAL(X,0)) ;BAD XREF
  1. .Q:$P(^AUPNGOAL(X,0),U,1)'="S" ;NOT SET ONLY
  1. .S D=$P($P(^AUPNGOAL(X,0),U,9),".")
  1. .Q:D=""
  1. .Q:D<BGPBDATE
  1. .Q:D>BGPEDATE
  1. .S Y=0 F S Y=$O(^AUPNGOAL(X,10,Y)) Q:Y'=+Y D
  1. ..S Z=$P($G(^AUPNGOAL(X,10,Y,0)),U,1)
  1. ..I Z S G($$VAL^XBDIQ1(9001002.4,Z,.01))=""
  1. ;NOW CHECK GOALS NOT SET IN REPORT PERIOD AND CHECK TYPE
  1. S X=0,%=""
  1. F S X=$O(^AUPNGOAL("AC",DFN,X)) Q:X'=+X!(%]"") D
  1. .Q:'$D(^AUPNGOAL(X,0)) ;BAD XREF
  1. .Q:$P(^AUPNGOAL(X,0),U,1)'="N" ;SET ONLY
  1. .S D=$P($P(^AUPNGOAL(X,0),U,5),".")
  1. .Q:D=""
  1. .Q:D<BGPBDATE
  1. .Q:D>BGPEDATE
  1. .S Y=0 F S Y=$O(^AUPNGOAL(X,10,Y)) Q:Y'=+Y D
  1. ..S Z=$P($G(^AUPNGOAL(X,10,Y,0)),U,1)
  1. ..I Z S Z=$$VAL^XBDIQ1(9001002.4,Z,.01)
  1. ..I Z]"",$D(G(Z)) Q ;had a goal set for this type
  1. ..Q:Z=""
  1. ..S $P(BGPNSET(Z),U,1)=$P($G(BGPNSET(Z)),U,1)+1
  1. ..S $P(BGPNSET(Z),U,2)=$P(BGPNSET(Z),U,2)_$S($P(BGPNSET(Z),U,2)]"":",",1:"")_" "_$$DATE^BGP8UTL(D)_" - "_Z
  1. Q
  1. MAINTAIN ;
  1. NEW D,%,X,Y,G
  1. S X=0,%="",G=0
  1. F S X=$O(^AUPNGOAL("AC",DFN,X)) Q:X'=+X!(%]"") D
  1. .S G=""
  1. .Q:'$D(^AUPNGOAL(X,0)) ;BAD XREF
  1. .Q:$P(^AUPNGOAL(X,0),U,1)'="S" ;SET ONLY
  1. .I $P(^AUPNGOAL(X,0),U,11)="MA" S G=1
  1. .I $P(^AUPNGOAL(X,0),U,11)="A" S G=1
  1. .Q:'G
  1. .;DURING REPORT PERIOD MODIFIED DATE)
  1. .S G=0
  1. .S D=$P($P(^AUPNGOAL(X,0),U,5),".")
  1. .I D'<BGPBDATE,D'>BGPEDATE S G=1
  1. .Q:'G
  1. .S Y=0 F S Y=$O(^AUPNGOAL(X,10,Y)) Q:Y'=+Y D
  1. ..S Z=$P($G(^AUPNGOAL(X,10,Y,0)),U,1)
  1. ..I Z S Z=$$VAL^XBDIQ1(9001002.4,Z,.01)
  1. ..Q:Z=""
  1. ..S $P(BGPMAIN(Z),U,1)=$P($G(BGPMAIN(Z)),U,1)+1
  1. ..S $P(BGPMAIN(Z),U,2)=$P(BGPMAIN(Z),U,2)_$S($P(BGPMAIN(Z),U,2)]"":",",1:"")_" "_$$DATE^BGP8UTL(D)_" - "_Z
  1. ..Q
  1. Q
  1. NOTMET ;
  1. NEW D,%,X,Y,G
  1. S X=0,%="",G=0
  1. F S X=$O(^AUPNGOAL("AC",DFN,X)) Q:X'=+X!(%]"") D
  1. .S G=0
  1. .Q:'$D(^AUPNGOAL(X,0)) ;BAD XREF
  1. .Q:$P(^AUPNGOAL(X,0),U,1)'="S" ;SET ONLY
  1. .I $P(^AUPNGOAL(X,0),U,11)="S" S G=1
  1. .Q:'G
  1. .;DURING REPORT PERIOD MODIFIED DATE)
  1. .S G=0
  1. .S D=$P($P(^AUPNGOAL(X,0),U,5),".")
  1. .I D'<BGPBDATE,D'>BGPEDATE S G=1
  1. .Q:'G
  1. .S Y=0 F S Y=$O(^AUPNGOAL(X,10,Y)) Q:Y'=+Y D
  1. ..S Z=$P($G(^AUPNGOAL(X,10,Y,0)),U,1)
  1. ..I Z S Z=$$VAL^XBDIQ1(9001002.4,Z,.01)
  1. ..Q:Z=""
  1. ..S $P(BGPNMET(Z),U,1)=$P($G(BGPNMET(Z)),U,1)+1
  1. ..S $P(BGPNMET(Z),U,2)=$P(BGPNMET(Z),U,2)_$S($P(BGPNMET(Z),U,2)]"":",",1:"")_" "_$$DATE^BGP8UTL(D)_" - "_Z
  1. ..Q
  1. Q
  1. MET ;
  1. NEW D,%,X,Y
  1. S X=0,%=""
  1. F S X=$O(^AUPNGOAL("AC",DFN,X)) Q:X'=+X!(%]"") D
  1. .Q:'$D(^AUPNGOAL(X,0)) ;BAD XREF
  1. .Q:$P(^AUPNGOAL(X,0),U,1)'="S" ;SET ONLY
  1. .Q:$P(^AUPNGOAL(X,0),U,11)'="ME"
  1. .;DURING REPORT PERIOD MODIFIED DATE)
  1. .S G=0
  1. .S D=$P($P(^AUPNGOAL(X,0),U,5),".")
  1. .I D'<BGPBDATE,D'>BGPEDATE S G=1
  1. .Q:'G
  1. .S Y=0 F S Y=$O(^AUPNGOAL(X,10,Y)) Q:Y'=+Y D
  1. ..S Z=$P($G(^AUPNGOAL(X,10,Y,0)),U,1)
  1. ..I Z S Z=$$VAL^XBDIQ1(9001002.4,Z,.01)
  1. ..Q:Z=""
  1. ..S $P(BGPMET(Z),U,1)=$P($G(BGPMET(Z)),U,1)+1
  1. ..S $P(BGPMET(Z),U,2)=$P(BGPMET(Z),U,2)_$S($P(BGPMET(Z),U,2)]"":",",1:"")_" "_$$DATE^BGP8UTL(D)_" - "_Z
  1. ..Q
  1. Q
  1. SET ;
  1. NEW X,Y,Z,%,D
  1. K BGPSET
  1. S X=0,%=""
  1. F S X=$O(^AUPNGOAL("AC",DFN,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNGOAL(X,0)) ;BAD XREF
  1. .Q:$P(^AUPNGOAL(X,0),U,1)'="S" ;SET ONLY
  1. .S D=$P($P(^AUPNGOAL(X,0),U,9),".")
  1. .Q:D=""
  1. .Q:D<BGPBDATE
  1. .Q:D>BGPEDATE
  1. .S Y=0 F S Y=$O(^AUPNGOAL(X,10,Y)) Q:Y'=+Y D
  1. ..S Z=$P($G(^AUPNGOAL(X,10,Y,0)),U,1)
  1. ..I Z S Z=$$VAL^XBDIQ1(9001002.4,Z,.01)
  1. ..Q:Z=""
  1. ..S $P(BGPSET(Z),U,1)=$P($G(BGPSET(Z)),U,1)+1
  1. ..S $P(BGPSET(Z),U,2)=$P(BGPSET(Z),U,2)_$S($P(BGPSET(Z),U,2)]"":",",1:"")_" "_$$DATE^BGP8UTL(D)_" - "_Z
  1. Q
  1. SET71 ;
  1. I BGPTIME=2 D SET71P Q
  1. I BGPTIME=3 D SET71B Q
  1. I '$D(^BGPPEDCR(BGPRPT,16,0)) S ^BGPPEDCR(BGPRPT,16,0)="^90560.1216A^0^0"
  1. S Z=$O(^BGPPEDCR(BGPRPT,16,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDCR(BGPRPT,16,Z,0),U,3)=$P(^BGPPEDCR(BGPRPT,16,Z,0),U,3)+BGPC
  1. S Z=$P(^BGPPEDCR(BGPRPT,16,0),U,3)+BGPC,$P(^BGPPEDCR(BGPRPT,16,0),U,3)=Z,$P(^BGPPEDCR(BGPRPT,16,0),U,4)=Z
  1. S ^BGPPEDCR(BGPRPT,16,Z,0)=BGPT_U_BGPT_U_BGPC
  1. S ^BGPPEDCR(BGPRPT,16,"B",BGPT,Z)=""
  1. Q
  1. SET71P ;
  1. I '$D(^BGPPEDPR(BGPRPT,16,0)) S ^BGPPEDPR(BGPRPT,16,0)="^90560.1316A^0^0"
  1. S Z=$O(^BGPPEDPR(BGPRPT,16,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDPR(BGPRPT,16,Z,0),U,3)=$P(^BGPPEDPR(BGPRPT,16,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDPR(BGPRPT,16,0),U,3)+1,$P(^BGPPEDPR(BGPRPT,16,0),U,3)=Z,$P(^BGPPEDPR(BGPRPT,16,0),U,4)=Z
  1. S ^BGPPEDPR(BGPRPT,16,Z,0)=BGPT_U_BGPT_U_1
  1. S ^BGPPEDPR(BGPRPT,16,"B",BGPT,Z)=""
  1. Q
  1. SET71B ;
  1. I '$D(^BGPPEDBR(BGPRPT,16,0)) S ^BGPPEDBR(BGPRPT,16,0)="^90560.1416A^0^0"
  1. S Z=$O(^BGPPEDBR(BGPRPT,16,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDBR(BGPRPT,16,Z,0),U,3)=$P(^BGPPEDBR(BGPRPT,16,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDBR(BGPRPT,16,0),U,3)+1,$P(^BGPPEDBR(BGPRPT,16,0),U,3)=Z,$P(^BGPPEDBR(BGPRPT,16,0),U,4)=Z
  1. S ^BGPPEDBR(BGPRPT,16,Z,0)=BGPT_U_BGPT_U_1
  1. S ^BGPPEDBR(BGPRPT,16,"B",BGPT,Z)=""
  1. Q
  1. SET72 ;
  1. I BGPTIME=2 D SET72P Q
  1. I BGPTIME=3 D SET72B Q
  1. I '$D(^BGPPEDCR(BGPRPT,17,0)) S ^BGPPEDCR(BGPRPT,17,0)="^90560.1217A^0^0"
  1. S Z=$O(^BGPPEDCR(BGPRPT,17,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDCR(BGPRPT,17,Z,0),U,3)=$P(^BGPPEDCR(BGPRPT,17,Z,0),U,3)+BGPC
  1. S Z=$P(^BGPPEDCR(BGPRPT,17,0),U,3)+BGPC,$P(^BGPPEDCR(BGPRPT,17,0),U,3)=Z,$P(^BGPPEDCR(BGPRPT,17,0),U,4)=Z
  1. S ^BGPPEDCR(BGPRPT,17,Z,0)=BGPT_U_BGPT_U_BGPC
  1. S ^BGPPEDCR(BGPRPT,17,"B",BGPT,Z)=""
  1. Q
  1. SET72P ;
  1. I '$D(^BGPPEDPR(BGPRPT,17,0)) S ^BGPPEDPR(BGPRPT,17,0)="^90560.1317A^0^0"
  1. S Z=$O(^BGPPEDPR(BGPRPT,17,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDPR(BGPRPT,17,Z,0),U,3)=$P(^BGPPEDPR(BGPRPT,17,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDPR(BGPRPT,17,0),U,3)+1,$P(^BGPPEDPR(BGPRPT,17,0),U,3)=Z,$P(^BGPPEDPR(BGPRPT,17,0),U,4)=Z
  1. S ^BGPPEDPR(BGPRPT,17,Z,0)=BGPT_U_BGPT_U_1
  1. S ^BGPPEDPR(BGPRPT,17,"B",BGPT,Z)=""
  1. Q
  1. SET72B ;
  1. I '$D(^BGPPEDBR(BGPRPT,17,0)) S ^BGPPEDBR(BGPRPT,17,0)="^90560.1417A^0^0"
  1. S Z=$O(^BGPPEDBR(BGPRPT,17,"B",BGPT,0)) I Z D Q
  1. .S $P(^BGPPEDBR(BGPRPT,17,Z,0),U,3)=$P(^BGPPEDBR(BGPRPT,17,Z,0),U,3)+1
  1. S Z=$P(^BGPPEDBR(BGPRPT,17,0),U,3)+1,$P(^BGPPEDBR(BGPRPT,17,0),U,3)=Z,$P(^BGPPEDBR(BGPRPT,17,0),U,4)=Z
  1. S ^BGPPEDBR(BGPRPT,17,Z,0)=BGPT_U_BGPT_U_1
  1. S ^BGPPEDBR(BGPRPT,17,"B",BGPT,Z)=""
  1. Q