VistA-FOIAVistA/r/PROSTHETICS-RMPR-RMPO-RMPS/RMPR5HQG.m

107 lines
3.9 KiB
Mathematica

RMPR5HQG ;HCIOFO/RVD - NPPD GROUP USAGE REPORT ; 15 AUG 00
;;3.0;PROSTHETICS;**51**;Feb 09, 1996
;
; HNC - added grand totals
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DQ1 ;print PIP Report
;$O the ^TMP( global for all the records
;print all records based on the sort criteria given.
I IOST["C-" W @IOF
;
F RST=0:0 S RST=$O(^TMP($J,R5,RST)) Q:RST'>0 S RSTN=$$STN^RMPR5HQL(RST),RPR=0 F RI=0:0 S RI=$O(^TMP($J,R5,RST,RI)) Q:$G(RFL) D:(RGRP'="")&(RGRP'=RI) SUMG1 Q:RI'>0 D
.D:RPR=0 HDRG
.S RGRP=RI
.S RNPGRP=RMARRAY(RI)
.S RJ=""
.F S RJ=$O(^TMP($J,R5,RST,RI,RJ)) Q:$G(RFL) Q:RJ="" D
..S RLINE=RJ,RNPLINE=$$NPLIN^RMPR5HQ5(RJ)
..S RK="" F S RK=$O(^TMP($J,R5,RST,RI,RJ,RK)) Q:$G(RFL)!(RK="") D
...S RL=""
...F S RL=$O(^TMP($J,R5,RST,RI,RJ,RK,RL)) Q:$G(RFL)!(RL="") D
....I RLCNT=0 D GLN1
....S RLCNT=RLCNT+1
....S RDAT=^TMP($J,R5,RST,RI,RJ,RK,RL)
....S RMVA=$P(RDAT,U,1)
....S RMCOM=$P(RDAT,U,2)
....S RMUSE=$P(RDAT,U,3)
....S RMISU=$P(RDAT,U,4)
....S RMISN=$P(RDAT,U,5)
....S RMAVEN=$P(RDAT,U,6)
....S RMDLEN=$P(RDAT,U,7)
....S RMQOHU=$P(RDAT,U,8)
....S RMQOHN=$P(RDAT,U,9)
....S RMVALU=$P(RDAT,U,10)
....S RMVALN=$P(RDAT,U,11)
....S RMAVEU=$P(RDAT,U,12)
....S RMDLEU=$P(RDAT,U,13)
....S RMGISUG=RMGISUG+RMISU
....S RMGISNG=RMGISNG+RMISN
....;
....S RMGTIU=RMGTIU+RMISU
....S RMGTIN=RMGTIN+RMISN
....;
....S RMGTOU=RMGTOU+RMVALU
....S RMGTON=RMGTON+RMVALN
....;total for GROUP
....I (RMCOM'=""),$G(RMCOM) S RTUSEGC=RTUSEGC+RMCOM
....I (RMVA'=""),$G(RMVA) S RTUSEGA=RTUSEGA+RMVA
....S RMTVAG=RMTVAG+RMVA
....S RMTCOMG=RMTCOMG+RMCOM
....S RMTISUG=RMTISUG+RMISU
....S RMTISNG=RMTISNG+RMISN
....S RMTQOHUG=RMTQOHUG+RMQOHU
....S RMTQOHNG=RMTQOHNG+RMQOHN
....S RMTVALUG=RMTVALUG+RMVALU
....S RMTVALNG=RMTVALNG+RMVALN
....S (RPRINT,RPR)=1
....I $Y+8>IOSL,IOST["C-" K DIR S DIR(0)="E" D ^DIR S:+Y'>0 RFL=1 Q:+Y'>0 W @IOF D HDRG,LBL1^RMPR5HQ2
....I $Y+8>IOSL,IOST'["C-" W @IOF D HDRG,LBL1^RMPR5HQ2
I '$G(RPRINT) W !!,"No Records to Print !!" Q
Q:$G(RFL)
W !!,REQ
S RMGTOT=RMGTOU+RMGTON
W !!,?10,"GRAND TOTAL $ VALUE ISSUED (Used) = ",?38,"$",$J($FN(RMGISUG,",",2),10)
W ?80,"GRAND TOTAL $ VALUE ON-HAND (Used) = ",?115,"$",$J($FN(RMGTOU,",",2),12)
W !,?10,"GRAND TOTAL $ VALUE ISSUED (New) = ",?38,"$",$J($FN(RMGISNG,",",2),10)
W ?80,"GRAND TOTAL $ VALUE ON-HAND (New) = ",?115,"$",$J($FN(RMGTON,",",2),12)
;W !,?80,"GRAND TOTAL $ VALUE ON-HAND = ",?68,"$"_$J($FN(RMGTOT,",",2),12)
W !,"<End of Report>"
Q
;
HDRG ;print heading.
Q:$G(RFL)
S RMPAGE=RMPAGE+1
W !,"PROSTHETIC INVENTORY NPPD GROUP REPORT",?50,"Run Date: ",RMRDATE,?100,"Page: ",RMPAGE
W !,"STATION: ",$E(RSTN,1,20)
W ?32,RMBD," - ",RMED," [ ",RMCALDAY," calendar days ]"
Q
;
GLN1 ;print NPPD GROUP and LINE header.
W !!,"ENTIRE SUMMARY"
D LBL1^RMPR5HQ2
Q
;
SUMG1 ;print summary total for NPPD GROUP
Q:$G(RFL)
W !,RLN
W !,RGRP," ",RNPGRP
S:$G(RTUSEGA) RTAVEGA=RTUSEGA/RMCALDAY
S:$G(RTUSEGC) RTAVEGC=RTUSEGC/RMCALDAY
S:$G(RTUSEGA) RTDLEGA=RMTQOHUG/RTAVEGA
S:$G(RTUSEGC) RTDLEGC=RMTQOHNG/RTAVEGC
S RTDLEGA=$S(RTDLEGA>999:">999",1:$J(RTDLEGA,5,0))
S RTDLEGC=$S(RTDLEGC>999:">999",1:$J(RTDLEGC,5,0))
S:RMTQOHNG=0 RTDLEGC=""
S:RMTQOHUG=0 RTDLEGA=""
S:(RMTQOHNG>0)&(RMTCOMG<1) RTDLEGC=">"_RMCALDAY
S:(RMTQOHUG>0)&(RMTVAG<1) RTDLEGA=">"_RMCALDAY
;next 2 lines for used:
W !,?5,"(Used)",?26,$J(RMTVAG,5),?34,$J($FN(RMTISUG,",",2),6),?40,"|",?59,"|",?60,$J(RTUSEGA,5),?67,"|",?71,$J(RTAVEGA,5,2),?78,"|"
W ?81,$J(RMTQOHUG,5),?94,"|",?97,$J(RTDLEGA,6),?103,"|",?104,$J($FN(RMTVALUG,",",2),11)
;next 2 lines for new:
W !,?5,"(New)",?40,"|",?41,$J(RMTCOMG,4),?49,$J($FN(RMTISNG,",",2),9),?59,"|",?60,$J(RTUSEGC,5),?67,"|",?71,$J(RTAVEGC,5,2),?78,"|"
W ?87,$J(RMTQOHNG,6),?94,"|",?97,$J(RTDLEGC,6),?103,"|",?116,$J($FN(RMTVALNG,",",2),11)
S (RMTVAG,RMTISUG,RMTCOMG,RMTISNG,RTUSEGA,RTUSEGC,RTAVEGA,RTAVEGC,RMTQOHUG,RMTQOHNG,RTDLEGA,RTDLEGC,RMTVALUG,RMTVALNG)=0
S (RNPGRP,RGRP)=""
Q