BGP0DP7 ; IHS/CMI/LAB - print ind 10 ;
;;10.0;IHS CLINICAL REPORTING;;JUN 18, 2010
;
;
;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(^BGPINDTC("AB",BGPPC1,BGPPC2)) Q:BGPPC2="" S BGPPC=$O(^BGPINDTC("AB",BGPPC1,BGPPC2,0)) D PI1
Q
PI1 ;
K BGPEXCT,BGPSDP,BGPSDPN,BGPSDPO,BGPSDPD
I BGPRTYPE'=4,BGPINDT="G",$P(^BGPINDTC(BGPPC,0),U,5)'=1 Q
I BGPRTYPE=4,$P($G(^BGPINDTC(BGPPC,21)),U,2)=1 Q
I BGPINDT="D",$P(^BGPINDTC(BGPPC,0),U,12)'=1 Q
I BGPINDT="C",$P(^BGPINDTC(BGPPC,0),U,13)'=1 Q
I BGPINDT="W",$P($G(^BGPINDTC(BGPPC,12)),U,2)'=1 Q
I BGPINDT="E",$P($G(^BGPINDTC(BGPPC,12)),U,3)'=1 Q
;get numerator value of measure and calc %
S BGPDF=$P(^BGPINDTC(BGPPC,0),U,9)
I $P(^BGPINDTC(BGPPC,0),U,4)[".1" S BGPDHOLD=BGPDF
I $P(^BGPINDTC(BGPPC,0),U,4)'[".1" S BGPDF=BGPDHOLD
S BGPNP=$P(^DD(90377.03,BGPDF,0),U,4),N=$P(BGPNP,";"),P=$P(BGPNP,";",2)
S BGPCYD=$$V^BGP0DP1C(1,BGPRPT,N,P,1) I $G(BGPAREAA) D SETEXA^BGP0DP1C(1,N,P)
S BGPPRD=$$V^BGP0DP1C(2,BGPRPT,N,P,1) I $G(BGPAREAA) D SETEXA^BGP0DP1C(2,N,P)
S BGPBLD=$$V^BGP0DP1C(3,BGPRPT,N,P,1) I $G(BGPAREAA) D SETEXA^BGP0DP1C(3,N,P)
S BGPNF=$P(^BGPINDTC(BGPPC,0),U,9)
S BGPNP=$P(^DD(90377.03,BGPNF,0),U,4),N=$P(BGPNP,";"),P=$P(BGPNP,";",2)
D SETN^BGP0DP1C
;write header for 1.A.1
W:'$G(BGPSUMON) !!,$P(^BGPINDTC(BGPPC,0),U,15)
I $P(^BGPINDTC(BGPPC,0),U,16)]"" W:'$G(BGPSUMON) !?1,$P(^BGPINDTC(BGPPC,0),U,16)
I $P(^BGPINDTC(BGPPC,0),U,19)]"" W:'$G(BGPSUMON) !?1,$P(^BGPINDTC(BGPPC,0),U,19)
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
BGP0DP7 ; IHS/CMI/LAB - print ind 10 ;
+1 ;;10.0;IHS CLINICAL REPORTING;;JUN 18, 2010
+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(^BGPINDTC("AB",BGPPC1,BGPPC2))
IF BGPPC2=""
QUIT
SET BGPPC=$ORDER(^BGPINDTC("AB",BGPPC1,BGPPC2,0))
DO PI1
+5 QUIT
PI1 ;
+1 KILL BGPEXCT,BGPSDP,BGPSDPN,BGPSDPO,BGPSDPD
+2 IF BGPRTYPE'=4
IF BGPINDT="G"
IF $PIECE(^BGPINDTC(BGPPC,0),U,5)'=1
QUIT
+3 IF BGPRTYPE=4
IF $PIECE($GET(^BGPINDTC(BGPPC,21)),U,2)=1
QUIT
+4 IF BGPINDT="D"
IF $PIECE(^BGPINDTC(BGPPC,0),U,12)'=1
QUIT
+5 IF BGPINDT="C"
IF $PIECE(^BGPINDTC(BGPPC,0),U,13)'=1
QUIT
+6 IF BGPINDT="W"
IF $PIECE($GET(^BGPINDTC(BGPPC,12)),U,2)'=1
QUIT
+7 IF BGPINDT="E"
IF $PIECE($GET(^BGPINDTC(BGPPC,12)),U,3)'=1
QUIT
+8 ;get numerator value of measure and calc %
+9 SET BGPDF=$PIECE(^BGPINDTC(BGPPC,0),U,9)
+10 IF $PIECE(^BGPINDTC(BGPPC,0),U,4)[".1"
SET BGPDHOLD=BGPDF
+11 IF $PIECE(^BGPINDTC(BGPPC,0),U,4)'[".1"
SET BGPDF=BGPDHOLD
+12 SET BGPNP=$PIECE(^DD(90377.03,BGPDF,0),U,4)
SET N=$PIECE(BGPNP,";")
SET P=$PIECE(BGPNP,";",2)
+13 SET BGPCYD=$$V^BGP0DP1C(1,BGPRPT,N,P,1)
IF $GET(BGPAREAA)
DO SETEXA^BGP0DP1C(1,N,P)
+14 SET BGPPRD=$$V^BGP0DP1C(2,BGPRPT,N,P,1)
IF $GET(BGPAREAA)
DO SETEXA^BGP0DP1C(2,N,P)
+15 SET BGPBLD=$$V^BGP0DP1C(3,BGPRPT,N,P,1)
IF $GET(BGPAREAA)
DO SETEXA^BGP0DP1C(3,N,P)
+16 SET BGPNF=$PIECE(^BGPINDTC(BGPPC,0),U,9)
+17 SET BGPNP=$PIECE(^DD(90377.03,BGPNF,0),U,4)
SET N=$PIECE(BGPNP,";")
SET P=$PIECE(BGPNP,";",2)
+18 DO SETN^BGP0DP1C
+19 ;write header for 1.A.1
+20 IF '$GET(BGPSUMON)
WRITE !!,$PIECE(^BGPINDTC(BGPPC,0),U,15)
+21 IF $PIECE(^BGPINDTC(BGPPC,0),U,16)]""
IF '$GET(BGPSUMON)
WRITE !?1,$PIECE(^BGPINDTC(BGPPC,0),U,16)
+22 IF $PIECE(^BGPINDTC(BGPPC,0),U,19)]""
IF '$GET(BGPSUMON)
WRITE !?1,$PIECE(^BGPINDTC(BGPPC,0),U,19)
+23 DO H2
+24 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