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

BGP7D52.m

Go to the documentation of this file.
  1. BGP7D52 ; IHS/CMI/LAB - measure 31 ;
  1. ;;17.1;IHS CLINICAL REPORTING;;MAY 10, 2017;Build 29
  1. ;
  1. WASS ;
  1. S (BGPN1,BGPN2,BGPN3,BGPN4,BGPD1,BGPD2,BGPD3,BGPD4,BGPD5)=0
  1. NEW BGPBMI,BGPNUTR,BGPPHY
  1. I 'BGPACTCL S BGPSTOP=1 Q ;must be active clinical
  1. I BGPAGEE<3 Q ;age at end must be 3 or older
  1. S BGPD1=1
  1. I BGPAGEE>2,BGPAGEE<12 S BGPD2=1
  1. I BGPAGEE>11,BGPAGEE<18 S BGPD3=1
  1. I BGPAGEE>17 S BGPD4=1
  1. I BGPAGEE>2,BGPAGEE<18 S BGPD5=1
  1. S BGPBMI=$$BMI^BGP7D6(DFN,BGPEDATE,BGPAGEE)
  1. I BGPBMI="" S BGPBMI=$$LASTDX^BGP7UTL1(DFN,"BGP BMI DXS",BGPBDATE,BGPEDATE) I BGPBMI S BGPBMI=$P(BGPBMI,U,2)
  1. S BGPN2=$S(BGPBMI]"":1,1:0)
  1. S BGPNUTR=$$NUTR(DFN,BGPBDATE,BGPEDATE),BGPN3=$S(BGPNUTR]"":1,1:0)
  1. S BGPPHY=$$PHY(DFN,BGPBDATE,BGPEDATE),BGPN4=$S(BGPPHY]"":1,1:0)
  1. I BGPN2,BGPN3,BGPN4 S BGPN1=1
  1. S BGPVALUE="AC|||"
  1. S N=""
  1. I BGPN1 S N="COMP ASSESS"
  1. I BGPN2 D
  1. .I N]"" S N=N_"; "
  1. .S N=N_"BMI: "_$S('$E(BGPBMI):BGPBMI,1:$J(BGPBMI,5,2))
  1. I BGPN3 D
  1. .I N]"" S N=N_"; "
  1. .S N=N_"NUTR: "_$$DATE^BGP7UTL($P(BGPNUTR,U))_" "_$P(BGPNUTR,U,2)
  1. I BGPN4 D
  1. .I N]"" S N=N_"; "
  1. .S N=N_"PHY: "_$$DATE^BGP7UTL($P(BGPPHY,U))_" "_$P(BGPPHY,U,2)
  1. S BGPVALUE=BGPVALUE_N
  1. S BGPVALUD=BGPVALUE
  1. Q
  1. ;
  1. NUTR(P,BDATE,EDATE) ;EP
  1. NEW BGPG,X,BGPALLED,Y,E,D,T,%,S
  1. S X=P_"^LAST DX [BGP DIETARY SURVEILLANCE DXS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,"BGPG(")
  1. I $D(BGPG(1)) Q $P(BGPG(1),U)_U_"DX "_$P(BGPG(1),U,2)
  1. S BGPG=$$CPT^BGP7DU(P,BDATE,EDATE,$O(^ATXAX("B","BGP CPT NUTRITION COUNSELING",0)),5)
  1. I BGPG Q $P(BGPG,U,1)_U_"CPT "_$P(BGPG,U,2) ;BGPG
  1. S Y="BGPALLED("
  1. S X=P_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
  1. S (X,D)=0,%="",T="" F S X=$O(BGPALLED(X)) Q:X'=+X!(%]"") D
  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 $P(T,"-",2)="N"!($P(T,"-",2)="DT")!($P(T,"-",2)="MNT") S %=$P(BGPALLED(X),U)_U_"EDUC: "_T Q
  1. .S S=$P(T,"-",1)
  1. .S S=$$ICDDX^BGP7UTL2(S)
  1. .I $P(S,U,1)'="-1",$$ICD^BGP7UTL2($P(S,U,1),$O(^ATXAX("B","BGP DIETARY SURVEILLANCE DXS",0)),9) S %=$P(BGPALLED(X),U)_U_"EDUC: "_T Q
  1. .S S=$P(T,"-",1),S=$$CPT^ICPTCOD(S)
  1. .I $P(S,U,1)'="-1",$$ICD^BGP7UTL2($P(S,U,1),$O(^ATXAX("B","BGP CPT NUTRITION COUNSELING",0)),1) S %=$P(BGPALLED(X),U)_U_"EDUC: "_T Q
  1. I %]"" Q %
  1. Q ""
  1. PHY(P,BDATE,EDATE) ;EP
  1. NEW BGPG,X,E,BGPALLED,T,%,D
  1. S X=P_"^LAST DX [BGP EXERCISE COUNSELING DXS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,"BGPG(")
  1. I $D(BGPG(1)) Q $P(BGPG(1),U)_U_"DX "_$P(BGPG(1),U,2)
  1. S BGPG=$$CPT^BGP7DU(P,BDATE,EDATE,$O(^ATXAX("B","BGP CPT PHYSICAL ACTIVITY",0)),5)
  1. I BGPG Q $P(BGPG,U,1)_U_"CPT "_$P(BGPG,U,2) ;BGPG
  1. S Y="BGPALLED("
  1. S X=P_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
  1. S (X,D)=0,%="",T="" F S X=$O(BGPALLED(X)) Q:X'=+X!(%]"") D
  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 $P(T,"-",2)="EX" S %=$P(BGPALLED(X),U)_U_T Q
  1. .S S=$P(T,"-",1)
  1. .S S=$$ICDDX^BGP7UTL2(S)
  1. .I $P(S,U,1)'="-1",$$ICD^BGP7UTL2($P(S,U,1),$O(^ATXAX("B","BGP EXERCISE COUNSELING DXS",0)),9) S %=$P(BGPALLED(X),U)_U_T Q
  1. .S S=$P(T,"-",1),S=$$CPT^ICPTCOD(S)
  1. .I $P(S,U,1)'="-1",$$ICD^BGP7UTL2($P(S,U,1),$O(^ATXAX("B","BGP CPT PHYSICAL ACTIVITY",0)),1) S %=$P(BGPALLED(X),U)_U_"EDUC: "_T Q
  1. I %]"" Q %
  1. Q ""
  1. EAPT(P,BDATE,EDATE,BGPDAYS,BGPGAP,BGPDAYS1) ;EP
  1. ;get all ANTIDEPRESSANTS
  1. K ^TMP($J,"MEDS")
  1. K BGPZ,M
  1. S (G,N,Y,X,T,T1,T2,M,K,S,C,R,A)=""
  1. S K=0
  1. S Y="^TMP($J,""MEDS"",",X=P_"^ALL MED;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
  1. S T=$O(^ATXAX("B","BGP HEDIS ANTIDEPRESSANT MEDS",0))
  1. S T2=$O(^ATXAX("B","BGP HEDIS ANTIDEPRESSANT VA CLASS",0))
  1. S X=0 F S X=$O(^TMP($J,"MEDS",X)) Q:X'=+X S Y=+$P(^TMP($J,"MEDS",X),U,4) D
  1. .Q:'$D(^AUPNVMED(Y,0))
  1. .S V=$P(^AUPNVMED(Y,0),U,3)
  1. .Q:'$D(^AUPNVSIT(V,0))
  1. .S G=0
  1. .S D=$P(^AUPNVMED(Y,0),U)
  1. .I T,$D(^ATXAX(T,21,"B",D)) S G=1 G EAPT1
  1. .S C=$P($G(^PSDRUG(D,0)),U,2)
  1. .I C]"",T2,$D(^ATXAX(T2,21,"B",C)) S G=1 G EAPT1
  1. .Q:'G
  1. EAPT1 .;
  1. .S J=$P(^AUPNVMED(Y,0),U,8)
  1. .S S=$$DAYS^BGP7D82(Y,V,EDATE)
  1. .S K=S+K ;TOTAL DAYS SUPPLY
  1. .I R]"" S R=R_";"
  1. .S R=R_$$DATE^BGP7UTL($P($P(^AUPNVSIT(V,0),U),"."))_"("_S_")"
  1. .S F=$P($P(^AUPNVSIT(V,0),U),".")
  1. .S A=$$FMADD^XLFDT(F,$P(^AUPNVMED(Y,0),U,7))
  1. .I J]"",J<A S A=J
  1. .S M(F)=A ;$S(J:J,1:$$FMADD^XLFDT(F,$P(^AUPNVMED(Y,0),U,7)))
  1. ;I K>83 S BGPREG=1_U_Q 1_U_" total days beta blocker: "_K
  1. GAP ;now FIGURE OUT GAP DAYS
  1. S G=0 ;gap days
  1. S B=0 F S B=$O(M(B)) Q:B'=+B S E=M(B) D
  1. .S Y=$O(M(B)) ;NEXT BEGINNING
  1. .;I Y="" S Y=$$FMADD^XLFDT(BDATE,BGPDAYS1)
  1. .I Y="" Q
  1. .I Y>EDATE Q
  1. .S Z=$$FMDIFF^XLFDT(Y,E)
  1. .I Z>0 S G=Z+G
  1. .Q
  1. I G>BGPGAP!(K<BGPDAYS) Q 0_U_R_U_"DAYS="_K_", GAP="_G
  1. Q 1_U_R_U_"DAYS="_K_", GAP="_G