| 1 | RCDPBPLI ;WISC/RFJ-bill profile (build array cont employee/vendor) ;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 |  ;  report type for employee or vendor, show description field 106
 | 
|---|
| 9 |  N COMMDA,DATA,DESCDA,TEXT
 | 
|---|
| 10 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 11 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Date    ",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 12 |  D SET^RCDPBPLM("Description",RCLINE,12,80,0,IOUON,IOUOFF)
 | 
|---|
| 13 |  D SET^RCDPBPLM("Quantity",RCLINE,35,80,0,IOUON,IOUOFF)
 | 
|---|
| 14 |  D SET^RCDPBPLM("Units",RCLINE,46,80,0,IOUON,IOUOFF)
 | 
|---|
| 15 |  D SET^RCDPBPLM("Cost",RCLINE,54,80,0,IOUON,IOUOFF)
 | 
|---|
| 16 |  D SET^RCDPBPLM("Total Cost",RCLINE,64,80,0,IOUON,IOUOFF)
 | 
|---|
| 17 |  S DESCDA=0 F  S DESCDA=$O(^PRCA(430,RCBILLDA,101,DESCDA)) Q:'DESCDA  D
 | 
|---|
| 18 |  .   S DATA=$G(^PRCA(430,RCBILLDA,101,DESCDA,0)) I DATA="" Q
 | 
|---|
| 19 |  .   S RCLINE=RCLINE+1
 | 
|---|
| 20 |  .   D SET^RCDPBPLM($E($P(DATA,"^"),4,5)_"/"_$E($P(DATA,"^"),6,7)_"/"_$E($P(DATA,"^"),2,3),RCLINE,1,80)
 | 
|---|
| 21 |  .   D SET^RCDPBPLM($J($P(DATA,"^",3),8,2),RCLINE,35,80)
 | 
|---|
| 22 |  .   D SET^RCDPBPLM($J($P($G(^PRCD(420.5,+$P(DATA,"^",5),0)),"^"),5),RCLINE,46,80)
 | 
|---|
| 23 |  .   D SET^RCDPBPLM($J($P(DATA,"^",4),0,4),RCLINE,54,80)
 | 
|---|
| 24 |  .   D SET^RCDPBPLM($J($P(DATA,"^",6),10,2),RCLINE,64,80)
 | 
|---|
| 25 |  .   ;  show description
 | 
|---|
| 26 |  .   S DATA=""
 | 
|---|
| 27 |  .   S COMMDA=0 F  S COMMDA=$O(^PRCA(430,RCBILLDA,101,DESCDA,1,COMMDA)) Q:'COMMDA  D
 | 
|---|
| 28 |  .   .   S TEXT=$G(^PRCA(430,RCBILLDA,101,DESCDA,1,COMMDA,0)) I TEXT="" Q
 | 
|---|
| 29 |  .   .   I $L(DATA_TEXT)>240 D SETDESC(11)
 | 
|---|
| 30 |  .   .   S DATA=DATA_$S(DATA="":"",1:" ")_TEXT
 | 
|---|
| 31 |  .   I DATA'="" D SETDESC(11)
 | 
|---|
| 32 |  .   ;  make sure all data is processed
 | 
|---|
| 33 |  .   I DATA'="" D SETDESC(11)
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | SETDESC(STARTCOL) ;  set the description line starting in column startcol+1
 | 
|---|
| 38 |  N %,LENGTH,SPACE
 | 
|---|
| 39 |  S LENGTH=80-STARTCOL-1
 | 
|---|
| 40 |  S SPACE="",$P(SPACE," ",80)=""
 | 
|---|
| 41 |  ;  break text at space if possible
 | 
|---|
| 42 |  I $L(DATA)>LENGTH D
 | 
|---|
| 43 |  .   F %=LENGTH-1:-1:0 Q:$E(DATA,%)=" "
 | 
|---|
| 44 |  .   I % S LENGTH=%
 | 
|---|
| 45 |  ;  set line
 | 
|---|
| 46 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM($E(SPACE,1,STARTCOL)_$E(DATA,1,LENGTH),RCLINE,1,80)
 | 
|---|
| 47 |  S DATA=$E(DATA,LENGTH+1,255)
 | 
|---|
| 48 |  I $L(DATA)>LENGTH D SETDESC(STARTCOL)
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 | TRANINIT ;  initialization for transaction and ib data display
 | 
