1 | IBATLM2A ;LL/ELZ - TRANSFER PRICING PT TRANSACTION DETAIL ; 15-SEP-1998
|
---|
2 | ;;2.0;INTEGRATED BILLING;**115,210,266,309**;21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | N IBX,IBY K ^TMP("IBATEE",$J)
|
---|
6 | F IBX=0,4,5,6 S IBDATA(IBX)=$G(^IBAT(351.61,IBIEN,IBX))
|
---|
7 | ;
|
---|
8 | S IBY=""
|
---|
9 | D SET("*** General Information ***",.IBY,26,27)
|
---|
10 | D SETVALM(.VALMCNT,.IBY)
|
---|
11 | D CNTRL^VALM10(VALMCNT,26,27,IOINHI,IOINORM)
|
---|
12 | D SETVALM(.VALMCNT,"")
|
---|
13 | ;
|
---|
14 | D SET("Transaction Date:",.IBY,1,17)
|
---|
15 | D SET($$DATE($P(IBDATA(0),"^",3)),.IBY,19,19)
|
---|
16 | D SET("Event Date:",.IBY,48,11)
|
---|
17 | D SET($$DATE($P(IBDATA(0),"^",4)),.IBY,60,20)
|
---|
18 | D SETVALM(.VALMCNT,.IBY)
|
---|
19 | ;
|
---|
20 | D SET("Status:",.IBY,11,7)
|
---|
21 | D SET($$EX^IBATUTL(351.61,.05,$P(IBDATA(0),"^",5)),.IBY,19,19)
|
---|
22 | D SET("Priced Date:",.IBY,47,12)
|
---|
23 | D SET($$DATE($P(IBDATA(0),"^",13)),.IBY,60,20)
|
---|
24 | D SETVALM(.VALMCNT,.IBY)
|
---|
25 | ;
|
---|
26 | D SET("From Date:",.IBY,8,10)
|
---|
27 | D SET($$DATE($P(IBDATA(0),"^",9)),.IBY,19,19)
|
---|
28 | D SET("To Date:",.IBY,51,8)
|
---|
29 | D SET($$DATE($P(IBDATA(0),"^",10)),.IBY,60,20)
|
---|
30 | D SETVALM(.VALMCNT,.IBY)
|
---|
31 | ;
|
---|
32 | D SET("Facility:",.IBY,9,9)
|
---|
33 | D SET($$EX^IBATUTL(351.61,.11,$P(IBDATA(0),"^",11)),.IBY,19,19)
|
---|
34 | D SETVALM(.VALMCNT,.IBY),SETVALM(.VALMCNT,""),SETVALM(.VALMCNT,"")
|
---|
35 | ;
|
---|
36 | D SET("*** Workload/Pricing Detail ***",.IBY,24,31)
|
---|
37 | D SETVALM(.VALMCNT,.IBY)
|
---|
38 | D CNTRL^VALM10(VALMCNT,24,31,IOINHI,IOINORM)
|
---|
39 | ;
|
---|
40 | D @$S($P(IBDATA(0),"^",12)["DGPM(":"INPT",$P(IBDATA(0),"^",12)["SCE(":"OUT",$P(IBDATA(0),"^",12)["RMPR(":"RMPR",1:"RX")
|
---|
41 | ;
|
---|
42 | D SETVALM(.VALMCNT,"")
|
---|
43 | D SET("*** Totals ***",.IBY,33,14)
|
---|
44 | D SETVALM(.VALMCNT,.IBY)
|
---|
45 | D CNTRL^VALM10(VALMCNT,26,28,IOINHI,IOINORM)
|
---|
46 | D SETVALM(.VALMCNT,"")
|
---|
47 | ;
|
---|
48 | D SET("Bill Amount:",.IBY,6,18)
|
---|
49 | D SET($FN($P(IBDATA(6),"^",2),"",2),.IBY,25,54)
|
---|
50 | D SETVALM(.VALMCNT,.IBY)
|
---|
51 | ;
|
---|
52 | D SET("Patient Copay:",.IBY,6,14)
|
---|
53 | S $P(IBDATA(6),"^",3)=$$COPAY^IBATUTL(DFN,$P(IBDATA(0),"^",12),$P(IBDATA(0),"^",9),$P(IBDATA(0),"^",10))
|
---|
54 | D SET($FN($P(IBDATA(6),"^",3),"",2),.IBY,26,54)
|
---|
55 | D SETVALM(.VALMCNT,.IBY)
|
---|
56 | ;
|
---|
57 | Q
|
---|
58 | INPT ; -- detail display for inpatient
|
---|
59 | N IBDRG,VAIP
|
---|
60 | ;
|
---|
61 | S IBDRG=$G(^IBAT(351.61,IBIEN,1))
|
---|
62 | ;
|
---|
63 | S VAIP("E")=+$P(IBDATA(0),"^",12) D IN5^VADPT
|
---|
64 | ;
|
---|
65 | D SETVALM(.VALMCNT,"")
|
---|
66 | D SET("Admission Date:",.IBY,3,15)
|
---|
67 | D SET($P(VAIP(13,1),"^",2),.IBY,19,19)
|
---|
68 | D SET("Discharge Date:",.IBY,44,15)
|
---|
69 | D SET($P(VAIP(17,1),"^",2),.IBY,60,20)
|
---|
70 | D SETVALM(.VALMCNT,.IBY)
|
---|
71 | ;
|
---|
72 | D SET("Ward Location:",.IBY,4,14)
|
---|
73 | D SET($P(VAIP(5),"^",2),.IBY,19,19)
|
---|
74 | D SET("Treating Specialty:",.IBY,40,19)
|
---|
75 | D SET($P(VAIP(8),"^",2),.IBY,60,20)
|
---|
76 | D SETVALM(.VALMCNT,.IBY)
|
---|
77 | ;
|
---|
78 | D SET("DRG:",.IBY,14,4)
|
---|
79 | D SET($$EX^IBATUTL(351.61,1.01,$P(IBDRG,"^")),.IBY,19,19)
|
---|
80 | D SET("DRG Charge:",.IBY,48,11)
|
---|
81 | D SET($FN($P(IBDRG,"^",2),"",2),.IBY,60,20)
|
---|
82 | D SETVALM(.VALMCNT,.IBY)
|
---|
83 | ;
|
---|
84 | D SET("Inpatient LOS:",.IBY,4,14)
|
---|
85 | D SET(+$P(IBDRG,"^",3),.IBY,19,19)
|
---|
86 | D SET("High Trim Days:",.IBY,44,15)
|
---|
87 | D SET(+$P(IBDRG,"^",4),.IBY,60,20)
|
---|
88 | D SETVALM(.VALMCNT,.IBY)
|
---|
89 | ;
|
---|
90 | D SET("Outlier Days:",.IBY,5,13)
|
---|
91 | D SET(+$P(IBDRG,"^",5),.IBY,19,19)
|
---|
92 | D SET("Outlier Rate:",.IBY,46,13)
|
---|
93 | D SET($FN($P(IBDRG,"^",6),"",2),.IBY,60,20)
|
---|
94 | D SETVALM(.VALMCNT,.IBY)
|
---|
95 | Q
|
---|
96 | OUT ; -- detail display for outpatient
|
---|
97 | N IBX,IBDXLIST,IBSCE,IBPROV,IBDATE
|
---|
98 | ;
|
---|
99 | D GETGEN^SDOE($P($P(IBDATA(0),"^",12),";"),"IBSCE")
|
---|
100 | D GETPRV^SDOE($P($P(IBDATA(0),"^",12),";"),"IBPROV")
|
---|
101 | ;
|
---|
102 | D GETDX^SDOE($P($P(IBDATA(0),"^",12),";"),"IBDXLIST")
|
---|
103 | S IBDATE=$P($G(IBDATA(0)),U,4) ; Event date
|
---|
104 | D DX(.IBDXLIST,IBDATE)
|
---|
105 | ;
|
---|
106 | D SET("Procedure Information:",.IBY,1,22)
|
---|
107 | D SETVALM(.VALMCNT,.IBY)
|
---|
108 | D CNTRL^VALM10(VALMCNT,1,22,IOINHI,IOINORM)
|
---|
109 | ;
|
---|
110 | S IBX=0 F S IBX=$O(^IBAT(351.61,IBIEN,3,IBX)) Q:IBX<1 D
|
---|
111 | . S IBX(0)=$G(^IBAT(351.61,IBIEN,3,IBX,0))
|
---|
112 | . S IBX(1)=$$PROC^IBATUTL($P(IBX(0),U),IBDATE)
|
---|
113 | . ;
|
---|
114 | . D SET(+IBX(1),.IBY,5,6)
|
---|
115 | . D SET("-",.IBY,13,1)
|
---|
116 | . D SET($P(IBX(1),"^",2),.IBY,15,40)
|
---|
117 | . D SET(+$P(IBX(0),"^",2),.IBY,57,3)
|
---|
118 | . D SET("x",.IBY,62,1)
|
---|
119 | . D SET($FN($P(IBX(0),"^",3),"",2),.IBY,64,15)
|
---|
120 | . D SETVALM(.VALMCNT,.IBY)
|
---|
121 | D SETVALM(.VALMCNT,"")
|
---|
122 | ;
|
---|
123 | D SET("Visit Information:",.IBY,1,18)
|
---|
124 | D SETVALM(.VALMCNT,.IBY)
|
---|
125 | D CNTRL^VALM10(VALMCNT,1,22,IOINHI,IOINORM)
|
---|
126 | ;
|
---|
127 | D SET("Location:",.IBY,8,14)
|
---|
128 | D SET($P(^SC(+$P(IBSCE(0),"^",4),0),"^"),.IBY,19,46) ; dbia 10040
|
---|
129 | D SETVALM(.VALMCNT,.IBY)
|
---|
130 | ;
|
---|
131 | D SETVALM(.VALMCNT,"")
|
---|
132 | D SET("Provider(s):",.IBY,5,17)
|
---|
133 | S IBX=0 F S IBX=$O(IBPROV(IBX)) Q:IBX<.5 D
|
---|
134 | . D SET($$GET1^DIQ(200,+IBPROV(IBX),.01),.IBY,19,49) ; dbia 10060
|
---|
135 | . D SETVALM(.VALMCNT,.IBY)
|
---|
136 | ;
|
---|
137 | Q
|
---|
138 | RX ; -- detail display for rx
|
---|
139 | D SET("Drug:",.IBY,5,5)
|
---|
140 | D ZERO^IBRXUTL(+IBDATA(4))
|
---|
141 | D SET(^TMP($J,"IBDRUG",+IBDATA(4),.01),.IBY,12,40) ; dbia 4533
|
---|
142 | D SET(+$P(IBDATA(4),"^",2),.IBY,55,3)
|
---|
143 | D SET("x",.IBY,60,1)
|
---|
144 | D SET($FN($P(IBDATA(4),"^",3),"",3),.IBY,62,15)
|
---|
145 | D SETVALM(.VALMCNT,.IBY)
|
---|
146 | D SETVALM(.VALMCNT,"")
|
---|
147 | K ^TMP($J,"IBDRUG")
|
---|
148 | Q
|
---|
149 | RMPR ; -- detail display for prosthetic
|
---|
150 | D SETVALM(.VALMCNT,"")
|
---|
151 | D SET("Prosthetic Item:",.IBY,5,16)
|
---|
152 | D SET($$GET1^DIQ(661,$P(IBDATA(4),"^",4),.01),.IBY,12,40) ; dbia 374
|
---|
153 | D SET($FN($P(IBDATA(4),"^",5),",",2),.IBY,55,15)
|
---|
154 | D SETVALM(.VALMCNT,.IBY)
|
---|
155 | D SETVALM(.VALMCNT,"")
|
---|
156 | Q
|
---|
157 | DX(IBDX,IBDATE) ; -- diagnosis info
|
---|
158 | N IBX
|
---|
159 | ;
|
---|
160 | D SETVALM(.VALMCNT,"")
|
---|
161 | D SET("Diagnosis Information:",.IBY,1,22)
|
---|
162 | D SETVALM(.VALMCNT,.IBY)
|
---|
163 | D CNTRL^VALM10(VALMCNT,1,22,IOINHI,IOINORM)
|
---|
164 | ;
|
---|
165 | S IBX=0 F S IBX=$O(IBDX(IBX)) Q:IBX<1 D
|
---|
166 | . S IBX(0)=$$ICD9^IBACSV(+IBDX(IBX),$G(IBDATE))
|
---|
167 | . ;
|
---|
168 | . D SET($P(IBX(0),"^"),.IBY,5,7)
|
---|
169 | . D SET("-",.IBY,14,1)
|
---|
170 | . D SET($P(IBX(0),"^",3),.IBY,16,30)
|
---|
171 | . D SETVALM(.VALMCNT,.IBY)
|
---|
172 | D SETVALM(.VALMCNT,"")
|
---|
173 | Q
|
---|
174 | SET(TEXT,STRING,COL,LENGTH) ; -- set up string with valm1
|
---|
175 | S STRING=$$SETSTR^VALM1($$LOWER^VALM1(TEXT),STRING,COL,LENGTH)
|
---|
176 | Q
|
---|
177 | SETVALM(LINE,TEXT) ; -- sets line for display
|
---|
178 | S LINE=LINE+1
|
---|
179 | S ^TMP("IBATEE",$J,LINE,0)=TEXT
|
---|
180 | S TEXT=""
|
---|
181 | Q
|
---|
182 | DATE(X) ; -- returns date for display
|
---|
183 | Q $$FMTE^XLFDT(X,"5D")
|
---|