1 | BPSRPT8 ;BHAM ISC/BEE - ECME REPORTS ;14-FEB-05
|
---|
2 | ;;1.0;E CLAIMS MGMT ENGINE;**1,3,5**;JUN 2004;Build 45
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | Q
|
---|
6 | ;
|
---|
7 | ;Routine to Display the Reports in Excel
|
---|
8 | ;
|
---|
9 | ;Print Report Line 1
|
---|
10 | ;
|
---|
11 | ; Input Variable -> BPRTYPE,BPDIV,BPGRPLAN,BPDFN,BPRX,BPREF,BPX,BPSRTDT
|
---|
12 | ; BPBIL,BPINS,BPCOLL
|
---|
13 | ;
|
---|
14 | WRLINE1(BPRTYPE,BPREC,BPDIV,BPGRPLAN,BPDFN,BPRX,BPREF,BPX,BPSRTDT,BPBIL,BPINS,BPCOLL) ;
|
---|
15 | ;
|
---|
16 | ;Division
|
---|
17 | S BPREC=$S(BPDIV=0:"BLANK",$$DIVNAME^BPSSCRDS(BPDIV)]"":$$DIVNAME^BPSSCRDS(BPDIV),1:BPDIV)_U
|
---|
18 | ;Insurance
|
---|
19 | I BPRTYPE'=5,BPRTYPE'=6 S BPREC=BPREC_$E(BPGRPLAN,1,90)_U
|
---|
20 | S BPREC=BPREC_$$PATNAME^BPSRPT6(BPDFN)_U ;Patient Name
|
---|
21 | S BPREC=BPREC_"("_$$SSN4^BPSRPT6(BPDFN)_")"_U ;L4SSN
|
---|
22 | S BPREC=BPREC_$$RXNUM^BPSRPT6(BPRX)_$$COPAY^BPSRPT6(BPRX)_U ;RX Number
|
---|
23 | S BPREC=BPREC_BPREF_"/"_$$ECMENUM^BPSRPT1($P(BPX,U,3))_U ;Refill/ECME Number
|
---|
24 | ;
|
---|
25 | I (BPRTYPE=1)!(BPRTYPE=4) D Q
|
---|
26 | . S BPREC=BPREC_$$DATTIM^BPSRPT1(BPSRTDT)_U ;Date
|
---|
27 | . S BPREC=BPREC_$TR($J(BPBIL,10,2)," ")_U ;$Billed
|
---|
28 | . S BPREC=BPREC_$TR($J(BPINS,10,2)," ")_U ;$Ins. Paid
|
---|
29 | . S BPREC=BPREC_$S(BPCOLL]"":$TR($J(BPCOLL,10,2)," "),1:"")_U ;$Collected
|
---|
30 | ;
|
---|
31 | I BPRTYPE=2 D Q
|
---|
32 | . S BPREC=BPREC_$$DATTIM^BPSRPT1(BPSRTDT)_U ;Date
|
---|
33 | . S BPREC=BPREC_$$DATTIM^BPSRPT1(+BPX)_U ;Released On
|
---|
34 | . ;RX INFO
|
---|
35 | . S BPREC=BPREC_$$MWC^BPSRPT6(BPRX,BPREF)_U ;Fill Location
|
---|
36 | . S BPREC=BPREC_$$RTBCKNAM^BPSRPT1($$RTBCK^BPSRPT1($P(BPX,U,3)))_U ;Fill Type
|
---|
37 | . S BPREC=BPREC_$$RXSTATUS^BPSRPT6($P(BPX,U,3)) ;Status
|
---|
38 | . S BPREC=BPREC_$S($P(BPX,U):"/RL",1:"/NR")_U ;RL/NR
|
---|
39 | ;
|
---|
40 | I BPRTYPE=3 D Q
|
---|
41 | . S BPREC=BPREC_$$DATTIM^BPSRPT1(BPSRTDT)_U ;Date
|
---|
42 | . S BPREC=BPREC_$TR($J(BPBIL,10,2)," ")_U ;$Billed
|
---|
43 | . S BPREC=BPREC_$TR($J(BPINS,10,2)," ")_U ;Insurance Response
|
---|
44 | ;
|
---|
45 | I BPRTYPE=5 D Q
|
---|
46 | . S BPREC=BPREC_$$DATTIM^BPSRPT1($$TRANDT^BPSRPT2($P(BPX,U,3),1))_U ;Completed
|
---|
47 | . S BPREC=BPREC_$$TTYPE^BPSRPT7($P(BPX,U,4),$P(BPX,U,5))_U ;Trans Type
|
---|
48 | . S BPREC=BPREC_$$RESPONSE^BPSRPT7($P(BPX,U,4),$P(BPX,U,5))_U ;Payer Response
|
---|
49 | ;
|
---|
50 | I BPRTYPE=7 D Q
|
---|
51 | . ;RX INFO
|
---|
52 | . S BPREC=BPREC_$$MWC^BPSRPT6(BPRX,BPREF)_U ;Fill Location
|
---|
53 | . S BPREC=BPREC_$$RTBCKNAM^BPSRPT1($$RTBCK^BPSRPT1($P(BPX,U,3)))_U ;Fill Type
|
---|
54 | . S BPREC=BPREC_$$RXSTATUS^BPSRPT6($P(BPX,U,3)) ;Status
|
---|
55 | . S BPREC=BPREC_$S($P(BPX,U):"/RL",1:"/NR")_U ;RL/NR
|
---|
56 | . S BPREC=BPREC_$S($P(BPX,U,13):"REJ",1:"")_U
|
---|
57 | . S BPREC=BPREC_$$DRGNAM^BPSRPT6($P(BPX,U,14),32)_U ;Drug
|
---|
58 | . S BPREC=BPREC_$TR($$GETNDC^BPSRPT6(BPRX,BPREF),"-")_U
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | ;Print Report Line 2
|
---|
62 | ;
|
---|
63 | ; Input Variable -> BPRTYPE,BPX,BPRX,BPREF,BPBIL,BPGRPLAN
|
---|
64 | ;
|
---|
65 | WRLINE2(BPRTYPE,BPREC,BPX,BPRX,BPREF,BPBIL,BPGRPLAN) ;
|
---|
66 | I (BPRTYPE=1)!(BPRTYPE=4) D Q
|
---|
67 | . ;Drug, Released On
|
---|
68 | . S BPREC=BPREC_$$DRGNAM^BPSRPT6($P(BPX,U,14),32)_U_$TR($$GETNDC^BPSRPT6(BPRX,BPREF),"-")_U
|
---|
69 | . S BPREC=BPREC_$$DATTIM^BPSRPT1(+BPX)_U
|
---|
70 | . ;RX INFO
|
---|
71 | . S BPREC=BPREC_$$MWC^BPSRPT6(BPRX,BPREF)_U ;Fill Location
|
---|
72 | . S BPREC=BPREC_$$RTBCKNAM^BPSRPT1($$RTBCK^BPSRPT1($P(BPX,U,3)))_U ;Fill Type
|
---|
73 | . S BPREC=BPREC_$$RXSTATUS^BPSRPT6($P(BPX,U,3)) ;Status
|
---|
74 | . S BPREC=BPREC_$S($P(BPX,U):"/RL",1:"/NR")_U ;RL/NR
|
---|
75 | . S BPREC=BPREC_$S($P(BPX,U,13):"REJ",1:"")
|
---|
76 | . I BPRTYPE=1 S BPREC=BPREC_U_$$BILL^BPSRPT6(BPRX,BPREF) ;Bill #
|
---|
77 | ;
|
---|
78 | I BPRTYPE=2 D Q
|
---|
79 | . S BPREC=BPREC_$E($$CRDHLDID^BPSRPT2(+$P(BPX,U,3)),3,23)_U ;Cardholder ID
|
---|
80 | . S BPREC=BPREC_$E($$GRPID^BPSRPT2(+$P(BPX,U,3)),3,10)_U ;Group ID
|
---|
81 | . S BPREC=BPREC_$TR($J(BPBIL,10,2)," ")_U ;$Billed
|
---|
82 | . S BPREC=BPREC_$$QTY^BPSRPT6($P(BPX,U,3))_U ;Qty
|
---|
83 | . S BPREC=BPREC_$$GETNDC^BPSRPT6(BPRX,BPREF)_U ;NDC#
|
---|
84 | . S BPREC=BPREC_$$DRGNAM^BPSRPT6($P(BPX,U,14),32)_U ;Drug
|
---|
85 | ;
|
---|
86 | I BPRTYPE=3 D Q
|
---|
87 | . S BPREC=BPREC_$$DRGNAM^BPSRPT6($P(BPX,U,14),32)_U ;Drug
|
---|
88 | . S BPREC=BPREC_$TR($$GETNDC^BPSRPT6(BPRX,BPREF),"-")_U
|
---|
89 | . ;RX INFO
|
---|
90 | . S BPREC=BPREC_$$MWC^BPSRPT6(BPRX,BPREF)_U ;Fill Location
|
---|
91 | . S BPREC=BPREC_$$RTBCKNAM^BPSRPT1($$RTBCK^BPSRPT1($P(BPX,U,3)))_U ;Fill Type
|
---|
92 | . S BPREC=BPREC_$$RXSTATUS^BPSRPT6($P(BPX,U,3)) ;Status
|
---|
93 | . S BPREC=BPREC_$S($P(BPX,U):"/RL",1:"/NR")_U ;RL/NR
|
---|
94 | . S BPREC=BPREC_$S($P(BPX,U,13):"REJ",1:"")
|
---|
95 | ;
|
---|
96 | I BPRTYPE=5 D Q
|
---|
97 | . S BPREC=BPREC_$$DRGNAM^BPSRPT6($P(BPX,U,14),32)_U ;Drug
|
---|
98 | . S BPREC=BPREC_$TR($$GETNDC^BPSRPT6(BPRX,BPREF),"-")_U
|
---|
99 | . ;RX INFO
|
---|
100 | . S BPREC=BPREC_$$MWC^BPSRPT6(BPRX,BPREF)_U ;Fill Location
|
---|
101 | . S BPREC=BPREC_$$RTBCKNAM^BPSRPT1($$RTBCK^BPSRPT1($P(BPX,U,3)))_U ;Fill Type
|
---|
102 | . S BPREC=BPREC_$$RXSTATUS^BPSRPT6($P(BPX,U,3)) ;Status
|
---|
103 | . S BPREC=BPREC_$S($P(BPX,U):"/RL",1:"/NR")_U ;RL/NR
|
---|
104 | . S BPREC=BPREC_$S($P(BPX,U,13):"REJ",1:"")_U
|
---|
105 | . I $P(BPGRPLAN,U,2)]"" S BPREC=BPREC_$E($P(BPGRPLAN,U,2),1,30) ;Insurance
|
---|
106 | . S BPREC=BPREC_U_$$ELAPSE^BPSRPT6($P(BPX,U,3)) ;Elapsed Time
|
---|
107 | ;
|
---|
108 | I BPRTYPE=7 D Q
|
---|
109 | . S BPREC=BPREC_$E($$CRDHLDID^BPSRPT2(+$P(BPX,U,3)),3,23)_U ;Cardholder ID
|
---|
110 | . S BPREC=BPREC_$E($$GRPID^BPSRPT2(+$P(BPX,U,3)),3,10)_U ;Group ID
|
---|
111 | . S BPREC=BPREC_$$DATTIM^BPSRPT1(+$$CLOSEDT^BPSRPT2(+$P(BPX,U,3)))_U ;Close Dt/Time
|
---|
112 | . S BPREC=BPREC_$E($$CLSBY^BPSRPT6(+$P(BPX,U,3)),1,25)_U ;Close By
|
---|
113 | . S BPREC=BPREC_$E($P($$CLRSN^BPSRPT7(+$P(BPX,U,3)),U,2),1,30)_U ;Close Reason
|
---|
114 | Q
|
---|
115 | ;
|
---|
116 | ;Print Report Line 3
|
---|
117 | ;
|
---|
118 | ; Input Variable -> BPRTYPE,BPX
|
---|
119 | ;
|
---|
120 | WRLINE3(BPRTYPE,BPREC,BPX) N BP59,BPSARR,BPRJCNT,BPZZ
|
---|
121 | S BP59=+$P(BPX,U,3)
|
---|
122 | ;
|
---|
123 | I (",2,7,")[BPRTYPE D Q
|
---|
124 | .S BPREC=BPREC_$$CLAIMID^BPSRPT2(BP59)_U ;Claim ID
|
---|
125 | .S BPRJCNT=$$REJTEXT^BPSRPT2(BP59,.BPSARR)
|
---|
126 | .F BPZZ=1:1:BPRJCNT S:BPZZ'=1 BPREC=BPREC_"," S BPREC=BPREC_$P(BPSARR(BPZZ),":")
|
---|
127 | .;
|
---|
128 | .;Write one record per reject/close code
|
---|
129 | .S:+BPRJCNT=0 BPRJCNT=1
|
---|
130 | .F BPZZ=1:1:BPRJCNT W !,$G(BPREC),U,$P($G(BPSARR(BPZZ)),":"),U,$P($G(BPSARR(BPZZ)),":",2)
|
---|
131 | ;
|
---|
132 | I BPRTYPE=4 D
|
---|
133 | . ;Method
|
---|
134 | . I $$AUTOREV^BPSRPT1(BP59) S BPREC=BPREC_U_"AUTO"_U
|
---|
135 | . E S BPREC=BPREC_U_"REGULAR"_U
|
---|
136 | . ;Return Status
|
---|
137 | . I $P(BPX,U,15)["ACCEPTED" S BPREC=BPREC_"ACCEPTED"_U
|
---|
138 | . E S BPREC=BPREC_"REJECTED"_U
|
---|
139 | . ;Reason
|
---|
140 | . S BPREC=BPREC_$$RVSRSN^BPSRPT7(+$P(BPX,U,3))
|
---|
141 | ;
|
---|
142 | ;Write the record
|
---|
143 | W !,$G(BPREC)
|
---|
144 | Q
|
---|
145 | ;
|
---|
146 | ;Print Excel Header
|
---|
147 | ;
|
---|
148 | HDR(BPRTYPE) ;
|
---|
149 | ;
|
---|
150 | ;Check if header already printed
|
---|
151 | I $G(BPSDATA) Q
|
---|
152 | S BPSDATA=1
|
---|
153 | ;
|
---|
154 | ;Division
|
---|
155 | W !,"DIVISION",U
|
---|
156 | ;
|
---|
157 | I BPRTYPE'=5,BPRTYPE'=6 W "INSURANCE",U
|
---|
158 | ;
|
---|
159 | I (",1,2,3,4,5,7,")[BPRTYPE W "PATIENT NAME",U,"Pt.ID",U,"RX#",U,"REF/ECME#",U
|
---|
160 | ;
|
---|
161 | I (BPRTYPE=1)!(BPRTYPE=4) D Q
|
---|
162 | . W "DATE",U
|
---|
163 | . W "$BILLED",U
|
---|
164 | . W "$INS RESPONSE",U
|
---|
165 | . W "$COLLECT",U
|
---|
166 | . W "DRUG",U
|
---|
167 | . W "NDC",U
|
---|
168 | . W "RELEASED ON",U
|
---|
169 | . W "FILL LOCATION",U
|
---|
170 | . W "FILL TYPE",U
|
---|
171 | . W "STATUS",U
|
---|
172 | . W "REJECTED"
|
---|
173 | . I BPRTYPE=1 W U,"BILL#"
|
---|
174 | . I BPRTYPE=4 W U,"REVERSAL METHOD",U,"RETURN STATUS",U,"REASON"
|
---|
175 | ;
|
---|
176 | I BPRTYPE=2 D Q
|
---|
177 | . W "DATE",U
|
---|
178 | . W "RELEASED ON",U
|
---|
179 | . W "FILL LOCATION",U
|
---|
180 | . W "FILL TYPE",U
|
---|
181 | . W "STATUS",U
|
---|
182 | . W "CARDHOLD.ID",U
|
---|
183 | . W "GROUP ID",U
|
---|
184 | . W "$BILLED",U
|
---|
185 | . W "QTY",U
|
---|
186 | . W "NDC#",U
|
---|
187 | . W "DRUG",U
|
---|
188 | . W "CLAIM ID",U
|
---|
189 | . W "REJECT CODE(S)",U
|
---|
190 | . W "REJECT CODE",U
|
---|
191 | . W "REJECT EXPLANATION"
|
---|
192 | ;
|
---|
193 | I BPRTYPE=3 D Q
|
---|
194 | . W "DATE",U
|
---|
195 | . W "$BILLED",U
|
---|
196 | . W "$INS RESPONSE",U
|
---|
197 | . W "DRUG",U
|
---|
198 | . W "NDC",U
|
---|
199 | . W "FILL LOCATION",U
|
---|
200 | . W "FILL TYPE",U
|
---|
201 | . W "STATUS",U
|
---|
202 | . W "REJECTED"
|
---|
203 | ;
|
---|
204 | I BPRTYPE=5 D Q
|
---|
205 | . W "COMPLETED",U
|
---|
206 | . W "TRANS TYPE",U
|
---|
207 | . W "PAYER RESPONSE",U
|
---|
208 | . W "DRUG",U
|
---|
209 | . W "NDC",U
|
---|
210 | . W "FILL LOCATION",U
|
---|
211 | . W "FILL TYPE",U
|
---|
212 | . W "STATUS",U
|
---|
213 | . W "REJECTED",U
|
---|
214 | . W "INSURANCE",U
|
---|
215 | . W "ELAP TIME IN SECONDS"
|
---|
216 | ;
|
---|
217 | I BPRTYPE=6 D Q
|
---|
218 | .W "DATE",U
|
---|
219 | .W "#CLAIMS",U
|
---|
220 | .W "AMOUNT SUBMITTED",U
|
---|
221 | .W "RETURNED REJECTED",U
|
---|
222 | .W "RETURNED PAYABLE",U
|
---|
223 | .W "AMOUNT TO RECEIVE",U
|
---|
224 | .W "DIFFERENCE"
|
---|
225 | ;
|
---|
226 | I BPRTYPE=7 D Q
|
---|
227 | . W "FILL LOCATION",U
|
---|
228 | . W "FILL TYPE",U
|
---|
229 | . W "STATUS",U
|
---|
230 | . W "REJECTED",U
|
---|
231 | . W "DRUG",U
|
---|
232 | . W "NDC",U
|
---|
233 | . W "CARDHOLD.ID",U
|
---|
234 | . W "GROUP ID",U
|
---|
235 | . W "CLOSE DATE/TIME",U
|
---|
236 | . W "CLOSED BY",U
|
---|
237 | . W "CLOSE REASON",U
|
---|
238 | . W "CLAIM ID",U
|
---|
239 | . W "REJECT CODE(S)",U
|
---|
240 | . W "REJECT CODE",U
|
---|
241 | . W "REJECT EXPLANATION"
|
---|
242 | Q
|
---|
243 | ;
|
---|
244 | ;Print Report Insurance Subtotals
|
---|
245 | ;
|
---|
246 | ITOT(BPRTYPE,BPDIV,BPGRPLAN,BPTBIL,BPTINS,BPTCOLL,BPCNT) N BPNP
|
---|
247 | I (BPRTYPE=1)!(BPRTYPE=4) D Q
|
---|
248 | .W !!,?78,"----------",?100,"----------",?122,"----------"
|
---|
249 | .W !,"SUBTOTALS for INS:",$E(BPGRPLAN,1,50),?78,$J(BPTBIL,10,2),?100,$J(BPTINS,10,2),?122,$J(BPTCOLL,10,2)
|
---|
250 | .W !,"COUNT",?78,$J(BPCNT,10),?100,$J(BPCNT,10),?122,$J(BPCNT,10)
|
---|
251 | .W:BPCNT !,"MEAN",?78,$J(BPTBIL/BPCNT,10,2),?100,$J(BPTINS/BPCNT,10,2),?122,$J(BPTCOLL/BPCNT,10,2)
|
---|
252 | I BPRTYPE=3 D Q
|
---|
253 | .W !!,?100,"----------",?122,"----------"
|
---|
254 | .W !,"SUBTOTALS for INS:",$E(BPGRPLAN,1,50),?100,$J(BPTBIL,10,2),?122,$J(BPTINS,10,2)
|
---|
255 | .W !,"COUNT",?100,$J(BPCNT,10),?122,$J(BPCNT,10)
|
---|
256 | .W:BPCNT !,"MEAN",?100,$J(BPTBIL/BPCNT,10,2),?122,$J(BPTINS/BPCNT,10,2)
|
---|
257 | I BPRTYPE=2 D Q
|
---|
258 | .W !!,?41,"----------"
|
---|
259 | .W !,"SUBTOTALS for INS:",$E(BPGRPLAN,1,22),?41,$J(BPTBIL,10,2)
|
---|
260 | .W !,"COUNT",?41,$J(BPCNT,10)
|
---|
261 | .W:BPCNT !,"MEAN",?41,$J(BPTBIL/BPCNT,10,2)
|
---|
262 | I (BPRTYPE=7) D Q
|
---|
263 | .W !!,"SUBTOTALS for INS:",$E(BPGRPLAN,1,50)
|
---|
264 | .N BPBILR
|
---|
265 | .S BPBILR="" F S BPBILR=$O(BPCNT(BPBILR)) Q:BPBILR="" D Q:BPQ
|
---|
266 | ..S BPNP=$$CHKP^BPSRPT5(1) Q:BPQ
|
---|
267 | ..W !,?3,BPBILR,?65,$J($G(BPCNT(BPBILR)),5)
|
---|
268 | .Q:$G(BPQ)
|
---|
269 | .W !,?65,"-----"
|
---|
270 | .W !,"CLOSED CLAIMS SUBTOTAL",?65,$J(BPCNT,5)
|
---|
271 | ;
|
---|
272 | Q
|
---|