- LRCAPML2 ; IHS/DIR/FJE - WKLD COST REP BY MAJ SCTN @16:04 ; [ 2/6/91 ]
- ;;5.2;LR;;NOV 01, 1997
- ;
- ;;5.2;LAB SERVICE;;Sep 27, 1994
- EN ;
- TOP ;
- N LRCCNT,LRICNT,LROCNT,LRNCNT,LRACNT,LRCST,LRIST,LROST,LRNST,LRAST
- S LRHDR="WORKLOAD COST REPORT BY MAJOR SECTION"
- S LRHDR2="REPORT DATE RANGE: "_LRDT1_" - "_LRDT2
- D PRTINIT^LRCAPU
- S (LRGT,LRGTU)=0
- S LRGTREC=$G(^TMP("LR-WL",$J,0))
- I $L(LRGTREC) S LRGT=+$P(LRGTREC,U),LRGTU=+$P(LRGTREC,U,2)
- I $E(IOST,1,2)="C-" W @IOF
- D:'LRSUMM DET
- D:'LREND SUM^LRCAPML3
- D:'LREND PRNTMAN^LRCAPMR1
- D:'LREND COMM^LRCAPMR2
- Q
- DET ;Detailed section
- F LRLDIV="AP","CP" D Q:LREND
- . S LRHDR3=$S(LRLDIV="AP":"ANATOMIC PATHOLOGY",1:"CLINICAL PATHOLOGY")
- . S LRIN=0
- . F S LRIN=$O(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN)) Q:('LRIN)!(LREND) D
- . . S LRINN=$S($L($G(^DIC(4,LRIN,0))):$P(^(0),U),1:LRIN)
- . . S (LRIGT,LRIGTU)=0
- . . S LRGTREC=$G(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,0))
- . . I $L(LRGTREC) S LRIGT=+$P(LRGTREC,U),LRIGTU=+$P(LRGTREC,U,2)
- . . D PRTDET
- . . D:('LREND)&(LRIGTU) INSTSUM
- Q
- PRTDET ; PRINT THE REPORT
- D HDR^LRCAPU
- W !,?(80-$L(LRINN)\2),LRINN,!!
- S LRMAA=0
- F S LRMAA=$O(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA)) Q:(LRMAA="")!($G(LREND)) D
- . S LRLSSA=""
- . F S LRLSSA=$O(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA)) Q:(LRLSSA)=""!(LREND) D LSS Q:LREND
- Q:LREND
- I $Y>(IOSL-5) D NPG^LRCAPU Q:LREND W !,?(80-$L(LRINN)\2),LRINN,!!
- I 'LRIGTU D
- . W !!!,"NO DATA FOR THIS INSTITUTION AND DATE RANGE",!
- E D
- . W !!!,"GRAND TOTAL",?52,$J(LRIGTU,7),?65,$J(LRIGT,9,2),!
- D:($E(IOST,1,2)="C-")&('LREND) PAUSE^LRCAPU W @IOF
- Q
- INSTSUM ;
- S LRLAB="!!,?(80-7\2),""SUMMARY"",!,?(80-$L(LRINN)\2),LRINN,!!,""MAJOR SECTION"",?15,""LAB SUBSECTION"",?31,""UNIT COUNT"",?45,"" %"",?55,""TOTAL COST"",?70,"" %"",!"
- D HDR^LRCAPU W @LRLAB
- S LRMAA=""
- F S LRMAA=$O(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA)) Q:(LRMAA="")!(LREND) D
- . S LRLSSA=""
- . F S LRLSSA=$O(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA)) Q:(LRLSSA="")!(LREND) D PSUM
- I $Y>(IOSL-4) D NPG^LRCAPU Q:LREND W @LRLAB
- W !!,"GRAND TOTAL",?31,$J(LRIGTU,7),?55,$J(LRIGT,9,2)
- D:($E(IOST,1,2)="C-")&('LREND) PAUSE^LRCAPU W @IOF
- Q
- PSUM ;
- Q:LREND
- S LRX=$G(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,0))
- Q:'$L(LRX)
- I $Y>(IOSL-3) D NPG^LRCAPU Q:LREND W @LRLAB
- W !,$E(LRMAN(LRMAA),1,14),?15,$E(LRLSSN(LRLSSA),1,15)
- W ?31,$J($P(LRX,U,2),7),?45,$J($P(LRX,U,2)/LRIGTU*100,5,1)
- W ?55,$J($P(LRX,U,1),9,2)
- W ?70,$J($P(LRX,U)/$S(LRIGT=0:1,1:LRIGT)*100,5,1),!
- Q
- LSS ;
- S LRLAB="!!,""MAJOR SECTION: "",LRMAN(LRMAA),!,""LAB SUBSECTION: "",LRLSSN(LRLSSA),!!,""CODE"",?11,""PROCEDURE"",?42,""UNIT COST"",?53,""UNIT COUNT"",?65,""TOTAL COST"",?70,"" %"",!"
- I $Y>(IOSL-7) D NPG^LRCAPU Q:LREND W !,?(80-$L(LRINN)\2),LRINN,!
- W @LRLAB
- S LRX=$G(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,0))
- S LRST=$P(LRX,U),LRSTU=$P(LRX,U,2)
- S LRCC=0
- F S LRCC=$O(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,LRCC)) Q:(LRCC="")!(LREND) D PCC
- Q:LREND
- I $Y>(IOSL-4) D NPG^LRCAPU Q:LREND W !,?(80-$L(LRINN)\2),LRINN,!,@LRLAB
- W !,?40,"SUB TOTAL",?52,$J(LRSTU,7),?65,$J(LRST,9,2)
- Q
- PCC ;
- S LRX=$G(^TMP("LR-WL",$J,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,LRCC))
- I $Y+3>IOSL D NPG^LRCAPU Q:LREND W !,?(80-$L(LRINN)\2),LRINN,!,@LRLAB
- W $P(LRX,"^",4),?11,$E(LRCC,1,30),?43,$J(+$P(LRX,"^",3),6,2)_$S($P(LRX,"^",3)["*":"*",1:"")
- W ?52,$J(+$P(LRX,"^"),7),?65,$J(+$P(LRX,"^",2),9,2)
- W ?75,$J($P(LRX,U)/$S(LRSTU=0:1,1:LRSTU)*100,5,1),!
- Q
- LRCAPML2 ; IHS/DIR/FJE - WKLD COST REP BY MAJ SCTN @16:04 ; [ 2/6/91 ]
- +1 ;;5.2;LR;;NOV 01, 1997
- +2 ;
- +3 ;;5.2;LAB SERVICE;;Sep 27, 1994
- EN ;
- TOP ;
- +1 NEW LRCCNT,LRICNT,LROCNT,LRNCNT,LRACNT,LRCST,LRIST,LROST,LRNST,LRAST
- +2 SET LRHDR="WORKLOAD COST REPORT BY MAJOR SECTION"
- +3 SET LRHDR2="REPORT DATE RANGE: "_LRDT1_" - "_LRDT2
- +4 DO PRTINIT^LRCAPU
- +5 SET (LRGT,LRGTU)=0
- +6 SET LRGTREC=$GET(^TMP("LR-WL",$JOB,0))
- +7 IF $LENGTH(LRGTREC)
- SET LRGT=+$PIECE(LRGTREC,U)
- SET LRGTU=+$PIECE(LRGTREC,U,2)
- +8 IF $EXTRACT(IOST,1,2)="C-"
- WRITE @IOF
- +9 IF 'LRSUMM
- DO DET
- +10 IF 'LREND
- DO SUM^LRCAPML3
- +11 IF 'LREND
- DO PRNTMAN^LRCAPMR1
- +12 IF 'LREND
- DO COMM^LRCAPMR2
- +13 QUIT
- DET ;Detailed section
- +1 FOR LRLDIV="AP","CP"
- Begin DoDot:1
- +2 SET LRHDR3=$SELECT(LRLDIV="AP":"ANATOMIC PATHOLOGY",1:"CLINICAL PATHOLOGY")
- +3 SET LRIN=0
- +4 FOR
- SET LRIN=$ORDER(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN))
- IF ('LRIN)!(LREND)
- QUIT
- Begin DoDot:2
- +5 SET LRINN=$SELECT($LENGTH($GET(^DIC(4,LRIN,0))):$PIECE(^(0),U),1:LRIN)
- +6 SET (LRIGT,LRIGTU)=0
- +7 SET LRGTREC=$GET(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,0))
- +8 IF $LENGTH(LRGTREC)
- SET LRIGT=+$PIECE(LRGTREC,U)
- SET LRIGTU=+$PIECE(LRGTREC,U,2)
- +9 DO PRTDET
- +10 IF ('LREND)&(LRIGTU)
- DO INSTSUM
- End DoDot:2
- End DoDot:1
- IF LREND
- QUIT
- +11 QUIT
- PRTDET ; PRINT THE REPORT
- +1 DO HDR^LRCAPU
- +2 WRITE !,?(80-$LENGTH(LRINN)\2),LRINN,!!
- +3 SET LRMAA=0
- +4 FOR
- SET LRMAA=$ORDER(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA))
- IF (LRMAA="")!($GET(LREND))
- QUIT
- Begin DoDot:1
- +5 SET LRLSSA=""
- +6 FOR
- SET LRLSSA=$ORDER(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA))
- IF (LRLSSA)=""!(LREND)
- QUIT
- DO LSS
- IF LREND
- QUIT
- End DoDot:1
- +7 IF LREND
- QUIT
- +8 IF $Y>(IOSL-5)
- DO NPG^LRCAPU
- IF LREND
- QUIT
- WRITE !,?(80-$LENGTH(LRINN)\2),LRINN,!!
- +9 IF 'LRIGTU
- Begin DoDot:1
- +10 WRITE !!!,"NO DATA FOR THIS INSTITUTION AND DATE RANGE",!
- End DoDot:1
- +11 IF '$TEST
- Begin DoDot:1
- +12 WRITE !!!,"GRAND TOTAL",?52,$JUSTIFY(LRIGTU,7),?65,$JUSTIFY(LRIGT,9,2),!
- End DoDot:1
- +13 IF ($EXTRACT(IOST,1,2)="C-")&('LREND)
- DO PAUSE^LRCAPU
- WRITE @IOF
- +14 QUIT
- INSTSUM ;
- +1 SET LRLAB="!!,?(80-7\2),""SUMMARY"",!,?(80-$L(LRINN)\2),LRINN,!!,""MAJOR SECTION"",?15,""LAB SUBSECTION"",?31,""UNIT COUNT"",?45,"" %"",?55,""TOTAL COST"",?70,"" %"",!"
- +2 DO HDR^LRCAPU
- WRITE @LRLAB
- +3 SET LRMAA=""
- +4 FOR
- SET LRMAA=$ORDER(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA))
- IF (LRMAA="")!(LREND)
- QUIT
- Begin DoDot:1
- +5 SET LRLSSA=""
- +6 FOR
- SET LRLSSA=$ORDER(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA))
- IF (LRLSSA="")!(LREND)
- QUIT
- DO PSUM
- End DoDot:1
- +7 IF $Y>(IOSL-4)
- DO NPG^LRCAPU
- IF LREND
- QUIT
- WRITE @LRLAB
- +8 WRITE !!,"GRAND TOTAL",?31,$JUSTIFY(LRIGTU,7),?55,$JUSTIFY(LRIGT,9,2)
- +9 IF ($EXTRACT(IOST,1,2)="C-")&('LREND)
- DO PAUSE^LRCAPU
- WRITE @IOF
- +10 QUIT
- PSUM ;
- +1 IF LREND
- QUIT
- +2 SET LRX=$GET(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,0))
- +3 IF '$LENGTH(LRX)
- QUIT
- +4 IF $Y>(IOSL-3)
- DO NPG^LRCAPU
- IF LREND
- QUIT
- WRITE @LRLAB
- +5 WRITE !,$EXTRACT(LRMAN(LRMAA),1,14),?15,$EXTRACT(LRLSSN(LRLSSA),1,15)
- +6 WRITE ?31,$JUSTIFY($PIECE(LRX,U,2),7),?45,$JUSTIFY($PIECE(LRX,U,2)/LRIGTU*100,5,1)
- +7 WRITE ?55,$JUSTIFY($PIECE(LRX,U,1),9,2)
- +8 WRITE ?70,$JUSTIFY($PIECE(LRX,U)/$SELECT(LRIGT=0:1,1:LRIGT)*100,5,1),!
- +9 QUIT
- LSS ;
- +1 SET LRLAB="!!,""MAJOR SECTION: "",LRMAN(LRMAA),!,""LAB SUBSECTION: "",LRLSSN(LRLSSA),!!,""CODE"",?11,""PROCEDURE"",?42,""UNIT COST"",?53,""UNIT COUNT"",?65,""TOTAL COST"",?70,"" %"",!"
- +2 IF $Y>(IOSL-7)
- DO NPG^LRCAPU
- IF LREND
- QUIT
- WRITE !,?(80-$LENGTH(LRINN)\2),LRINN,!
- +3 WRITE @LRLAB
- +4 SET LRX=$GET(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,0))
- +5 SET LRST=$PIECE(LRX,U)
- SET LRSTU=$PIECE(LRX,U,2)
- +6 SET LRCC=0
- +7 FOR
- SET LRCC=$ORDER(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,LRCC))
- IF (LRCC="")!(LREND)
- QUIT
- DO PCC
- +8 IF LREND
- QUIT
- +9 IF $Y>(IOSL-4)
- DO NPG^LRCAPU
- IF LREND
- QUIT
- WRITE !,?(80-$LENGTH(LRINN)\2),LRINN,!,@LRLAB
- +10 WRITE !,?40,"SUB TOTAL",?52,$JUSTIFY(LRSTU,7),?65,$JUSTIFY(LRST,9,2)
- +11 QUIT
- PCC ;
- +1 SET LRX=$GET(^TMP("LR-WL",$JOB,"DIV",LRLDIV,LRIN,LRMAA,LRLSSA,LRCC))
- +2 IF $Y+3>IOSL
- DO NPG^LRCAPU
- IF LREND
- QUIT
- WRITE !,?(80-$LENGTH(LRINN)\2),LRINN,!,@LRLAB
- +3 WRITE $PIECE(LRX,"^",4),?11,$EXTRACT(LRCC,1,30),?43,$JUSTIFY(+$PIECE(LRX,"^",3),6,2)_$SELECT($PIECE(LRX,"^",3)["*":"*",1:"")
- +4 WRITE ?52,$JUSTIFY(+$PIECE(LRX,"^"),7),?65,$JUSTIFY(+$PIECE(LRX,"^",2),9,2)
- +5 WRITE ?75,$JUSTIFY($PIECE(LRX,U)/$SELECT(LRSTU=0:1,1:LRSTU)*100,5,1),!
- +6 QUIT