|---|
| 53 |  N BILLCAT,DATA,IBDA,RCDATE,RCLIST,RCTOTAL,RCTRANDA,X
 | 
|---|
| 54 |  ;  get the bill category
 | 
|---|
| 55 |  S BILLCAT=$P($G(^PRCA(430,RCBILLDA,0)),"^",2)
 | 
|---|
| 56 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 57 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 58 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Trans    Date      Type          Amount  Description                        ",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 59 |  S RCTOTAL=$$GETTRANS^RCDPBTLM(RCBILLDA)
 | 
|---|
| 60 |  S RCDATE=0 F  S RCDATE=$O(RCLIST(RCDATE)) Q:'RCDATE  D
 | 
|---|
| 61 |  .   S RCTRANDA=0 F  S RCTRANDA=$O(RCLIST(RCDATE,RCTRANDA)) Q:'RCTRANDA  D
 | 
|---|
| 62 |  .   .   S RCLINE=RCLINE+1
 | 
|---|
| 63 |  .   .   D SET^RCDPBPLM(RCTRANDA,RCLINE,1,80)
 | 
|---|
| 64 |  .   .   D SET^RCDPBPLM($E(RCDATE,4,5)_"/"_$E(RCDATE,6,7)_"/"_$E(RCDATE,2,3),RCLINE,10,20)
 | 
|---|
| 65 |  .   .   D SET^RCDPBPLM($E($P(RCLIST(RCDATE,RCTRANDA),"^"),1,9),RCLINE,20,29)
 | 
|---|
| 66 |  .   .   S X=$P(RCLIST(RCDATE,RCTRANDA),"^",2)+$P(RCLIST(RCDATE,RCTRANDA),"^",3)+$P(RCLIST(RCDATE,RCTRANDA),"^",4)+$P(RCLIST(RCDATE,RCTRANDA),"^",5)+$P(RCLIST(RCDATE,RCTRANDA),"^",6)
 | 
|---|
| 67 |  .   .   D SET^RCDPBPLM($J(X,10,2),RCLINE,30,40)
 | 
|---|
| 68 |  .   .   ;
 | 
|---|
| 69 |  .   .   ;  for category c-means test, rx copay (sc/nsc)
 | 
|---|
| 70 |  .   .   I BILLCAT=18!(BILLCAT=22)!(BILLCAT=23) D
 | 
|---|
| 71 |  .   .   .   D STMT^IBRFN1(RCTRANDA)
 | 
|---|
| 72 |  .   .   .   I '$D(^TMP("IBRFN1",$J)) Q
 | 
|---|
| 73 |  .   .   .   S IBDA=0 F  S IBDA=$O(^TMP("IBRFN1",$J,IBDA)) Q:'IBDA  D
 | 
|---|
| 74 |  .   .   .   .   S DATA=^TMP("IBRFN1",$J,IBDA)
 | 
|---|
| 75 |  .   .   .   .   ;  show rx
 | 
|---|
| 76 |  .   .   .   .   I BILLCAT=22!(BILLCAT=23) D  Q
 | 
|---|
| 77 |  .   .   .   .   .   D SET^RCDPBPLM("RX "_$P(DATA,"^",2),RCLINE,42,52)
 | 
|---|
| 78 |  .   .   .   .   .   D SET^RCDPBPLM($P(DATA,"^",3),RCLINE,54,68)
 | 
|---|
| 79 |  .   .   .   .   .   D SET^RCDPBPLM("Qty "_$P(DATA,"^",6),RCLINE,70,80)
 | 
|---|
| 80 |  .   .   .   .   ;  show outpatient (type of care 430.2 = 4 outpatient care)
 | 
|---|
| 81 |  .   .   .   .   I $P(^PRCA(430,RCBILLDA,0),"^",16)=4 D  Q
 | 
|---|
| 82 |  .   .   .   .   .   D SET^RCDPBPLM("Outpatient Visit Date: "_$E($P(DATA,"^",2),4,5)_"/"_$E($P(DATA,"^",2),6,7)_"/"_$E($P(DATA,"^",2),2,3),RCLINE,42,80)
 | 
|---|
| 83 |  .   .   .   .   ;  show inpatient
 | 
|---|
| 84 |  .   .   .   .   D SET^RCDPBPLM("Inpatient Adm Date: "_$E($P(DATA,"^",2),4,5)_"/"_$E($P(DATA,"^",2),6,7)_"/"_$E($P(DATA,"^",2),2,3),RCLINE,42,80)
 | 
