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

BGP7D25.m

Go to the documentation of this file.
BGP7D25 ; IHS/CMI/LAB - measure 6 03 Jun 2017 3:16 PM 11 Sep 2015 10:56 AM ; 
 ;;17.1;IHS CLINICAL REPORTING;;MAY 10, 2017;Build 29
 ;
IA ;EP
 S (BGPN1,BGPN2,BGPN3,BGPN4,BGPN5,BGPN6,BGPN7,BGPN8,BGPN9,BGPN10,BGPN11,BGPD1,BGPD2,BGPD3,BGPD4,BGPD5,BGPD6,BGPD7,BGPD8,BGPD9,BGPD10,BGPD11)=0
 ;I BGPACTCL,BGPAGEB>7,BGPAGEB<18 S BGPD1=1  ;8-17
 I BGPACTCL,BGPAGEB>17 S BGPD2=1  ;AC 18+ A.B
 I BGPACTCL,BGPAGEB>64 S BGPD3=1  ;AC 65 AND OLDER
 I BGPACTUP,BGPAGEB>11,BGPAGEB<18 S BGPD4=1
 I BGPACTUP,BGPAGEB>17 S BGPD5=1  ;>17 UP
 I BGPACTUP,BGPAGEB>64 S BGPD6=1  ;65 UP
 I BGPACTCL,BGPAGEB>11,BGPAGEB<18 S BGPD9=1  ;A.L.1
 I BGPDMD2 S BGPD7=1
 I $$CHD^BGP7D729(DFN,BGP365,BGPEDATE),BGPACTCL S BGPIHD=1,BGPD8=1
 ;I BGPACTCB,BGPAGEB>17 S BGPD10=1  ;>17
 ;I BGPACTCB,BGPAGEB>11,BGPAGEB<18 S BGPD11=1  ;19 TO 18 V17.0 A.L
 ;I BGPRTYPE=4,BGPAGEB<18,'BGPIHD,'BGPDMD2 S BGPSTOP=1 Q  ;IF THEY ARE UNDER 18 AND NOT IHD AND NOT DM Q
 I '(BGPD2+BGPD3+BGPD4+BGPD5+BGPD6+BGPD7+BGPD8+BGPD9) S BGPSTOP=1 Q
