| 1 | RCBDBBAL ;WISC/RFJ-bill balances check ;1 Mar 2001
 | 
|---|
| 2 |  ;;4.5;Accounts Receivable;**169**;Mar 20, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 | OUTOFBAL(RCBILLDA) ;  returns balance if a bill is out of balance
 | 
|---|
| 8 |  ;  returns rclist array of transactions against bill
 | 
|---|
| 9 |  ;  locks to file 430 should be applied before calling this function
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  N BALANCE,DATA7,OUTOFBAL,STATUS
 | 
|---|
| 12 |  ;  if it is not activated, not out of balance
 | 
|---|
| 13 |  I '$P($G(^PRCA(430,RCBILLDA,6)),"^",21) Q ""
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  ;  calculate balance and get current balance
 | 
|---|
| 16 |  S BALANCE=$$GETTRANS^RCDPBTLM(RCBILLDA)
 | 
|---|
| 17 |  S DATA7=$G(^PRCA(430,RCBILLDA,7))
 | 
|---|
| 18 |  S STATUS=$P($G(^PRCA(430,RCBILLDA,0)),"^",8)
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  ;  for a write-off bill, the balance should equal all zeros, for
 | 
|---|
| 21 |  ;  these bills, node 7 is the write-off amount, so for the out of
 | 
|---|
| 22 |  ;  balance check to work, node 7 needs to be adjusted to all zeros
 | 
|---|
| 23 |  I STATUS=23 S DATA7="0^0^0^0^0"
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  ;  test for out of balance
 | 
|---|
| 26 |  S OUTOFBAL=0
 | 
|---|
| 27 |  I +$P(DATA7,"^")'=+$P(BALANCE,"^")!(+$P(DATA7,"^",2)'=+$P(BALANCE,"^",2))!(+$P(DATA7,"^",3)'=+$P(BALANCE,"^",3))!(+$P(DATA7,"^",4)'=+$P(BALANCE,"^",4))!(+$P(DATA7,"^",5)'=+$P(BALANCE,"^",5)) S OUTOFBAL=1
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 |  ;  for collected/closed (22) and cancellation (39) bills
 | 
|---|
| 30 |  ;  the balance in 430 should equal 0, if not it is out of balance
 | 
|---|
| 31 |  I STATUS=22!(STATUS)=39 I $TR($P(DATA7,"^",1,5),"^0")'="" S OUTOFBAL=1
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  Q $S('OUTOFBAL:"",1:BALANCE)
 | 
|---|