[613] | 1 | RCBEUBIL ;WISC/RFJ-utilties for bills (in file 430) ;1 Jun 00
|
---|
| 2 | ;;4.5;Accounts Receivable;**153,226**;Mar 20, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | GETABILL() ; select an active bill
|
---|
| 8 | N RCBILLDA,RCCAT,RCCATEG,STATUS
|
---|
| 9 | F D Q:RCBILLDA
|
---|
| 10 | . W !! S RCBILLDA=$$SELBILL^RCDPBTLM
|
---|
| 11 | . I RCBILLDA=0 S RCBILLDA=-1 Q
|
---|
| 12 | . I RCBILLDA<1 Q
|
---|
| 13 | . ; bill must be active
|
---|
| 14 | . S STATUS=$P($G(^PRCA(430,RCBILLDA,0)),"^",8)
|
---|
| 15 | . I STATUS'=16,STATUS'=42 W !,"THIS IS NOT AN ACTIVE BILL !",! S RCBILLDA=0 Q
|
---|
| 16 | . ;
|
---|
| 17 | . ; determine if bill can be adjusted based on category
|
---|
| 18 | . K RCCAT D RCCAT^RCRCUTL(.RCCAT) ;returns rccat(category) array
|
---|
| 19 | . S RCCATEG=+$P(^PRCA(430,RCBILLDA,0),"^",2)
|
---|
| 20 | . I +$G(RCCAT(RCCATEG))=1,$$REFST^RCRCUTL(RCBILLDA) W !!,"YOU CANNOT USE THIS OPTION TO ADJUST REFERRED "_$P($G(RCCAT(RCCATEG)),"^",2)_" BILLS !",! S RCBILLDA=0 Q
|
---|
| 21 | . ;
|
---|
| 22 | . I RCCATEG=26 W !,"YOU CANNOT ADJUST A PREPAYMENT BILL !",! S RCBILLDA=0 Q
|
---|
| 23 | Q RCBILLDA
|
---|
| 24 | ;
|
---|
| 25 | ;
|
---|
| 26 | EDIT430(RCBILLDA,DR) ; edit the fields in 430 with the DR string passed
|
---|
| 27 | I '$D(^PRCA(430,RCBILLDA)) Q
|
---|
| 28 | N %,D,D0,D1,DA,DDH,DI,DIC,DICR,DIE,DIG,DIH,DIU,DIV,DIW,DQ,J,X,Y
|
---|
| 29 | S (DIC,DIE)="^PRCA(430,",DA=RCBILLDA
|
---|
| 30 | D ^DIE
|
---|
| 31 | ; user pressed up-arrow
|
---|
| 32 | I $D(Y) Q "0^BILL FIELDS NOT UPDATED"
|
---|
| 33 | Q 1
|
---|
| 34 | ;
|
---|
| 35 | ;
|
---|
| 36 | CHGSTAT(RCBILLDA,STATUS) ; change the current status
|
---|
| 37 | I '$D(^PRCA(430,RCBILLDA,0)) Q
|
---|
| 38 | ; if the current status equals the new status, quit
|
---|
| 39 | I $P(^PRCA(430,RCBILLDA,0),"^",8)=STATUS Q
|
---|
| 40 | ; if the status not defined in file 430.3, quit
|
---|
| 41 | I '$D(^PRCA(430.3,STATUS,0)) Q
|
---|
| 42 | N %,D,D0,DA,DI,DIC,DICR,DIE,DIG,DIH,DIU,DIV,DIW,DQ,DR,PREVSTAT,X,Y
|
---|
| 43 | S (DIC,DIE)="^PRCA(430,",DA=RCBILLDA
|
---|
| 44 | ; build DR string
|
---|
| 45 | S DR=""
|
---|
| 46 | ; get the current status and set to previous status
|
---|
| 47 | S PREVSTAT=$P($G(^PRCA(430,RCBILLDA,0)),"^",8)
|
---|
| 48 | ; if previous status equal to new status, quit
|
---|
| 49 | I PREVSTAT=STATUS Q
|
---|
| 50 | I PREVSTAT S DR=DR_"95////"_PREVSTAT_";"
|
---|
| 51 | S DR=DR_"8////"_STATUS_";" ;current status
|
---|
| 52 | S DR=DR_"17////"_$G(DUZ)_";" ;status updated by
|
---|
| 53 | D ^DIE
|
---|
| 54 | Q
|
---|
| 55 | ;
|
---|
| 56 | ;
|
---|
| 57 | SETRCDOJ(RCBILLDA,RCTRANDA,RCDOJ) ; set the bill and transaction to rc or doj
|
---|
| 58 | ; rcdoj = code RC or DOJ
|
---|
| 59 | N D,D0,DA,DI,DIC,DIE,DQ,DR,X,Y
|
---|
| 60 | S (DIC,DIE)="^PRCA(430,",DA=RCBILLDA
|
---|
| 61 | S DR="65////"_RCDOJ_";"
|
---|
| 62 | D ^DIE
|
---|
| 63 | ;
|
---|
| 64 | S (DIC,DIE)="^PRCA(433,",DA=RCTRANDA
|
---|
| 65 | S DR="7////"_RCDOJ_";"
|
---|
| 66 | D ^DIE
|
---|
| 67 | Q
|
---|
| 68 | ;
|
---|
| 69 | ;
|
---|
| 70 | SETBAL(RCTRANDA) ; set the bills balance by adding value of transaction
|
---|
| 71 | N RCBILLDA,RCDATA7,VALUE
|
---|
| 72 | S RCBILLDA=$P($G(^PRCA(433,RCTRANDA,0)),"^",2) I 'RCBILLDA Q
|
---|
| 73 | ; get the value of the transaction
|
---|
| 74 | S VALUE=$P($$TRANVALU^RCDPBTLM(RCTRANDA),"^",2,6)
|
---|
| 75 | ; there is no value on the transaction
|
---|
| 76 | I $TR(VALUE,"^0")="" Q
|
---|
| 77 | ;
|
---|
| 78 | S RCDATA7=$G(^PRCA(430,RCBILLDA,7))
|
---|
| 79 | S $P(RCDATA7,"^",1)=$P(RCDATA7,"^",1)+$P(VALUE,"^",1) ; principal
|
---|
| 80 | S $P(RCDATA7,"^",2)=$P(RCDATA7,"^",2)+$P(VALUE,"^",2) ; interest
|
---|
| 81 | S $P(RCDATA7,"^",3)=$P(RCDATA7,"^",3)+$P(VALUE,"^",3) ; admin
|
---|
| 82 | S $P(RCDATA7,"^",4)=$P(RCDATA7,"^",4)+$P(VALUE,"^",4) ; marshal fee
|
---|
| 83 | S $P(RCDATA7,"^",5)=$P(RCDATA7,"^",5)+$P(VALUE,"^",5) ; court cost
|
---|
| 84 | S $P(^PRCA(430,RCBILLDA,7),"^",1,5)=$P(RCDATA7,"^",1,5)
|
---|
| 85 | Q
|
---|
| 86 | ;
|
---|
| 87 | ;
|
---|
| 88 | FYMULT(RCTRANDA) ; update the fiscal year multiple for bill
|
---|
| 89 | ; to equal the fiscal year multiple for transaction in file 433
|
---|
| 90 | N RCBILLDA,FYDA
|
---|
| 91 | S RCBILLDA=$P($G(^PRCA(433,RCTRANDA,0)),"^",2) I 'RCBILLDA Q
|
---|
| 92 | S FYDA=0
|
---|
| 93 | F S FYDA=$O(^PRCA(433,RCTRANDA,4,FYDA)) Q:'FYDA D
|
---|
| 94 | . I $D(^PRCA(430,RCBILLDA,2,FYDA,0)) S $P(^PRCA(430,RCBILLDA,2,FYDA,0),"^",2)=$P(^PRCA(433,RCTRANDA,4,FYDA,0),"^",2)
|
---|
| 95 | Q
|
---|
| 96 | ;
|
---|
| 97 | ;
|
---|
| 98 | SHOWBILL(RCBILLDA) ; show data for bill
|
---|
| 99 | N DATA7
|
---|
| 100 | S DATA7=$G(^PRCA(430,RCBILLDA,7))
|
---|
| 101 | W !?8,"Principal Balance: ",$J($P(DATA7,"^"),9,2)
|
---|
| 102 | W !?8," Interest Balance: ",$J($P(DATA7,"^",2),9,2)
|
---|
| 103 | W !?8," Admin Balance: ",$J($P(DATA7,"^",3)+$P(DATA7,"^",4)+$P(DATA7,"^",5),9,2)
|
---|
| 104 | W !?27,"---------"
|
---|
| 105 | W !?8," TOTAL Balance: ",$J($P(DATA7,"^")+$P(DATA7,"^",2)+$P(DATA7,"^",3)+$P(DATA7,"^",4)+$P(DATA7,"^",5),9,2)
|
---|
| 106 | Q
|
---|
| 107 | ;
|
---|
| 108 | ;
|
---|
| 109 | ADDCOMM(RCBILLDA,COMMENT) ; automatically put a comment on a bill
|
---|
| 110 | ; comment in the array comment(1)=first line
|
---|
| 111 | ; comment(2)=second line
|
---|
| 112 | N CURRLINE,LINE
|
---|
| 113 | ; get the last line
|
---|
| 114 | S CURRLINE=$O(^PRCA(430,RCBILLDA,10,99999999),-1)
|
---|
| 115 | ; if comment already on transaction, add a blank line and
|
---|
| 116 | ; date time of new comment
|
---|
| 117 | I CURRLINE D
|
---|
| 118 | . S CURRLINE=CURRLINE+1,^PRCA(430,RCBILLDA,10,CURRLINE,0)=" "
|
---|
| 119 | . S CURRLINE=CURRLINE+1,^PRCA(430,RCBILLDA,10,CURRLINE,0)="Comment added on: "_$$FMTE^XLFDT($$NOW^XLFDT)
|
---|
| 120 | ; add new lines
|
---|
| 121 | F LINE=1:1 Q:'$D(COMMENT(LINE)) S ^PRCA(430,RCBILLDA,10,CURRLINE+LINE,0)=COMMENT(LINE)
|
---|
| 122 | ; set the 0th node
|
---|
| 123 | S ^PRCA(430,RCBILLDA,10,0)="^^"_(CURRLINE+LINE-1)_"^"_(CURRLINE+LINE-1)_"^"_DT_"^"
|
---|
| 124 | Q
|
---|