Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RCRJRCOT

RCRJRCOT.m

Go to the documentation of this file.
RCRJRCOT ;WISC/RFJ-calculate a transactions balance ;1 Mar 97
 ;;4.5;Accounts Receivable;**68,134,103,153,168,340**;Mar 20, 1995;Build 9
 ;;Per VA Directive 6402, this routine should not be modified.
 Q
 ;
 ;
TRANBAL(TRANDA)    ;  gets a transactions balance
 ;  returns principal ^ interest ^ admin cost ^ mf ^ cc
 N ADMIN,COURT,DATA1,DATA2,DATA3,DATA8,INTEREST,MARSHAL,PRINBAL,TRANTYPE
 ;  transaction not valid
 I '$$VALID(TRANDA) Q ""
 S DATA1=$G(^PRCA(433,TRANDA,1))
 S PRINBAL=$P(DATA1,"^",5),INTEREST="",ADMIN="",MARSHAL="",COURT=""
 ;
 S TRANTYPE=+$P(DATA1,"^",2)
 I $T(@TRANTYPE)'="" D @TRANTYPE
 ;
 Q PRINBAL_"^"_INTEREST_"^"_ADMIN_"^"_MARSHAL_"^"_COURT
 ;
 ;
 ;
 ;
1 ;  increase adjustment
 S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)=""
 Q
 ;
 ;
2 ;  payment
 S DATA3=$G(^PRCA(433,TRANDA,3))
 S PRINBAL=+$P(DATA3,"^")
 S INTEREST=+$P(DATA3,"^",2)
 S ADMIN=+$P(DATA3,"^",3)
 S MARSHAL=+$P(DATA3,"^",4)
 S COURT=+$P(DATA3,"^",5)
 Q
 ;
 ;
3 ;  refer to district counsel
 S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)=""
 Q
 ;
 ;
8 ;  terminate by fiscal officer
 S DATA8=$G(^PRCA(433,TRANDA,8))
 S PRINBAL=+$P(DATA8,"^")
 S INTEREST=+$P(DATA8,"^",2)
 S ADMIN=+$P(DATA8,"^",3)
 S MARSHAL=+$P(DATA8,"^",4)
 S COURT=+$P(DATA8,"^",5)
 ;
 ;  if data8 node not defined, lookup on bill
 ;  once patch 146 gets out, this can be removed
 I $TR($P(DATA8,"^",1,5),"^0")="" D
 .   N BILLDA,DATA7
 .   S BILLDA=+$P(^PRCA(433,TRANDA,0),"^",2)
 .   S DATA7=$P($G(^PRCA(430,BILLDA,7)),"^",1,5)
 .   S PRINBAL=+$P(DATA7,"^")
 .   S INTEREST=+$P(DATA7,"^",2)
 .   S ADMIN=+$P(DATA7,"^",3)
 .   S MARSHAL=+$P(DATA7,"^",4)
 .   S COURT=+$P(DATA7,"^",5)
 Q
 ;
 ;
9 ;  terminate by compromise
 D 8
 Q
 ;
 ;
10 ;  payment waived in full
 D 8
 Q
 ;
 ;
11 ;  payment waived in partial
 D 8
 Q
 ;
 ;
12 ;  admin cost / charge
 S DATA2=$G(^PRCA(433,TRANDA,2))
 S PRINBAL=""
 S INTEREST=+$P(DATA2,"^",7)
 S ADMIN=$P(DATA2,"^")+$P(DATA2,"^",2)+$P(DATA2,"^",3)+$P(DATA2,"^",4)+$P(DATA2,"^",8)+$P(DATA2,"^",9)
 S MARSHAL=+$P(DATA2,"^",5)
 S COURT=+$P(DATA2,"^",6)
 Q
 ;
 ;
13 ;  interest / admin charge
 D 12
 Q
 ;
 ;
14 ;  exempt interest / admin cost
 S PRINBAL=""
 S DATA2=$G(^PRCA(433,TRANDA,2))
 S INTEREST=$P(DATA2,"^",7)
 S ADMIN=$P(DATA2,"^")+$P(DATA2,"^",2)+$P(DATA2,"^",3)+$P(DATA2,"^",4)+$P(DATA2,"^",8)+$P(DATA2,"^",9)
 S MARSHAL=+$P(DATA2,"^",5)
 S COURT=+$P(DATA2,"^",6)
 ;  prior to patch 103, exempt interest and admin charges could
 ;  not be broken out
 I (INTEREST+ADMIN+MARSHAL+COURT)'=$P(DATA1,"^",5) S INTEREST=$P(DATA1,"^",5),ADMIN="",MARSHAL="",COURT=""
 Q
 ;
 ;
29 ;  terminate by rc/doj
 D 8
 Q
 ;
 ;
34 ;  payment in full
 D 2
 Q
 ;
 ;
35 ;  decrease adjustment
 S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)=""
 ;  make negative amounts positive
 I PRINBAL<0 S PRINBAL=-PRINBAL
 Q
 ;
 ;
41 ;  refund
 S PRINBAL=+$P(DATA1,"^",5),(INTEREST,ADMIN,MARSHAL,COURT)=""
 ;  make negative amounts positive
 I PRINBAL<0 S PRINBAL=-PRINBAL
 Q
 ;
 ;
43 ;  re-establishment
 S DATA8=$G(^PRCA(433,TRANDA,8))
 S PRINBAL=+$P(DATA8,"^")
 S INTEREST=+$P(DATA8,"^",2)
 S ADMIN=+$P(DATA8,"^",3)
 S MARSHAL=+$P(DATA8,"^",4)
 S COURT=+$P(DATA8,"^",5)
 Q
 ;
 ;
46 ;  unsuspended
 S DATA8=$G(^PRCA(433,TRANDA,8))
 S PRINBAL=+$P(DATA8,"^")
 S INTEREST=+$P(DATA8,"^",2)
 S ADMIN=+$P(DATA8,"^",3)
 S MARSHAL=+$P(DATA8,"^",4)
 S COURT=+$P(DATA8,"^",5)
 Q
 ;
 ;
47 ;  suspended
 D 46
 Q
 ;
 ;
73 ; cs increase adjustment - added with *340
 D 1
 Q
 ;
 ;
74 ; cs admin.cost charge - added with *340
 D 12
 Q
 ;
 ;
TRANAMT(TRANDA) ;  calculate transaction amount for transaction tranda
 N %,AMT
 S AMT=0
 S %=0 F  S %=$O(^PRCA(433,TRANDA,4,%)) Q:'%  S AMT=AMT+$P($G(^(%,0)),"^",5)
 Q AMT
 ;
 ;
VALID(TRANDA) ;  test to see if a transaction is valid
 ;  return 1 if it is, 0 if not
 ;  date entered is not set (this is the processed date)
 I '$P($G(^PRCA(433,TRANDA,1)),"^",9) Q 0
 N DATA0
 S DATA0=$G(^PRCA(433,TRANDA,0))
 ;  transaction status is not complete (2)
 I $P(DATA0,"^",4)'=2 Q 0
 ;  incomplete transaction flag set (invalid transaction)
 ;I $P(DATA0,"^",10) Q 0
 Q 1