LRCAPR3 ;DALISC/PAC/FHS/JBM - WKLD REP GENERATOR-PRINT 1 ;10/16/92 16:49
;;5.2;LAB SERVICE;**201**;Sep 27, 1994
EN ;
D INIT1
D:('LREND)&(LRANS="D") DET
D:('LREND)&(LRANS="D") INIT2
D:'LREND COND^LRCAPR3A
D:'LREND TOTAL
D CLEAN^LRCAPR4
Q
INIT1 ;
W:$E(IOST,1,2)="C-" @IOF
S (LREND,LRCONT)=0,(LRPG,LRFL)=1
K LRSTR,LRDSH
S LRDT=$$FMTE^XLFDT($$NOW^XLFDT,"1M")
S $P(LRSTR,"*",80)="*",$P(LRDSH,"-",80)="-"
D BLDHDR^LRCAPR4 I 'LRHDRFIT D REPHDR^LRCAPR4 Q:LREND
I '$D(^TMP("LR",$J,"TST/TOT")) D
. W !!,"*** NO DATA TO REPORT ***"
. D PAUSE^LRCAPR4 Q:LREND
. S LREND=1
Q:LREND
S LRSUM=^TMP("LR",$J,"TST/TOT")
S LRDT=$$FMTE^XLFDT($$NOW^XLFDT,"1M")
K %H,%I,X
Q
INIT2 ;
S LRANS="C" ; condense rpt
I $E(IOST,1,2)="C-" D
. S DY=IOSL-3,DX=0
. X:$D(IOXY) IOXY
. W $C(7),!?60,"*** new heading ***"
. D PAUSE^LRCAPR4 Q:LREND
W @IOF
Q
DET ;
S LRTST="",K=0
F S LRTST=$O(^TMP("LR",$J,"TST",LRTST)) Q:(LRTST="")!(LREND) D
. S LRLC="",LRSUBH=1
. F S LRLC=$O(^TMP("LR",$J,"TST",LRTST,LRLC)) Q:(LRLC="")!(LREND) D
. . S LRSUBH=1
. . S LRCAP=""
. . F S LRCAP=$O(^TMP("LR",$J,"TST",LRTST,LRLC,LRCAP)) Q:(LRCAP="")!(LREND) S LRCPT=^(LRCAP) D
. . . S LRAA="",J=0,LRSUBH=1
. . . F S LRAA=$O(^TMP("LR",$J,"TST",LRTST,LRLC,LRCAP,LRAA)) Q:(LRAA="")!(LREND) D
. . . . S LRCNT=""
. . . . F S LRCNT=$O(^TMP("LR",$J,"TST",LRTST,LRLC,LRCAP,LRAA,LRCNT)) Q:(LRCNT="")!(LREND) D
. . . . . S J=J+1
. . . . . I LRFL D HDR^LRCAPR4 S LRFL=0
. . . . . S X=^TMP("LR",$J,"TST",LRTST,LRLC,LRCAP,LRAA,LRCNT)
. . . . . S LRCODE=$P(X,U,2),LRURGNAM=$S($P(X,U,3)="":"",1:"**")
. . . . . S Y=$P(X,U,1) D DD^%DT S LRVD=Y
. . . . . I LRSUBH D SUBH^LRCAPR4 S LRSUBH=0
. . . . . W !,LRURGNAM,?3,LRAA,?36,LRVD
. . . . . S K=K+1 Q:K=LRSUM
. . . . . I $Y+6>IOSL D
. . . . . . D UP^LRCAPR4 Q:LREND
. . . . . . W @IOF D HDR^LRCAPR4
. . . . . . I J<LRCPT D SUBH^LRCAPR4
Q:LREND
I $E(IOST,1,2)="C-" D
. S DY=IOSL-2,DX=0
. X:$D(IOXY) IOXY
. W $C(7),!?56,"*** new sub-heading ***"
. D PAUSE^LRCAPR4
Q:LREND
W @IOF D HDR1^LRCAPR4
D DATE
Q
DATE ;
S LRSUBH1="TOTAL TESTS by METHODOLOGY by DAY"_" ( "_LRSUM_" )"
W:$D(^TMP("LR",$J,"DAY")) !!?15,LRSUBH1,!?15,$E(LRDSH,1,$L(LRSUBH1))
S LRDAT=0
F S LRDAT=$O(^TMP("LR",$J,"DAY",LRDAT)) Q:('LRDAT)!(LREND) D
. S LRDATX=^TMP("LR",$J,"DAY",LRDAT)
. I $Y+6>IOSL D UP1^LRCAPR4 Q:LREND
. S Y=LRDAT D DD^%DT S LRDATD=Y W !!,">>>",?15,LRDATD," = ",LRDATX
. W ?35,$J($FN($S(LRSUM:LRDATX/LRSUM,1:0)*100,"",2),5),"% of Grand Total"
. S LRMAC=""
. F S LRMAC=$O(^TMP("LR",$J,"DAY",LRDAT,LRMAC)) Q:(LRMAC="")!(LREND) S LRMCT=^(LRMAC) D
. . I $Y+6>IOSL D UP1^LRCAPR4 Q:LREND
. . W !?1,"by ",LRMAC," = ",LRMCT," "
. . W $J($FN($S(LRDATX:LRMCT/LRDATX,1:0)*100,"",2),5)_"% of days workload"
. . S LRTEST=""
. . F I=0:1 S LRTEST=$O(^TMP("LR",$J,"DAY",LRDAT,LRMAC,LRTEST)) Q:(LRTEST="")!(LREND) S LRTMTOT=^(LRTEST) D
. . . S X=I#2 W:'X ! W ?X*40+1,LRTEST," = "
. . . W $J(LRTMTOT,4)_" "_$J($FN($S(LRMCT:LRTMTOT/LRMCT,1:0)*100,"",2),5)_"%"
. . . I X,$Y+6>IOSL D UP1^LRCAPR4 Q:LREND
Q
TOTAL ;
I $Y+6>IOSL D
. W $C(7)
. D PAUSE^LRCAPR4 Q:LREND
. W @IOF D HDR1^LRCAPR4
Q:LREND
W !!!?10,"GRAND TOTAL of TESTS DONE = "_LRSUM_" 100.00%"
W !!,?25," ***** end of report *****"
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRCAPR3 3334 printed Nov 22, 2024@17:23:23 Page 2
LRCAPR3 ;DALISC/PAC/FHS/JBM - WKLD REP GENERATOR-PRINT 1 ;10/16/92 16:49
+1 ;;5.2;LAB SERVICE;**201**;Sep 27, 1994
EN ;
+1 DO INIT1
+2 if ('LREND)&(LRANS="D")
DO DET
+3 if ('LREND)&(LRANS="D")
DO INIT2
+4 if 'LREND
DO COND^LRCAPR3A
+5 if 'LREND
DO TOTAL
+6 DO CLEAN^LRCAPR4
+7 QUIT
INIT1 ;
+1 if $EXTRACT(IOST,1,2)="C-"
WRITE @IOF
+2 SET (LREND,LRCONT)=0
SET (LRPG,LRFL)=1
+3 KILL LRSTR,LRDSH
+4 SET LRDT=$$FMTE^XLFDT($$NOW^XLFDT,"1M")
+5 SET $PIECE(LRSTR,"*",80)="*"
SET $PIECE(LRDSH,"-",80)="-"
+6 DO BLDHDR^LRCAPR4
IF 'LRHDRFIT
DO REPHDR^LRCAPR4
if LREND
QUIT
+7 IF '$DATA(^TMP("LR",$JOB,"TST/TOT"))
Begin DoDot:1
+8 WRITE !!,"*** NO DATA TO REPORT ***"
+9 DO PAUSE^LRCAPR4
if LREND
QUIT
+10 SET LREND=1
End DoDot:1
+11 if LREND
QUIT
+12 SET LRSUM=^TMP("LR",$JOB,"TST/TOT")
+13 SET LRDT=$$FMTE^XLFDT($$NOW^XLFDT,"1M")
+14 KILL %H,%I,X
+15 QUIT
INIT2 ;
+1 ; condense rpt
SET LRANS="C"
+2 IF $EXTRACT(IOST,1,2)="C-"
Begin DoDot:1
+3 SET DY=IOSL-3
SET DX=0
+4 if $DATA(IOXY)
XECUTE IOXY
+5 WRITE $CHAR(7),!?60,"*** new heading ***"
+6 DO PAUSE^LRCAPR4
if LREND
QUIT
End DoDot:1
+7 WRITE @IOF
+8 QUIT
DET ;
+1 SET LRTST=""
SET K=0
+2 FOR
SET LRTST=$ORDER(^TMP("LR",$JOB,"TST",LRTST))
if (LRTST="")!(LREND)
QUIT
Begin DoDot:1
+3 SET LRLC=""
SET LRSUBH=1
+4 FOR
SET LRLC=$ORDER(^TMP("LR",$JOB,"TST",LRTST,LRLC))
if (LRLC="")!(LREND)
QUIT
Begin DoDot:2
+5 SET LRSUBH=1
+6 SET LRCAP=""
+7 FOR
SET LRCAP=$ORDER(^TMP("LR",$JOB,"TST",LRTST,LRLC,LRCAP))
if (LRCAP="")!(LREND)
QUIT
SET LRCPT=^(LRCAP)
Begin DoDot:3
+8 SET LRAA=""
SET J=0
SET LRSUBH=1
+9 FOR
SET LRAA=$ORDER(^TMP("LR",$JOB,"TST",LRTST,LRLC,LRCAP,LRAA))
if (LRAA="")!(LREND)
QUIT
Begin DoDot:4
+10 SET LRCNT=""
+11 FOR
SET LRCNT=$ORDER(^TMP("LR",$JOB,"TST",LRTST,LRLC,LRCAP,LRAA,LRCNT))
if (LRCNT="")!(LREND)
QUIT
Begin DoDot:5
+12 SET J=J+1
+13 IF LRFL
DO HDR^LRCAPR4
SET LRFL=0
+14 SET X=^TMP("LR",$JOB,"TST",LRTST,LRLC,LRCAP,LRAA,LRCNT)
+15 SET LRCODE=$PIECE(X,U,2)
SET LRURGNAM=$SELECT($PIECE(X,U,3)="":"",1:"**")
+16 SET Y=$PIECE(X,U,1)
DO DD^%DT
SET LRVD=Y
+17 IF LRSUBH
DO SUBH^LRCAPR4
SET LRSUBH=0
+18 WRITE !,LRURGNAM,?3,LRAA,?36,LRVD
+19 SET K=K+1
if K=LRSUM
QUIT
+20 IF $Y+6>IOSL
Begin DoDot:6
+21 DO UP^LRCAPR4
if LREND
QUIT
+22 WRITE @IOF
DO HDR^LRCAPR4
+23 IF J<LRCPT
DO SUBH^LRCAPR4
End DoDot:6
End DoDot:5
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+24 if LREND
QUIT
+25 IF $EXTRACT(IOST,1,2)="C-"
Begin DoDot:1
+26 SET DY=IOSL-2
SET DX=0
+27 if $DATA(IOXY)
XECUTE IOXY
+28 WRITE $CHAR(7),!?56,"*** new sub-heading ***"
+29 DO PAUSE^LRCAPR4
End DoDot:1
+30 if LREND
QUIT
+31 WRITE @IOF
DO HDR1^LRCAPR4
+32 DO DATE
+33 QUIT
DATE ;
+1 SET LRSUBH1="TOTAL TESTS by METHODOLOGY by DAY"_" ( "_LRSUM_" )"
+2 if $DATA(^TMP("LR",$JOB,"DAY"))
WRITE !!?15,LRSUBH1,!?15,$EXTRACT(LRDSH,1,$LENGTH(LRSUBH1))
+3 SET LRDAT=0
+4 FOR
SET LRDAT=$ORDER(^TMP("LR",$JOB,"DAY",LRDAT))
if ('LRDAT)!(LREND)
QUIT
Begin DoDot:1
+5 SET LRDATX=^TMP("LR",$JOB,"DAY",LRDAT)
+6 IF $Y+6>IOSL
DO UP1^LRCAPR4
if LREND
QUIT
+7 SET Y=LRDAT
DO DD^%DT
SET LRDATD=Y
WRITE !!,">>>",?15,LRDATD," = ",LRDATX
+8 WRITE ?35,$JUSTIFY($FNUMBER($SELECT(LRSUM:LRDATX/LRSUM,1:0)*100,"",2),5),"% of Grand Total"
+9 SET LRMAC=""
+10 FOR
SET LRMAC=$ORDER(^TMP("LR",$JOB,"DAY",LRDAT,LRMAC))
if (LRMAC="")!(LREND)
QUIT
SET LRMCT=^(LRMAC)
Begin DoDot:2
+11 IF $Y+6>IOSL
DO UP1^LRCAPR4
if LREND
QUIT
+12 WRITE !?1,"by ",LRMAC," = ",LRMCT," "
+13 WRITE $JUSTIFY($FNUMBER($SELECT(LRDATX:LRMCT/LRDATX,1:0)*100,"",2),5)_"% of days workload"
+14 SET LRTEST=""
+15 FOR I=0:1
SET LRTEST=$ORDER(^TMP("LR",$JOB,"DAY",LRDAT,LRMAC,LRTEST))
if (LRTEST="")!(LREND)
QUIT
SET LRTMTOT=^(LRTEST)
Begin DoDot:3
+16 SET X=I#2
if 'X
WRITE !
WRITE ?X*40+1,LRTEST," = "
+17 WRITE $JUSTIFY(LRTMTOT,4)_" "_$JUSTIFY($FNUMBER($SELECT(LRMCT:LRTMTOT/LRMCT,1:0)*100,"",2),5)_"%"
+18 IF X
IF $Y+6>IOSL
DO UP1^LRCAPR4
if LREND
QUIT
End DoDot:3
End DoDot:2
End DoDot:1
+19 QUIT
TOTAL ;
+1 IF $Y+6>IOSL
Begin DoDot:1
+2 WRITE $CHAR(7)
+3 DO PAUSE^LRCAPR4
if LREND
QUIT
+4 WRITE @IOF
DO HDR1^LRCAPR4
End DoDot:1
+5 if LREND
QUIT
+6 WRITE !!!?10,"GRAND TOTAL of TESTS DONE = "_LRSUM_" 100.00%"
+7 WRITE !!,?25," ***** end of report *****"
+8 QUIT