DEPEP ;EP - called from elder
 S BGPVALUE=""
 S BGPN3=0 S BGPDEP=$$DEP(DFN,BGPBDATE,BGPEDATE) I $P(BGPDEP,U)=1 S BGPN3=1
 S BGPN2=0 S BGPDEPS=$$DEPSCR(DFN,BGPBDATE,BGPEDATE) I $P(BGPDEPS,U)=1 S BGPN2=1
 S BGPN5=0 S BGPDEDU=$$DEPEDU(DFN,BGPBDATE,BGPEDATE) I $P(BGPDEDU,U)=1 S BGPN5=1
 S BGPN6=0 S BGPSUIC=$$DEPSUIC(DFN,BGPBDATE,BGPEDATE) I $P(BGPSUIC,U)=1 S BGPN6=1
 S BGPN10=0 S BGPDEPSD=$$DEPSCRD(DFN,BGPBDATE,BGPEDATE) I $P(BGPDEPSD,U)=1 S BGPN10=1
 S BGPN11=0 S BGPSBHC=$$DEPSCRBH^BGP7D27(DFN,BGPBDATE,BGPEDATE) I $P(BGPSBHC,U)=1 S BGPN11=1
 I BGPN2 S BGPN1=1
 I BGPN3 S BGPN1=1
 S BGPREF=""
 ;S BGPN4=0 I 'BGPN1 S BGPREF=$$DEPREF(DFN,BGPBDATE,BGPEDATE) I $P(BGPREF,U)=1 S BGPN4=1
 I BGPN4 S BGPN1=1
 I BGPN1,'BGPN4 S BGPN7=1
 S BGPN8=0 I BGPN2!(BGPN3)!(BGPN6) S BGPN8=1
 I BGPN10!(BGPN3)!(BGPN6) S BGPN10=1
 S BGPVALUE=""
 I (BGPD4+BGPD5+BGPD6) S BGPVALUE="UP"
 I (BGPD1+BGPD2+BGPD3+BGPD9) S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":",",1:"")_"AC"
 I BGPD7 S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":",",1:"")_"AD"
 I BGPD8 S BGPVALUE=BGPVALUE_$S(BGPVALUE]"":",",1:"")_"CHD"
 S BGPVALUE=BGPVALUE_"|||"
 I BGPDEPS]"" S BGPVALUE=BGPVALUE_$S($P(BGPVALUE,"|||",2)]"":";SCREEN: ",1:"SCREEN: ") S BGPVALUE=BGPVALUE_$P(BGPDEPS,U,3)_" "_$P(BGPDEPS,U,5)
 I BGPDEP]"" S BGPVALUE=BGPVALUE_$S($P(BGPVALUE,"|||",2)]"":";DX: ",1:"DX: ") S BGPVALUE=BGPVALUE_$P(BGPDEP,U,2)
 I BGPDEDU]"" S BGPVALUE=BGPVALUE_$S($P(BGPVALUE,"|||",2)]"":";PT ED: ",1:"PT ED: ") S BGPVALUE=BGPVALUE_$P(BGPDEDU,U,3)_" "_$P(BGPDEDU,U,2)
 I BGPSBHC]"" S BGPVALUE=BGPVALUE_$S($P(BGPVALUE,"|||",2)]"":";BH Clinic: ",1:"BH Clinic: ") S BGPVALUE=BGPVALUE_$P(BGPSBHC,U,3)_" "_$P(BGPSBHC,U,2)
 I BGPRTYPE'=1,BGPREF]"" S BGPVALUE=BGPVALUE_$S($P(BGPVALUE,"|||",2)]"":"; ",1:"") S BGPVALUE=BGPVALUE_$P(BGPREF,U,3)_" "_$P(BGPREF,U,2)
 ;I BGPD5!(BGPD9) S BGPVALUD=$S(BGPD5:"AC",BGPD9:"AC",1:"")
 I BGPD10!(BGPD11) S BGPVALUD=$G(BGPVALUD)_$S($G(BGPVALUD)]"":",AC+BH",1:"AC+BH")
 I $G(BGPVALUD)]"" S BGPVALUD=BGPVALUD_"|||" D
 .I BGPDEPSD]"" S BGPVALUD=BGPVALUD_$S($P(BGPVALUD,"|||",2)]"":"; SCREEN: ",1:"SCREEN: ") S BGPVALUD=BGPVALUD_$P(BGPDEPSD,U,3)_" "_$P(BGPDEPSD,U,5)
 .I BGPDEP]"" S BGPVALUD=BGPVALUD_$S($P(BGPVALUD,"|||",2)]"":"; DX: ",1:"DX: ") S BGPVALUD=BGPVALUD_$P(BGPDEP,U,2)
 .I BGPSUIC]"" S BGPVALUD=BGPVALUD_$S($P(BGPVALUD,"|||",2)]"":"; SUIC DX: ",1:"SUIC DX: ") S BGPVALUD=BGPVALUD_$P(BGPSUIC,U,3)_" "_$P(BGPSUIC,U,2)
 K BGPDEP,BGPDEPS,BGPREF,BGPDEDU
 Q
 ;
DEP(P,BDATE,EDATE) ;EP
 I $G(P)="" Q ""
 NEW BGPG,BGPDEP,BGPV,Y,X,E,D,V,BGPC,BGPP
 K BGPG,BGPDEP
 S BGPV=""
 S Y="BGPG("
 S X=P_"^LAST 2 DX [BGP MOOD DISORDERS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
 I $D(BGPG(2)) S BGPDEP((9999999-$P(BGPG(1),U)))="",BGPDEP((9999999-$P(BGPG(2),U)))="" Q 1_U_$$DATE^BGP7UTL($P(BGPG(2),U))_" POV "_$P(BGPG(2),U,2)_" + "_$$DATE^BGP7UTL($P(BGPG(1),U))_" POV "_$P(BGPG(1),U,2)_U_U_$P(BGPG(1),U,1)
 S BGPC=0 I $D(BGPG(1)) S BGPC=1,BGPV=$P(BGPG(1),U,5),BGPDEP((9999999-$P(BGPG(1),U)))=""
 ;
 S E=9999999-BDATE,D=9999999-EDATE-1_".99" F  S D=$O(^AMHREC("AE",P,D)) Q:D'=+D!($P(D,".")>E)!(BGPC>1)  S V=0 F  S V=$O(^AMHREC("AE",P,D,V)) Q:V'=+V!(BGPC>1)  D
 .S X=0 F  S X=$O(^AMHRPRO("AD",V,X)) Q:X'=+X!(BGPC>1)  S BGPP=$P($G(^AMHRPRO(X,0)),U) D
 ..Q:'BGPP
 ..I $P(^AMHREC(V,0),U,16)]"",BGPV]"",$P(^AMHREC(V,0),U,16)=BGPV Q  ;same visit found in pcc
 ..I $D(BGPDEP(D)) Q  ;already got a dx on this date
 ..S BGPP=$P($G(^AMHPROB(BGPP,0)),U)
 ..I BGPP=14 S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP=15 S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I $E(BGPP,1,3)=296 S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP=291.89 S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP=292.84 S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP="293.83" S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP="301.13" S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP=300.4 S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..I BGPP="311." S BGPC=BGPC+1,BGPDEP(D)=BGPP Q
 ..Q
 S X=$O(BGPDEP(0)),Y=$O(BGPDEP(X))
 I BGPC>1 Q 1_"^"_$$FMTE^XLFDT((9999999-X))_" BH POV "_BGPDEP(X)_" + "_$$FMTE^XLFDT((9999999-Y))_" BH POV "_BGPDEP(Y)_U_U_(9999999-Y)
 Q ""
