RMPR5HQC ;HCIOFO/RVD - NPPD LINE USAGE REPORT FOR HQ ; 06 OCT 00
;;3.0;PROSTHETICS;**51,61**;Feb 09, 1996
DQ1 ;print PIP Report
F RST=0:0 S RST=$O(^TMP($J,R5,RST)) Q:RST'>0 D:(RSTA'="")&(RSTA'=RST)&(RPR=1) HDRL S RSTA=RST F RI=0:0 S RI=$O(^TMP($J,R5,RST,RI)) D:(RGRP'="")&(RGRP'=RI) SUMG1 Q:$G(RFL)!(RI'>0) D
.D:RPR=0 HDRL
.S RGRP=RI
.S RNPGRP=RMARRAY(RI)
.S RJ=""
.F S RJ=$O(^TMP($J,R5,RST,RI,RJ)) Q:$G(RFL) D:(RLINE'="")&(RLINE'=RJ) SUML1 Q:RJ="" D
..S RLINE=RJ,RNPLINE=$$NPLIN^RMPR5HQ5(RJ)
..I RGCNT=0 S RGCNT=RGCNT+1
..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)
....;total for GROUP
....S RMTVAG=RMTVAG+RMVA
....S RMTCOMG=RMTCOMG+RMCOM
....S RMTUSEG=RMTUSEG+RMVA+RMCOM
....S RMTISUG=RMTISUG+RMISU
....S RMTISNG=RMTISNG+RMISN
....S RMTDLEG=RMTDLEG+RMDLEU+RMDLEN
....S RMTQOHUG=RMTQOHUG+RMQOHU
....S RMTQOHNG=RMTQOHNG+RMQOHN
....S RMTVALUG=RMTVALUG+RMVALU
....S RMTVALNG=RMTVALNG+RMVALN
....S RMGTOU=RMGTOU+RMVALU
....S RMGTON=RMGTON+RMVALN
....S RMGTIU=RMGTIU+RMISU
....S RMGTIN=RMGTIN+RMISN
....;total for line item
....S RMTVAL=RMTVAL+RMVA
....S RMTCOML=RMTCOML+RMCOM
....I (RMCOM'=""),$G(RMCOM) S RMTUSELN=RMTUSELN+RMCOM
....I (RMVA'=""),$G(RMVA) S RMTUSELU=RMTUSELU+RMVA
....S RMTISUL=RMTISUL+RMISU
....S RMTISNL=RMTISNL+RMISN
....S RMTQOHUL=RMTQOHUL+RMQOHU
....S RMTQOHNL=RMTQOHNL+RMQOHN
....S RMTVALUL=RMTVALUL+RMVALU
....S RMTVALNL=RMTVALNL+RMVALN
....S (RPRINT,RPR)=1
Q
;
HDRL ;print heading.
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=""
I RPR=1 D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=RES
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=""
S RPR=1
S RSTN=$$STN(RSTA)
D CNTRX^RMPR5HQA
S ^TMP($J,"RI",RC)="PROSTHETIC INVENTORY NPPD GROUP/LINE REPORT"_RB10_"Run Date: "_RMRDATE
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)="STATION: "_$E(RSTN,1,30)_RB6_RMBD_" - "_RMED_" [ "_RMCALDAY_" calendar days ]"
Q
;
GLN1 ;print NPPD GROUP and LINE header.
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=""
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=""
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=RNPGRP
D LBL1^RMPR5HQA
Q
;
SUML1 ;
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=RLINE_RB1_RNPLINE
S:$G(RMTUSELU) RMTAVELU=RMTUSELU/RMCALDAY
S:$G(RMTUSELN) RMTAVELN=RMTUSELN/RMCALDAY
S:$G(RMTUSELU) RTDLELA=RMTQOHUL/RMTAVELU
S:$G(RMTUSELN) RTDLELC=RMTQOHNL/RMTAVELN
S RTDLELA=$S(RTDLELA>999:">999",1:$J(RTDLELA,5,0))
S RTDLELC=$S(RTDLELC>999:">999",1:$J(RTDLELC,5,0))
S:RMTQOHNL=0 RTDLELC=""
S:RMTQOHUL=0 RTDLELA=""
S:(RMTQOHNL>0)&(RMTCOML<1) RTDLELC=">"_RMCALDAY
S:(RMTQOHUL>0)&(RMTVAL<1) RTDLELA=">"_RMCALDAY
S RMTAVEG=RTAVELA+RTAVELC
D CNTRX^RMPR5HQA
S ^TMP($J,"RI",RC)=" (Used)"_RB13_$J(RMTVAL,5)_RB1_$J($FN(RMTISUL,",",2),9)_RB1_"|"_RB18_"|"_RB1_$J(RMTUSELU,5)_RB1_"|"_RB1_$J(RMTAVELU,8,2)_RB1_"|"
S ^TMP($J,"RI",RC)=^TMP($J,"RI",RC)_RB1_$J(RMTQOHUL,6)_RB8_"|"_RB1_$J(RTDLELA,6)_RB1_"|"_RB1_$J($FN(RMTVALUL,",",2),11)
;next two lines print new total
D CNTRX^RMPR5HQA
S ^TMP($J,"RI",RC)=" (New)"_RB30_"|"_RB1_$J(RMTCOML,6)_RB1_$J($FN(RMTISNL,",",2),9)_RB1_"|"_RB1_$J(RMTUSELN,5)_RB1_"|"_RB1_$J(RMTAVELN,8,2)_RB1_"|"
S ^TMP($J,"RI",RC)=^TMP($J,"RI",RC)_RB6_$J(RMTQOHNL,8)_RB1_"|"_RB1_$J(RTDLELC,6)_RB1_"|"_RB12_$J($FN(RMTVALNL,",",2),11)
;
S (RMTVAL,RMTISUL,RMTCOML,RMTISNL,RMTUSELU,RMTAVELU,RMTAVELN,RMTQOHUL,RMTQOHNL,RMTVALUL,RMTVALNL)=0
S (RMTUSELN,RMTUSELU,RTDLELA,RTDLELC,RTAVELA,RTAVELC)=0
S (RNPLINE,RLINE)=""
Q
;
SUMG1 ;print summary total for NPPD GROUP
D CNTRX^RMPR5HQA S ^TMP($J,"RI",RC)=REQ
D CNTRX^RMPR5HQA
S ^TMP($J,"RI",RC)=RB24_$J(RMTVAG,5)_RB1_$J($FN(RMTISUG,",",2),9)_RB1_"|"_RB1_$J(RMTCOMG,6)_RB1_$J($FN(RMTISNG,",",2),9)_RB1_"|"_RB1_$J(RMTUSEG,5)_RB1_"|"_RB10_"|"
S ^TMP($J,"RI",RC)=^TMP($J,"RI",RC)_RB1_$J(RMTQOHUG,6)_RB1_$J(RMTQOHNG,6)_RB1_"|"_RB8_"|"_RB1_$J($FN(RMTVALUG,",",2),11)_$J($FN(RMTVALNG,",",2),11)
;W !,?26,$J(RMTVAG,5),?34,$J($FN(RMTISUG,",",2),6),?40,"|",?41,$J(RMTCOMG,4),?49,$J($FN(RMTISNG,",",2),9),?59,"|",?60,$J(RMTUSEG,5),?67,"|",?78,"|"
;W ?81,$J(RMTQOHUG,5),?87,$J(RMTQOHNG,6),?94,"|",?103,"|",?104,$J($FN(RMTVALUG,",",2),11),?116,$J($FN(RMTVALNG,",",2),11)
;
S (RMTVAG,RMTISUG,RMTCOMG,RMTISNG,RMTUSEG,RMTAVEG,RMTQOHUG,RMTQOHNG,RMTVALUG,RMTVALNG,RLCNT)=0
S (RNPGRP,RGRP)=""
Q
;
STN(RST) ;STATION FUNCTION
N Y,RS
S RS=$O(^RMPR(669.9,"C",RST,0)),Y=$P(^RMPR(669.9,RS,0),U,1)
Q Y
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRMPR5HQC 4911 printed Oct 16, 2024@18:33:44 Page 2
RMPR5HQC ;HCIOFO/RVD - NPPD LINE USAGE REPORT FOR HQ ; 06 OCT 00
+1 ;;3.0;PROSTHETICS;**51,61**;Feb 09, 1996
DQ1 ;print PIP Report
+1 FOR RST=0:0
SET RST=$ORDER(^TMP($JOB,R5,RST))
if RST'>0
QUIT
if (RSTA'="")&(RSTA'=RST)&(RPR=1)
DO HDRL
SET RSTA=RST
FOR RI=0:0
SET RI=$ORDER(^TMP($JOB,R5,RST,RI))
if (RGRP'="")&(RGRP'=RI)
DO SUMG1
if $GET(RFL)!(RI'>0)
QUIT
Begin DoDot:1
+2 if RPR=0
DO HDRL
+3 SET RGRP=RI
+4 SET RNPGRP=RMARRAY(RI)
+5 SET RJ=""
+6 FOR
SET RJ=$ORDER(^TMP($JOB,R5,RST,RI,RJ))
if $GET(RFL)
QUIT
if (RLINE'="")&(RLINE'=RJ)
DO SUML1
if RJ=""
QUIT
Begin DoDot:2
+7 SET RLINE=RJ
SET RNPLINE=$$NPLIN^RMPR5HQ5(RJ)
+8 IF RGCNT=0
SET RGCNT=RGCNT+1
+9 SET RK=""
FOR
SET RK=$ORDER(^TMP($JOB,R5,RST,RI,RJ,RK))
if $GET(RFL)!(RK="")
QUIT
Begin DoDot:3
+10 SET RL=""
+11 FOR
SET RL=$ORDER(^TMP($JOB,R5,RST,RI,RJ,RK,RL))
if $GET(RFL)!(RL="")
QUIT
Begin DoDot:4
+12 IF RLCNT=0
DO GLN1
+13 SET RLCNT=RLCNT+1
+14 SET RDAT=^TMP($JOB,R5,RST,RI,RJ,RK,RL)
+15 SET RMVA=$PIECE(RDAT,U,1)
+16 SET RMCOM=$PIECE(RDAT,U,2)
+17 SET RMUSE=$PIECE(RDAT,U,3)
+18 SET RMISU=$PIECE(RDAT,U,4)
+19 SET RMISN=$PIECE(RDAT,U,5)
+20 SET RMAVEN=$PIECE(RDAT,U,6)
+21 SET RMDLEN=$PIECE(RDAT,U,7)
+22 SET RMQOHU=$PIECE(RDAT,U,8)
+23 SET RMQOHN=$PIECE(RDAT,U,9)
+24 SET RMVALU=$PIECE(RDAT,U,10)
+25 SET RMVALN=$PIECE(RDAT,U,11)
+26 SET RMAVEU=$PIECE(RDAT,U,12)
+27 SET RMDLEU=$PIECE(RDAT,U,13)
+28 ;total for GROUP
+29 SET RMTVAG=RMTVAG+RMVA
+30 SET RMTCOMG=RMTCOMG+RMCOM
+31 SET RMTUSEG=RMTUSEG+RMVA+RMCOM
+32 SET RMTISUG=RMTISUG+RMISU
+33 SET RMTISNG=RMTISNG+RMISN
+34 SET RMTDLEG=RMTDLEG+RMDLEU+RMDLEN
+35 SET RMTQOHUG=RMTQOHUG+RMQOHU
+36 SET RMTQOHNG=RMTQOHNG+RMQOHN
+37 SET RMTVALUG=RMTVALUG+RMVALU
+38 SET RMTVALNG=RMTVALNG+RMVALN
+39 SET RMGTOU=RMGTOU+RMVALU
+40 SET RMGTON=RMGTON+RMVALN
+41 SET RMGTIU=RMGTIU+RMISU
+42 SET RMGTIN=RMGTIN+RMISN
+43 ;total for line item
+44 SET RMTVAL=RMTVAL+RMVA
+45 SET RMTCOML=RMTCOML+RMCOM
+46 IF (RMCOM'="")
IF $GET(RMCOM)
SET RMTUSELN=RMTUSELN+RMCOM
+47 IF (RMVA'="")
IF $GET(RMVA)
SET RMTUSELU=RMTUSELU+RMVA
+48 SET RMTISUL=RMTISUL+RMISU
+49 SET RMTISNL=RMTISNL+RMISN
+50 SET RMTQOHUL=RMTQOHUL+RMQOHU
+51 SET RMTQOHNL=RMTQOHNL+RMQOHN
+52 SET RMTVALUL=RMTVALUL+RMVALU
+53 SET RMTVALNL=RMTVALNL+RMVALN
+54 SET (RPRINT,RPR)=1
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+55 QUIT
+56 ;
HDRL ;print heading.
+1 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=""
+2 IF RPR=1
DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=RES
+3 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=""
+4 SET RPR=1
+5 SET RSTN=$$STN(RSTA)
+6 DO CNTRX^RMPR5HQA
+7 SET ^TMP($JOB,"RI",RC)="PROSTHETIC INVENTORY NPPD GROUP/LINE REPORT"_RB10_"Run Date: "_RMRDATE
+8 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)="STATION: "_$EXTRACT(RSTN,1,30)_RB6_RMBD_" - "_RMED_" [ "_RMCALDAY_" calendar days ]"
+9 QUIT
+10 ;
GLN1 ;print NPPD GROUP and LINE header.
+1 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=""
+2 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=""
+3 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=RNPGRP
+4 DO LBL1^RMPR5HQA
+5 QUIT
+6 ;
SUML1 ;
+1 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=RLINE_RB1_RNPLINE
+2 if $GET(RMTUSELU)
SET RMTAVELU=RMTUSELU/RMCALDAY
+3 if $GET(RMTUSELN)
SET RMTAVELN=RMTUSELN/RMCALDAY
+4 if $GET(RMTUSELU)
SET RTDLELA=RMTQOHUL/RMTAVELU
+5 if $GET(RMTUSELN)
SET RTDLELC=RMTQOHNL/RMTAVELN
+6 SET RTDLELA=$SELECT(RTDLELA>999:">999",1:$JUSTIFY(RTDLELA,5,0))
+7 SET RTDLELC=$SELECT(RTDLELC>999:">999",1:$JUSTIFY(RTDLELC,5,0))
+8 if RMTQOHNL=0
SET RTDLELC=""
+9 if RMTQOHUL=0
SET RTDLELA=""
+10 if (RMTQOHNL>0)&(RMTCOML<1)
SET RTDLELC=">"_RMCALDAY
+11 if (RMTQOHUL>0)&(RMTVAL<1)
SET RTDLELA=">"_RMCALDAY
+12 SET RMTAVEG=RTAVELA+RTAVELC
+13 DO CNTRX^RMPR5HQA
+14 SET ^TMP($JOB,"RI",RC)=" (Used)"_RB13_$JUSTIFY(RMTVAL,5)_RB1_$JUSTIFY($FNUMBER(RMTISUL,",",2),9)_RB1_"|"_RB18_"|"_RB1_$JUSTIFY(RMTUSELU,5)_RB1_"|"_RB1_$JUSTIFY(RMTAVELU,8,2)_RB1_"|"
+15 SET ^TMP($JOB,"RI",RC)=^TMP($JOB,"RI",RC)_RB1_$JUSTIFY(RMTQOHUL,6)_RB8_"|"_RB1_$JUSTIFY(RTDLELA,6)_RB1_"|"_RB1_$JUSTIFY($FNUMBER(RMTVALUL,",",2),11)
+16 ;next two lines print new total
+17 DO CNTRX^RMPR5HQA
+18 SET ^TMP($JOB,"RI",RC)=" (New)"_RB30_"|"_RB1_$JUSTIFY(RMTCOML,6)_RB1_$JUSTIFY($FNUMBER(RMTISNL,",",2),9)_RB1_"|"_RB1_$JUSTIFY(RMTUSELN,5)_RB1_"|"_RB1_$JUSTIFY(RMTAVELN,8,2)_RB1_"|"
+19 SET ^TMP($JOB,"RI",RC)=^TMP($JOB,"RI",RC)_RB6_$JUSTIFY(RMTQOHNL,8)_RB1_"|"_RB1_$JUSTIFY(RTDLELC,6)_RB1_"|"_RB12_$JUSTIFY($FNUMBER(RMTVALNL,",",2),11)
+20 ;
+21 SET (RMTVAL,RMTISUL,RMTCOML,RMTISNL,RMTUSELU,RMTAVELU,RMTAVELN,RMTQOHUL,RMTQOHNL,RMTVALUL,RMTVALNL)=0
+22 SET (RMTUSELN,RMTUSELU,RTDLELA,RTDLELC,RTAVELA,RTAVELC)=0
+23 SET (RNPLINE,RLINE)=""
+24 QUIT
+25 ;
SUMG1 ;print summary total for NPPD GROUP
+1 DO CNTRX^RMPR5HQA
SET ^TMP($JOB,"RI",RC)=REQ
+2 DO CNTRX^RMPR5HQA
+3 SET ^TMP($JOB,"RI",RC)=RB24_$JUSTIFY(RMTVAG,5)_RB1_$JUSTIFY($FNUMBER(RMTISUG,",",2),9)_RB1_"|"_RB1_$JUSTIFY(RMTCOMG,6)_RB1_$JUSTIFY($FNUMBER(RMTISNG,",",2),9)_RB1_"|"_RB1_$JUSTIFY(RMTUSEG,5)_RB1_"|"_RB10_"|"
+4 SET ^TMP($JOB,"RI",RC)=^TMP($JOB,"RI",RC)_RB1_$JUSTIFY(RMTQOHUG,6)_RB1_$JUSTIFY(RMTQOHNG,6)_RB1_"|"_RB8_"|"_RB1_$JUSTIFY($FNUMBER(RMTVALUG,",",2),11)_$JUSTIFY($FNUMBER(RMTVALNG,",",2),11)
+5 ;W !,?26,$J(RMTVAG,5),?34,$J($FN(RMTISUG,",",2),6),?40,"|",?41,$J(RMTCOMG,4),?49,$J($FN(RMTISNG,",",2),9),?59,"|",?60,$J(RMTUSEG,5),?67,"|",?78,"|"
+6 ;W ?81,$J(RMTQOHUG,5),?87,$J(RMTQOHNG,6),?94,"|",?103,"|",?104,$J($FN(RMTVALUG,",",2),11),?116,$J($FN(RMTVALNG,",",2),11)
+7 ;
+8 SET (RMTVAG,RMTISUG,RMTCOMG,RMTISNG,RMTUSEG,RMTAVEG,RMTQOHUG,RMTQOHNG,RMTVALUG,RMTVALNG,RLCNT)=0
+9 SET (RNPGRP,RGRP)=""
+10 QUIT
+11 ;
STN(RST) ;STATION FUNCTION
+1 NEW Y,RS
+2 SET RS=$ORDER(^RMPR(669.9,"C",RST,0))
SET Y=$PIECE(^RMPR(669.9,RS,0),U,1)
+3 QUIT Y