[613] | 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
|
---|