RCDMCEDT ;HEC/SBW - Enter/Edit DMC Debt Valid Field ;26-Oct-2007 ;;4.5;Accounts Receivable;**253**;Mar 20, 1995;Build 9 ;;Per VHA Directive 2004-038, this routine should not be modified. UPDTDMC ;This is the main entry to enter/edit DMC Debt Valid field in ;Accounts Receivable (#430) file N RCQUIT,DIROUT,DUOUT,DTOUT,DIRUT F D Q:$G(RCQUIT)>0!($D(DIROUT)) . W ! . N DIR,X,%,%X,Y,RCY,C,DFN,VAERR,VA,VADM,REFDT,BSTAT,RETVAL,FIRSTPAR . N ARDATA,DVAL,DVALDT,DVALUSER,IENS,PATIENT,SERDT . S DIR(0)="PAO^430:AEMQZ" . S DIR("A")="Select ACCOUNTS RECEIVABLE BILL NO. or PATIENT: " . D ^DIR . S:$D(DTOUT)!$D(DUOUT)!$D(DIRUT) RCQUIT=1 . Q:+Y'>0 . S RCY=Y . S RCY(0)=Y(0) . ;Get and Display info on Bill . ;Get Patient from 430 file . S PATIENT=+$P(RCY(0),U,7) . S FIRSTPAR=$$FIRSTPAR^RCDMCUT1(+RCY) . ;If Patient not in 430 file and this is a First Party bill get . ;Debtor from 350 File . S:PATIENT'>0&(+FIRSTPAR>0) PATIENT=+$P(FIRSTPAR,U,2) . I +$$GETDEM^RCDMCUT1(PATIENT)'>0 W !!," Bill doesn't have an associated Patient.",! Q . W !!,"Veteran's Name:",?17,$G(VADM(1)),! . W "Veteran's SSN:",?17,$G(VA("PID")),! . D KVAR^VADPT . I +FIRSTPAR'>0 W !," Only First Party bills can be edited.",! Q . ;Get AR Bill Data . S IENS=+$P(RCY,U,1)_"," . D GETS^DIQ(430,IENS,"2;8;121;125:127","EIN","ARDATA","ERR") . ; . W "Category Type:",?17,$G(ARDATA(430,IENS,2,"E")),! . S BSTAT=$G(ARDATA(430,IENS,8,"E")) . W "Bill Status: ",?17,BSTAT,! . I "^ACTIVE^OPEN^SUSPENDED^"'[(U_BSTAT_U) D Q . . W !?5," Only Open, Active & Suspended bills may be edited.",! . S REFDT=$G(ARDATA(430,IENS,121,"E")) . I REFDT]"" W !,"Bill already referred to DMC on ",REFDT,! . ;Date of Service from file 340 . S SERDT=$$GETSERDT^RCDMCUT1($P(RCY(0),U,1)) . I SERDT>0 D . . W ! . . I $P(SERDT,U,2) W "Outpatient Date: ",$$FMTE^XLFDT($P(SERDT,U,2),"1P"),! . . I $P(SERDT,U,3) W "Discharge Date: ",$$FMTE^XLFDT($P(SERDT,U,3),"1P"),1 . . I $P(SERDT,U,4) W "RX/Refill Date: ",$$FMTE^XLFDT($P(SERDT,U,4),"1P"),! . ;Displays User Edits . S DVAL=$G(ARDATA(430,IENS,125,"E")) . S DVALUSER=$G(ARDATA(430,IENS,126,"E")) . S DVALDT=$G(ARDATA(430,IENS,127,"E")) . I DVAL]"" D . . W !,"DMC Debt Valid: ",?17,DVAL . . I DVAL="PENDING" W " DMC Debt referral stopped on ",DVALDT,! . . I DVAL="YES"!(DVAL="NO") W " Updated by ",DVALUSER," on ",DVALDT,! . ; . D EDIT(+RCY,.RETVAL) . I $G(RETVAL)="Y" W !!," Debt may be referred to DMC if it meets existing DMC referral criteria.",! . I $G(RETVAL)="N" W !!," Please cancel this bill and/or refund payment if appropriate.",! . S:$D(DTOUT)!$D(DUOUT)!$D(DIRUT) RCQUIT=1 Q ; EDIT(DA,RETVAL) ;Allows user to enter/edit DMC Debt Valid Field ;INPUT ; DA - Internal Entry Number for Accounts Receivable (#430) file, ; Required variable. ;OUTPUT ; RETVAL - The value entered by the users N DIE,DR,DTOUT,DUOUT,DIRUT,DIR,X,Y S RETVAL=0 Q:+$G(DA)'>0 ; L +^PRCA(430,DA,12.1):10 I '$T D Q .W !!?5,"Another user is editing this entry. Try later." ; ;Use DIR to get users response for the update S DIR(0)="430,125^^" S DIR("A")="Please confirm this is a valid debt based on eligibility" S DIR("B")=$P($G(^PRCA(430,DA,12.1)),U,1) D ^DIR ;Deletions and changes to Pending are not allowed I $G(X)="@",Y="" D G EDITQ . W !!," *** Deletions not allowed. ***",! I $E(Y,1)="P" D G EDITQ . W !!," *** PENDING is reserved for nightly DMC job. ***",! I DIR("B")=$E(Y,1) D G EDITQ . W !!," *** No change entered. Field not updated. ***",! ;Quit if the user times or up arrows out G:$D(DIRUT) EDITQ S RETVAL=$E(Y,1) ; ;Update the entry with the Users response of Yes or No S DIE=430 S DR="125////"_$E($G(Y),1) D ^DIE EDITQ ;Used to allow a common exit and to unlock the record L -^PRCA(430,DA,12.1) Q