| 1 | RCWROFF1 ;WISC/RFJ-partial waiver ;1 Feb 2000 | 
|---|
| 2 | ;;4.5;Accounts Receivable;**168,204**;Mar 20, 1995 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | PARTIAL ;  enter a partial waived (menu option) | 
|---|
| 8 | N DR,RCBILLDA,RCCURPRI,RCFYCNT,RCTOTAL,RCTRANDA,RCWAIVED,Y | 
|---|
| 9 | F  D  Q:RCBILLDA<1 | 
|---|
| 10 | .   K RCTRANDA  ;do not leave around in for loop | 
|---|
| 11 | .   ;  select a bill | 
|---|
| 12 | .   S RCBILLDA=$$GETABILL^RCBEUBIL I RCBILLDA<1 Q | 
|---|
| 13 | .   ;  lock the bill | 
|---|
| 14 | .   L +^PRCA(430,RCBILLDA):5 I '$T W !,"ANOTHER USER IS CURRENTLY WORKING WITH THIS BILL." Q | 
|---|
| 15 | .   D SHOWBILL(RCBILLDA) | 
|---|
| 16 | .   I '$G(^PRCA(430,RCBILLDA,7)) W !,"THIS BILL HAS NO PRINCIPAL BALANCE." D UNLOCK^RCWROFF Q | 
|---|
| 17 | .   W ! | 
|---|
| 18 | .   ;  add a new partial waiver transaction to file 433 | 
|---|
| 19 | .   S RCTRANDA=$$ADD433^RCBEUTRA(RCBILLDA,11) I 'RCTRANDA W !,$P(RCTRANDA,"^",2) D UNLOCK^RCWROFF Q | 
|---|
| 20 | .   W !,"  Transaction number ",RCTRANDA," added ..." | 
|---|
| 21 | .   ;  transfer fy multiple from bill | 
|---|
| 22 | .   D FY433^RCBEUTRA(RCTRANDA) | 
|---|
| 23 | .   ; | 
|---|
| 24 | .   ;  build dr string for call to die | 
|---|
| 25 | .   S DR="11WAIVED IN PART DATE;" | 
|---|
| 26 | .   ;  determine if there is more than one fiscal year for build DR string | 
|---|
| 27 | .   S RCFYCNT=$P($G(^PRCA(433,RCTRANDA,4,0)),"^",4) | 
|---|
| 28 | .   ;  single fiscal year in multiple | 
|---|
| 29 | .   I RCFYCNT'>1 D | 
|---|
| 30 | .   .   ;  get the current principal balance | 
|---|
| 31 | .   .   S RCCURPRI=+$P($G(^PRCA(433,RCTRANDA,4,+$O(^PRCA(433,RCTRANDA,4,0)),0)),"^",2) | 
|---|
| 32 | .   .   S DR=DR_"15WAIVED AMOUNT;" | 
|---|
| 33 | .   .   S DR=DR_"S RCWAIVED=+X;" | 
|---|
| 34 | .   .   S DR=DR_"I RCWAIVED'>0 W !,""Amount must be greater than ZERO.  Press ^ to exit."" S Y=15;" | 
|---|
| 35 | .   .   S DR=DR_"I RCWAIVED>RCCURPRI W !,""Waived amount CAN NOT EXCEED Principal amount ($ "",$J(RCCURPRI,0,2),"")."" S Y=15;" | 
|---|
| 36 | .   .   S DR=DR_"I RCWAIVED=RCCURPRI W !,""If you are creating a waiver for the FULL AMOUNT, use the option Full Waiver."" S Y=15;" | 
|---|
| 37 | .   .   S DR=DR_"81///^S X=RCWAIVED;" | 
|---|
| 38 | .   ;  multiple fiscal years in multiple | 
|---|
| 39 | .   I RCFYCNT>1 D | 
|---|
| 40 | .   .   S DR=DR_"S RCTOTAL=0;" | 
|---|
| 41 | .   .   S DR=DR_".02;" | 
|---|
| 42 | .   .   S DR(2,433.01)="4WAIVED AMOUNT;" | 
|---|
| 43 | .   .   S DR(2,433.01)=DR(2,433.01)_"S RCWAIVED=+X,RCCURPRI=+$P(^PRCA(433,DA(1),4,DA,0),U,2);" | 
|---|
| 44 | .   .   S DR(2,433.01)=DR(2,433.01)_"I RCWAIVED>RCCURPRI W !,""Waived amount CAN NOT EXCEED Principal Amount ($ "",$J(RCCURPRI,0,2),"") for this Fiscal Year."" S Y=4;" | 
|---|
| 45 | .   .   S DR(2,433.01,1)="I RCWAIVED=RCCURPRI W !,""If you are creating a waiver for the FULL AMOUNT, use the option Full Waiver."" S Y=4;" | 
|---|
| 46 | .   .   S DR(2,433.01,1)=DR(2,433.01,1)_"1///^S X=$P(^PRCA(433,DA(1),4,DA,0),U,2)-RCWAIVED;" | 
|---|
| 47 | .   .   S DR(2,433.01,1)=DR(2,433.01,1)_"S RCTOTAL=$G(RCTOTAL)+RCWAIVED;" | 
|---|
| 48 | .   .   S DR=DR_"I RCTOTAL'>0 W !,""Amount must be greater than ZERO.  Press ^ to exit."" S Y=.02;" | 
|---|
| 49 | .   .   S DR=DR_"15///^S X=RCTOTAL;" | 
|---|
| 50 | .   .   S DR=DR_"81///^S X=RCTOTAL;" | 
|---|
| 51 | .   ; | 
|---|
| 52 | .   ;  allow user to edit key fields | 
|---|
| 53 | .   S Y=$$EDIT433^RCBEUTRA(RCTRANDA,.DR) | 
|---|
| 54 | .   I 'Y W !,$P(Y,"^",2) D DEL433^RCBEUTRA(RCTRANDA,"",0),UNLOCK^RCWROFF Q | 
|---|
| 55 | .   ; | 
|---|
| 56 | .   ;  if only one fiscal year, update the multiple since it was not done | 
|---|
| 57 | .   ;  by the user in the die call | 
|---|
| 58 | .   I RCFYCNT=1 D | 
|---|
| 59 | .   .   N DA40,DATA40,RCTOTAL | 
|---|
| 60 | .   .   S RCTOTAL=$P($G(^PRCA(433,RCTRANDA,8)),"^")  ;amount waived | 
|---|
| 61 | .   .   S DA40=+$O(^PRCA(433,RCTRANDA,4,0)) I 'DA40 Q | 
|---|
| 62 | .   .   S DATA40=$G(^PRCA(433,RCTRANDA,4,DA40,0)) I DATA40="" Q | 
|---|
| 63 | .   .   S $P(DATA40,"^",2)=$P(DATA40,"^",2)-RCTOTAL  ;principal remaining | 
|---|
| 64 | .   .   S $P(DATA40,"^",5)=RCTOTAL                   ;amount waived | 
|---|
| 65 | .   .   S ^PRCA(433,RCTRANDA,4,DA40,0)=DATA40 | 
|---|
| 66 | .   ; | 
|---|
| 67 | .   D SHOWTRAN(RCTRANDA) | 
|---|
| 68 | .   I $$ASKOK^RCWROFF("Partial Waiver")'=1 D DEL433^RCBEUTRA(RCTRANDA,"",0),UNLOCK^RCWROFF Q | 
|---|
| 69 | .   ; | 
|---|
| 70 | .   ;  move the fy multiple from 433 to 430 | 
|---|
| 71 | .   D FYMULT^RCBEUBIL(RCTRANDA) | 
|---|
| 72 | .   ;  mark transaction as processed | 
|---|
| 73 | .   D PROCESS^RCBEUTRA(RCTRANDA) | 
|---|
| 74 | .   ;  update the principal balance on the bill (subtract the waived amount) | 
|---|
| 75 | .   D SETBAL^RCBEUBIL(RCTRANDA) | 
|---|
| 76 | .   ;  create fms write off document, if not accrued | 
|---|
| 77 | .   I '$$ACCK^PRCAACC(RCBILLDA) D FMSDOC^RCWROFF(RCTRANDA) | 
|---|
| 78 | .   ; | 
|---|
| 79 | .   W !,"  * * * * * Partial Waiver has been PROCESSED! * * * * *" | 
|---|
| 80 | .I '$G(REFMS)&(DT>$$LDATE^RCRJR(DT)) S Y=$E($$FPS^RCAMFN01(DT,1),1,5)_"01" D DD^%DT W !!,"   * * * * Transmission will be held until "_Y_" * * * *" | 
|---|
| 81 | .   D UNLOCK^RCWROFF | 
|---|
| 82 | Q | 
|---|
| 83 | ; | 
|---|
| 84 | ; | 
|---|
| 85 | SHOWTRAN(RCTRANDA) ;  show data for transaction | 
|---|
| 86 | N %,DATA0,DATA1,DATA40,RCWRLINE,Y | 
|---|
| 87 | S DATA0=$G(^PRCA(433,RCTRANDA,0)) | 
|---|
| 88 | S DATA1=$G(^PRCA(433,RCTRANDA,1)) | 
|---|
| 89 | S RCWRLINE="",$P(RCWRLINE,"=",79)="" | 
|---|
| 90 | W !!,RCWRLINE | 
|---|
| 91 | W !,"BILL NUMBER: ",$P($G(^PRCA(430,+$P(DATA0,"^",2),0)),"^") | 
|---|
| 92 | W ?40,"WAIVED AMOUNT: ",$J($P(DATA1,"^",5),0,2) | 
|---|
| 93 | S Y=$P($P(DATA1,"^"),".") I Y D DD^%DT | 
|---|
| 94 | W !?42,"WAIVED DATE: ",Y | 
|---|
| 95 | W !!,"FISCAL YEAR",?30,"WAIVED AMOUNT",?50,"NEW PRINCIPAL BALANCE DUE" | 
|---|
| 96 | S %=0 F  S %=$O(^PRCA(433,RCTRANDA,4,%)) Q:'%  D | 
|---|
| 97 | .   S DATA40=$G(^PRCA(433,RCTRANDA,4,%,0)) | 
|---|
| 98 | .   W !,$P(DATA40,"^"),?30,$J($P(DATA40,"^",5),13,2),?50,$J($P(DATA40,"^",2),25,2) | 
|---|
| 99 | W !!,RCWRLINE | 
|---|
| 100 | Q | 
|---|
| 101 | ; | 
|---|
| 102 | ; | 
|---|
| 103 | SHOWBILL(RCBILLDA) ;  show data for bill | 
|---|
| 104 | N DATA7,DATA20,FYDA | 
|---|
| 105 | S DATA7=$G(^PRCA(430,RCBILLDA,7)) | 
|---|
| 106 | W !?8,"Principal Balance: ",$J($P(DATA7,"^"),9,2) | 
|---|
| 107 | ; | 
|---|
| 108 | ;  show fy data | 
|---|
| 109 | S FYDA=$O(^PRCA(430,RCBILLDA,2,0)),DATA20=$G(^PRCA(430,RCBILLDA,2,FYDA,0)) | 
|---|
| 110 | W ?40,"FY: ",$P(DATA20,"^"),?50,"Principal Balance: ",$J($P(DATA20,"^",2),0,2) | 
|---|
| 111 | ;  if multiple fiscal years, show them here | 
|---|
| 112 | F  S FYDA=$O(^PRCA(430,RCBILLDA,2,FYDA)) Q:'FYDA  D | 
|---|
| 113 | .   S DATA20=$G(^PRCA(430,RCBILLDA,2,FYDA,0)) | 
|---|
| 114 | .   W !?40,"FY: ",$P(DATA20,"^"),?50,"Principal Balance: ",$J($P(DATA20,"^",2),0,2) | 
|---|
| 115 | ; | 
|---|
| 116 | W !?8," Interest Balance: ",$J($P(DATA7,"^",2),9,2) | 
|---|
| 117 | W !?8,"    Admin Balance: ",$J($P(DATA7,"^",3)+$P(DATA7,"^",4)+$P(DATA7,"^",5),9,2) | 
|---|
| 118 | W !?27,"---------" | 
|---|
| 119 | W !?8,"    TOTAL Balance: ",$J($P(DATA7,"^")+$P(DATA7,"^",2)+$P(DATA7,"^",3)+$P(DATA7,"^",4)+$P(DATA7,"^",5),9,2) | 
|---|
| 120 | Q | 
|---|