DEPSUIC(P,BDATE,EDATE) ;EP
 I $G(P)="" Q ""
 NEW BGPV,Y,X,BGPP,BGPC,E,D,V,BGPG
 S BGPV=""
 S Y="BGPG("
 S X=P_"^LAST DX [BGP SUICIDAL IDEATION DXS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
 I $D(BGPG(1)) Q 1_U_"POV "_$P(BGPG(1),U,2)_U_$$DATE^BGP7UTL($P(BGPG(1),U))
 ;
 S BGPC=""
 S E=9999999-BDATE,D=9999999-EDATE-1_".99" F  S D=$O(^AMHREC("AE",P,D)) Q:D'=+D!($P(D,".")>E)!(BGPC)  S V=0 F  S V=$O(^AMHREC("AE",P,D,V)) Q:V'=+V!(BGPC>1)  D
 .S X=0 F  S X=$O(^AMHRPRO("AD",V,X)) Q:X'=+X!(BGPC>1)  S BGPP=$P($G(^AMHRPRO(X,0)),U) D
 ..Q:'BGPP
 ..S BGPP=$P($G(^AMHPROB(BGPP,0)),U)
 ..I BGPP=39 S BGPC=1_U_"BH POV 39"_U_$$DATE^BGP7UTL((9999999-$P(D,".")))
 ..Q
 Q BGPC
DEPSCR(P,BDATE,EDATE) ;EP
 NEW BGPDEPS,BGPG,%,E,Y,X,BGPC,D,V,BGPP,T
 S BGPDEPS=""
 I $G(P)="" Q ""
 K BGPG S %=P_"^LAST EXAM 36;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGPG(")
 I $D(BGPG(1)) S BGPDEPS=1_"^DEP SCRN^"_$$DATE^BGP7UTL($P(BGPG(1),U))_U_$P(BGPG(1),U)_U_"Ex 36"
 K BGPG
 S Y="BGPG("
 S X=P_"^LAST DX [BGP DEPRESSION SCRN DXS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
 I $D(BGPG(1)),$P(BGPDEPS,U,4)<$P(BGPG(1),U) S BGPDEPS=1_U_"POV "_$P(BGPG(1),U,2)_" DEP"_U_$$DATE^BGP7UTL($P(BGPG(1),U))_U_$P(BGPG(1),U)_U_"POV "_$P(BGPG(1),U,2)
 ;CPT CODE ADDED IN 11.1
 S Y=$$CPT^BGP7DU(DFN,BDATE,EDATE,$O(^ATXAX("B","BGP DEPRESSION SCREEN CPTS",0)),5)
 I Y,$P(BGPDEPS,U,4)<$P(Y,U,1) S BGPDEPS=1_U_"CPT "_$P(Y,U,2)_U_$$DATE^BGP7UTL($P(Y,U,1))_U_$P(Y,U,1)_U_"CPT "_$P(Y,U,2)
 ;now add in v measurements
 S BGPC=$$LASTITEM^BGP7DU(P,BDATE,EDATE,"MEASUREMENT","PHQ2")
 I $P(BGPDEPS,U,4)<$P(BGPC,U,2) S BGPDEPS=1_U_"Meas "_$P(BGPC,U,3)_U_$$DATE^BGP7UTL($P(BGPC,U,2))_U_$P(BGPC,U,2)_U_"Meas "_$P(BGPC,U,3)
 S BGPC=$$LASTITEM^BGP7DU(P,BDATE,EDATE,"MEASUREMENT","PHQ9")
 I $P(BGPDEPS,U,4)<$P(BGPC,U,2) S BGPDEPS=1_U_"Meas "_$P(BGPC,U,3)_U_$$DATE^BGP7UTL($P(BGPC,U,2))_U_$P(BGPC,U,2)_U_"Meas "_$P(BGPC,U,3)
 S BGPC=$$LASTITEM^BGP7DU(P,BDATE,EDATE,"MEASUREMENT","PHQT")
 I $P(BGPDEPS,U,4)<$P(BGPC,U,2) S BGPDEPS=1_U_"Meas "_$P(BGPC,U,3)_U_$$DATE^BGP7UTL($P(BGPC,U,2))_U_$P(BGPC,U,2)_U_"Meas "_$P(BGPC,U,3)
