BGP7DCHA ; 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,BGP7RPTH=""
;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=3060701,BGPED=3070630
S BGPBBD=2990701,BGPBED=3000630
S BGPPBD=3050701,BGPPED=3060630
S BGPPER=3070000,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^BGP7ASL
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"
S BGPFN="HW"_$P(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBD)_$$D(BGPED)_BGPNOW_"_001_of_001"_".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
ONEF ;
S BGPONEF=""
W !!!,"An Area wide Height/Weight Export file will be created. You can choose"
W !,"to create one file of data or multiple files of data. If you are"
W !,"planning to review this data using Microsoft Excel please keep in"
W !,"mind that Excel can only handle 65,536 records per file. If you"
W !,"are using this data for your own use and will be using Microsoft"
W !,"Excel to review the data you must choose to create multiple files."
W !,"If you are creating this file to send to the Division of Epidemiology"
W !,"then you should select to create one file. If you want to both review"
W !,"and export your data you will need to run this option twice."
W !,"If you choose to create one file it will be called:"
W !?5,BGPFN,!?5,"and will reside in the ",BGPUF," directory."
W !,"If you have multiple files generated they will all have the"
W !,"same name with the last 10 characters of the filename being a"
W !,"of the number of files (e.g. _001_of_003)."
;
S DIR(0)="S^O:ONE File of data;M:MULTIPLE Files of data",DIR("A")="Do you want to create one file or multiple files",DIR("B")="M" KILL DA D ^DIR KILL DIR
I $D(DIRUT) Q
S BGPONEF=Y
DRIVER ;
D GS
D ^%ZISC
D EXIT
Q
;
EXIT ;
D ^%ZISC
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(^BGPGPDCA(BGPX,88888,BGPY)) Q:BGPY'=+BGPY D
;..S BGPC=BGPC+1
;..S ^BGPDATA(BGPC)=^BGPGPDCA(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) ;NOTE: kill of unsubscripted global for use in export to area.
I '$D(ZTQUEUED) W !!,"Writing out Ht/Wt file...."
;count up total # of records and divide by 65,536
K BGPFNX
S BGPRPT=0,BGPTOT=0 F S BGPRPT=$O(BGPSUL(BGPRPT)) Q:BGPRPT'=+BGPRPT D HWSF2
D HWSF3
Q
HWSF2 ;
S BGPX=0 F S BGPX=$O(^BGPGPDCA(BGPRPT,88888,BGPX)) Q:BGPX'=+BGPX S BGPTOT=BGPTOT+1,^TMP($J,"HTWTR",BGPTOT)=^BGPGPDCA(BGPRPT,88888,BGPX,0)
Q
HWSF3 ;
I BGPONEF="O" D HWSF1 Q
S BGPNF1=BGPTOT/65536
S BGPNF=$S($P(BGPNF1,".",2)]"":BGPNF1+1,1:BGPNF1)
S BGPNF=$P(BGPNF,".")
S BGPX=0,BGPLX=0
F BGPZ=1:1:BGPNF D
.S BGPFN="HW"_$P(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBD)_$$D(BGPED)_BGPNOW_"_"_$$LZERO^BGP7UTL(BGPZ,3)_"_of_"_$$LZERO^BGP7UTL(BGPNF,3)_".TXT"
.S BGPFNX(BGPZ)=BGPFN
.S Y=$$OPEN^%ZISH(BGPUF,BGPFN,"W")
.I Y=1 W:'$D(ZTQUEUED) !!,"Cannot open host file." Q
.U IO
.W "SERVICE UNIT^ASUFAC^UNIQUE DB ID^DATE RUN^BEG DATE^END DATE^PATIENT UID^DOB^TRIBE CODE^GENDER^STATE OF RESIDENCE^UNIQUE VISIT ID^DATE OF VISIT^TIME OF VISIT^HT CM^WT KG",!
.S BGPC=1,BGPX=$S(BGPLX:BGPLX,1:0)
.F S BGPX=$O(^TMP($J,"HTWTR",BGPX)) Q:BGPX'=+BGPX!(BGPC>65535) D
..W $G(^TMP($J,"HTWTR",BGPX)),!
..S BGPC=BGPC+1
..S BGPLX=BGPX
.D ^%ZISC
Q
HWSF1 ;EP
;write out one flie only
S BGPZ=1,BGPFN="HW"_$P(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBD)_$$D(BGPED)_BGPNOW_"_001_of_001.TXT"
S BGPFNX(BGPZ)=BGPFN
I '$D(ZTQUEUED) U IO W !?10,BGPFN
S Y=$$OPEN^%ZISH(BGPUF,BGPFN,"W")
I Y=1 W:'$D(ZTQUEUED) !!,"Cannot open host file." Q
U IO
W "SERVICE UNIT^ASUFAC^UNIQUE DB ID^DATE RUN^BEG DATE^END DATE^PATIENT UID^DOB^TRIBE CODE^GENDER^STATE OF RESIDENCE^UNIQUE VISIT ID^DATE OF VISIT^TIME OF VISIT^HT CM^WT KG",!
S BGPC=1,BGPX=0
F S BGPX=$O(^TMP($J,"HTWTR",BGPX)) Q:BGPX'=+BGPX D
.W $G(^TMP($J,"HTWTR",BGPX)),!
D ^%ZISC
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)
BGP7DCHA ; 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 BGP7RPTH=""
+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=3060701
SET BGPED=3070630
+15 SET BGPBBD=2990701
SET BGPBED=3000630
+16 SET BGPPBD=3050701
SET BGPPED=3060630
+17 SET BGPPER=3070000
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^BGP7ASL
+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 ;S BGPFN="HW"_$P(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBBD)_$$D(BGPED)_BGPNOW_".TXT"
+10 SET BGPFN="HW"_$PIECE(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBD)_$$D(BGPED)_BGPNOW_"_001_of_001"_".TXT"
+11 ;W !!,"A file will be created called ",BGPFN,!,"and will reside in the ",BGPUF," directory. This file can be used in Excel.",!
+12 SET BGPASUF=$PIECE(^AUTTLOC(DUZ(2),0),U,10)
+13 DO ^XBFMK
+14 KILL DIC,DIADD,DLAYGO,DR,DA,DD,X,Y,DINUM
+15 WRITE !
+16 SET DIR(0)="Y"
SET DIR("A")="Do you wish to continue"
SET DIR("B")="Y"
KILL DA
DO ^DIR
KILL DIR
+17 IF $DATA(DIRUT)
DO EXIT
QUIT
+18 IF 'Y
DO EXIT
QUIT
ONEF ;
+1 SET BGPONEF=""
+2 WRITE !!!,"An Area wide Height/Weight Export file will be created. You can choose"
+3 WRITE !,"to create one file of data or multiple files of data. If you are"
+4 WRITE !,"planning to review this data using Microsoft Excel please keep in"
+5 WRITE !,"mind that Excel can only handle 65,536 records per file. If you"
+6 WRITE !,"are using this data for your own use and will be using Microsoft"
+7 WRITE !,"Excel to review the data you must choose to create multiple files."
+8 WRITE !,"If you are creating this file to send to the Division of Epidemiology"
+9 WRITE !,"then you should select to create one file. If you want to both review"
+10 WRITE !,"and export your data you will need to run this option twice."
+11 WRITE !,"If you choose to create one file it will be called:"
+12 WRITE !?5,BGPFN,!?5,"and will reside in the ",BGPUF," directory."
+13 WRITE !,"If you have multiple files generated they will all have the"
+14 WRITE !,"same name with the last 10 characters of the filename being a"
+15 WRITE !,"of the number of files (e.g. _001_of_003)."
+16 ;
+17 SET DIR(0)="S^O:ONE File of data;M:MULTIPLE Files of data"
SET DIR("A")="Do you want to create one file or multiple files"
SET DIR("B")="M"
KILL DA
DO ^DIR
KILL DIR
+18 IF $DATA(DIRUT)
QUIT
+19 SET BGPONEF=Y
DRIVER ;
+1 DO GS
+2 DO ^%ZISC
+3 DO EXIT
+4 QUIT
+5 ;
EXIT ;
+1 DO ^%ZISC
+2 DO EN^XBVK("BGP")
+3 DO KILL^AUPNPAT
+4 DO ^XBFMK
+5 QUIT
+6 ;
GS ;EP - write out file
+1 ;K ^TMP($J)
+2 ;L +^BGPDATA:300 E W:'$D(ZTQUEUED) "Unable to lock global" Q
+3 ;NOTE: Kill of unsubscripted global. Export to area. Using standard name.
+4 ;S (BGPC,BGPX)=0 F S BGPX=$O(BGPSUL(BGPX)) Q:BGPX'=+BGPX D
+5 ;.S BGPY=0 F S BGPY=$O(^BGPGPDCA(BGPX,88888,BGPY)) Q:BGPY'=+BGPY D
+6 ;..S BGPC=BGPC+1
+7 ;..S ^BGPDATA(BGPC)=^BGPGPDCA(BGPX,88888,BGPY,0)
+8 ;..Q
+9 ;.Q
+10 ;S XBGL="BGPDATA"
+11 ;S XBMED="F",XBFN=BGPFN,XBTLE="SAVE OF HT/WT DATA FOR - "_$P(^AUTTLOC(DUZ(2),0),U,10),XBF=0,XBFLT=1
+12 ;D ^XBGSAVE
+13 ;L -^BGPDATA
+14 ;NOTE: kill of unsubscripted global for use in export to area.
KILL ^TMP($JOB)
+15 IF '$DATA(ZTQUEUED)
WRITE !!,"Writing out Ht/Wt file...."
+16 ;count up total # of records and divide by 65,536
+17 KILL BGPFNX
+18 SET BGPRPT=0
SET BGPTOT=0
FOR
SET BGPRPT=$ORDER(BGPSUL(BGPRPT))
IF BGPRPT'=+BGPRPT
QUIT
DO HWSF2
+19 DO HWSF3
+20 QUIT
HWSF2 ;
+1 SET BGPX=0
FOR
SET BGPX=$ORDER(^BGPGPDCA(BGPRPT,88888,BGPX))
IF BGPX'=+BGPX
QUIT
SET BGPTOT=BGPTOT+1
SET ^TMP($JOB,"HTWTR",BGPTOT)=^BGPGPDCA(BGPRPT,88888,BGPX,0)
+2 QUIT
HWSF3 ;
+1 IF BGPONEF="O"
DO HWSF1
QUIT
+2 SET BGPNF1=BGPTOT/65536
+3 SET BGPNF=$SELECT($PIECE(BGPNF1,".",2)]"":BGPNF1+1,1:BGPNF1)
+4 SET BGPNF=$PIECE(BGPNF,".")
+5 SET BGPX=0
SET BGPLX=0
+6 FOR BGPZ=1:1:BGPNF
Begin DoDot:1
+7 SET BGPFN="HW"_$PIECE(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBD)_$$D(BGPED)_BGPNOW_"_"_$$LZERO^BGP7UTL(BGPZ,3)_"_of_"_$$LZERO^BGP7UTL(BGPNF,3)_".TXT"
+8 SET BGPFNX(BGPZ)=BGPFN
+9 SET Y=$$OPEN^%ZISH(BGPUF,BGPFN,"W")
+10 IF Y=1
IF '$DATA(ZTQUEUED)
WRITE !!,"Cannot open host file."
QUIT
+11 USE IO
+12 WRITE "SERVICE UNIT^ASUFAC^UNIQUE DB ID^DATE RUN^BEG DATE^END DATE^PATIENT UID^DOB^TRIBE CODE^GENDER^STATE OF RESIDENCE^UNIQUE VISIT ID^DATE OF VISIT^TIME OF VISIT^HT CM^WT KG",!
+13 SET BGPC=1
SET BGPX=$SELECT(BGPLX:BGPLX,1:0)
+14 FOR
SET BGPX=$ORDER(^TMP($JOB,"HTWTR",BGPX))
IF BGPX'=+BGPX!(BGPC>65535)
QUIT
Begin DoDot:2
+15 WRITE $GET(^TMP($JOB,"HTWTR",BGPX)),!
+16 SET BGPC=BGPC+1
+17 SET BGPLX=BGPX
End DoDot:2
+18 DO ^%ZISC
End DoDot:1
+19 QUIT
HWSF1 ;EP
+1 ;write out one flie only
+2 SET BGPZ=1
SET BGPFN="HW"_$PIECE(^AUTTLOC(DUZ(2),0),U,10)_$$D(BGPBD)_$$D(BGPED)_BGPNOW_"_001_of_001.TXT"
+3 SET BGPFNX(BGPZ)=BGPFN
+4 IF '$DATA(ZTQUEUED)
USE IO
WRITE !?10,BGPFN
+5 SET Y=$$OPEN^%ZISH(BGPUF,BGPFN,"W")
+6 IF Y=1
IF '$DATA(ZTQUEUED)
WRITE !!,"Cannot open host file."
QUIT
+7 USE IO
+8 WRITE "SERVICE UNIT^ASUFAC^UNIQUE DB ID^DATE RUN^BEG DATE^END DATE^PATIENT UID^DOB^TRIBE CODE^GENDER^STATE OF RESIDENCE^UNIQUE VISIT ID^DATE OF VISIT^TIME OF VISIT^HT CM^WT KG",!
+9 SET BGPC=1
SET BGPX=0
+10 FOR
SET BGPX=$ORDER(^TMP($JOB,"HTWTR",BGPX))
IF BGPX'=+BGPX
QUIT
Begin DoDot:1
+11 WRITE $GET(^TMP($JOB,"HTWTR",BGPX)),!
End DoDot:1
+12 DO ^%ZISC
+13 QUIT
+14 ;
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)