BGP7DP7 ; IHS/CMI/LAB - print ind 10 ;
;;17.1;IHS CLINICAL REPORTING;;MAY 10, 2017;Build 29
;
;
;this routine for Measure I10 ONLY
I10 ;EP
D H1 S BGPNODEN=1
F BGPPC1="10.1" D PI Q:BGPQUIT
Q
PI ;EP
S BGPDENP=0
K BGPDHOLD
K BGPCYP,BGPBLP,BGPPRP
S BGPPC2=0 F S BGPPC2=$O(^BGPINDGC("AB",BGPPC1,BGPPC2)) Q:BGPPC2="" S BGPPC=$O(^BGPINDGC("AB",BGPPC1,BGPPC2,0)) D PI1
Q
PI1 ;
K BGPEXCT,BGPSDP,BGPSDPN,BGPSDPO,BGPSDPD
I BGPRTYPE'=4,BGPINDG="G",$P(^BGPINDGC(BGPPC,0),U,5)'=1 Q
I BGPRTYPE=4,$P($G(^BGPINDGC(BGPPC,21)),U,2)=1 Q
I BGPINDG="D",$P(^BGPINDGC(BGPPC,0),U,12)'=1 Q
I BGPINDG="C",$P(^BGPINDGC(BGPPC,0),U,13)'=1 Q
I BGPINDG="W",$P($G(^BGPINDGC(BGPPC,12)),U,2)'=1 Q
I BGPINDG="E",$P($G(^BGPINDGC(BGPPC,12)),U,3)'=1 Q
I BGPINDG="I",$P($G(^BGPINDGC(I,11)),U,1)'=1 Q
I BGPINDG="P",$P($G(^BGPINDGC(I,11)),U,2)'=1 Q
;get numerator value of measure and calc %
S BGPDF=$P(^BGPINDGC(BGPPC,0),U,9)
I $P(^BGPINDGC(BGPPC,0),U,4)[".1" S BGPDHOLD=BGPDF
I $P(^BGPINDGC(BGPPC,0),U,4)'[".1" S BGPDF=BGPDHOLD
S BGPNP=$P(^DD(90558.03,BGPDF,0),U,4),N=$P(BGPNP,";"),P=$P(BGPNP,";",2)
S BGPCYD=$$V^BGP7DP1C(1,BGPRPT,N,P,1) I $G(BGPAREAA) D SETEXA^BGP7DP1C(1,N,P)
S BGPPRD=$$V^BGP7DP1C(2,BGPRPT,N,P,1) I $G(BGPAREAA) D SETEXA^BGP7DP1C(2,N,P)
S BGPBLD=$$V^BGP7DP1C(3,BGPRPT,N,P,1) I $G(BGPAREAA) D SETEXA^BGP7DP1C(3,N,P)
S BGPNF=$P(^BGPINDGC(BGPPC,0),U,9)
S BGPNP=$P(^DD(90558.03,BGPNF,0),U,4),N=$P(BGPNP,";"),P=$P(BGPNP,";",2)
D SETN^BGP7DP1C
;write header for 1.A.1
I '$G(BGPSUMON) D
.S X=$$LABEL^BGP7UTL1(BGPPC,BGPRTYPE,BGPPTYPE,$G(BGPINDG),"N")
.W !,$P(X,U,1)
.F I=2:1 S Y=$P(X,U,I) Q:Y="" W !," ",Y
D H2
Q
H2 ;EP
S BGPX="",BGPX=$$C(BGPCYN,0,8),$E(BGPX,9)=$S(BGPCYP]"":$J($G(BGPCYP),5,1),1:""),$E(BGPX,16)=$$C(BGPPRN,0,8),$E(BGPX,24)=$S(BGPPRP]"":$J($G(BGPPRP),5,1),1:""),$E(BGPX,32)=$$CALC(BGPCYN,BGPPRN)
S $E(BGPX,39)=$$C(BGPBLN,0,8),$E(BGPX,47)=$S(BGPBLP]"":$J($G(BGPBLP),5,1),1:""),$E(BGPX,55)=$$CALC(BGPCYN,BGPBLN)
W:'$G(BGPSUMON) ?20,BGPX
Q
H1 ;EP
Q:$G(BGPSUMON)
W !!?21,"REPORT",?31,"",?35,"PREV YR",?46,"",?49,"CHG from",?59,"BASE",?69,"",?72,"CHG from"
W !?21,"PERIOD ",?35,"PERIOD ",?49,"PREV YR ",?59,"PERIOD ",?72,"BASE "
Q
CALC(N,O) ;ENTRY POINT
NEW Z
S Z=N-O,Z=$FN(Z,"+,",0)
Q Z
C(X,X2,X3) ;
D COMMA^%DTC
Q X
BGP7DP7 ; IHS/CMI/LAB - print ind 10 ;
+1 ;;17.1;IHS CLINICAL REPORTING;;MAY 10, 2017;Build 29
+2 ;
+3 ;
+4 ;this routine for Measure I10 ONLY
I10 ;EP
+1 DO H1
SET BGPNODEN=1
+2 FOR BGPPC1="10.1"
DO PI
IF BGPQUIT
QUIT
+3 QUIT
PI ;EP
+1 SET BGPDENP=0
+2 KILL BGPDHOLD
+3 KILL BGPCYP,BGPBLP,BGPPRP
+4 SET BGPPC2=0
FOR
SET BGPPC2=$ORDER(^BGPINDGC("AB",BGPPC1,BGPPC2))
IF BGPPC2=""
QUIT
SET BGPPC=$ORDER(^BGPINDGC("AB",BGPPC1,BGPPC2,0))
DO PI1
+5 QUIT
PI1 ;
+1 KILL BGPEXCT,BGPSDP,BGPSDPN,BGPSDPO,BGPSDPD
+2 IF BGPRTYPE'=4
IF BGPINDG="G"
IF $PIECE(^BGPINDGC(BGPPC,0),U,5)'=1
QUIT
+3 IF BGPRTYPE=4
IF $PIECE($GET(^BGPINDGC(BGPPC,21)),U,2)=1
QUIT
+4 IF BGPINDG="D"
IF $PIECE(^BGPINDGC(BGPPC,0),U,12)'=1
QUIT
+5 IF BGPINDG="C"
IF $PIECE(^BGPINDGC(BGPPC,0),U,13)'=1
QUIT
+6 IF BGPINDG="W"
IF $PIECE($GET(^BGPINDGC(BGPPC,12)),U,2)'=1
QUIT
+7 IF BGPINDG="E"
IF $PIECE($GET(^BGPINDGC(BGPPC,12)),U,3)'=1
QUIT
+8 IF BGPINDG="I"
IF $PIECE($GET(^BGPINDGC(I,11)),U,1)'=1
QUIT
+9 IF BGPINDG="P"
IF $PIECE($GET(^BGPINDGC(I,11)),U,2)'=1
QUIT
+10 ;get numerator value of measure and calc %
+11 SET BGPDF=$PIECE(^BGPINDGC(BGPPC,0),U,9)
+12 IF $PIECE(^BGPINDGC(BGPPC,0),U,4)[".1"
SET BGPDHOLD=BGPDF
+13 IF $PIECE(^BGPINDGC(BGPPC,0),U,4)'[".1"
SET BGPDF=BGPDHOLD
+14 SET BGPNP=$PIECE(^DD(90558.03,BGPDF,0),U,4)
SET N=$PIECE(BGPNP,";")
SET P=$PIECE(BGPNP,";",2)
+15 SET BGPCYD=$$V^BGP7DP1C(1,BGPRPT,N,P,1)
IF $GET(BGPAREAA)
DO SETEXA^BGP7DP1C(1,N,P)
+16 SET BGPPRD=$$V^BGP7DP1C(2,BGPRPT,N,P,1)
IF $GET(BGPAREAA)
DO SETEXA^BGP7DP1C(2,N,P)
+17 SET BGPBLD=$$V^BGP7DP1C(3,BGPRPT,N,P,1)
IF $GET(BGPAREAA)
DO SETEXA^BGP7DP1C(3,N,P)
+18 SET BGPNF=$PIECE(^BGPINDGC(BGPPC,0),U,9)
+19 SET BGPNP=$PIECE(^DD(90558.03,BGPNF,0),U,4)
SET N=$PIECE(BGPNP,";")
SET P=$PIECE(BGPNP,";",2)
+20 DO SETN^BGP7DP1C
+21 ;write header for 1.A.1
+22 IF '$GET(BGPSUMON)
Begin DoDot:1
+23 SET X=$$LABEL^BGP7UTL1(BGPPC,BGPRTYPE,BGPPTYPE,$GET(BGPINDG),"N")
+24 WRITE !,$PIECE(X,U,1)
+25 FOR I=2:1
SET Y=$PIECE(X,U,I)
IF Y=""
QUIT
WRITE !," ",Y
End DoDot:1
+26 DO H2
+27 QUIT
H2 ;EP
+1 SET BGPX=""
SET BGPX=$$C(BGPCYN,0,8)
SET $EXTRACT(BGPX,9)=$SELECT(BGPCYP]"":$JUSTIFY($GET(BGPCYP),5,1),1:"")
SET $EXTRACT(BGPX,16)=$$C(BGPPRN,0,8)
SET $EXTRACT(BGPX,24)=$SELECT(BGPPRP]"":$JUSTIFY($GET(BGPPRP),5,1),1:"")
SET $EXTRACT(BGPX,32)=$$CALC(BGPCYN,BGPPRN)
+2 SET $EXTRACT(BGPX,39)=$$C(BGPBLN,0,8)
SET $EXTRACT(BGPX,47)=$SELECT(BGPBLP]"":$JUSTIFY($GET(BGPBLP),5,1),1:"")
SET $EXTRACT(BGPX,55)=$$CALC(BGPCYN,BGPBLN)
+3 IF '$GET(BGPSUMON)
WRITE ?20,BGPX
+4 QUIT
H1 ;EP
+1 IF $GET(BGPSUMON)
QUIT
+2 WRITE !!?21,"REPORT",?31,"",?35,"PREV YR",?46,"",?49,"CHG from",?59,"BASE",?69,"",?72,"CHG from"
+3 WRITE !?21,"PERIOD ",?35,"PERIOD ",?49,"PREV YR ",?59,"PERIOD ",?72,"BASE "
+4 QUIT
CALC(N,O) ;ENTRY POINT
+1 NEW Z
+2 SET Z=N-O
SET Z=$FNUMBER(Z,"+,",0)
+3 QUIT Z
C(X,X2,X3) ;
+1 DO COMMA^%DTC
+2 QUIT X