BHSCR ;
 S D=0,BGPC="",E=9999999-BDATE,D=9999999-EDATE-1_".99" F  S D=$O(^AMHREC("AE",P,D)) Q:D'=+D!($P(D,".")>E)!(BGPC)  S V=0 F  S V=$O(^AMHREC("AE",P,D,V)) Q:V'=+V!(BGPC)  D
 .I $P($G(^AMHREC(V,14)),U,5)="P"!($P($G(^AMHREC(V,14)),U,5)="N") S BGPC=1_U_"BH Dep Exam"_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH Exam 36"
 .Q:BGPC
 .S X=0 F  S X=$O(^AMHRPRO("AD",V,X)) Q:X'=+X!(BGPC)  S BGPP=$P($G(^AMHRPRO(X,0)),U) D
 ..Q:'BGPP
 ..S BGPP=$P($G(^AMHPROB(BGPP,0)),U)
 ..I BGPP=14.1 S BGPC=1_U_"BH 14.1"_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH POV 14.1" Q
 .Q:BGPC
 .S X=0 F  S X=$O(^AMHRMSR("AD",V,X)) Q:X'=+X!(BGPC)  S BGPP=$P($G(^AMHRMSR(X,0)),U) D
 ..Q:'BGPP
 ..S BGPP=$P($G(^AUTTMSR(BGPP,0)),U)
 ..I BGPP="PHQ2"!(BGPP="PHQ9")!(BGPP="PHQT") S BGPC=1_U_"BH "_BGPP_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH Meas "_BGPP
 .Q:BGPC
 .S X=0 F  S X=$O(^AMHRPROC("AD",V,X)) Q:X'=+X!(BGPC)  S BGPP=$P($G(^AMHRPROC(X,0)),U) D
 ..Q:'BGPP
 ..Q:'$$ICD^BGP7UTL2(BGPP,$O(^ATXAX("B","BGP DEPRESSION SCREEN CPTS",0)),1)
 ..S BGPC=1_U_"BH CPT: "_$P(^ICPT(BGPP,0),U,1)_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH CPT "_$P(^ICPT(BGPP,0),U,1)
 I BGPC]"",$P(BGPDEPS,U,4)<$P(BGPC,U,4) S BGPDEPS=BGPC
 ;add in measurements
 ;ANMC
 S T=$O(^AUTTHF("B","PRIME MD SCORE",0))
 I T="" Q BGPDEPS
 S BGPC="" S D=0 F  S D=$O(^AUPNVHF("AA",P,T,D)) Q:D'=+D!(BGPC]"")  D
 .S Y=9999999-D
 .Q:Y<BDATE
 .Q:Y>EDATE
 .S BGPC=1_U_"PRIME MD SCORE HEALTH FACTOR"_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"PRIME MD SCORE"
 .Q
 I $P(BGPDEPS,U,4)<$P(BGPC,U,4) S BGPDEPS=BGPC
 Q BGPDEPS
 ;
