BGP6DCHA ; IHS/CMI/LAB - ihs area GPRA 02 Sep 2004 1:11 PM ;
;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
;
;
W:$D(IOF) @IOF
S BGPA=$E($P(^AUTTLOC(DUZ(2),0),U,10),1,2),BGPA=$O(^AUTTAREA("C",BGPA,0)) S BGPA=$S(BGPA:$P(^AUTTAREA(BGPA,0),U),1:"UNKNOWN AREA")
W !!,$$CTR(BGPA_" Area Aggregate Height and Weight Data Export",80)
W !!,"This option is used to produce an area aggregate Height and"
W !,"Weight Export file. This is a single delimited file that will be comprised"
W !,"of height and weight data. This file should be exported to the Division"
W !,"of Epidemiology, where it will construct frequency curves of BMI as"
W !,"a GPRA developmental performance measure.",!!
INTRO ;
D EXIT
TP ;
S BGPAREAA=1
S BGPRTYPE=1,BGPBEN=1,BGP6RPTH=""
;W !!,"for testing purposes only, please enter a report year",!
;D F
;I BGPPER="" W !!,"no year entered..bye" D EXIT Q
;S BGPQTR=3
;S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
;S BGPPBD=($E(BGPPER,1,3)-1)_"0101",BGPPED=($E(BGPPER,1,3)-1)_"1231"
;W !!,"for testing purposes only, please enter a BASELINE year",!
;D B
;I BGPBPER="" W !!,"no year entered..bye" D EXIT Q
;S BGPBBD=$E(BGPBPER,1,3)_"0101",BGPBED=$E(BGPBPER,1,3)_"1231"
;END TEST STUFF
S BGPBD=3050701,BGPED=3060630
S BGPBBD=2990701,BGPBED=3000630
S BGPPBD=3040701,BGPPED=3050630
S BGPPER=3060000,BGPQTR=3
W !,"This file will contain height and weight data for the time period"
W !,$$FMTE^XLFDT(BGPBBD)," through ",$$FMTE^XLFDT(BGPED)," for all Active Clinical"
W !,"patients 0-18 who have both a height and weight value documented"
W !,"on a visit and for all Active Clinical patients age 19 and older who"
W !,"have a height and/or weight value documented on a visit."
;W !!,"The date ranges for this report are:"
;W !?5,"Report Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
;W !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
;W !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
ASU ;
S BGPSUCNT=0
W !!!,"You will now be able to select which sites to use in the export.",!
S DIR(0)="E",DIR("A")="Press Enter to Continue" KILL DA D ^DIR KILL DIR
K BGPSUL
S BGPCHWE=1
D EN^BGP6ASL
I '$D(BGPSUL) W !!,"No sites selected" D EXIT Q
S X=0,C=0 F S X=$O(BGPSUL(X)) Q:X'=+X S C=C+1
W !!,"A total of ",C," facilities have been selected.",!!
ZIS ;call to XBDBQUE
EISSEX ;
S BGPEXCEL=""
S BGPUF=""
I ^%ZOSF("OS")["PC"!(^%ZOSF("OS")["NT")!($P($G(^AUTTSITE(1,0)),U,21)=2) S BGPUF=$S($P($G(^AUTTSITE(1,1)),U,2)]"":$P(^AUTTSITE(1,1),U,2),1:"C:\EXPORT")
I $P(^AUTTSITE(1,0),U,21)=1 S BGPUF="/usr/spool/uucppublic"
S BGPASUF=$P(^AUTTLOC(DUZ(2),0),U,10)
S BGPNOW=$$NOW^XLFDT() S BGPNOW=$$NOW^XLFDT() S BGPNOW=$$D($P(BGPNOW,"."))_$P(BGPNOW,".",2)
S BDWC=0,X=0 F S X=$O(BGPSUL(X)) Q:X'=+X S BDWC=BDWC+1
I BGPUF="" W:'$D(ZTQUEUED) !!,"Cannot continue.....can't find export directory name. File not written." Q
S BGPFN="HW"_$P(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBBD)_$$D(BGPED)_BGPNOW_".TXT"
W !!,"A file will be created called ",BGPFN,!,"and will reside in the ",BGPUF," directory. This file can be used in Excel.",!
S BGPASUF=$P(^AUTTLOC(DUZ(2),0),U,10)
D ^XBFMK
K DIC,DIADD,DLAYGO,DR,DA,DD,X,Y,DINUM
W !
S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="Y" KILL DA D ^DIR KILL DIR
I $D(DIRUT) D EXIT Q
I 'Y D EXIT Q
DRIVER ;
D GS
D ^%ZISC
D EXIT
Q
;
EXIT ;
D EN^XBVK("BGP")
D KILL^AUPNPAT
D ^XBFMK
Q
;
GS ;EP - write out file
K ^TMP($J)
L +^BGPDATA:300 E W:'$D(ZTQUEUED) "Unable to lock global" Q
;NOTE: Kill of unsubscripted global. Export to area. Using standard name.
S (BGPC,BGPX)=0 F S BGPX=$O(BGPSUL(BGPX)) Q:BGPX'=+BGPX D
.S BGPY=0 F S BGPY=$O(^BGPGPDCS(BGPX,88888,BGPY)) Q:BGPY'=+BGPY D
..S BGPC=BGPC+1
..S ^BGPDATA(BGPC)=^BGPGPDCS(BGPX,88888,BGPY,0)
..Q
.Q
S XBGL="BGPDATA"
S XBMED="F",XBFN=BGPFN,XBTLE="SAVE OF HT/WT DATA FOR - "_$P(^AUTTLOC(DUZ(2),0),U,10),XBF=0,XBFLT=1
D ^XBGSAVE
L -^BGPDATA
K ^TMP($J),^BGPDATA ;NOTE: kill of unsubscripted global for use in export to area.
Q
;
B ;fiscal year
S (BGPBPER,BGPVDT)=""
W !!,"Enter the BASELINE year for the report. Use a 4 digit ",!,"year, e.g. 2005"
S DIR(0)="D^::EP"
S DIR("A")="Enter BASELINE year"
S DIR("?")="This report is compiled for a period. Enter a valid date."
D ^DIR KILL DIR
I $D(DIRUT) Q
I $D(DUOUT) S DIRUT=1 Q
S BGPVDT=Y
I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G F
S BGPBPER=BGPVDT
Q
F ;fiscal year
S BGPPER=""
W !
S BGPVDT=""
W !,"Enter the Fiscal Year (FY) for the report END date. Use a 4 digit",!,"year, e.g. 2002, 2005"
S DIR(0)="D^::EP"
S DIR("A")="Enter FY"
S DIR("?")="This report is compiled for a period. Enter a valid date."
D ^DIR
K DIC
I $D(DUOUT) S DIRUT=1 S BGPQUIT="" Q
S BGPVDT=Y
I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G F
S BGPPER=BGPVDT,BGPBD=($E(BGPVDT,1,3)-1)_"1001",BGPED=$E(BGPVDT,1,3)_"0930"
Q
CTR(X,Y) ;EP - Center X in a field Y wide.
Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
;----------
EOP ;EP - End of page.
Q:$E(IOST)'="C"
Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
NEW DIR
K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
S DIR(0)="E" D ^DIR
Q
;----------
USR() ;EP - Return name of current user from ^VA(200.
Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
;----------
LOC() ;EP - Return location name from file 4 based on DUZ(2).
Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
;----------
;
D(D) ;EP
Q (1700+$E(D,1,3))_$E(D,4,5)_$E(D,6,7)
BGP6DCHA ; IHS/CMI/LAB - ihs area GPRA 02 Sep 2004 1:11 PM ;
+1 ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
+2 ;
+3 ;
+4 IF $DATA(IOF)
WRITE @IOF
+5 SET BGPA=$EXTRACT($PIECE(^AUTTLOC(DUZ(2),0),U,10),1,2)
SET BGPA=$ORDER(^AUTTAREA("C",BGPA,0))
SET BGPA=$SELECT(BGPA:$PIECE(^AUTTAREA(BGPA,0),U),1:"UNKNOWN AREA")
+6 WRITE !!,$$CTR(BGPA_" Area Aggregate Height and Weight Data Export",80)
+7 WRITE !!,"This option is used to produce an area aggregate Height and"
+8 WRITE !,"Weight Export file. This is a single delimited file that will be comprised"
+9 WRITE !,"of height and weight data. This file should be exported to the Division"
+10 WRITE !,"of Epidemiology, where it will construct frequency curves of BMI as"
+11 WRITE !,"a GPRA developmental performance measure.",!!
INTRO ;
+1 DO EXIT
TP ;
+1 SET BGPAREAA=1
+2 SET BGPRTYPE=1
SET BGPBEN=1
SET BGP6RPTH=""
+3 ;W !!,"for testing purposes only, please enter a report year",!
+4 ;D F
+5 ;I BGPPER="" W !!,"no year entered..bye" D EXIT Q
+6 ;S BGPQTR=3
+7 ;S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
+8 ;S BGPPBD=($E(BGPPER,1,3)-1)_"0101",BGPPED=($E(BGPPER,1,3)-1)_"1231"
+9 ;W !!,"for testing purposes only, please enter a BASELINE year",!
+10 ;D B
+11 ;I BGPBPER="" W !!,"no year entered..bye" D EXIT Q
+12 ;S BGPBBD=$E(BGPBPER,1,3)_"0101",BGPBED=$E(BGPBPER,1,3)_"1231"
+13 ;END TEST STUFF
+14 SET BGPBD=3050701
SET BGPED=3060630
+15 SET BGPBBD=2990701
SET BGPBED=3000630
+16 SET BGPPBD=3040701
SET BGPPED=3050630
+17 SET BGPPER=3060000
SET BGPQTR=3
+18 WRITE !,"This file will contain height and weight data for the time period"
+19 WRITE !,$$FMTE^XLFDT(BGPBBD)," through ",$$FMTE^XLFDT(BGPED)," for all Active Clinical"
+20 WRITE !,"patients 0-18 who have both a height and weight value documented"
+21 WRITE !,"on a visit and for all Active Clinical patients age 19 and older who"
+22 WRITE !,"have a height and/or weight value documented on a visit."
+23 ;W !!,"The date ranges for this report are:"
+24 ;W !?5,"Report Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
+25 ;W !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
+26 ;W !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
ASU ;
+1 SET BGPSUCNT=0
+2 WRITE !!!,"You will now be able to select which sites to use in the export.",!
+3 SET DIR(0)="E"
SET DIR("A")="Press Enter to Continue"
KILL DA
DO ^DIR
KILL DIR
+4 KILL BGPSUL
+5 SET BGPCHWE=1
+6 DO EN^BGP6ASL
+7 IF '$DATA(BGPSUL)
WRITE !!,"No sites selected"
DO EXIT
QUIT
+8 SET X=0
SET C=0
FOR
SET X=$ORDER(BGPSUL(X))
IF X'=+X
QUIT
SET C=C+1
+9 WRITE !!,"A total of ",C," facilities have been selected.",!!
ZIS ;call to XBDBQUE
EISSEX ;
+1 SET BGPEXCEL=""
+2 SET BGPUF=""
+3 IF ^%ZOSF("OS")["PC"!(^%ZOSF("OS")["NT")!($PIECE($GET(^AUTTSITE(1,0)),U,21)=2)
SET BGPUF=$SELECT($PIECE($GET(^AUTTSITE(1,1)),U,2)]"":$PIECE(^AUTTSITE(1,1),U,2),1:"C:\EXPORT")
+4 IF $PIECE(^AUTTSITE(1,0),U,21)=1
SET BGPUF="/usr/spool/uucppublic"
+5 SET BGPASUF=$PIECE(^AUTTLOC(DUZ(2),0),U,10)
+6 SET BGPNOW=$$NOW^XLFDT()
SET BGPNOW=$$NOW^XLFDT()
SET BGPNOW=$$D($PIECE(BGPNOW,"."))_$PIECE(BGPNOW,".",2)
+7 SET BDWC=0
SET X=0
FOR
SET X=$ORDER(BGPSUL(X))
IF X'=+X
QUIT
SET BDWC=BDWC+1
+8 IF BGPUF=""
IF '$DATA(ZTQUEUED)
WRITE !!,"Cannot continue.....can't find export directory name. File not written."
QUIT
+9 SET BGPFN="HW"_$PIECE(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBBD)_$$D(BGPED)_BGPNOW_".TXT"
+10 WRITE !!,"A file will be created called ",BGPFN,!,"and will reside in the ",BGPUF," directory. This file can be used in Excel.",!
+11 SET BGPASUF=$PIECE(^AUTTLOC(DUZ(2),0),U,10)
+12 DO ^XBFMK
+13 KILL DIC,DIADD,DLAYGO,DR,DA,DD,X,Y,DINUM
+14 WRITE !
+15 SET DIR(0)="Y"
SET DIR("A")="Do you wish to continue"
SET DIR("B")="Y"
KILL DA
DO ^DIR
KILL DIR
+16 IF $DATA(DIRUT)
DO EXIT
QUIT
+17 IF 'Y
DO EXIT
QUIT
DRIVER ;
+1 DO GS
+2 DO ^%ZISC
+3 DO EXIT
+4 QUIT
+5 ;
EXIT ;
+1 DO EN^XBVK("BGP")
+2 DO KILL^AUPNPAT
+3 DO ^XBFMK
+4 QUIT
+5 ;
GS ;EP - write out file
+1 KILL ^TMP($JOB)
+2 LOCK +^BGPDATA:300
IF '$TEST
IF '$DATA(ZTQUEUED)
WRITE "Unable to lock global"
QUIT
+3 ;NOTE: Kill of unsubscripted global. Export to area. Using standard name.
+4 SET (BGPC,BGPX)=0
FOR
SET BGPX=$ORDER(BGPSUL(BGPX))
IF BGPX'=+BGPX
QUIT
Begin DoDot:1
+5 SET BGPY=0
FOR
SET BGPY=$ORDER(^BGPGPDCS(BGPX,88888,BGPY))
IF BGPY'=+BGPY
QUIT
Begin DoDot:2
+6 SET BGPC=BGPC+1
+7 SET ^BGPDATA(BGPC)=^BGPGPDCS(BGPX,88888,BGPY,0)
+8 QUIT
End DoDot:2
+9 QUIT
End DoDot:1
+10 SET XBGL="BGPDATA"
+11 SET XBMED="F"
SET XBFN=BGPFN
SET XBTLE="SAVE OF HT/WT DATA FOR - "_$PIECE(^AUTTLOC(DUZ(2),0),U,10)
SET XBF=0
SET XBFLT=1
+12 DO ^XBGSAVE
+13 LOCK -^BGPDATA
+14 ;NOTE: kill of unsubscripted global for use in export to area.
KILL ^TMP($JOB),^BGPDATA
+15 QUIT
+16 ;
B ;fiscal year
+1 SET (BGPBPER,BGPVDT)=""
+2 WRITE !!,"Enter the BASELINE year for the report. Use a 4 digit ",!,"year, e.g. 2005"
+3 SET DIR(0)="D^::EP"
+4 SET DIR("A")="Enter BASELINE year"
+5 SET DIR("?")="This report is compiled for a period. Enter a valid date."
+6 DO ^DIR
KILL DIR
+7 IF $DATA(DIRUT)
QUIT
+8 IF $DATA(DUOUT)
SET DIRUT=1
QUIT
+9 SET BGPVDT=Y
+10 IF $EXTRACT(Y,4,7)'="0000"
WRITE !!,"Please enter a year only!",!
GOTO F
+11 SET BGPBPER=BGPVDT
+12 QUIT
F ;fiscal year
+1 SET BGPPER=""
+2 WRITE !
+3 SET BGPVDT=""
+4 WRITE !,"Enter the Fiscal Year (FY) for the report END date. Use a 4 digit",!,"year, e.g. 2002, 2005"
+5 SET DIR(0)="D^::EP"
+6 SET DIR("A")="Enter FY"
+7 SET DIR("?")="This report is compiled for a period. Enter a valid date."
+8 DO ^DIR
+9 KILL DIC
+10 IF $DATA(DUOUT)
SET DIRUT=1
SET BGPQUIT=""
QUIT
+11 SET BGPVDT=Y
+12 IF $EXTRACT(Y,4,7)'="0000"
WRITE !!,"Please enter a year only!",!
GOTO F
+13 SET BGPPER=BGPVDT
SET BGPBD=($EXTRACT(BGPVDT,1,3)-1)_"1001"
SET BGPED=$EXTRACT(BGPVDT,1,3)_"0930"
+14 QUIT
CTR(X,Y) ;EP - Center X in a field Y wide.
+1 QUIT $JUSTIFY("",$SELECT($DATA(Y):Y,1:IOM)-$LENGTH(X)\2)_X
+2 ;----------
EOP ;EP - End of page.
+1 IF $EXTRACT(IOST)'="C"
QUIT
+2 IF $DATA(ZTQUEUED)!'(IOT="TRM")!$DATA(IO("S"))
QUIT
+3 NEW DIR
+4 KILL DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
+5 SET DIR(0)="E"
DO ^DIR
+6 QUIT
+7 ;----------
USR() ;EP - Return name of current user from ^VA(200.
+1 QUIT $SELECT($GET(DUZ):$SELECT($DATA(^VA(200,DUZ,0)):$PIECE(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
+2 ;----------
LOC() ;EP - Return location name from file 4 based on DUZ(2).
+1 QUIT $SELECT($GET(DUZ(2)):$SELECT($DATA(^DIC(4,DUZ(2),0)):$PIECE(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
+2 ;----------
+3 ;
D(D) ;EP
+1 QUIT (1700+$EXTRACT(D,1,3))_$EXTRACT(D,4,5)_$EXTRACT(D,6,7)