1 | RMPR5HQ2 ;HCIOFO/RVD - ITEM & HCPCS USAGE REPORT ; 15 AUG 00
|
---|
2 | ;;3.0;PROSTHETICS;**51**;Feb 09, 1996
|
---|
3 | ;
|
---|
4 | MANUAL ;run the USAGE report manually. User needs to enter the month the
|
---|
5 | ;report should be ran.
|
---|
6 | N RLN,RMPAGE,R5,REQ,RSL,RMTVAL,RMTCOML,RMTDLEL,RMTUSEL,RHCPC,RMTVAH
|
---|
7 | N RMTUSEG,RMTVAG,RMTCOMG,RMTQOHG,RMTVALG,RMGVAL,RGCNT,RLCNT,RSCNT,RFL
|
---|
8 | N RLINE,RGRP,RST,RI,RST,RJ,RK,RGRP,RDAT,RMBD,RMED,RPR,RMARRAY,RMTUSEH
|
---|
9 | N RMTQOHNL,RMTQOHUL,RMTISNL,RMTISUL,RMTVALNL,RMTVALUL,RMTAVELU
|
---|
10 | N RMTQOHNG,RMTQOHUG,RMTISNG,RMTISUG,RMTVALNG,RMTVALUG,RMTCOMH,RMTISUH,RMTISNH
|
---|
11 | N RMTVALUH,RMTVALNH,RMTQOHUH,RMTQOHNH,RMTDLEH,RMTDLEG,RMTAVEG,RMGTOT
|
---|
12 | N RTAVEGA,RTAVEGC,RTDLEGA,RTDLEGC,RTUSEGA,RTUSEGC,RMGTIU,RMGTIN
|
---|
13 | N RTAVELA,RTAVELC,RTDLELA,RTDLELC,RTUSELA,RTUSELC,RMTUSELU,RMTUSELN
|
---|
14 | N RTAVEHA,RTAVEHC,RTDLEHA,RTDLEHC,RTUSEHA,RTUSEHC,RMCALDAY,RMTAVELN
|
---|
15 | ;
|
---|
16 | S X1=RMPREDT,X2=RMPRSDT
|
---|
17 | D ^%DTC S RMCALDAY=X+1
|
---|
18 | S Y=RMPRSDT D DD^%DT S RMBD=Y S Y=RMPREDT D DD^%DT S RMED=Y
|
---|
19 | D NOW^%DTC S Y=% X ^DD("DD") S RMRDATE=Y
|
---|
20 | S $P(RLN,"-",IOM)="",RMPAGE=0,R5="RMPR5"
|
---|
21 | S $P(REQ,"=",IOM)=""
|
---|
22 | S (RMTVAL,RMTCOML,RMTDLEL,RMTUSEL,RMTAVEG,RMGTOT,RMTUSELU,RMGISNG,RMGISUG)=0
|
---|
23 | S (RMTQOHNL,RMTQOHUL,RMTISNL,RMTISUL,RMTVALNL,RMTVALUL,RMTAVELU,RMTUSELN)=0
|
---|
24 | S (RMTQOHNG,RMTQOHUG,RMTISNG,RMTISUG,RMTVALNG,RMTVALUG,RMTISUH,RMTISNH)=0
|
---|
25 | S (RMTUSEG,RMTVAG,RMTCOMG,RMGTOU,RMGTON,RMTVAH,RMTCOMH,RMTVALUH,RMTVALNH,RMTQOHUH)=0
|
---|
26 | S (RMGVAL,RGCNT,RLCNT,RSCNT,RFL,RPRINT,RMTQOHNH,RMTUSEH,RMTDLEH)=0
|
---|
27 | S (RTAVEGA,RTAVEGC,RTDLEGA,RTDLEGC,RTUSEGA,RTUSEGC,RMGTIU,RMGTIN)=0
|
---|
28 | S (RTAVELA,RTAVELC,RTDLELA,RTDLELC,RTUSELA,RTUSELC,RMTAVELN)=0
|
---|
29 | S (RTAVEHA,RTAVEHC,RTDLEHA,RTDLEHC,RTUSEHA,RTUSEHC)=0
|
---|
30 | S (RLINE,RGRP,RST,RNPGRP,RNPLINE,RHCPC,RMTDLEG)=""
|
---|
31 | D GRPARY^RMPR5HQ4(.RMARRAY)
|
---|
32 | ;
|
---|
33 | ITEM ;entry point for Item Detail Usage report
|
---|
34 | G:RMPRDET="I" DQ1
|
---|
35 | ;
|
---|
36 | HCPCS ;entry point for HCPCS Summary Usage report.
|
---|
37 | I RMPRDET="H" D ^RMPR5HQH G TOT
|
---|
38 | LINE ;entry point for NPPD LINE Usage report.
|
---|
39 | I RMPRDET="L" D ^RMPR5HQL G TOT
|
---|
40 | ;
|
---|
41 | GROUP ;entry point for NPPD GROUP Usage report.
|
---|
42 | I RMPRDET="G" D ^RMPR5HQG
|
---|
43 | G CLEAN1
|
---|
44 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
---|
45 | ;
|
---|
46 | DQ1 ;print PIP Report (Item Detail Usage report).
|
---|
47 | ;$O the ^TMP( global for all the records
|
---|
48 | ;print all records based on the sort criteria given.
|
---|
49 | I IOST["C-" W @IOF
|
---|
50 | ;
|
---|
51 | 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
|
---|
52 | .D:RPR=0 HDRI
|
---|
53 | .S RNPGRP=RMARRAY(RI)
|
---|
54 | .S RJ=""
|
---|
55 | .F S RJ=$O(^TMP($J,R5,RST,RI,RJ)) Q:$G(RFL) D:(RLINE'="")&(RLINE'=RJ) SUML1 Q:RJ="" D
|
---|
56 | ..S RLINE=RJ,RNPLINE=$$NPLIN^RMPR5HQ5(RJ)
|
---|
57 | ..I RGCNT=0 S RGCNT=RGCNT+1
|
---|
58 | ..S RK="" F S RK=$O(^TMP($J,R5,RST,RI,RJ,RK)) Q:$G(RFL)!(RK="") D
|
---|
59 | ...S RL=""
|
---|
60 | ...F S RL=$O(^TMP($J,R5,RST,RI,RJ,RK,RL)) Q:$G(RFL)!(RL="") D
|
---|
61 | ....S RHCPC=$P(RK,"/",1)
|
---|
62 | ....S:RMPRDET="I" RHCPC=RHCPC_"-"_RL
|
---|
63 | ....S RNPITEM=$$GETITEM^RMPR5HQ5($P(RK,"/",2),RL)
|
---|
64 | ....I RLCNT=0 D GLN1
|
---|
65 | ....S RLCNT=RLCNT+1
|
---|
66 | ....S RDAT=^TMP($J,R5,RST,RI,RJ,RK,RL)
|
---|
67 | ....S RMVA=$P(RDAT,U,1)
|
---|
68 | ....S RMCOM=$P(RDAT,U,2)
|
---|
69 | ....S RMUSE=$P(RDAT,U,3)
|
---|
70 | ....S RMISU=$P(RDAT,U,4)
|
---|
71 | ....S RMISN=$P(RDAT,U,5)
|
---|
72 | ....S RMAVEN=$P(RDAT,U,6)
|
---|
73 | ....S RMDLEN=$P(RDAT,U,7)
|
---|
74 | ....S RMQOHU=$P(RDAT,U,8)
|
---|
75 | ....S RMQOHN=$P(RDAT,U,9)
|
---|
76 | ....S RMVALU=$P(RDAT,U,10)
|
---|
77 | ....S RMVALN=$P(RDAT,U,11)
|
---|
78 | ....S RMAVEU=$P(RDAT,U,12)
|
---|
79 | ....S RMDLEU=$P(RDAT,U,13)
|
---|
80 | ....S RMDLEU=$S(RMDLEU>999:">999",1:$J(RMDLEU,7,0))
|
---|
81 | ....S RMDLEN=$S(RMDLEN>999:">999",1:$J(RMDLEN,7,0))
|
---|
82 | ....S:(RMVA<1)&(RMVALU>0) RMDLEU=">"_RMCALDAY
|
---|
83 | ....S:(RMCOM<1)&(RMVALN>0) RMDLEN=">"_RMCALDAY
|
---|
84 | ....;total for line item
|
---|
85 | ....S RMTVAL=RMTVAL+RMVA
|
---|
86 | ....S RMTCOML=RMTCOML+RMCOM
|
---|
87 | ....S:RMVA'="" RMTUSELU=RMTUSELU+RMVA
|
---|
88 | ....S:RMCOM'="" RMTUSELN=RMTUSELN+RMCOM
|
---|
89 | ....S RMTISUL=RMTISUL+RMISU
|
---|
90 | ....S RMTISNL=RMTISNL+RMISN
|
---|
91 | ....;S RMTAVELU=RMTAVELU+RMAVEU
|
---|
92 | ....;S RMTAVELN=RMTAVELN+RMAVEN
|
---|
93 | ....S RMTQOHUL=RMTQOHUL+RMQOHU
|
---|
94 | ....S RMTQOHNL=RMTQOHNL+RMQOHN
|
---|
95 | ....S RMTVALUL=RMTVALUL+RMVALU
|
---|
96 | ....S RMTVALNL=RMTVALNL+RMVALN
|
---|
97 | ....;total for group
|
---|
98 | ....S RMTVAG=RMTVAG+RMVA
|
---|
99 | ....S RMTCOMG=RMTCOMG+RMCOM
|
---|
100 | ....S RMTUSEG=RMTUSEG+RMVA
|
---|
101 | ....S RMTISUG=RMTISUG+RMISU
|
---|
102 | ....S RMTISNG=RMTISNG+RMISN
|
---|
103 | ....S RMTQOHUG=RMTQOHUG+RMQOHU
|
---|
104 | ....S RMTQOHNG=RMTQOHNG+RMQOHN
|
---|
105 | ....S RMTVALUG=RMTVALUG+RMVALU
|
---|
106 | ....S RMTVALNG=RMTVALNG+RMVALN
|
---|
107 | ....S RMGTOU=RMGTOU+RMVALU
|
---|
108 | ....S RMGTON=RMGTON+RMVALN
|
---|
109 | ....S RMGTIU=RMGTIU+RMISU
|
---|
110 | ....S RMGTIN=RMGTIN+RMISN
|
---|
111 | ....S:'RMISU RMISU=""
|
---|
112 | ....S:'RMISN RMISN=""
|
---|
113 | ....S RMVALU=$FN(RMVALU,",",2) S:'RMVALU RMVALU=""
|
---|
114 | ....S RMVALN=$FN(RMVALN,",",2) S:'RMVALN RMVALN=""
|
---|
115 | ....S:RMVA="" RMVA=0 S:RMISU="" RMISU=0 S:RMCOM="" RMCOM=0
|
---|
116 | ....S:RMISN="" RMISN=0
|
---|
117 | ....;for used item
|
---|
118 | ....W:$G(RMVA)!$G(RMVALU) !,RHCPC,?10,$E(RNPITEM,1,15),?26,$J(RMVA,5),?33,$J($FN(RMISU,",",2),7),?40,"|",?59,"|",?60,$J(RMVA,5),?67,"|",?71,$J(RMAVEU,5,2),?78,"|",?81,$J(RMQOHU,5)
|
---|
119 | ....W:$G(RMVA)!$G(RMVALU) ?94,"|",?96,$J(RMDLEU,7),?103,"|",?104,$J(RMVALU,11)
|
---|
120 | ....;for new item
|
---|
121 | ....W:$G(RMCOM)!$G(RMVALN) !,RHCPC,?10,$E(RNPITEM,1,15),?40,"|",?41,$J(RMCOM,4),?49,$J($FN(RMISN,",",2),9),?59,"|",?60,$J(RMCOM,5),?67,"|",?71,$J(RMAVEN,5,2),?78,"|"
|
---|
122 | ....W:$G(RMCOM)!$G(RMVALN) ?87,$J(RMQOHN,6),?94,"|",?96,$J(RMDLEN,7),?103,"|",?116,$J(RMVALN,11)
|
---|
123 | ....S (RPRINT,RPR)=1
|
---|
124 | ....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 HDRI,LBL1
|
---|
125 | ....I $Y+8>IOSL,IOST'["C-" W @IOF D HDRI,LBL1
|
---|
126 | ;print total for Used and New items (all report type)
|
---|
127 | TOT G:$G(RFL) CLEAN1
|
---|
128 | I '$G(RPRINT) W !!,"No Records to Print !!" G CLEAN1
|
---|
129 | W !!,?10,"GRAND TOTAL $ VALUE ISSUED (Used) = ",?38,"$",$J($FN(RMGTIU,",",2),10)
|
---|
130 | W ?80,"GRAND TOTAL $ VALUE ON-HAND (Used) = ",?115,"$",$J($FN(RMGTOU,",",2),12)
|
---|
131 | W !,?10,"GRAND TOTAL $ VALUE ISSUED (New) = ",?38,"$",$J($FN(RMGTIN,",",2),10)
|
---|
132 | W ?80,"GRAND TOTAL $ VALUE ON-HAND (New) = ",?115,"$",$J($FN(RMGTON,",",2),12)
|
---|
133 | W !,"<End of Report>"
|
---|
134 | ;
|
---|
135 | CLEAN1 ; Clean and EXITS program.
|
---|
136 | I $E(IOST)["C",'$D(DUOUT) K DIR S DIR(0)="E" D ^DIR
|
---|
137 | I $D(ZTQUEUED) S ZTREQ="@" Q
|
---|
138 | D ^%ZISC
|
---|
139 | N RMPR,RMPRSITE
|
---|
140 | D KILL^XUSCLEAN
|
---|
141 | K ^TMP($J)
|
---|
142 | Q
|
---|
143 | ;
|
---|
144 | HDRI ;print heading.
|
---|
145 | Q:$G(RFL)
|
---|
146 | S RMPAGE=RMPAGE+1
|
---|
147 | W !,"PROSTHETIC INVENTORY ITEM DETAIL REPORT",?50,"Run Date: ",RMRDATE,?100,"Page: ",RMPAGE
|
---|
148 | W !,"STATION: ",$E(RSTN,1,20)
|
---|
149 | W ?32,RMBD," - ",RMED," [ ",RMCALDAY," calendar days ]"
|
---|
150 | Q
|
---|
151 | ;
|
---|
152 | LBL1 ;print column header.
|
---|
153 | Q:$G(RFL)
|
---|
154 | W !,RLN
|
---|
155 | W:RMPRDET="I" !,"HCPCS PSAS/ITEM"
|
---|
156 | W:RMPRDET="H" !,"HCPCS DESCRIPTION"
|
---|
157 | W:RMPRDET="L" !,"NPPD LINE"
|
---|
158 | W:RMPRDET="G" !,"NPPD GROUP"
|
---|
159 | W ?23,"V.A.(Used) Total| COM. (New) Total| Total |Days Ave | Stock On-Hand| Days |Total $ Value On-Hand"
|
---|
160 | W !,?23,"Issue $ Value| Issue $ Value| Issue |Usage Rate| Used New | On-Hand| Used New"
|
---|
161 | W:RMPRDET'="G" !,RLN
|
---|
162 | Q
|
---|
163 | ;
|
---|
164 | GLN1 ;print NPPD GROUP and LINE header.
|
---|
165 | Q:$G(RFL)
|
---|
166 | W !!,RJ," ",RNPLINE," [",RNPGRP," ]"
|
---|
167 | D LBL1
|
---|
168 | Q
|
---|
169 | ;
|
---|
170 | SUML1 ;print summary total for NPPD LINE
|
---|
171 | Q:$G(RFL)
|
---|
172 | W !,REQ
|
---|
173 | S:$G(RMTUSELU) RMTAVELU=RMTUSELU/RMCALDAY
|
---|
174 | S:$G(RMTUSELN) RMTAVELN=RMTUSELN/RMCALDAY
|
---|
175 | ;S:RMTDLEL>999 RMTDLEL=">999"
|
---|
176 | ;next two lines print used total
|
---|
177 | W !,?5,"(Used)",?26,$J(RMTVAL,5),?34,$J($FN(RMTISUL,",",2),6),?40,"|",?59,"|",?60,$J(RMTUSELU,5),?67,"|",?71,$J(RMTAVELU,5,2),?78,"|"
|
---|
178 | W ?81,$J(RMTQOHUL,5),?94,"|",?103,"|",?104,$J($FN(RMTVALUL,",",2),11)
|
---|
179 | ;next two lines print new total
|
---|
180 | W !,?5,"(New)",?40,"|",?41,$J(RMTCOML,4),?49,$J($FN(RMTISNL,",",2),9),?59,"|",?60,$J(RMTUSELN,5),?67,"|",?71,$J(RMTAVELN,5,2),?78,"|"
|
---|
181 | W ?87,$J(RMTQOHNL,6),?94,"|",?103,"|",?116,$J($FN(RMTVALNL,",",2),11)
|
---|
182 | S (RMTVAL,RMTISUL,RMTCOML,RMTISNL,RMTUSEL,RMTAVELU,RMTAVELN,RMTQOHUL,RMTQOHNL,RMTVALUL,RMTVALNL,RLCNT,RMTUSELU,RMTUSELN)=0
|
---|
183 | S (RNPLINE,RLINE)=""
|
---|
184 | Q
|
---|