[613] | 1 | RCDMCEDT ;HEC/SBW - Enter/Edit DMC Debt Valid Field ;26-Oct-2007
|
---|
| 2 | ;;4.5;Accounts Receivable;**253**;Mar 20, 1995;Build 9
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | UPDTDMC ;This is the main entry to enter/edit DMC Debt Valid field in
|
---|
| 5 | ;Accounts Receivable (#430) file
|
---|
| 6 | N RCQUIT,DIROUT,DUOUT,DTOUT,DIRUT
|
---|
| 7 | F D Q:$G(RCQUIT)>0!($D(DIROUT))
|
---|
| 8 | . W !
|
---|
| 9 | . N DIR,X,%,%X,Y,RCY,C,DFN,VAERR,VA,VADM,REFDT,BSTAT,RETVAL,FIRSTPAR
|
---|
| 10 | . N ARDATA,DVAL,DVALDT,DVALUSER,IENS,PATIENT,SERDT
|
---|
| 11 | . S DIR(0)="PAO^430:AEMQZ"
|
---|
| 12 | . S DIR("A")="Select ACCOUNTS RECEIVABLE BILL NO. or PATIENT: "
|
---|
| 13 | . D ^DIR
|
---|
| 14 | . S:$D(DTOUT)!$D(DUOUT)!$D(DIRUT) RCQUIT=1
|
---|
| 15 | . Q:+Y'>0
|
---|
| 16 | . S RCY=Y
|
---|
| 17 | . S RCY(0)=Y(0)
|
---|
| 18 | . ;Get and Display info on Bill
|
---|
| 19 | . ;Get Patient from 430 file
|
---|
| 20 | . S PATIENT=+$P(RCY(0),U,7)
|
---|
| 21 | . S FIRSTPAR=$$FIRSTPAR^RCDMCUT1(+RCY)
|
---|
| 22 | . ;If Patient not in 430 file and this is a First Party bill get
|
---|
| 23 | . ;Debtor from 350 File
|
---|
| 24 | . S:PATIENT'>0&(+FIRSTPAR>0) PATIENT=+$P(FIRSTPAR,U,2)
|
---|
| 25 | . I +$$GETDEM^RCDMCUT1(PATIENT)'>0 W !!," Bill doesn't have an associated Patient.",! Q
|
---|
| 26 | . W !!,"Veteran's Name:",?17,$G(VADM(1)),!
|
---|
| 27 | . W "Veteran's SSN:",?17,$G(VA("PID")),!
|
---|
| 28 | . D KVAR^VADPT
|
---|
| 29 | . I +FIRSTPAR'>0 W !," Only First Party bills can be edited.",! Q
|
---|
| 30 | . ;Get AR Bill Data
|
---|
| 31 | . S IENS=+$P(RCY,U,1)_","
|
---|
| 32 | . D GETS^DIQ(430,IENS,"2;8;121;125:127","EIN","ARDATA","ERR")
|
---|
| 33 | . ;
|
---|
| 34 | . W "Category Type:",?17,$G(ARDATA(430,IENS,2,"E")),!
|
---|
| 35 | . S BSTAT=$G(ARDATA(430,IENS,8,"E"))
|
---|
| 36 | . W "Bill Status: ",?17,BSTAT,!
|
---|
| 37 | . I "^ACTIVE^OPEN^SUSPENDED^"'[(U_BSTAT_U) D Q
|
---|
| 38 | . . W !?5," Only Open, Active & Suspended bills may be edited.",!
|
---|
| 39 | . S REFDT=$G(ARDATA(430,IENS,121,"E"))
|
---|
| 40 | . I REFDT]"" W !,"Bill already referred to DMC on ",REFDT,!
|
---|
| 41 | . ;Date of Service from file 340
|
---|
| 42 | . S SERDT=$$GETSERDT^RCDMCUT1($P(RCY(0),U,1))
|
---|
| 43 | . I SERDT>0 D
|
---|
| 44 | . . W !
|
---|
| 45 | . . I $P(SERDT,U,2) W "Outpatient Date: ",$$FMTE^XLFDT($P(SERDT,U,2),"1P"),!
|
---|
| 46 | . . I $P(SERDT,U,3) W "Discharge Date: ",$$FMTE^XLFDT($P(SERDT,U,3),"1P"),1
|
---|
| 47 | . . I $P(SERDT,U,4) W "RX/Refill Date: ",$$FMTE^XLFDT($P(SERDT,U,4),"1P"),!
|
---|
| 48 | . ;Displays User Edits
|
---|
| 49 | . S DVAL=$G(ARDATA(430,IENS,125,"E"))
|
---|
| 50 | . S DVALUSER=$G(ARDATA(430,IENS,126,"E"))
|
---|
| 51 | . S DVALDT=$G(ARDATA(430,IENS,127,"E"))
|
---|
| 52 | . I DVAL]"" D
|
---|
| 53 | . . W !,"DMC Debt Valid: ",?17,DVAL
|
---|
| 54 | . . I DVAL="PENDING" W " DMC Debt referral stopped on ",DVALDT,!
|
---|
| 55 | . . I DVAL="YES"!(DVAL="NO") W " Updated by ",DVALUSER," on ",DVALDT,!
|
---|
| 56 | . ;
|
---|
| 57 | . D EDIT(+RCY,.RETVAL)
|
---|
| 58 | . I $G(RETVAL)="Y" W !!," Debt may be referred to DMC if it meets existing DMC referral criteria.",!
|
---|
| 59 | . I $G(RETVAL)="N" W !!," Please cancel this bill and/or refund payment if appropriate.",!
|
---|
| 60 | . S:$D(DTOUT)!$D(DUOUT)!$D(DIRUT) RCQUIT=1
|
---|
| 61 | Q
|
---|
| 62 | ;
|
---|
| 63 | EDIT(DA,RETVAL) ;Allows user to enter/edit DMC Debt Valid Field
|
---|
| 64 | ;INPUT
|
---|
| 65 | ; DA - Internal Entry Number for Accounts Receivable (#430) file,
|
---|
| 66 | ; Required variable.
|
---|
| 67 | ;OUTPUT
|
---|
| 68 | ; RETVAL - The value entered by the users
|
---|
| 69 | N DIE,DR,DTOUT,DUOUT,DIRUT,DIR,X,Y
|
---|
| 70 | S RETVAL=0
|
---|
| 71 | Q:+$G(DA)'>0
|
---|
| 72 | ;
|
---|
| 73 | L +^PRCA(430,DA,12.1):10
|
---|
| 74 | I '$T D Q
|
---|
| 75 | .W !!?5,"Another user is editing this entry. Try later."
|
---|
| 76 | ;
|
---|
| 77 | ;Use DIR to get users response for the update
|
---|
| 78 | S DIR(0)="430,125^^"
|
---|
| 79 | S DIR("A")="Please confirm this is a valid debt based on eligibility"
|
---|
| 80 | S DIR("B")=$P($G(^PRCA(430,DA,12.1)),U,1)
|
---|
| 81 | D ^DIR
|
---|
| 82 | ;Deletions and changes to Pending are not allowed
|
---|
| 83 | I $G(X)="@",Y="" D G EDITQ
|
---|
| 84 | . W !!," *** Deletions not allowed. ***",!
|
---|
| 85 | I $E(Y,1)="P" D G EDITQ
|
---|
| 86 | . W !!," *** PENDING is reserved for nightly DMC job. ***",!
|
---|
| 87 | I DIR("B")=$E(Y,1) D G EDITQ
|
---|
| 88 | . W !!," *** No change entered. Field not updated. ***",!
|
---|
| 89 | ;Quit if the user times or up arrows out
|
---|
| 90 | G:$D(DIRUT) EDITQ
|
---|
| 91 | S RETVAL=$E(Y,1)
|
---|
| 92 | ;
|
---|
| 93 | ;Update the entry with the Users response of Yes or No
|
---|
| 94 | S DIE=430
|
---|
| 95 | S DR="125////"_$E($G(Y),1)
|
---|
| 96 | D ^DIE
|
---|
| 97 | EDITQ ;Used to allow a common exit and to unlock the record
|
---|
| 98 | L -^PRCA(430,DA,12.1)
|
---|
| 99 | Q
|
---|