BGPDAREA ; IHS/CMI/LAB - ihs area GPRA ;
;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
;
;
;IHS/CMI/LAB - patch 1 modified to allow July-June report
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 GPRA Report",80)
INTRO ;
D EXIT
S BGPAREAA=1
DATES ;
K BGPBD,BGPED,BGPPER
S BGPQTR=0
D Y
I $D(BGPQUIT) D EXIT Q
S BGPQY=""
S DIR(0)="S^Q:One Quarter in FY "_$$FMTE^XLFDT(BGPPER)_";F:Full Fiscal Year;A:AREA REPORTING YEAR (July 1 - June 30)",DIR("A")="Run the report for a",DIR("B")="Q" KILL DA D ^DIR KILL DIR
I $D(DIRUT) D EXIT Q
S BGPQY=Y
I BGPQY="F"!(BGPQY="Q") S BGPBD=($E(BGPVDT,1,3)-1)_"1001",BGPED=$E(BGPVDT,1,3)_"0930"
I BGPQY="A" S BGPBD=($E(BGPVDT,1,3)-1)_"0701",BGPED=$E(BGPVDT,1,3)_"0630"
I BGPQY="Q" D Q I $D(BGPQUIT) G INTRO
BY ;get baseline year
W !
S BGPVDT=""
W !,"Enter the Baseline Year that you would like to compare the data to.",!,"Use a 4 digit year, e.g. 1999, 2000"
S DIR(0)="D^::EP"
S DIR("A")="Enter Year (e.g. 1999)"
D ^DIR
K DIC
I $D(DUOUT) S DIRUT=1 G DATES
S BGPVDT=Y
I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G BY
I BGPQTR=0,BGPQY="F" S BGPBBD=($E(BGPVDT,1,3)-1)_"1001",BGPBED=$E(BGPVDT,1,3)_"0930" G N
I BGPQTR=1 S BGPBBD=($E(BGPVDT,1,3)-1)_"1001",BGPBED=($E(BGPVDT,1,3)-1)_"1231" G N
I BGPQTR=0,BGPQY="A" S BGPBBD=($E(BGPVDT,1,3)-1)_"0701",BGPBED=$E(BGPVDT,1,3)_"0630" G N
I BGPQTR=2 S BGPBBD=$E(BGPVDT,1,3)_"0101",BGPBED=$E(BGPVDT,1,3)_"0331" G N
I BGPQTR=3 S BGPBBD=$E(BGPVDT,1,3)_"0401",BGPBED=$E(BGPVDT,1,3)_"0630" G N
I BGPQTR=4 S BGPBBD=$E(BGPVDT,1,3)_"0701",BGPBED=$E(BGPVDT,1,3)_"0930" G N
N S BGPPBD=($E(BGPBD,1,3)-1)_$E(BGPBD,4,7)
S BGPPED=($E(BGPED,1,3)-1)_$E(BGPED,4,7)
W !!,"The date ranges for this report are:"
W !?5,"Reporting 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
S BGPRPTT=""
S DIR(0)="S^A:AREA Aggregate;F:One Facility",DIR("A")="Run Report for",DIR("B")="A" KILL DA D ^DIR KILL DIR
G:$D(DIRUT) BY
S BGPRPTT=Y
I BGPRPTT="F" D G:$D(BGPQUIT) ASU
.S BGPSUCNT=0,BGPSU="",BGPSUC="" K BGPSUL
.K BGPSUL S BGPX=0 F S BGPX=$O(^BGPD(BGPX)) Q:BGPX'=+BGPX S V=^BGPD(BGPX,0) I $P(V,U)=BGPBD,$P(V,U,2)=BGPED,$P(V,U,3)=BGPPER,$P(V,U,4)=BGPQTR S BGPSUL(BGPX)="",BGPSUCNT=BGPSUCNT+1
.I '$D(BGPSUL) W !!,"No data from that time period has been uploaded from the service units.",! S BGPQUIT=1 Q
.W !!,"Data from the following Facilities has been received.",!,"Please select the facility.",!
.K BGPSUL1 S X=0,C=0 F S X=$O(BGPSUL(X)) Q:X'=+X S C=C+1,BGPSUL1(C)=X
.S X=0 F S X=$O(BGPSUL1(X)) Q:X'=+X S BGP0=^BGPD(BGPSUL1(X),0) W !?2,X,")",?5,"FY: ",$$FMTE^XLFDT($P(BGP0,U,3)),?15,"QTR: ",$$VAL^XBDIQ1(90240.01,BGPSUL1(X),.04),?30,"SU: ",$$SU($P(BGP0,U,6)),?55,"Facility: ",$E($$FAC($P(BGP0,U,5)),1,15)
.W !?2,"0)",?5,"None of the Above"
.S DIR(0)="N^0:"_C_":0",DIR("A")="Please Select the Facility",DIR("B")="0" KILL DA D ^DIR KILL DIR
.I $D(DIRUT) S BGPQUIT=1 Q
.I 'Y S BGPQUIT=1 Q
.K BGPSUL S BGPSUL(BGPSUL1(Y))="",BGPSUCNT=1,X=$P(^BGPD(BGPSUL1(Y),0),U,5),X=$O(^AUTTLOC("C",X,0)) I X S BGPSUNM=$P(^DIC(4,X,0),U)
.Q
G:BGPRPTT="F" ZIS
GETSU ;
K BGPSUL S BGPX=0 F S BGPX=$O(^BGPD(BGPX)) Q:BGPX'=+BGPX S V=^BGPD(BGPX,0) I $P(V,U)=BGPBD,$P(V,U,2)=BGPED,$P(V,U,3)=BGPPER,$P(V,U,4)=BGPQTR,$P(V,U,8)=BGPBBD,$P(V,U,9)=BGPBED S BGPSUL(BGPX)=""
I '$D(BGPSUL) W !!,"No data from that time period has been uploaded from the service units.",! G INTRO
W !!,"Data from the following Facilities has been received and will be used",!,"in the Area Aggregate Report:",!
S X=0 F S X=$O(BGPSUL(X)) Q:X'=+X S BGP0=^BGPD(X,0) W !?5,"FY: ",$$FMTE^XLFDT($P(BGP0,U,3)),?15,"QTR: ",$$VAL^XBDIQ1(90240.01,X,.04),?30,"SU: ",$$SU($P(BGP0,U,6)),?55,"Facility: ",$E($$FAC($P(BGP0,U,5)),1,15)
ZIS ;call to XBDBQUE
S BGPASUF=$P(^AUTTLOC(DUZ(2),0),U,10)
D ^XBFMK
K DIC,DIADD,DLAYGO,DR,DA,DD,X,Y,DINUM
F X=1:1:30 S BGPIND(X)=""
;
W !! S %ZIS="PQM" D ^%ZIS
;I POP W !,"Report Aborted" S DA=BGPRPT,DIK="^BGPD(" D ^DIK K DIK D EXIT Q
I $D(IO("Q")) G TSKMN
DRIVER ;
U IO
D PRINT^BGPDPARP
D ^%ZISC
D EXIT
Q
;
TSKMN ;EP ENTRY POINT FROM TASKMAN
S ZTIO=$S($D(ION):ION,1:IO) I $D(IOST)#2,IOST]"" S ZTIO=ZTIO_";"_IOST
I $G(IO("DOC"))]"" S ZTIO=ZTIO_";"_$G(IO("DOC"))
I $D(IOM)#2,IOM S ZTIO=ZTIO_";"_IOM I $D(IOSL)#2,IOSL S ZTIO=ZTIO_";"_IOSL
K ZTSAVE S ZTSAVE("BGP*")=""
S ZTCPU=$G(IOCPU),ZTRTN="DRIVER^BGPDAREA",ZTDTH="",ZTDESC="GPRA REPORT" D ^%ZTLOAD D EXIT Q
Q
OLD ;
S XBRP="PRINT^BGPDPARP",XBRC="",XBRX="EXIT^BGPDAREA",XBNS="BGP"
D ^XBDBQUE
D EXIT
Q
;
FAC(S) ;
NEW N S N=$O(^AUTTLOC("C",S,0))
I N="" Q N
Q $P(^DIC(4,N,0),U)
SU(S) ;
NEW N S N=$O(^AUTTSU("C",S,0))
I N="" Q N
Q $P(^AUTTSU(N,0),U)
EXIT ;
D EN^XBVK("BGP")
D KILL^AUPNPAT
D ^XBFMK
Q
;
Q ;which quarter
S DIR(0)="N^1:4:0",DIR("A")="Which Quarter" KILL DA D ^DIR KILL DIR
I $D(DIRUT)!(Y="") S BGPQUIT="" Q
S BGPQTR=Y
I Y=1 S BGPBD=($E(BGPPER,1,3)-1)_"1001",BGPED=($E(BGPPER,1,3)-1)_"1231" Q
I Y=2 S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"0331" Q
I Y=3 S BGPBD=$E(BGPPER,1,3)_"0401",BGPED=$E(BGPPER,1,3)_"0630" Q
I Y=4 S BGPBD=$E(BGPPER,1,3)_"0701",BGPED=$E(BGPPER,1,3)_"0930" Q
Q
Y ;fiscal year
W !
S BGPVDT=""
W !,"Enter the YEAR of interest. Use a 4 digit year, e.g. 2002"
S DIR(0)="D^::EP"
S DIR("A")="Enter the year (e.g. 1999)"
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 Y
S BGPPER=BGPVDT
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")
;----------
;
BGPDAREA ; IHS/CMI/LAB - ihs area GPRA ;
+1 ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
+2 ;
+3 ;
+4 ;IHS/CMI/LAB - patch 1 modified to allow July-June report
+5 IF $DATA(IOF)
WRITE @IOF
+6 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")
+7 WRITE !!,$$CTR(BGPA_" Area GPRA Report",80)
INTRO ;
+1 DO EXIT
+2 SET BGPAREAA=1
DATES ;
+1 KILL BGPBD,BGPED,BGPPER
+2 SET BGPQTR=0
+3 DO Y
+4 IF $DATA(BGPQUIT)
DO EXIT
QUIT
+5 SET BGPQY=""
+6 SET DIR(0)="S^Q:One Quarter in FY "_$$FMTE^XLFDT(BGPPER)_";F:Full Fiscal Year;A:AREA REPORTING YEAR (July 1 - June 30)"
SET DIR("A")="Run the report for a"
SET DIR("B")="Q"
KILL DA
DO ^DIR
KILL DIR
+7 IF $DATA(DIRUT)
DO EXIT
QUIT
+8 SET BGPQY=Y
+9 IF BGPQY="F"!(BGPQY="Q")
SET BGPBD=($EXTRACT(BGPVDT,1,3)-1)_"1001"
SET BGPED=$EXTRACT(BGPVDT,1,3)_"0930"
+10 IF BGPQY="A"
SET BGPBD=($EXTRACT(BGPVDT,1,3)-1)_"0701"
SET BGPED=$EXTRACT(BGPVDT,1,3)_"0630"
+11 IF BGPQY="Q"
DO Q
IF $DATA(BGPQUIT)
GOTO INTRO
BY ;get baseline year
+1 WRITE !
+2 SET BGPVDT=""
+3 WRITE !,"Enter the Baseline Year that you would like to compare the data to.",!,"Use a 4 digit year, e.g. 1999, 2000"
+4 SET DIR(0)="D^::EP"
+5 SET DIR("A")="Enter Year (e.g. 1999)"
+6 DO ^DIR
+7 KILL DIC
+8 IF $DATA(DUOUT)
SET DIRUT=1
GOTO DATES
+9 SET BGPVDT=Y
+10 IF $EXTRACT(Y,4,7)'="0000"
WRITE !!,"Please enter a year only!",!
GOTO BY
+11 IF BGPQTR=0
IF BGPQY="F"
SET BGPBBD=($EXTRACT(BGPVDT,1,3)-1)_"1001"
SET BGPBED=$EXTRACT(BGPVDT,1,3)_"0930"
GOTO N
+12 IF BGPQTR=1
SET BGPBBD=($EXTRACT(BGPVDT,1,3)-1)_"1001"
SET BGPBED=($EXTRACT(BGPVDT,1,3)-1)_"1231"
GOTO N
+13 IF BGPQTR=0
IF BGPQY="A"
SET BGPBBD=($EXTRACT(BGPVDT,1,3)-1)_"0701"
SET BGPBED=$EXTRACT(BGPVDT,1,3)_"0630"
GOTO N
+14 IF BGPQTR=2
SET BGPBBD=$EXTRACT(BGPVDT,1,3)_"0101"
SET BGPBED=$EXTRACT(BGPVDT,1,3)_"0331"
GOTO N
+15 IF BGPQTR=3
SET BGPBBD=$EXTRACT(BGPVDT,1,3)_"0401"
SET BGPBED=$EXTRACT(BGPVDT,1,3)_"0630"
GOTO N
+16 IF BGPQTR=4
SET BGPBBD=$EXTRACT(BGPVDT,1,3)_"0701"
SET BGPBED=$EXTRACT(BGPVDT,1,3)_"0930"
GOTO N
N SET BGPPBD=($EXTRACT(BGPBD,1,3)-1)_$EXTRACT(BGPBD,4,7)
+1 SET BGPPED=($EXTRACT(BGPED,1,3)-1)_$EXTRACT(BGPED,4,7)
+2 WRITE !!,"The date ranges for this report are:"
+3 WRITE !?5,"Reporting Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
+4 WRITE !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
+5 WRITE !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
ASU ;
+1 SET BGPSUCNT=0
+2 SET BGPRPTT=""
+3 SET DIR(0)="S^A:AREA Aggregate;F:One Facility"
SET DIR("A")="Run Report for"
SET DIR("B")="A"
KILL DA
DO ^DIR
KILL DIR
+4 IF $DATA(DIRUT)
GOTO BY
+5 SET BGPRPTT=Y
+6 IF BGPRPTT="F"
Begin DoDot:1
+7 SET BGPSUCNT=0
SET BGPSU=""
SET BGPSUC=""
KILL BGPSUL
+8 KILL BGPSUL
SET BGPX=0
FOR
SET BGPX=$ORDER(^BGPD(BGPX))
IF BGPX'=+BGPX
QUIT
SET V=^BGPD(BGPX,0)
IF $PIECE(V,U)=BGPBD
IF $PIECE(V,U,2)=BGPED
IF $PIECE(V,U,3)=BGPPER
IF $PIECE(V,U,4)=BGPQTR
SET BGPSUL(BGPX)=""
SET BGPSUCNT=BGPSUCNT+1
+9 IF '$DATA(BGPSUL)
WRITE !!,"No data from that time period has been uploaded from the service units.",!
SET BGPQUIT=1
QUIT
+10 WRITE !!,"Data from the following Facilities has been received.",!,"Please select the facility.",!
+11 KILL BGPSUL1
SET X=0
SET C=0
FOR
SET X=$ORDER(BGPSUL(X))
IF X'=+X
QUIT
SET C=C+1
SET BGPSUL1(C)=X
+12 SET X=0
FOR
SET X=$ORDER(BGPSUL1(X))
IF X'=+X
QUIT
SET BGP0=^BGPD(BGPSUL1(X),0)
WRITE !?2,X,")",?5,"FY: ",$$FMTE^XLFDT($PIECE(BGP0,U,3)),?15,"QTR: ",$$VAL^XBDIQ1(90240.01,BGPSUL1(X),.04),?30,"SU: ",$$SU($PIECE(BGP0,U,6)),?55,"Facility: ",$EXTRACT($$FAC($PIECE(BGP0,U,5)),1,15)
+13 WRITE !?2,"0)",?5,"None of the Above"
+14 SET DIR(0)="N^0:"_C_":0"
SET DIR("A")="Please Select the Facility"
SET DIR("B")="0"
KILL DA
DO ^DIR
KILL DIR
+15 IF $DATA(DIRUT)
SET BGPQUIT=1
QUIT
+16 IF 'Y
SET BGPQUIT=1
QUIT
+17 KILL BGPSUL
SET BGPSUL(BGPSUL1(Y))=""
SET BGPSUCNT=1
SET X=$PIECE(^BGPD(BGPSUL1(Y),0),U,5)
SET X=$ORDER(^AUTTLOC("C",X,0))
IF X
SET BGPSUNM=$PIECE(^DIC(4,X,0),U)
+18 QUIT
End DoDot:1
IF $DATA(BGPQUIT)
GOTO ASU
+19 IF BGPRPTT="F"
GOTO ZIS
GETSU ;
+1 KILL BGPSUL
SET BGPX=0
FOR
SET BGPX=$ORDER(^BGPD(BGPX))
IF BGPX'=+BGPX
QUIT
SET V=^BGPD(BGPX,0)
IF $PIECE(V,U)=BGPBD
IF $PIECE(V,U,2)=BGPED
IF $PIECE(V,U,3)=BGPPER
IF $PIECE(V,U,4)=BGPQTR
IF $PIECE(V,U,8)=BGPBBD
IF $PIECE(V,U,9)=BGPBED
SET BGPSUL(BGPX)=""
+2 IF '$DATA(BGPSUL)
WRITE !!,"No data from that time period has been uploaded from the service units.",!
GOTO INTRO
+3 WRITE !!,"Data from the following Facilities has been received and will be used",!,"in the Area Aggregate Report:",!
+4 SET X=0
FOR
SET X=$ORDER(BGPSUL(X))
IF X'=+X
QUIT
SET BGP0=^BGPD(X,0)
WRITE !?5,"FY: ",$$FMTE^XLFDT($PIECE(BGP0,U,3)),?15,"QTR: ",$$VAL^XBDIQ1(90240.01,X,.04),?30,"SU: ",$$SU($PIECE(BGP0,U,6)),?55,"Facility: ",$EXTRACT($$FAC($PIECE(BGP0,U,5)),1,15)
ZIS ;call to XBDBQUE
+1 SET BGPASUF=$PIECE(^AUTTLOC(DUZ(2),0),U,10)
+2 DO ^XBFMK
+3 KILL DIC,DIADD,DLAYGO,DR,DA,DD,X,Y,DINUM
+4 FOR X=1:1:30
SET BGPIND(X)=""
+5 ;
+6 WRITE !!
SET %ZIS="PQM"
DO ^%ZIS
+7 ;I POP W !,"Report Aborted" S DA=BGPRPT,DIK="^BGPD(" D ^DIK K DIK D EXIT Q
+8 IF $DATA(IO("Q"))
GOTO TSKMN
DRIVER ;
+1 USE IO
+2 DO PRINT^BGPDPARP
+3 DO ^%ZISC
+4 DO EXIT
+5 QUIT
+6 ;
TSKMN ;EP ENTRY POINT FROM TASKMAN
+1 SET ZTIO=$SELECT($DATA(ION):ION,1:IO)
IF $DATA(IOST)#2
IF IOST]""
SET ZTIO=ZTIO_";"_IOST
+2 IF $GET(IO("DOC"))]""
SET ZTIO=ZTIO_";"_$GET(IO("DOC"))
+3 IF $DATA(IOM)#2
IF IOM
SET ZTIO=ZTIO_";"_IOM
IF $DATA(IOSL)#2
IF IOSL
SET ZTIO=ZTIO_";"_IOSL
+4 KILL ZTSAVE
SET ZTSAVE("BGP*")=""
+5 SET ZTCPU=$GET(IOCPU)
SET ZTRTN="DRIVER^BGPDAREA"
SET ZTDTH=""
SET ZTDESC="GPRA REPORT"
DO ^%ZTLOAD
DO EXIT
QUIT
+6 QUIT
OLD ;
+1 SET XBRP="PRINT^BGPDPARP"
SET XBRC=""
SET XBRX="EXIT^BGPDAREA"
SET XBNS="BGP"
+2 DO ^XBDBQUE
+3 DO EXIT
+4 QUIT
+5 ;
FAC(S) ;
+1 NEW N
SET N=$ORDER(^AUTTLOC("C",S,0))
+2 IF N=""
QUIT N
+3 QUIT $PIECE(^DIC(4,N,0),U)
SU(S) ;
+1 NEW N
SET N=$ORDER(^AUTTSU("C",S,0))
+2 IF N=""
QUIT N
+3 QUIT $PIECE(^AUTTSU(N,0),U)
EXIT ;
+1 DO EN^XBVK("BGP")
+2 DO KILL^AUPNPAT
+3 DO ^XBFMK
+4 QUIT
+5 ;
Q ;which quarter
+1 SET DIR(0)="N^1:4:0"
SET DIR("A")="Which Quarter"
KILL DA
DO ^DIR
KILL DIR
+2 IF $DATA(DIRUT)!(Y="")
SET BGPQUIT=""
QUIT
+3 SET BGPQTR=Y
+4 IF Y=1
SET BGPBD=($EXTRACT(BGPPER,1,3)-1)_"1001"
SET BGPED=($EXTRACT(BGPPER,1,3)-1)_"1231"
QUIT
+5 IF Y=2
SET BGPBD=$EXTRACT(BGPPER,1,3)_"0101"
SET BGPED=$EXTRACT(BGPPER,1,3)_"0331"
QUIT
+6 IF Y=3
SET BGPBD=$EXTRACT(BGPPER,1,3)_"0401"
SET BGPED=$EXTRACT(BGPPER,1,3)_"0630"
QUIT
+7 IF Y=4
SET BGPBD=$EXTRACT(BGPPER,1,3)_"0701"
SET BGPED=$EXTRACT(BGPPER,1,3)_"0930"
QUIT
+8 QUIT
Y ;fiscal year
+1 WRITE !
+2 SET BGPVDT=""
+3 WRITE !,"Enter the YEAR of interest. Use a 4 digit year, e.g. 2002"
+4 SET DIR(0)="D^::EP"
+5 SET DIR("A")="Enter the year (e.g. 1999)"
+6 SET DIR("?")="This report is compiled for a period. Enter a valid date."
+7 DO ^DIR
+8 KILL DIC
+9 IF $DATA(DUOUT)
SET DIRUT=1
SET BGPQUIT=""
QUIT
+10 SET BGPVDT=Y
+11 IF $EXTRACT(Y,4,7)'="0000"
WRITE !!,"Please enter a year only!",!
GOTO Y
+12 SET BGPPER=BGPVDT
+13 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 ;