|---|
| 85 |  .   .   .   K ^TMP("IBRFN1",$J)
 | 
|---|
| 86 |  Q
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 | REPAY ;  show repayment plan
 | 
|---|
| 90 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 91 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Repayment Plan Data",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 92 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("     Repayment Plan Date",RCLINE,1,80,41)
 | 
|---|
| 93 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Day of Month Payment Due",RCLINE,1,80,42)
 | 
|---|
| 94 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("    Repayment Amount Due",RCLINE,1,80,43)
 | 
|---|
| 95 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("      Number of Payments",RCLINE,1,80,44)
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 |  ;
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 | IRS ;  irs data
 | 
|---|
| 100 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 101 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Forwarded to IRS",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 102 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("On Date",RCLINE,40,80,68.7)
 | 
|---|
| 103 |  D SET^RCDPBPLM("Amount",RCLINE,65,80,68.92)
 | 
|---|
| 104 |  S DATA=$G(^PRCA(430,RCBILLDA,6))
 | 
|---|
| 105 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("       Principal Balance: "_$J($P(DATA,"^",16),10,2),RCLINE,1,80)
 | 
|---|
| 106 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("        Interest Balance: "_$J($P(DATA,"^",17),10,2),RCLINE,1,80)
 | 
|---|
| 107 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("  Administrative Balance: "_$J($P(DATA,"^",18),10,2),RCLINE,1,80)
 | 
|---|
| 108 |  Q
 | 
|---|
| 109 |  ;
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 | DMC ;  dmc data
 | 
|---|
| 112 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 113 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Forwarded to DMC",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 114 |  D SET^RCDPBPLM("On Date",RCLINE,40,80,121)
 | 
|---|
| 115 |  S DATA=$G(^PRCA(430,RCBILLDA,12))
 | 
|---|
| 116 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("       Principal Balance: "_$J($P(DATA,"^",2),10,2),RCLINE,1,80)
 | 
|---|
| 117 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("        Interest Balance: "_$J($P(DATA,"^",3),10,2),RCLINE,1,80)
 | 
|---|
| 118 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("  Administrative Balance: "_$J($P(DATA,"^",4),10,2),RCLINE,1,80)
 | 
|---|
| 119 |  Q
 | 
|---|
| 120 |  ;
 | 
|---|
| 121 |  ;
 | 
|---|
| 122 | TOP ;  top data
 | 
|---|
| 123 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 124 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Forwarded to TOP",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 125 |  D SET^RCDPBPLM("On Date",RCLINE,40,80,141)
 | 
|---|
| 126 |  S DATA=$G(^RCD(340,+RCDPDATA(430,RCBILLDA,9,"I"),6))
 | 
|---|
| 127 |  I $P(DATA,"^",6) D
 | 
|---|
| 128 |  .   S Y=$P(DATA,"^",6) D DD^%DT
 | 
|---|
| 129 |  .   S RCLINE=RCLINE+1 D SET^RCDPBPLM("  TOP Hold Date: "_Y,RCLINE,1,80)
 | 
|---|
| 130 |  Q
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 |  ;
 | 
|---|
| 133 | INSUR ;  show insurance data
 | 
|---|
| 134 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" ",RCLINE,1,80)
 | 
|---|
| 135 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Insurance Data",RCLINE,1,80,0,IOUON,IOUOFF)
 | 
|---|
| 136 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("         Insured Name",RCLINE,1,80,239)
 | 
|---|
| 137 |  D SET^RCDPBPLM("Sex",RCLINE,50,80,240)
 | 
|---|
| 138 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("            ID Number",RCLINE,1,80,242)
 | 
|---|
| 139 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("           Group Name",RCLINE,1,80,243)
 | 
|---|
| 140 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("         Group Number",RCLINE,1,80,244)
 | 
|---|
| 141 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("        Employer Name",RCLINE,1,80,247)
 | 
|---|
| 142 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("   Employee ID Number",RCLINE,1,80,248)
 | 
|---|
| 143 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("    Employer Location",RCLINE,1,80,249)
 | 
|---|
| 144 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM("Secondary Ins Carrier",RCLINE,1,80,19)
 | 
|---|
| 145 |  S RCLINE=RCLINE+1 D SET^RCDPBPLM(" Tertiary Ins Carrier",RCLINE,1,80,19.1)
 | 
|---|
| 146 |  Q
 | 
|---|