RMPR5HQH ;HCIOFO/RVD - HCPCS USAGE REPORT ; 15 AUG 00
;;3.0;PROSTHETICS;**51**;Feb 09, 1996
;
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) Q:RI'>0 D
.D:RPR=0 HDRH
.S RNPGRP=RMARRAY(RI)
.S RJ=""
.F S RJ=$O(^TMP($J,R5,RST,RI,RJ)) Q:$G(RFL) D:(RLINE'="")&(RLINE'=RJ) SUML1^RMPR5HQ2 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) D:(RHCPC'="")&(RHCPC'=RK)&(RLCNT'=0) SUMH1 Q:RK="" D
...S RHCPC=RK
...S RL=""
...F S RL=$O(^TMP($J,R5,RST,RI,RJ,RK,RL)) Q:$G(RFL)!(RL="") D
....S RHCPC=$P(RK,"/",1)
....S RMHCDA=$P(RK,"/",2)
....S RNPITEM=$P($G(^RMPR(661.1,RMHCDA,0)),U,2)
....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 HCPCS
....S RMTVAH=RMTVAH+RMVA
....S RMTCOMH=RMTCOMH+RMCOM
....S RMTISUH=RMTISUH+RMISU
....S RMTISNH=RMTISNH+RMISN
....I (RMCOM'=""),$G(RMCOM) S RTUSEHC=RTUSEHC+RMCOM
....I (RMVA'=""),$G(RMVA) S RTUSEHA=RTUSEHA+RMVA
....S RMTQOHUH=RMTQOHUH+RMQOHU
....S RMTQOHNH=RMTQOHNH+RMQOHN
....S RMTVALUH=RMTVALUH+RMVALU
....S RMTVALNH=RMTVALNH+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
....;S RMTUSEL=RMTUSEL+RMUSE
....S:RMVA'="" RMTUSELU=RMTUSELU+RMVA
....S:RMCOM'="" RMTUSELN=RMTUSELN+RMCOM
....S RMTISUL=RMTISUL+RMISU
....S RMTAVELU=RMTAVELU+RMAVEU
....S RMTAVELN=RMTAVELN+RMAVEN
....S RMTDLEL=RMTDLEL+RMDLEU+RMDLEN
....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
;
HDRH ;print heading.
Q:$G(RFL)
S RMPAGE=RMPAGE+1
W !,"PROSTHETIC INVENTORY HCPCS SUMMARY 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.
Q:$G(RFL)
W !!,RJ," ",RNPLINE," [ ",RNPGRP," ]"
D LBL1^RMPR5HQ2
Q
;
SUMH1 ;
Q:$G(RFL)
S:$G(RTUSEHC) RTAVEHC=RTUSEHC/RMCALDAY
S:$G(RTAVEHC) RTDLEHC=RMTQOHNH/RTAVEHC
S:$G(RTUSEHA) RTAVEHA=RTUSEHA/RMCALDAY
S:$G(RTAVEHA) RTDLEHA=RMTQOHUH/RTAVEHA
S RTDLEHA=$S(RTDLEHA>999:">999",1:$J(RTDLEHA,6,0))
S RTDLEHC=$S(RTDLEHC>999:">999",1:$J(RTDLEHC,6,0))
S:RMTQOHNH=0 RTDLEHC=""
S:RMTQOHUH=0 RTDLEHA=""
S:(RMTQOHNH>0)&(RMTCOMH<1) RTDLEHC=">"_RMCALDAY
S:(RMTQOHUH>0)&(RMTVAH<1) RTDLEHA=">"_RMCALDAY
S RMTAVEL=RTAVEHA+RTAVEHC
;next 2 lines for used:
W !,RHCPC,?10,$E(RNPITEM,1,10),"(Used)",?26,$J(RMTVAH,5),?34,$J($FN(RMTISUH,",",2),6),?40,"|",?59,"|",?60,$J(RTUSEHA,5),?67,"|",?71,$J(RTAVEHA,5,2),?78,"|"
W ?81,$J(RMTQOHUH,5),?94,"|",?97,$J(RTDLEHA,6),?103,"|",?104,$J($FN(RMTVALUH,",",2),11)
;next 2 lines for new:
W !,RHCPC,?10,$E(RNPITEM,1,10),"(New)",?40,"|",?41,$J(RMTCOMH,4),?49,$J($FN(RMTISNH,",",2),9),?59,"|",?60,$J(RTUSEHC,5),?67,"|",?71,$J(RTAVEHC,5,2),?78,"|"
W ?87,$J(RMTQOHNH,6),?94,"|",?97,$J(RTDLEHC,6),?103,"|",?116,$J($FN(RMTVALNH,",",2),11)
S 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 HDRH,LBL1^RMPR5HQ2
I $Y+8>IOSL,IOST'["C-" W @IOF D HDRH,LBL1^RMPR5HQ2
S (RMTVAH,RMTISUH,RMTCOMH,RMTISNH,RMTUSEH,RMTAVEH,RMTQOHUH,RMTQOHNH,RMTVALUH,RMTVALNH,RHCNT)=0
S (RTUSEHA,RTUSEHC,RTDLEHA,RTDLEHC,RTAVEHA,RTAVEHC)=0
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRMPR5HQH 4094 printed Nov 22, 2024@17:43:08 Page 2
RMPR5HQH ;HCIOFO/RVD - HCPCS USAGE REPORT ; 15 AUG 00
+1 ;;3.0;PROSTHETICS;**51**;Feb 09, 1996
+2 ;
DQ1 ;print PIP Report
+1 ;$O the ^TMP( global for all the records
+2 ;print all records based on the sort criteria given.
+3 IF IOST["C-"
WRITE @IOF
+4 ;
+5 FOR RST=0:0
SET RST=$ORDER(^TMP($JOB,R5,RST))
if RST'>0
QUIT
SET RSTN=$$STN^RMPR5HQL(RST)
SET RPR=0
FOR RI=0:0
SET RI=$ORDER(^TMP($JOB,R5,RST,RI))
if $GET(RFL)
QUIT
if RI'>0
QUIT
Begin DoDot:1
+6 if RPR=0
DO HDRH
+7 SET RNPGRP=RMARRAY(RI)
+8 SET RJ=""
+9 FOR
SET RJ=$ORDER(^TMP($JOB,R5,RST,RI,RJ))
if $GET(RFL)
QUIT
if (RLINE'="")&(RLINE'=RJ)
DO SUML1^RMPR5HQ2
if RJ=""
QUIT
Begin DoDot:2
+10 SET RLINE=RJ
SET RNPLINE=$$NPLIN^RMPR5HQ5(RJ)
+11 IF RGCNT=0
SET RGCNT=RGCNT+1
+12 SET RK=""
FOR
SET RK=$ORDER(^TMP($JOB,R5,RST,RI,RJ,RK))
if $GET(RFL)
QUIT
if (RHCPC'="")&(RHCPC'=RK)&(RLCNT'=0)
DO SUMH1
if RK=""
QUIT
Begin DoDot:3
+13 SET RHCPC=RK
+14 SET RL=""
+15 FOR
SET RL=$ORDER(^TMP($JOB,R5,RST,RI,RJ,RK,RL))
if $GET(RFL)!(RL="")
QUIT
Begin DoDot:4
+16 SET RHCPC=$PIECE(RK,"/",1)
+17 SET RMHCDA=$PIECE(RK,"/",2)
+18 SET RNPITEM=$PIECE($GET(^RMPR(661.1,RMHCDA,0)),U,2)
+19 IF RLCNT=0
DO GLN1
+20 SET RLCNT=RLCNT+1
+21 SET RDAT=^TMP($JOB,R5,RST,RI,RJ,RK,RL)
+22 SET RMVA=$PIECE(RDAT,U,1)
+23 SET RMCOM=$PIECE(RDAT,U,2)
+24 SET RMUSE=$PIECE(RDAT,U,3)
+25 SET RMISU=$PIECE(RDAT,U,4)
+26 SET RMISN=$PIECE(RDAT,U,5)
+27 SET RMAVEN=$PIECE(RDAT,U,6)
+28 SET RMDLEN=$PIECE(RDAT,U,7)
+29 SET RMQOHU=$PIECE(RDAT,U,8)
+30 SET RMQOHN=$PIECE(RDAT,U,9)
+31 SET RMVALU=$PIECE(RDAT,U,10)
+32 SET RMVALN=$PIECE(RDAT,U,11)
+33 SET RMAVEU=$PIECE(RDAT,U,12)
+34 SET RMDLEU=$PIECE(RDAT,U,13)
+35 ;total for HCPCS
+36 SET RMTVAH=RMTVAH+RMVA
+37 SET RMTCOMH=RMTCOMH+RMCOM
+38 SET RMTISUH=RMTISUH+RMISU
+39 SET RMTISNH=RMTISNH+RMISN
+40 IF (RMCOM'="")
IF $GET(RMCOM)
SET RTUSEHC=RTUSEHC+RMCOM
+41 IF (RMVA'="")
IF $GET(RMVA)
SET RTUSEHA=RTUSEHA+RMVA
+42 SET RMTQOHUH=RMTQOHUH+RMQOHU
+43 SET RMTQOHNH=RMTQOHNH+RMQOHN
+44 SET RMTVALUH=RMTVALUH+RMVALU
+45 SET RMTVALNH=RMTVALNH+RMVALN
+46 SET RMGTOU=RMGTOU+RMVALU
+47 SET RMGTON=RMGTON+RMVALN
+48 SET RMGTIU=RMGTIU+RMISU
+49 SET RMGTIN=RMGTIN+RMISN
+50 ;total for line item
+51 SET RMTVAL=RMTVAL+RMVA
+52 SET RMTCOML=RMTCOML+RMCOM
+53 ;S RMTUSEL=RMTUSEL+RMUSE
+54 if RMVA'=""
SET RMTUSELU=RMTUSELU+RMVA
+55 if RMCOM'=""
SET RMTUSELN=RMTUSELN+RMCOM
+56 SET RMTISUL=RMTISUL+RMISU
+57 SET RMTAVELU=RMTAVELU+RMAVEU
+58 SET RMTAVELN=RMTAVELN+RMAVEN
+59 SET RMTDLEL=RMTDLEL+RMDLEU+RMDLEN
+60 SET RMTISNL=RMTISNL+RMISN
+61 SET RMTQOHUL=RMTQOHUL+RMQOHU
+62 SET RMTQOHNL=RMTQOHNL+RMQOHN
+63 SET RMTVALUL=RMTVALUL+RMVALU
+64 SET RMTVALNL=RMTVALNL+RMVALN
+65 SET (RPRINT,RPR)=1
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+66 QUIT
+67 ;
HDRH ;print heading.
+1 if $GET(RFL)
QUIT
+2 SET RMPAGE=RMPAGE+1
+3 WRITE !,"PROSTHETIC INVENTORY HCPCS SUMMARY REPORT",?50,"Run Date: ",RMRDATE,?100,"Page: ",RMPAGE
+4 WRITE !,"STATION: ",$EXTRACT(RSTN,1,20)
+5 WRITE ?32,RMBD," - ",RMED," [ ",RMCALDAY," calendar days ]"
+6 QUIT
+7 ;
GLN1 ;print NPPD GROUP and LINE header.
+1 if $GET(RFL)
QUIT
+2 WRITE !!,RJ," ",RNPLINE," [ ",RNPGRP," ]"
+3 DO LBL1^RMPR5HQ2
+4 QUIT
+5 ;
SUMH1 ;
+1 if $GET(RFL)
QUIT
+2 if $GET(RTUSEHC)
SET RTAVEHC=RTUSEHC/RMCALDAY
+3 if $GET(RTAVEHC)
SET RTDLEHC=RMTQOHNH/RTAVEHC
+4 if $GET(RTUSEHA)
SET RTAVEHA=RTUSEHA/RMCALDAY
+5 if $GET(RTAVEHA)
SET RTDLEHA=RMTQOHUH/RTAVEHA
+6 SET RTDLEHA=$SELECT(RTDLEHA>999:">999",1:$JUSTIFY(RTDLEHA,6,0))
+7 SET RTDLEHC=$SELECT(RTDLEHC>999:">999",1:$JUSTIFY(RTDLEHC,6,0))
+8 if RMTQOHNH=0
SET RTDLEHC=""
+9 if RMTQOHUH=0
SET RTDLEHA=""
+10 if (RMTQOHNH>0)&(RMTCOMH<1)
SET RTDLEHC=">"_RMCALDAY
+11 if (RMTQOHUH>0)&(RMTVAH<1)
SET RTDLEHA=">"_RMCALDAY
+12 SET RMTAVEL=RTAVEHA+RTAVEHC
+13 ;next 2 lines for used:
+14 WRITE !,RHCPC,?10,$EXTRACT(RNPITEM,1,10),"(Used)",?26,$JUSTIFY(RMTVAH,5),?34,$JUSTIFY($FNUMBER(RMTISUH,",",2),6),?40,"|",?59,"|",?60,$JUSTIFY(RTUSEHA,5),?67,"|",?71,$JUSTIFY(RTAVEHA,5,2),?78,"|"
+15 WRITE ?81,$JUSTIFY(RMTQOHUH,5),?94,"|",?97,$JUSTIFY(RTDLEHA,6),?103,"|",?104,$JUSTIFY($FNUMBER(RMTVALUH,",",2),11)
+16 ;next 2 lines for new:
+17 WRITE !,RHCPC,?10,$EXTRACT(RNPITEM,1,10),"(New)",?40,"|",?41,$JUSTIFY(RMTCOMH,4),?49,$JUSTIFY($FNUMBER(RMTISNH,",",2),9),?59,"|",?60,$JUSTIFY(RTUSEHC,5),?67,"|",?71,$JUSTIFY(RTAVEHC,5,2),?78,"|"
+18 WRITE ?87,$JUSTIFY(RMTQOHNH,6),?94,"|",?97,$JUSTIFY(RTDLEHC,6),?103,"|",?116,$JUSTIFY($FNUMBER(RMTVALNH,",",2),11)
+19 SET RPR=1
+20 IF $Y+8>IOSL
IF IOST["C-"
KILL DIR
SET DIR(0)="E"
DO ^DIR
if +Y'>0
SET RFL=1
if +Y'>0
QUIT
WRITE @IOF
DO HDRH
DO LBL1^RMPR5HQ2
+21 IF $Y+8>IOSL
IF IOST'["C-"
WRITE @IOF
DO HDRH
DO LBL1^RMPR5HQ2
+22 SET (RMTVAH,RMTISUH,RMTCOMH,RMTISNH,RMTUSEH,RMTAVEH,RMTQOHUH,RMTQOHNH,RMTVALUH,RMTVALNH,RHCNT)=0
+23 SET (RTUSEHA,RTUSEHC,RTDLEHA,RTDLEHC,RTAVEHA,RTAVEHC)=0
+24 QUIT