DEPSCRD(P,BDATE,EDATE) ;EP
 NEW BGPDEPS,BGPG,%,E,Y,X,BGPC,D,V,BGPP,T
 S BGPDEPS=""
 I $G(P)="" Q ""
 K BGPG S %=P_"^LAST EXAM 36;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGPG(")
 I $D(BGPG(1)) S BGPDEPS=1_"^DEP SCRN^"_$$DATE^BGP7UTL($P(BGPG(1),U))_U_$P(BGPG(1),U)_U_"Ex 36"
 K BGPG
 S Y="BGPG("
 S X=P_"^LAST DX [BGP DEPRESSION SCRN DXS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
 I $D(BGPG(1)),$P(BGPDEPS,U,4)<$P(BGPG(1),U) S BGPDEPS=1_U_"POV "_$P(BGPG(1),U,2)_" DEP"_U_$$DATE^BGP7UTL($P(BGPG(1),U))_U_$P(BGPG(1),U)_U_"POV "_$P(BGPG(1),U,2)
 ;CPT CODE ADDED IN 11.1
 S Y=$$CPT^BGP7DU(DFN,BDATE,EDATE,$O(^ATXAX("B","BGP DEPRESSION SCREEN CPTS",0)),5)
 I Y,$P(BGPDEPS,U,4)<$P(Y,U,1) S BGPDEPS=1_U_"CPT "_$P(Y,U,2)_U_$$DATE^BGP7UTL($P(Y,U,1))_U_$P(Y,U,1)_U_"CPT "_$P(Y,U,2)
 ;now add in v measurements
 S BGPC=$$LASTITEM^BGP7DU(P,BDATE,EDATE,"MEASUREMENT","PHQ2")
 I $P(BGPDEPS,U,4)<$P(BGPC,U,2) S BGPDEPS=1_U_"Meas "_$P(BGPC,U,3)_U_$$DATE^BGP7UTL($P(BGPC,U,2))_U_$P(BGPC,U,2)_U_"Meas "_$P(BGPC,U,3)
 S BGPC=$$LASTITEM^BGP7DU(P,BDATE,EDATE,"MEASUREMENT","PHQ9")
 I $P(BGPDEPS,U,4)<$P(BGPC,U,2) S BGPDEPS=1_U_"Meas "_$P(BGPC,U,3)_U_$$DATE^BGP7UTL($P(BGPC,U,2))_U_$P(BGPC,U,2)_U_"Meas "_$P(BGPC,U,3)
 S BGPC=$$LASTITEM^BGP7DU(P,BDATE,EDATE,"MEASUREMENT","PHQT")
 I $P(BGPDEPS,U,4)<$P(BGPC,U,2) S BGPDEPS=1_U_"Meas "_$P(BGPC,U,3)_U_$$DATE^BGP7UTL($P(BGPC,U,2))_U_$P(BGPC,U,2)_U_"Meas "_$P(BGPC,U,3)
BHSCRD ;
 S D=0,BGPC="",E=9999999-BDATE,D=9999999-EDATE-1_".99" F  S D=$O(^AMHREC("AE",P,D)) Q:D'=+D!($P(D,".")>E)!(BGPC)  S V=0 F  S V=$O(^AMHREC("AE",P,D,V)) Q:V'=+V!(BGPC)  D
 .S X=0 F  S X=$O(^AMHRPRO("AD",V,X)) Q:X'=+X!(BGPC)  S BGPP=$P($G(^AMHRPRO(X,0)),U) D
 ..Q:'BGPP
 ..S BGPP=$P($G(^AMHPROB(BGPP,0)),U)
 ..I BGPP=14.1 S BGPC=1_U_"BH 14.1"_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH POV 14.1" Q
 .Q:BGPC
 .S X=0 F  S X=$O(^AMHRMSR("AD",V,X)) Q:X'=+X!(BGPC)  S BGPP=$P($G(^AMHRMSR(X,0)),U) D
 ..Q:'BGPP
 ..S BGPP=$P($G(^AUTTMSR(BGPP,0)),U)
 ..I BGPP="PHQ2"!(BGPP="PHQ9")!(BGPP="PHQT") S BGPC=1_U_"BH "_BGPP_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH Meas "_BGPP
 .I $P($G(^AMHREC(V,14)),U,5)="P"!($P($G(^AMHREC(V,14)),U,5)="N") S BGPC=1_U_"BH Dep Exam"_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"BH Exam 36"
 I BGPC]"",$P(BGPDEPS,U,4)<$P(BGPC,U,4) S BGPDEPS=BGPC
 ;add in measurements
 ;ANMC
 S T=$O(^AUTTHF("B","PRIME MD SCORE",0))
 I T="" Q BGPDEPS
 S BGPC="" S D=0 F  S D=$O(^AUPNVHF("AA",P,T,D)) Q:D'=+D!(BGPC]"")  D
 .S Y=9999999-D
 .Q:Y<BDATE
 .Q:Y>EDATE
 .S BGPC=1_U_"PRIME MD SCORE HEALTH FACTOR"_U_$$DATE^BGP7UTL(9999999-D)_U_(9999999-D)_U_"PRIME MD SCORE"
 .Q
 I $P(BGPDEPS,U,4)<$P(BGPC,U,4) S BGPDEPS=BGPC
 Q BGPDEPS
