1 | RCDPTPLI ;WISC/RFJ-transaction profile init to build array ;1 Jun 99
|
---|
2 | ;;4.5;Accounts Receivable;**114,153**;Mar 20, 1995
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | ;
|
---|
7 | INIT ; initialization for list manager list
|
---|
8 | ; requires rctranda
|
---|
9 | N %,COMMDA,DATA,DATA3,DATA8,RCDPDATA,RCFYDA,RCLINE,RCSPACE,RCX,SHOWBAL,SHOWCOL,TOTAL3,TOTAL8,TRANTYPE
|
---|
10 | K ^TMP("RCDPTPLM",$J),^TMP("VALM VIDEO",$J)
|
---|
11 | ;
|
---|
12 | D DIQ433^RCDPTPLM(RCTRANDA,".01;.03;5.02;5.03;11;12;13;14;15;17;19;42;86;88;")
|
---|
13 | S TRANTYPE=RCDPDATA(433,RCTRANDA,12,"I")
|
---|
14 | ;
|
---|
15 | S RCSPACE="",$P(RCSPACE," ",81)=""
|
---|
16 | ;
|
---|
17 | ; set the listmanager line number 1
|
---|
18 | S RCLINE=1
|
---|
19 | D SET("Transaction",RCLINE,1,40,.01)
|
---|
20 | D SET("Type",RCLINE,41,80,12)
|
---|
21 | ;
|
---|
22 | S RCLINE=RCLINE+1
|
---|
23 | D SET(" TransDate",RCLINE,1,80,11)
|
---|
24 | ; increase/decrease adjustment
|
---|
25 | I TRANTYPE=1!(TRANTYPE=35) D
|
---|
26 | . I RCDPDATA(433,RCTRANDA,88,"I") D SET("Contract Adj",RCLINE,47,80)
|
---|
27 | . D SET("Adjustment",RCLINE,64,80,14)
|
---|
28 | ; payment
|
---|
29 | I TRANTYPE=2!(TRANTYPE=34) D SET("Receipt",RCLINE,38,80,13)
|
---|
30 | ; terminated
|
---|
31 | I TRANTYPE=8!(TRANTYPE=9) D SET("TermReason",RCLINE,35,80,17)
|
---|
32 | ;
|
---|
33 | S RCLINE=RCLINE+1
|
---|
34 | D SET(" Processed",RCLINE,1,80,19)
|
---|
35 | D SET(" By",RCLINE,41,80,42)
|
---|
36 | ;
|
---|
37 | S RCLINE=RCLINE+1
|
---|
38 | D SET(" Trans Amt: "_$J(RCDPDATA(433,RCTRANDA,15,"E"),0,2),RCLINE,1,80)
|
---|
39 | ;
|
---|
40 | S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
41 | ;
|
---|
42 | ; fiscal year multiple
|
---|
43 | S RCLINE=RCLINE+1
|
---|
44 | D SET("Fiscal Year",RCLINE,28,40,0,IOUON,IOUOFF)
|
---|
45 | D SET("Principal Amount",RCLINE,44,60,0,IOUON,IOUOFF)
|
---|
46 | D SET("FY Trans Amount",RCLINE,64,80,0,IOUON,IOUOFF)
|
---|
47 | S RCFYDA=0 F S RCFYDA=$O(^PRCA(433,RCTRANDA,4,RCFYDA)) Q:'RCFYDA D
|
---|
48 | . S DATA=$G(^PRCA(433,RCTRANDA,4,RCFYDA,0))
|
---|
49 | . S RCLINE=RCLINE+1
|
---|
50 | . D SET($J($P(DATA,"^"),38),RCLINE,1,80) ;fiscal year
|
---|
51 | . D SET($J($P(DATA,"^",2),19,2),RCLINE,41,60) ;prin amt
|
---|
52 | . D SET($J($P(DATA,"^",5),19,2),RCLINE,60,80) ;fy trans amt
|
---|
53 | ;
|
---|
54 | ; admin cost/charge
|
---|
55 | I TRANTYPE=12!(TRANTYPE=13)!(TRANTYPE=14) D
|
---|
56 | . S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
57 | . S DATA=$P($G(^PRCA(433,RCTRANDA,2)),"^",1,9)
|
---|
58 | . I $TR(DATA,"^0")="" Q
|
---|
59 | . S RCLINE=RCLINE+1 D SET("Administrative Cost Charge:",RCLINE,1,80,0,IOUON,IOUOFF)
|
---|
60 | . I $P(DATA,"^",1) S RCLINE=RCLINE+1 D SET(" IRS Locator: "_$J($P(DATA,"^",1),10,2),RCLINE,1,80)
|
---|
61 | . I $P(DATA,"^",2) S RCLINE=RCLINE+1 D SET(" Credit Agency: "_$J($P(DATA,"^",2),10,2),RCLINE,1,80)
|
---|
62 | . I $P(DATA,"^",3) S RCLINE=RCLINE+1 D SET(" DMV Locator: "_$J($P(DATA,"^",3),10,2),RCLINE,1,80)
|
---|
63 | . I $P(DATA,"^",4) S RCLINE=RCLINE+1 D SET(" Consumer Rep: "_$J($P(DATA,"^",4),10,2),RCLINE,1,80)
|
---|
64 | . I $P(DATA,"^",5) S RCLINE=RCLINE+1 D SET(" Marshall Fee: "_$J($P(DATA,"^",5),10,2),RCLINE,1,80)
|
---|
65 | . I $P(DATA,"^",6) S RCLINE=RCLINE+1 D SET(" Court Cost: "_$J($P(DATA,"^",6),10,2),RCLINE,1,80)
|
---|
66 | . I $P(DATA,"^",7) S RCLINE=RCLINE+1 D SET("Interest Charge: "_$J($P(DATA,"^",7),10,2),RCLINE,1,80)
|
---|
67 | . I $P(DATA,"^",8) S RCLINE=RCLINE+1 D SET(" Admin Charge: "_$J($P(DATA,"^",8),10,2),RCLINE,1,80)
|
---|
68 | . I $P(DATA,"^",9) S RCLINE=RCLINE+1 D SET(" Penalty Charge: "_$J($P(DATA,"^",9),10,2),RCLINE,1,80)
|
---|
69 | ;
|
---|
70 | ;
|
---|
71 | ; collections and balances
|
---|
72 | ; set flag to display balances if there are any
|
---|
73 | S DATA8=$P($G(^PRCA(433,RCTRANDA,8)),"^",1,5)
|
---|
74 | S SHOWBAL=1 I $TR(DATA8,"^0")="" S SHOWBAL=0
|
---|
75 | ; set flag to display collections if there are any
|
---|
76 | S DATA3=$P($G(^PRCA(433,RCTRANDA,3)),"^",1,5)
|
---|
77 | S SHOWCOL=1 I $TR(DATA3,"^0")="" S SHOWCOL=0
|
---|
78 | ; show data
|
---|
79 | I SHOWBAL!(SHOWCOL) D
|
---|
80 | . S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
81 | . F %=1:1:5 S TOTAL3=$G(TOTAL3)+$P(DATA3,"^",%),TOTAL8=$G(TOTAL8)+$P(DATA8,"^",%)
|
---|
82 | . S RCLINE=RCLINE+1 D SET("Balances",RCLINE,19,26,0,IOUON,IOUOFF)
|
---|
83 | . I SHOWCOL D SET("Collections",RCLINE,34,55,0,IOUON,IOUOFF)
|
---|
84 | . S RCLINE=RCLINE+1 D SET(" Principal: "_$J($P(DATA8,"^",1),10,2),RCLINE,1,80)
|
---|
85 | . I SHOWCOL D SET($J($P(DATA3,"^",1),10,2),RCLINE,35,55)
|
---|
86 | . S RCLINE=RCLINE+1 D SET(" Interest: "_$J($P(DATA8,"^",2),10,2),RCLINE,1,80)
|
---|
87 | . I SHOWCOL D SET($J($P(DATA3,"^",2),10,2),RCLINE,35,55)
|
---|
88 | . S RCLINE=RCLINE+1 D SET("Administrative: "_$J($P(DATA8,"^",3),10,2),RCLINE,1,80)
|
---|
89 | . I SHOWCOL D SET($J($P(DATA3,"^",3),10,2),RCLINE,35,55)
|
---|
90 | . S RCLINE=RCLINE+1 D SET(" Marshall Fee: "_$J($P(DATA8,"^",4),10,2),RCLINE,1,80)
|
---|
91 | . I SHOWCOL D SET($J($P(DATA3,"^",4),10,2),RCLINE,35,55)
|
---|
92 | . S RCLINE=RCLINE+1 D SET(" Court Cost: "_$J($P(DATA8,"^",5),10,2),RCLINE,1,80,0,IOUON,IOUOFF)
|
---|
93 | . I SHOWCOL D SET($J($P(DATA3,"^",5),10,2),RCLINE,35,55,0,IOUON,IOUOFF)
|
---|
94 | . S RCLINE=RCLINE+1 D SET(" Total: "_$J(TOTAL8,10,2),RCLINE,1,80)
|
---|
95 | . I SHOWCOL D SET($J(TOTAL3,10,2),RCLINE,35,55)
|
---|
96 | ;
|
---|
97 | ; brief comments, followup date
|
---|
98 | S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
99 | S RCLINE=RCLINE+1 D SET("Brief Comment",RCLINE,1,80,5.02)
|
---|
100 | D SET("Follow-up Date",RCLINE,51,80,5.03)
|
---|
101 | ;
|
---|
102 | ; comments
|
---|
103 | S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
104 | S RCLINE=RCLINE+1 D SET("Comments:",RCLINE,1,80,0,IOUON,IOUOFF)
|
---|
105 | I RCDPDATA(433,RCTRANDA,86,"E")'="" S RCLINE=RCLINE+1 D SET("",RCLINE,1,80,86)
|
---|
106 | S COMMDA=0 F S COMMDA=$O(^PRCA(433,RCTRANDA,7,COMMDA)) Q:'COMMDA D
|
---|
107 | . S RCX=^PRCA(433,RCTRANDA,7,COMMDA,0)
|
---|
108 | . S RCLINE=RCLINE+1 D SET($E(RCX,1,79),RCLINE,1,80)
|
---|
109 | . I $E(RCX,80,159)'="" S RCLINE=RCLINE+1 D SET($E(RCX,80,159),RCLINE,1,80)
|
---|
110 | . I $E(RCX,160,239)'="" S RCLINE=RCLINE+1 D SET($E(RCX,160,239),RCLINE,1,80)
|
---|
111 | S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
112 | ;
|
---|
113 | ; show integrated billing data
|
---|
114 | N BILLCAT,BILLDA,IBDA
|
---|
115 | S BILLDA=+$P(^PRCA(433,RCTRANDA,0),"^",2)
|
---|
116 | S BILLCAT=$P($G(^PRCA(430,BILLDA,0)),"^",2)
|
---|
117 | ; for category c-means test, rx copay (sc/nsc)
|
---|
118 | I BILLCAT=18!(BILLCAT=22)!(BILLCAT=23) D
|
---|
119 | . D STMT^IBRFN1(RCTRANDA)
|
---|
120 | . I '$D(^TMP("IBRFN1",$J)) Q
|
---|
121 | . ; start on 2nd screen if not there already
|
---|
122 | . F RCLINE=RCLINE:1:15 D SET(" ",RCLINE,1,80)
|
---|
123 | . S RCLINE=RCLINE+1 D SET("Integrated Billing Data",RCLINE,1,80,0,IOUON,IOUOFF)
|
---|
124 | . S IBDA=0 F S IBDA=$O(^TMP("IBRFN1",$J,IBDA)) Q:'IBDA D
|
---|
125 | . . S DATA=^TMP("IBRFN1",$J,IBDA)
|
---|
126 | . . ; if more than one ib data transaction to display, skip a line
|
---|
127 | . . I IBDA>1 S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
128 | . . S RCLINE=RCLINE+1 D SET("IB Ref #: "_$P(DATA,"^"),RCLINE,1,80)
|
---|
129 | . . ; show rx
|
---|
130 | . . I BILLCAT=22!(BILLCAT=23) D Q
|
---|
131 | . . . D SET("Pharmacy",RCLINE,28,80)
|
---|
132 | . . . D SET("Charge Amt: "_$J($P(DATA,"^",8),0,2),RCLINE,60,80)
|
---|
133 | . . . S RCLINE=RCLINE+1
|
---|
134 | . . . D SET(" Rx#: "_$P(DATA,"^",2),RCLINE,1,80)
|
---|
135 | . . . D SET("Drug: "_$P(DATA,"^",3),RCLINE,22,80)
|
---|
136 | . . . D SET("Re/Fill Date: "_$E($P(DATA,"^",7),4,5)_"/"_$E($P(DATA,"^",7),6,7)_"/"_$E($P(DATA,"^",7),2,3),RCLINE,58,80)
|
---|
137 | . . . S RCLINE=RCLINE+1
|
---|
138 | . . . D SET(" Physician: "_$P(DATA,"^",5),RCLINE,1,48)
|
---|
139 | . . . D SET("Days Supply: "_$P(DATA,"^",4),RCLINE,48,80)
|
---|
140 | . . . D SET("Qty: "_$P(DATA,"^",6),RCLINE,67,80)
|
---|
141 | . . ; show outpatient (type of care 430.2 = 4 outpatient care)
|
---|
142 | . . I $P(^PRCA(430,BILLDA,0),"^",16)=4 D Q
|
---|
143 | . . . D SET("Outpatient",RCLINE,26,80)
|
---|
144 | . . . D SET("Visit Date: "_$E($P(DATA,"^",2),4,5)_"/"_$E($P(DATA,"^",2),6,7)_"/"_$E($P(DATA,"^",2),2,3),RCLINE,37,80)
|
---|
145 | . . . D SET("Charge Amt: "_$J($P(DATA,"^",8),0,2),RCLINE,60,80)
|
---|
146 | . . ; show inpatient
|
---|
147 | . . D SET("Inpatient",RCLINE,28,80)
|
---|
148 | . . D SET("Charge Amt: "_$J($P(DATA,"^",8),0,2),RCLINE,60,80)
|
---|
149 | . . S RCLINE=RCLINE+1
|
---|
150 | . . D SET(" Admission Date: "_$E($P(DATA,"^",2),4,5)_"/"_$E($P(DATA,"^",2),6,7)_"/"_$E($P(DATA,"^",2),2,3),RCLINE,1,80)
|
---|
151 | . . D SET("Discharge Date: "_$E($P(DATA,"^",5),4,5)_"/"_$E($P(DATA,"^",5),6,7)_"/"_$E($P(DATA,"^",5),2,3),RCLINE,56,80)
|
---|
152 | . . S RCLINE=RCLINE+1
|
---|
153 | . . D SET(" Bill Cycle Begin Date: "_$E($P(DATA,"^",3),4,5)_"/"_$E($P(DATA,"^",3),6,7)_"/"_$E($P(DATA,"^",3),2,3),RCLINE,1,80)
|
---|
154 | . . D SET("End Date: "_$E($P(DATA,"^",4),4,5)_"/"_$E($P(DATA,"^",4),6,7)_"/"_$E($P(DATA,"^",4),2,3),RCLINE,62,80)
|
---|
155 | . K ^TMP("IBRFN1",$J)
|
---|
156 | ;
|
---|
157 | ; set valmcnt to number of lines in the list
|
---|
158 | S VALMCNT=RCLINE
|
---|
159 | Q
|
---|
160 | ;
|
---|
161 | ;
|
---|
162 | SET(STRING,LINE,COLBEG,COLEND,FIELD,ON,OFF) ; set array
|
---|
163 | I $G(FIELD) S STRING=STRING_$S(STRING="":"",1:": ")_$G(RCDPDATA(433,RCTRANDA,FIELD,"E"))
|
---|
164 | I STRING="",'$G(FIELD) Q
|
---|
165 | I '$D(@VALMAR@(LINE,0)) D SET^VALM10(LINE,$J("",80))
|
---|
166 | D SET^VALM10(LINE,$$SETSTR^VALM1(STRING,@VALMAR@(LINE,0),COLBEG,COLEND-COLBEG+1))
|
---|
167 | I $G(ON)]""!($G(OFF)]"") D CNTRL^VALM10(LINE,COLBEG,$L(STRING),ON,OFF)
|
---|
168 | Q
|
---|