PRCAI162 ;WISC/RFJ-post init patch 162 ;4 Oct 00 ;;4.5;Accounts Receivable;**162**;Mar 20, 1995 ;;Per VHA Directive 10-93-142, this routine should not be modified. Q ; ; START ; start post init D BMES^XPDUTL(" >> Adding a time to exempted interest/admin transactions ...") ; N %,DATA1,RCDATE,RCDAY,RCTRANDA,RCTRDATE ; ; get the sites statement day S RCDAY=+$P($G(^RC(342,1,0)),"^",11) I 'RCDAY Q I $L(RCDAY)=1 S RCDAY="0"_RCDAY ; ; start with june 2000 and loop each date to make sure ; the time is entered on exempt transactions. this date ; is the same as the date interest and admin charges are ; added (statement date minus 3 days). if a charge is ; exempted on the same day, make sure there is a time. F RCDATE=30006:1:30012 D . S RCTRDATE=$$FMADD^XLFDT(RCDATE_RCDAY,-3) . ; . ; loop transaction on the date . S RCTRANDA=0 F S RCTRANDA=$O(^PRCA(433,"AT",14,RCTRDATE,RCTRANDA)) Q:'RCTRANDA D . . S DATA1=$G(^PRCA(433,RCTRANDA,1)) . . I $P($P(DATA1,"^",9),".",2)="" S %=$$EDIT433^RCBEUTRA(RCTRANDA,"19////"_RCTRDATE_".2359;") ; D BMES^XPDUTL(" >> Fixing RC DOJ CODE field on payment transactions ...") ; ; loop payment transactions and fix RC DOJ CODE field 7, file 433 N PAYTYPE,RCDATE,RCRECTDA,RCTRAN,RCTRANDA,RCTYPE F RCTRAN=2,34 S RCDATE=0 F S RCDATE=$O(^PRCA(433,"AT",RCTRAN,RCDATE)) Q:'RCDATE D . S RCTRANDA=0 F S RCTRANDA=$O(^PRCA(433,"AT",RCTRAN,RCDATE,RCTRANDA)) Q:'RCTRANDA D . . ; get the type of payment . . S RCTYPE=$P($G(^PRCA(433,RCTRANDA,0)),"^",7) . . ; type of payment does not exist or is correct . . I RCTYPE="" Q . . I RCTYPE="DC"!(RCTYPE="DOJ")!(RCTYPE="IRS")!(RCTYPE="RC")!(RCTYPE="TOP") Q . . ; check to see if it is set as the receipt number, if not quit . . S RCRECTDA=$O(^RCY(344,"B",RCTYPE,0)) I 'RCRECTDA Q . . ; get the type of payment on the receipt . . S PAYTYPE=$P($G(^RCY(344,RCRECTDA,0)),"^",4) . . ; set the transaction type of payment . . S RCTYPE="" . . I PAYTYPE=3 S RCTYPE="RC" . . I PAYTYPE=5 S RCTYPE="DOJ" . . I PAYTYPE=11 S RCTYPE="IRS" . . I PAYTYPE=13 S RCTYPE="TOP" . . S $P(^PRCA(433,RCTRANDA,0),"^",7)=RCTYPE ; D REPAY Q ; ; REPAY ; fix repayment plans D BMES^XPDUTL(" >> Fixing Repayment Plans ...") ; N COUNT,DATA,DATA0,DATA2,DATA3,DATA4,DATE,INTADM,LINE,PAYAMT,RCAMT,RCDATE,RCBILLDA,RCPAY,RCPAYAMT,RCREPDA,RCSTOP,RCSTOP1,RCTRAN,RCTRANDA,RCTRANDB,REPAYAMT,REPAYDAT,RSC,TYPE,XMDUN,XMY,XMZ K ^TMP("PRCAI162",$J) ; D MES^XPDUTL(" ...looping payment transactions.") ; loop all payment transactions and build a list of repayments by bill ; and by date paid F RCTRAN=2,34 S RCDATE=0 F S RCDATE=$O(^PRCA(433,"AT",RCTRAN,RCDATE)) Q:'RCDATE D . S RCTRANDA=0 F S RCTRANDA=$O(^PRCA(433,"AT",RCTRAN,RCDATE,RCTRANDA)) Q:'RCTRANDA D . . ; get the bill for the payment . . S RCBILLDA=+$P($G(^PRCA(433,RCTRANDA,0)),"^",2) I 'RCBILLDA Q . . ; . . ; get the repayment data . . I '$O(^PRCA(430,RCBILLDA,5,0)) Q . . S DATA4=$G(^PRCA(430,RCBILLDA,4)) . . S REPAYAMT=+$P(DATA4,"^",3) I 'REPAYAMT Q . . S REPAYDAT=+$P($P(DATA4,"^"),".") I 'REPAYDAT Q . . ; verify the payment date after repayment plan established . . I RCDATE