DEPREF(P,BDATE,EDATE) ;EP
 NEW G
 S G=$$REFUSAL^BGP7UTL1(P,9999999.15,$O(^AUTTEXAM("C",36,0)),$$FMADD^XLFDT(EDATE,-365),EDATE)
 I $P(G,U)=1 Q 1_"^Refused Ex 36^"_$$DATE^BGP7UTL($P(G,U,2))_U_$P(G,U,2)
 Q ""
DEPEDU(P,BDATE,EDATE) ;EP
 NEW BGPG,Y,X,E,D,T,BGPDEPE,V,BGPC,G,I,Z,S,SN
 S SN=$O(^BGPSNOMG("B","DEPRESSION SCREEN PATIENT ED",0))
 K BGPG
 S Y="BGPG(",BGPDEPE=""
 S X=P_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
 I '$D(BGPG(1)) G DEPMH
 S (X,D,E)=0,%="",T="" F  S X=$O(BGPG(X)) Q:X'=+X  D
 .S T=$P(^AUPNVPED(+$P(BGPG(X),U,4),0),U)
 .Q:'T
 .Q:'$D(^AUTTEDT(T,0))
 .S T=$P(^AUTTEDT(T,0),U,2)
 .I $P(T,"-",1)="DEP"!($P(T,"-",1)="BH")!($P(T,"-",1)="SB")!($P(T,"-",1)="PDEP"),$P(BGPDEPE,U,4)<$P(BGPG(X),U,1) S BGPDEPE=1_U_""_T_U_$$DATE^BGP7UTL($P(BGPG(X),U))_U_$P(BGPG(X),U)
 .S S=$P(T,"-",1)
 .S S=$$ICDDX^BGP7UTL2(S)
 .I $P(S,U,1)'="-1",$$ICD^BGP7UTL2($P(S,U,1),$O(^ATXAX("B","BGP DEP SCREEN EDUC DXS",0)),9),$P(BGPDEPE,U,4)<$P(BGPG(X),U,1) S BGPDEPE=1_U_""_T_U_$$DATE^BGP7UTL($P(BGPG(X),U))_U_$P(BGPG(X),U)
 .I $P(T,"-",1)]"",$D(^BGPSNOMG(SN,11,"B",$P(T,"-",1))),$P(BGPDEPE,U,4)<$P(BGPG(X),U,1) S BGPDEPE=1_U_""_T_U_$$DATE^BGP7UTL($P(BGPG(X),U))_U_$P(BGPG(X),U)
DEPMH ;
 S BGPC="",T="" S E=9999999-BDATE,D=9999999-EDATE-1_".99" F  S D=$O(^AMHREC("AE",P,D)) Q:D'=+D!($P(D,".")>E)!(BGPC)  S V=0 F  S V=$O(^AMHREC("AE",P,D,V)) Q:V'=+V!(BGPC)  D
 .S X=0 F  S X=$O(^AMHREDU("AD",V,X)) Q:X'=+X!(BGPC)  S T=$P($G(^AMHREDU(X,0)),U) D
 ..Q:'T
 ..Q:'$D(^AUTTEDT(T,0))
 ..S T=$P(^AUTTEDT(T,0),U,2)
 ..I $P(T,"-",1)="DEP"!($P(T,"-",1)="BH")!($P(T,"-",1)="SB")!($P(T,"-",1)="PDEP") S BGPC=1_U_""_T_U_$$DATE^BGP7UTL((9999999-D))_U_(9999999-D)
 ..S S=$P(T,"-",1)
 ..S S=$$ICDDX^BGP7UTL2(S)
 ..I $P(S,U,1)'="-1",$$ICD^BGP7UTL2($P(S,U,1),$O(^ATXAX("B","BGP DEP SCREEN EDUC DXS",0)),9) D
 ...S BGPC=1_U_T_U_$$DATE^BGP7UTL((9999999-D))_U_(9999999-D)
 ..I $P(T,"-")]"",$D(^BGPSNOMG(SN,11,"B",$P(T,"-"))) S BGPC=1_U_T_U_$$DATE^BGP7UTL((9999999-D))_U_(9999999-D)
 I $P(BGPDEPE,U,4)<$P(BGPC,U,4) S BGPDEPE=BGPC
 Q BGPDEPE