LRRP7 ;DALISC/J0 - MANUAL WKLD STATS REPORT ;8/11/97
;;5.2;LAB SERVICE;**1,63,121**;Sep 27, 1994
EN ;*** Entry point and control block ***
S LREND=0
D ASK
DQ ;
D:'LREND INIT
D:'LREND BUILD
D:'LREND PRNTMAN^LRCAPMR1
D CLN
Q
;
INIT ;*** Initialize some variables ***
K ^TMP("LR",$J)
U IO
W:$E(IOST,1,2)="C-" @IOF
D PRTINIT^LRCAPU
S LRHDR="WORKLOAD STATISTICS BY ACCESSION AREA AND SHIFTS"
S LRHDR2=LRDTH
Q
;
CLN ;*** Clean up ***
D ^%ZISC,PRTCLN^LRCAPU,WKLDCLN^LRCAPU,CLNMAN^LRCAPMR1
K ^TMP("LR",$J)
K LRCDT,LRFR,LRFRV,LRFRD,LRTO,LRTOV,LRTOD,LRDTH,LRDSH,LRSTRT,LRSTOP,LRUC
K LRCAPS,LRCC,LRCAPNAM,LRCAPNUM,LRCAPFLG,LRCAPIFN,LRA,LRAA,LRCCNT,LRANAM
K LRREC,LRTIM,LRRPT,LREND,LRST,LRSTFLG,LRNSFT,LRSHFT,LRIN,LRPCT,LRSCNT
K LRACNT,LRGCNT,LRCONT,LRSQRM,LRMNODE,LRGSTND,LRGQC,LRGRPT,LRGMANL,LRDR
K LRDATE,LRCOM,LRTCOM,LRCOMM,LRCM
K DIC,DIR,X,Y,%ZIS,POP,ZTRTN,ZTDESC,ZTSAVE,ZTSK,DTOUT,DUOUT,DIRUT
Q
ASK ;
D INST Q:LREND
D DATE^LRCAPR1A S:Y=-1 LREND=1
D CAPS Q:LREND
D DEVICE Q:LREND
Q
INST ;*** Query for institution ***
K DIC
W @IOF,!
S DIC="^LRO(64.1,",DIC(0)="AQENM" D ^DIC
I (+Y<0)!($D(DUOUT))!($D(DTOUT)) S LREND=1 Q
S LRIN=+Y
Q
CAPS ;*** Query for CAP codes ***
N I S LRCAPS=0 K DIR,X,Y
S DIR(0)="S^Y:YES;N:NO",DIR("B")="NO"
S DIR("A")="Do you want to select workload codes (YES or NO) "
S DIR("?",1)="Enter 'NO' to include ALL workload codes."
S DIR("?")="Enter 'YES' to limit report to one or more workload codes."
D ^DIR
Q:Y="N"
I ($D(DTOUT))!($D(DUOUT)) S LREND=1 Q
W !
S DIC="^LAM(",DIC(0)="AQENM",DIC("A")="Select WKLD code:"
F I=1:1 D ^DIC Q:Y=-1 S LRCAPS(+Y)=$P(Y,U),LRCAPS=I
S:($D(DTOUT))!($D(DUOUT)) LREND=1
Q
DEVICE ;
K %ZIS,POP S %ZIS="Q" D ^%ZIS
I POP S LREND=1 Q
I $D(IO("Q")) D QUE S LREND=1
Q
QUE ;
S ZTSAVE("LR*")="",ZTRTN="DQ^LRRP7",ZTDESC="LR MANUAL WKLD REPORT"
D ^%ZTLOAD,^%ZISC
W:$G(ZTSK) !!,"TASK ",ZTSK," QUEUED." H 3
Q
BUILD ;
N LRGCN,LRCCN,LRDCN,X
S ^TMP("LR",$J,0)=0
D INITMAN^LRCAPMR1
I LRTO>LRFR S X=LRFR,LRFR=LRTO,LRTO=X
S LRCDT=LRTO-1
F S LRCDT=$O(^LRO(64.1,LRIN,1,LRCDT)) Q:('LRCDT)!(LRCDT>LRFR) D
. S LRCC=0
. F S LRCC=$O(^LRO(64.1,LRIN,1,LRCDT,1,LRCC)) Q:'LRCC D
. . I LRCAPS Q:'$D(LRCAPS(LRCC))
. . S LRCAPNAM=$$WKLDNAME^LRCAPU(LRCC)
. . D BMPMANL^LRCAPMR1
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRRP7 2346 printed Dec 13, 2024@02:20:03 Page 2
LRRP7 ;DALISC/J0 - MANUAL WKLD STATS REPORT ;8/11/97
+1 ;;5.2;LAB SERVICE;**1,63,121**;Sep 27, 1994
EN ;*** Entry point and control block ***
+1 SET LREND=0
+2 DO ASK
DQ ;
+1 if 'LREND
DO INIT
+2 if 'LREND
DO BUILD
+3 if 'LREND
DO PRNTMAN^LRCAPMR1
+4 DO CLN
+5 QUIT
+6 ;
INIT ;*** Initialize some variables ***
+1 KILL ^TMP("LR",$JOB)
+2 USE IO
+3 if $EXTRACT(IOST,1,2)="C-"
WRITE @IOF
+4 DO PRTINIT^LRCAPU
+5 SET LRHDR="WORKLOAD STATISTICS BY ACCESSION AREA AND SHIFTS"
+6 SET LRHDR2=LRDTH
+7 QUIT
+8 ;
CLN ;*** Clean up ***
+1 DO ^%ZISC
DO PRTCLN^LRCAPU
DO WKLDCLN^LRCAPU
DO CLNMAN^LRCAPMR1
+2 KILL ^TMP("LR",$JOB)
+3 KILL LRCDT,LRFR,LRFRV,LRFRD,LRTO,LRTOV,LRTOD,LRDTH,LRDSH,LRSTRT,LRSTOP,LRUC
+4 KILL LRCAPS,LRCC,LRCAPNAM,LRCAPNUM,LRCAPFLG,LRCAPIFN,LRA,LRAA,LRCCNT,LRANAM
+5 KILL LRREC,LRTIM,LRRPT,LREND,LRST,LRSTFLG,LRNSFT,LRSHFT,LRIN,LRPCT,LRSCNT
+6 KILL LRACNT,LRGCNT,LRCONT,LRSQRM,LRMNODE,LRGSTND,LRGQC,LRGRPT,LRGMANL,LRDR
+7 KILL LRDATE,LRCOM,LRTCOM,LRCOMM,LRCM
+8 KILL DIC,DIR,X,Y,%ZIS,POP,ZTRTN,ZTDESC,ZTSAVE,ZTSK,DTOUT,DUOUT,DIRUT
+9 QUIT
ASK ;
+1 DO INST
if LREND
QUIT
+2 DO DATE^LRCAPR1A
if Y=-1
SET LREND=1
+3 DO CAPS
if LREND
QUIT
+4 DO DEVICE
if LREND
QUIT
+5 QUIT
INST ;*** Query for institution ***
+1 KILL DIC
+2 WRITE @IOF,!
+3 SET DIC="^LRO(64.1,"
SET DIC(0)="AQENM"
DO ^DIC
+4 IF (+Y<0)!($DATA(DUOUT))!($DATA(DTOUT))
SET LREND=1
QUIT
+5 SET LRIN=+Y
+6 QUIT
CAPS ;*** Query for CAP codes ***
+1 NEW I
SET LRCAPS=0
KILL DIR,X,Y
+2 SET DIR(0)="S^Y:YES;N:NO"
SET DIR("B")="NO"
+3 SET DIR("A")="Do you want to select workload codes (YES or NO) "
+4 SET DIR("?",1)="Enter 'NO' to include ALL workload codes."
+5 SET DIR("?")="Enter 'YES' to limit report to one or more workload codes."
+6 DO ^DIR
+7 if Y="N"
QUIT
+8 IF ($DATA(DTOUT))!($DATA(DUOUT))
SET LREND=1
QUIT
+9 WRITE !
+10 SET DIC="^LAM("
SET DIC(0)="AQENM"
SET DIC("A")="Select WKLD code:"
+11 FOR I=1:1
DO ^DIC
if Y=-1
QUIT
SET LRCAPS(+Y)=$PIECE(Y,U)
SET LRCAPS=I
+12 if ($DATA(DTOUT))!($DATA(DUOUT))
SET LREND=1
+13 QUIT
DEVICE ;
+1 KILL %ZIS,POP
SET %ZIS="Q"
DO ^%ZIS
+2 IF POP
SET LREND=1
QUIT
+3 IF $DATA(IO("Q"))
DO QUE
SET LREND=1
+4 QUIT
QUE ;
+1 SET ZTSAVE("LR*")=""
SET ZTRTN="DQ^LRRP7"
SET ZTDESC="LR MANUAL WKLD REPORT"
+2 DO ^%ZTLOAD
DO ^%ZISC
+3 if $GET(ZTSK)
WRITE !!,"TASK ",ZTSK," QUEUED."
HANG 3
+4 QUIT
BUILD ;
+1 NEW LRGCN,LRCCN,LRDCN,X
+2 SET ^TMP("LR",$JOB,0)=0
+3 DO INITMAN^LRCAPMR1
+4 IF LRTO>LRFR
SET X=LRFR
SET LRFR=LRTO
SET LRTO=X
+5 SET LRCDT=LRTO-1
+6 FOR
SET LRCDT=$ORDER(^LRO(64.1,LRIN,1,LRCDT))
if ('LRCDT)!(LRCDT>LRFR)
QUIT
Begin DoDot:1
+7 SET LRCC=0
+8 FOR
SET LRCC=$ORDER(^LRO(64.1,LRIN,1,LRCDT,1,LRCC))
if 'LRCC
QUIT
Begin DoDot:2
+9 IF LRCAPS
if '$DATA(LRCAPS(LRCC))
QUIT
+10 SET LRCAPNAM=$$WKLDNAME^LRCAPU(LRCC)
+11 DO BMPMANL^LRCAPMR1
End DoDot:2
End DoDot:1
+12 QUIT