BGP4ELLT ; IHS/CMI/LAB - print ind ;
;;14.1;IHS CLINICAL REPORTING;;MAY 29, 2014;Build 114
;
I1AGEP ;EP
PR ;
S X=" " D S(X,1,1) S X="PREVIOUS YEAR PERIOD" D S(X,1,1)
S X=" " D S(X,1,1) S X=BGPHD2 D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U) S Y=V D S(Y,,X+1)
S X="# w/exposure to at least 1 high-risk med" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,2) S Y=V D S(Y,,X+1)
S X="% w/exposure to at least 1 high-risk med" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,3) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="A. # w/anticholinergic Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,4) S Y=V D S(Y,,X+1)
S X="A. % w/anticholinergic Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,5) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="B. # w/antithrombotic Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,6) S Y=V D S(Y,,X+1)
S X="B. % w/antithrombotic Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,7) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="C. # w/anti-infective Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,8) S Y=V D S(Y,,X+1)
S X="C. % w/anti-infective Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,9) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="D. # w/cardiovascular Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,10) S Y=V D S(Y,,X+1)
S X="D. % w/cardiovascular Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,11) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="E. # w/central nervous system Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,12) S Y=V D S(Y,,X+1)
S X="E. % w/central nervous system Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,13) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="F. # w/endocrine Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,14) S Y=V D S(Y,,X+1)
S X="F. % w/endocrine Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,15) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="G. # w/gastrointestinal Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,16) S Y=V D S(Y,,X+1)
S X="G. % w/gastrointestinal Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,17) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="H. # w/pain med Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,18) S Y=V D S(Y,,X+1)
S X="H. % w/pain med Rx w/ % of total meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,19) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
S X=" " D S(X,1,1) S X="I. # w/skeletal muscle relaxant Rx" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,28) S Y=V D S(Y,,X+1)
S X="I. % w/skeletal muscle relaxant Rx w/ % of total meds" D S(X,1,1)
;
S X=" " D S(X,1,1) S X="# w/ exposure to multiple high-risk meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,40) S Y=V D S(Y,,X+1)
S X="% w/ exposure to multiple high-risk meds" D S(X,1,1)
F X=1:1:3 S V=$P(BGPDAP(X),U,41) S Y=$$SB^BGP4ELL2($J(V,6,1)) D S(Y,,X+1)
;% changes
S X=" " D S(X,1,1) S X="CHANGE FROM PREV YR %" D S(X,1,1)
S BGP1="# w/exposure to at least 1 high-risk med",BGPPIE=3 D PPC
S BGP1="A. # w/anticholinergic Rx",BGPPIE=5 D PPC
S BGP1="B. # w/antithrombotic Rx",BGPPIE=7 D PPC
S BGP1="C. # w/anti-infective Rx",BGPPIE=9 D PPC
S BGP1="D. # w/cardiovascular Rx",BGPPIE=11 D PPC
S BGP1="E. # w/central nervous system Rx",BGPPIE=13 D PPC
S BGP1="F. # w/endocrine Rx",BGPPIE=15 D PPC
S BGP1="G. # w/gastrointestinal Rx",BGPPIE=17 D PPC
S BGP1="H. # w/pain med Rx",BGPPIE=19 D PPC
S BGP1="I. # w/skeletal muscle relaxant Rx",BGPPIE=29 D PPC
S BGP1="# w/ exposure to multiple high-risk meds",BGPPIE=41 D PPC
D ^BGP4ELLU
Q
PPC ;
S X=BGP1 D S(X,1,1)
F X=1:1:3 S N=$P(BGPDAC(X),U,BGPPIE),O=$P(BGPDAP(X),U,BGPPIE) S Y=$$SB^BGP4ELL2($J((N-O),6,1)) D S(Y,,X+1)
Q
V(T,R,N,P) ;EP
I $G(BGPAREAA) G VA
NEW X
I T=1 S X=$P($G(^BGPELDCJ(R,N)),U,P) Q $S(X]"":X,1:0)
I T=2 S X=$P($G(^BGPELDPJ(R,N)),U,P) Q $S(X]"":X,1:0)
I T=3 S X=$P($G(^BGPELDBJ(R,N)),U,P) Q $S(X]"":X,1:0)
Q ""
VA ;
NEW X,V,C S X=0,C="" F S X=$O(BGPSUL(X)) Q:X'=+X D
.I T=1 S C=C+$P($G(^BGPELDCJ(X,N)),U,P)
.I T=2 S C=C+$P($G(^BGPELDPJ(X,N)),U,P)
.I T=3 S C=C+$P($G(^BGPELDBJ(X,N)),U,P)
.Q
Q $S(C:C,1:0)
C(X,X2,X3) ;
D COMMA^%DTC
Q X
S(Y,F,P) ;set up array
I '$G(F) S F=0
S %=$P(^TMP($J,"BGPDEL",0),U)+F,$P(^TMP($J,"BGPDEL",0),U)=%
I '$D(^TMP($J,"BGPDEL",%)) S ^TMP($J,"BGPDEL",%)=""
S $P(^TMP($J,"BGPDEL",%),U,P)=Y
Q
CALC(N,O) ;
NEW Z
S Z=N-O,Z=$FN(Z,"+,",1)
Q Z
SB(X) ;EP
X ^DD("FUNC",$O(^DD("FUNC","B","STRIPBLANKS",0)),1)
Q X
H2 ;
S BGPX="",BGPX=BGPCYN
S $P(BGPX,U,2)=$$SB^BGP4ELL2($J(BGPCYP,5,1)),$P(BGPX,U,3)=BGPPRN,$P(BGPX,U,4)=$$SB^BGP4ELL2($J(BGPPRP,5,1)),$P(BGPX,U,5)=$$SB^BGP4ELL2($J($$CALC(BGPCYP,BGPPRP),6)),$P(BGPX,U,6)=BGPBLN,$P(BGPX,U,7)=$$SB^BGP4ELL2($J(BGPBLP,5,1))
S $P(BGPX,U,8)=$$SB^BGP4ELL2($J($$CALC(BGPCYP,BGPBLP),6))
D S(BGPX,,2)
Q
H1 ;EP
S Y="REPORT" D S(Y,1,2)
S Y="%" D S(Y,,3)
S Y="PREV YR" D S(Y,,4)
S Y="%" D S(Y,,5)
S Y="CHG from" D S(Y,,6)
S Y="BASE" D S(Y,,7)
S Y="%" D S(Y,,8)
S Y="CHG from" D S(Y,,9)
S Y="PERIOD" D S(Y,1,2)
S Y="PERIOD" D S(Y,,4)
S Y="PREV YR %" D S(Y,,6)
S Y="PERIOD" D S(Y,,7)
S Y="BASE %" D S(Y,,9)
Q
BGP4ELLT ; IHS/CMI/LAB - print ind ;
+1 ;;14.1;IHS CLINICAL REPORTING;;MAY 29, 2014;Build 114
+2 ;
I1AGEP ;EP
PR ;
+1 SET X=" "
DO S(X,1,1)
SET X="PREVIOUS YEAR PERIOD"
DO S(X,1,1)
+2 SET X=" "
DO S(X,1,1)
SET X=BGPHD2
DO S(X,1,1)
+3 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U)
SET Y=V
DO S(Y,,X+1)
+4 SET X="# w/exposure to at least 1 high-risk med"
DO S(X,1,1)
+5 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,2)
SET Y=V
DO S(Y,,X+1)
+6 SET X="% w/exposure to at least 1 high-risk med"
DO S(X,1,1)
+7 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,3)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+8 SET X=" "
DO S(X,1,1)
SET X="A. # w/anticholinergic Rx"
DO S(X,1,1)
+9 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,4)
SET Y=V
DO S(Y,,X+1)
+10 SET X="A. % w/anticholinergic Rx w/ % of total meds"
DO S(X,1,1)
+11 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,5)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+12 SET X=" "
DO S(X,1,1)
SET X="B. # w/antithrombotic Rx"
DO S(X,1,1)
+13 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,6)
SET Y=V
DO S(Y,,X+1)
+14 SET X="B. % w/antithrombotic Rx w/ % of total meds"
DO S(X,1,1)
+15 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,7)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+16 SET X=" "
DO S(X,1,1)
SET X="C. # w/anti-infective Rx"
DO S(X,1,1)
+17 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,8)
SET Y=V
DO S(Y,,X+1)
+18 SET X="C. % w/anti-infective Rx w/ % of total meds"
DO S(X,1,1)
+19 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,9)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+20 SET X=" "
DO S(X,1,1)
SET X="D. # w/cardiovascular Rx"
DO S(X,1,1)
+21 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,10)
SET Y=V
DO S(Y,,X+1)
+22 SET X="D. % w/cardiovascular Rx w/ % of total meds"
DO S(X,1,1)
+23 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,11)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+24 SET X=" "
DO S(X,1,1)
SET X="E. # w/central nervous system Rx"
DO S(X,1,1)
+25 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,12)
SET Y=V
DO S(Y,,X+1)
+26 SET X="E. % w/central nervous system Rx w/ % of total meds"
DO S(X,1,1)
+27 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,13)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+28 SET X=" "
DO S(X,1,1)
SET X="F. # w/endocrine Rx"
DO S(X,1,1)
+29 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,14)
SET Y=V
DO S(Y,,X+1)
+30 SET X="F. % w/endocrine Rx w/ % of total meds"
DO S(X,1,1)
+31 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,15)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+32 SET X=" "
DO S(X,1,1)
SET X="G. # w/gastrointestinal Rx"
DO S(X,1,1)
+33 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,16)
SET Y=V
DO S(Y,,X+1)
+34 SET X="G. % w/gastrointestinal Rx w/ % of total meds"
DO S(X,1,1)
+35 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,17)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+36 SET X=" "
DO S(X,1,1)
SET X="H. # w/pain med Rx"
DO S(X,1,1)
+37 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,18)
SET Y=V
DO S(Y,,X+1)
+38 SET X="H. % w/pain med Rx w/ % of total meds"
DO S(X,1,1)
+39 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,19)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+40 SET X=" "
DO S(X,1,1)
SET X="I. # w/skeletal muscle relaxant Rx"
DO S(X,1,1)
+41 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,28)
SET Y=V
DO S(Y,,X+1)
+42 SET X="I. % w/skeletal muscle relaxant Rx w/ % of total meds"
DO S(X,1,1)
+43 ;
+44 SET X=" "
DO S(X,1,1)
SET X="# w/ exposure to multiple high-risk meds"
DO S(X,1,1)
+45 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,40)
SET Y=V
DO S(Y,,X+1)
+46 SET X="% w/ exposure to multiple high-risk meds"
DO S(X,1,1)
+47 FOR X=1:1:3
SET V=$PIECE(BGPDAP(X),U,41)
SET Y=$$SB^BGP4ELL2($JUSTIFY(V,6,1))
DO S(Y,,X+1)
+48 ;% changes
+49 SET X=" "
DO S(X,1,1)
SET X="CHANGE FROM PREV YR %"
DO S(X,1,1)
+50 SET BGP1="# w/exposure to at least 1 high-risk med"
SET BGPPIE=3
DO PPC
+51 SET BGP1="A. # w/anticholinergic Rx"
SET BGPPIE=5
DO PPC
+52 SET BGP1="B. # w/antithrombotic Rx"
SET BGPPIE=7
DO PPC
+53 SET BGP1="C. # w/anti-infective Rx"
SET BGPPIE=9
DO PPC
+54 SET BGP1="D. # w/cardiovascular Rx"
SET BGPPIE=11
DO PPC
+55 SET BGP1="E. # w/central nervous system Rx"
SET BGPPIE=13
DO PPC
+56 SET BGP1="F. # w/endocrine Rx"
SET BGPPIE=15
DO PPC
+57 SET BGP1="G. # w/gastrointestinal Rx"
SET BGPPIE=17
DO PPC
+58 SET BGP1="H. # w/pain med Rx"
SET BGPPIE=19
DO PPC
+59 SET BGP1="I. # w/skeletal muscle relaxant Rx"
SET BGPPIE=29
DO PPC
+60 SET BGP1="# w/ exposure to multiple high-risk meds"
SET BGPPIE=41
DO PPC
+61 DO ^BGP4ELLU
+62 QUIT
PPC ;
+1 SET X=BGP1
DO S(X,1,1)
+2 FOR X=1:1:3
SET N=$PIECE(BGPDAC(X),U,BGPPIE)
SET O=$PIECE(BGPDAP(X),U,BGPPIE)
SET Y=$$SB^BGP4ELL2($JUSTIFY((N-O),6,1))
DO S(Y,,X+1)
+3 QUIT
V(T,R,N,P) ;EP
+1 IF $GET(BGPAREAA)
GOTO VA
+2 NEW X
+3 IF T=1
SET X=$PIECE($GET(^BGPELDCJ(R,N)),U,P)
QUIT $SELECT(X]"":X,1:0)
+4 IF T=2
SET X=$PIECE($GET(^BGPELDPJ(R,N)),U,P)
QUIT $SELECT(X]"":X,1:0)
+5 IF T=3
SET X=$PIECE($GET(^BGPELDBJ(R,N)),U,P)
QUIT $SELECT(X]"":X,1:0)
+6 QUIT ""
VA ;
+1 NEW X,V,C
SET X=0
SET C=""
FOR
SET X=$ORDER(BGPSUL(X))
IF X'=+X
QUIT
Begin DoDot:1
+2 IF T=1
SET C=C+$PIECE($GET(^BGPELDCJ(X,N)),U,P)
+3 IF T=2
SET C=C+$PIECE($GET(^BGPELDPJ(X,N)),U,P)
+4 IF T=3
SET C=C+$PIECE($GET(^BGPELDBJ(X,N)),U,P)
+5 QUIT
End DoDot:1
+6 QUIT $SELECT(C:C,1:0)
C(X,X2,X3) ;
+1 DO COMMA^%DTC
+2 QUIT X
S(Y,F,P) ;set up array
+1 IF '$GET(F)
SET F=0
+2 SET %=$PIECE(^TMP($JOB,"BGPDEL",0),U)+F
SET $PIECE(^TMP($JOB,"BGPDEL",0),U)=%
+3 IF '$DATA(^TMP($JOB,"BGPDEL",%))
SET ^TMP($JOB,"BGPDEL",%)=""
+4 SET $PIECE(^TMP($JOB,"BGPDEL",%),U,P)=Y
+5 QUIT
CALC(N,O) ;
+1 NEW Z
+2 SET Z=N-O
SET Z=$FNUMBER(Z,"+,",1)
+3 QUIT Z
SB(X) ;EP
+1 XECUTE ^DD("FUNC",$ORDER(^DD("FUNC","B","STRIPBLANKS",0)),1)
+2 QUIT X
H2 ;
+1 SET BGPX=""
SET BGPX=BGPCYN
+2 SET $PIECE(BGPX,U,2)=$$SB^BGP4ELL2($JUSTIFY(BGPCYP,5,1))
SET $PIECE(BGPX,U,3)=BGPPRN
SET $PIECE(BGPX,U,4)=$$SB^BGP4ELL2($JUSTIFY(BGPPRP,5,1))
SET $PIECE(BGPX,U,5)=$$SB^BGP4ELL2($JUSTIFY($$CALC(BGPCYP,BGPPRP),6))
SET $PIECE(BGPX,U,6)=BGPBLN
SET $PIECE(BGPX,U,7)=$$SB^BGP4ELL2($JUSTIFY(BGPBLP,5,1))
+3 SET $PIECE(BGPX,U,8)=$$SB^BGP4ELL2($JUSTIFY($$CALC(BGPCYP,BGPBLP),6))
+4 DO S(BGPX,,2)
+5 QUIT
H1 ;EP
+1 SET Y="REPORT"
DO S(Y,1,2)
+2 SET Y="%"
DO S(Y,,3)
+3 SET Y="PREV YR"
DO S(Y,,4)
+4 SET Y="%"
DO S(Y,,5)
+5 SET Y="CHG from"
DO S(Y,,6)
+6 SET Y="BASE"
DO S(Y,,7)
+7 SET Y="%"
DO S(Y,,8)
+8 SET Y="CHG from"
DO S(Y,,9)
+9 SET Y="PERIOD"
DO S(Y,1,2)
+10 SET Y="PERIOD"
DO S(Y,,4)
+11 SET Y="PREV YR %"
DO S(Y,,6)
+12 SET Y="PERIOD"
DO S(Y,,7)
+13 SET Y="BASE %"
DO S(Y,,9)
+14 QUIT