| 1 | RCRJRCOT ;WISC/RFJ-calculate a transactions balance ;1 Mar 97 | 
|---|
| 2 | ;;4.5;Accounts Receivable;**68,134,103,153,168*;Mar 20, 1995 | 
|---|
| 3 | Q | 
|---|
| 4 | ; | 
|---|
| 5 | ; | 
|---|
| 6 | TRANBAL(TRANDA)    ;  gets a transactions balance | 
|---|
| 7 | ;  returns principal ^ interest ^ admin cost ^ mf ^ cc | 
|---|
| 8 | N ADMIN,COURT,DATA1,DATA2,DATA3,DATA8,INTEREST,MARSHAL,PRINBAL,TRANTYPE | 
|---|
| 9 | ;  transaction not valid | 
|---|
| 10 | I '$$VALID(TRANDA) Q "" | 
|---|
| 11 | S DATA1=$G(^PRCA(433,TRANDA,1)) | 
|---|
| 12 | S PRINBAL=$P(DATA1,"^",5),INTEREST="",ADMIN="",MARSHAL="",COURT="" | 
|---|
| 13 | ; | 
|---|
| 14 | S TRANTYPE=+$P(DATA1,"^",2) | 
|---|
| 15 | I $T(@TRANTYPE)'="" D @TRANTYPE | 
|---|
| 16 | ; | 
|---|
| 17 | Q PRINBAL_"^"_INTEREST_"^"_ADMIN_"^"_MARSHAL_"^"_COURT | 
|---|
| 18 | ; | 
|---|
| 19 | ; | 
|---|
| 20 | ; | 
|---|
| 21 | ; | 
|---|
| 22 | 1 ;  increase adjustment | 
|---|
| 23 | S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)="" | 
|---|
| 24 | Q | 
|---|
| 25 | ; | 
|---|
| 26 | ; | 
|---|
| 27 | 2 ;  payment | 
|---|
| 28 | S DATA3=$G(^PRCA(433,TRANDA,3)) | 
|---|
| 29 | S PRINBAL=+$P(DATA3,"^") | 
|---|
| 30 | S INTEREST=+$P(DATA3,"^",2) | 
|---|
| 31 | S ADMIN=+$P(DATA3,"^",3) | 
|---|
| 32 | S MARSHAL=+$P(DATA3,"^",4) | 
|---|
| 33 | S COURT=+$P(DATA3,"^",5) | 
|---|
| 34 | Q | 
|---|
| 35 | ; | 
|---|
| 36 | ; | 
|---|
| 37 | 3 ;  refer to district counsel | 
|---|
| 38 | S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)="" | 
|---|
| 39 | Q | 
|---|
| 40 | ; | 
|---|
| 41 | ; | 
|---|
| 42 | 8 ;  terminate by fiscal officer | 
|---|
| 43 | S DATA8=$G(^PRCA(433,TRANDA,8)) | 
|---|
| 44 | S PRINBAL=+$P(DATA8,"^") | 
|---|
| 45 | S INTEREST=+$P(DATA8,"^",2) | 
|---|
| 46 | S ADMIN=+$P(DATA8,"^",3) | 
|---|
| 47 | S MARSHAL=+$P(DATA8,"^",4) | 
|---|
| 48 | S COURT=+$P(DATA8,"^",5) | 
|---|
| 49 | ; | 
|---|
| 50 | ;  if data8 node not defined, lookup on bill | 
|---|
| 51 | ;  once patch 146 gets out, this can be removed | 
|---|
| 52 | I $TR($P(DATA8,"^",1,5),"^0")="" D | 
|---|
| 53 | .   N BILLDA,DATA7 | 
|---|
| 54 | .   S BILLDA=+$P(^PRCA(433,TRANDA,0),"^",2) | 
|---|
| 55 | .   S DATA7=$P($G(^PRCA(430,BILLDA,7)),"^",1,5) | 
|---|
| 56 | .   S PRINBAL=+$P(DATA7,"^") | 
|---|
| 57 | .   S INTEREST=+$P(DATA7,"^",2) | 
|---|
| 58 | .   S ADMIN=+$P(DATA7,"^",3) | 
|---|
| 59 | .   S MARSHAL=+$P(DATA7,"^",4) | 
|---|
| 60 | .   S COURT=+$P(DATA7,"^",5) | 
|---|
| 61 | Q | 
|---|
| 62 | ; | 
|---|
| 63 | ; | 
|---|
| 64 | 9 ;  terminate by compromise | 
|---|
| 65 | D 8 | 
|---|
| 66 | Q | 
|---|
| 67 | ; | 
|---|
| 68 | ; | 
|---|
| 69 | 10 ;  payment waived in full | 
|---|
| 70 | D 8 | 
|---|
| 71 | Q | 
|---|
| 72 | ; | 
|---|
| 73 | ; | 
|---|
| 74 | 11 ;  payment waived in partial | 
|---|
| 75 | D 8 | 
|---|
| 76 | Q | 
|---|
| 77 | ; | 
|---|
| 78 | ; | 
|---|
| 79 | 12 ;  admin cost / charge | 
|---|
| 80 | S DATA2=$G(^PRCA(433,TRANDA,2)) | 
|---|
| 81 | S PRINBAL="" | 
|---|
| 82 | S INTEREST=+$P(DATA2,"^",7) | 
|---|
| 83 | S ADMIN=$P(DATA2,"^")+$P(DATA2,"^",2)+$P(DATA2,"^",3)+$P(DATA2,"^",4)+$P(DATA2,"^",8)+$P(DATA2,"^",9) | 
|---|
| 84 | S MARSHAL=+$P(DATA2,"^",5) | 
|---|
| 85 | S COURT=+$P(DATA2,"^",6) | 
|---|
| 86 | Q | 
|---|
| 87 | ; | 
|---|
| 88 | ; | 
|---|
| 89 | 13 ;  interest / admin charge | 
|---|
| 90 | D 12 | 
|---|
| 91 | Q | 
|---|
| 92 | ; | 
|---|
| 93 | ; | 
|---|
| 94 | 14 ;  exempt interest / admin cost | 
|---|
| 95 | S PRINBAL="" | 
|---|
| 96 | S DATA2=$G(^PRCA(433,TRANDA,2)) | 
|---|
| 97 | S INTEREST=$P(DATA2,"^",7) | 
|---|
| 98 | S ADMIN=$P(DATA2,"^")+$P(DATA2,"^",2)+$P(DATA2,"^",3)+$P(DATA2,"^",4)+$P(DATA2,"^",8)+$P(DATA2,"^",9) | 
|---|
| 99 | S MARSHAL=+$P(DATA2,"^",5) | 
|---|
| 100 | S COURT=+$P(DATA2,"^",6) | 
|---|
| 101 | ;  prior to patch 103, exempt interest and admin charges could | 
|---|
| 102 | ;  not be broken out | 
|---|
| 103 | I (INTEREST+ADMIN+MARSHAL+COURT)'=$P(DATA1,"^",5) S INTEREST=$P(DATA1,"^",5),ADMIN="",MARSHAL="",COURT="" | 
|---|
| 104 | Q | 
|---|
| 105 | ; | 
|---|
| 106 | ; | 
|---|
| 107 | 29 ;  terminate by rc/doj | 
|---|
| 108 | D 8 | 
|---|
| 109 | Q | 
|---|
| 110 | ; | 
|---|
| 111 | ; | 
|---|
| 112 | 34 ;  payment in full | 
|---|
| 113 | D 2 | 
|---|
| 114 | Q | 
|---|
| 115 | ; | 
|---|
| 116 | ; | 
|---|
| 117 | 35 ;  decrease adjustment | 
|---|
| 118 | S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)="" | 
|---|
| 119 | ;  make negative amounts positive | 
|---|
| 120 | I PRINBAL<0 S PRINBAL=-PRINBAL | 
|---|
| 121 | Q | 
|---|
| 122 | ; | 
|---|
| 123 | ; | 
|---|
| 124 | 41 ;  refund | 
|---|
| 125 | S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)="" | 
|---|
| 126 | ;  make negative amounts positive | 
|---|
| 127 | I PRINBAL<0 S PRINBAL=-PRINBAL | 
|---|
| 128 | Q | 
|---|
| 129 | ; | 
|---|
| 130 | ; | 
|---|
| 131 | 43 ;  re-establishment | 
|---|
| 132 | S DATA8=$G(^PRCA(433,TRANDA,8)) | 
|---|
| 133 | S PRINBAL=+$P(DATA8,"^") | 
|---|
| 134 | S INTEREST=+$P(DATA8,"^",2) | 
|---|
| 135 | S ADMIN=+$P(DATA8,"^",3) | 
|---|
| 136 | S MARSHAL=+$P(DATA8,"^",4) | 
|---|
| 137 | S COURT=+$P(DATA8,"^",5) | 
|---|
| 138 | Q | 
|---|
| 139 | ; | 
|---|
| 140 | ; | 
|---|
| 141 | 46 ;  unsuspended | 
|---|
| 142 | S DATA8=$G(^PRCA(433,TRANDA,8)) | 
|---|
| 143 | S PRINBAL=+$P(DATA8,"^") | 
|---|
| 144 | S INTEREST=+$P(DATA8,"^",2) | 
|---|
| 145 | S ADMIN=+$P(DATA8,"^",3) | 
|---|
| 146 | S MARSHAL=+$P(DATA8,"^",4) | 
|---|
| 147 | S COURT=+$P(DATA8,"^",5) | 
|---|
| 148 | Q | 
|---|
| 149 | ; | 
|---|
| 150 | ; | 
|---|
| 151 | 47 ;  suspended | 
|---|
| 152 | D 46 | 
|---|
| 153 | Q | 
|---|
| 154 | ; | 
|---|
| 155 | ; | 
|---|
| 156 | TRANAMT(TRANDA) ;  calculate transaction amount for transaction tranda | 
|---|
| 157 | N %,AMT | 
|---|
| 158 | S AMT=0 | 
|---|
| 159 | S %=0 F  S %=$O(^PRCA(433,TRANDA,4,%)) Q:'%  S AMT=AMT+$P($G(^(%,0)),"^",5) | 
|---|
| 160 | Q AMT | 
|---|
| 161 | ; | 
|---|
| 162 | ; | 
|---|
| 163 | VALID(TRANDA) ;  test to see if a transaction is valid | 
|---|
| 164 | ;  return 1 if it is, 0 if not | 
|---|
| 165 | ;  date entered is not set (this is the processed date) | 
|---|
| 166 | I '$P($G(^PRCA(433,TRANDA,1)),"^",9) Q 0 | 
|---|
| 167 | N DATA0 | 
|---|
| 168 | S DATA0=$G(^PRCA(433,TRANDA,0)) | 
|---|
| 169 | ;  transaction status is not complete (2) | 
|---|
| 170 | I $P(DATA0,"^",4)'=2 Q 0 | 
|---|
| 171 | ;  incomplete transaction flag set (invalid transaction) | 
|---|
| 172 | ;I $P(DATA0,"^",10) Q 0 | 
|---|
| 173 | Q 1 | 
|---|