[613] | 1 | BPSSCRRS ;BHAM ISC/SS - ECME SCREEN RESUBMIT ;05-APR-05
|
---|
| 2 | ;;1.0;E CLAIMS MGMT ENGINE;**1,3,5**;JUN 2004;Build 45
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;IA 4702
|
---|
| 6 | ;
|
---|
| 7 | RES ;
|
---|
| 8 | N BPRET,BPSARR59
|
---|
| 9 | I '$D(@(VALMAR)) Q
|
---|
| 10 | D FULL^VALM1
|
---|
| 11 | W !,"Enter the line numbers for the claim(s) to be resubmitted."
|
---|
| 12 | S BPRET=$$ASKLINES^BPSSCRU4("Select item(s)","C",.BPSARR59,VALMAR)
|
---|
| 13 | I BPRET="^" S VALMBCK="R" Q
|
---|
| 14 | ;go thru all selected claims and try to resubmit them separately
|
---|
| 15 | ;update the content of the screen and display it
|
---|
| 16 | ;only if at least one claim was submitted successfully
|
---|
| 17 | I $$RESUBMIT(.BPSARR59) D REDRAW^BPSSCRUD("Updating screen for resubmitted claims...")
|
---|
| 18 | E S VALMBCK="R"
|
---|
| 19 | Q
|
---|
| 20 | ;
|
---|
| 21 | ;/**
|
---|
| 22 | ;go thru all selected claims and try to resubmit them separately
|
---|
| 23 | ;input:
|
---|
| 24 | ; RXI - array with ptrs to BPS TRANSACTION file (see ASKLINES^BPSSCRU4)
|
---|
| 25 | ;returns
|
---|
| 26 | ; 0 - if no claims were resubmitted
|
---|
| 27 | ; 1 - if at least one claim was resubmitted
|
---|
| 28 | RESUBMIT(RXI) ;*/
|
---|
| 29 | N BPRVRSED ;was successfully reversed
|
---|
| 30 | N BPRVNEED ;needs reversal
|
---|
| 31 | N BPRVWAIT ;cycles of waiting
|
---|
| 32 | N BPRVRSNT ;reversal has been sent
|
---|
| 33 | N WHERE,DOSDATE,BILLNUM,RXIEN,RXR,BPDFN
|
---|
| 34 | N BP59
|
---|
| 35 | N UPDATFLG,BPCLTOT,BPCLTOTR
|
---|
| 36 | N BPQ
|
---|
| 37 | N BPSTATUS
|
---|
| 38 | N REVCOUNT S REVCOUNT=0
|
---|
| 39 | N BPIFANY S BPIFANY=0
|
---|
| 40 | S BPCLTOT=0 ;total for resubmitted
|
---|
| 41 | S BPCLTOTR=0 ;total for reversed, not resubmitted
|
---|
| 42 | S UPDATFLG=0
|
---|
| 43 | S BP59="",BPQ=""
|
---|
| 44 | F S BP59=$O(RXI(BP59)) Q:BP59="" D Q:BPQ="^"
|
---|
| 45 | . I BPIFANY=0 W @IOF
|
---|
| 46 | . S BPIFANY=1,BPQ=""
|
---|
| 47 | . S BPDFN=+$P($G(^BPST(BP59,0)),U,6)
|
---|
| 48 | . W !,"You've chosen to RESUBMIT the following prescription for "_$E($$PATNAME^BPSSCRU2(BPDFN),1,13)
|
---|
| 49 | . W !,@VALMAR@(+$G(RXI(BP59)),0)
|
---|
| 50 | . S (BPRVNEED,BPRVRSED,BPRVWAIT,BPRVRSNT)=0
|
---|
| 51 | . S BPQ=$$YESNO("Are you sure?(Y/N)")
|
---|
| 52 | . I BPQ=-1 S BPQ="^" Q
|
---|
| 53 | . I BPQ'=1 Q
|
---|
| 54 | . S RXIEN=$P(BP59,".")
|
---|
| 55 | . S RXR=+$E($P(BP59,".",2),1,4)
|
---|
| 56 | . I BPRVNEED=1&(BPRVRSED'=1) Q ;cannot be resubmitted
|
---|
| 57 | . I $$RXDEL^BPSOS(+RXIEN,RXR) W !!,">> Cannot Reverse or Resubmit ",!,@VALMAR@(+$G(RXI(BP59)),0),!," because it has been deleted in Pharmacy.",! Q
|
---|
| 58 | . S BPSTATUS=$P($$CLAIMST^BPSSCRU3(BP59),U)
|
---|
| 59 | . I BPSTATUS["E REVERSAL REJECTED" W !!,">> Cannot Resubmit ",!,@VALMAR@(+$G(RXI(BP59)),0),!," because the REVERSAL was rejected.",! Q
|
---|
| 60 | . I BPSTATUS["IN PROGRESS" W !!,">> Cannot Resubmit ",!,@VALMAR@(+$G(RXI(BP59)),0),!," because there is no response from the payer yet.",! Q
|
---|
| 61 | . I BPSTATUS["E REVERSAL STRANDED" W !!,">> Cannot Resubmit ",!,@VALMAR@(+$G(RXI(BP59)),0),!," because there is no response for reversal yet.",! Q
|
---|
| 62 | . S DOSDATE=$$DOSDATE(RXIEN,RXR)
|
---|
| 63 | . S BILLNUM=$$EN^BPSNCPDP(RXIEN,RXR,DOSDATE,"ERES","","ECME RESUBMIT")
|
---|
| 64 | . ;print return value message
|
---|
| 65 | . W !!
|
---|
| 66 | . W:+BILLNUM>0 $S(+BILLNUM=10:"Reversal but no Resubmit:",1:"Not Processed:"),!," "
|
---|
| 67 | . ;Change Return Message for SC/EI
|
---|
| 68 | . S:$P(BILLNUM,U,2)="NEEDS SC DETERMINATION" $P(BILLNUM,U,2)="NEEDS SC/EI DETERMINATION"
|
---|
| 69 | . W $P(BILLNUM,U,2)
|
---|
| 70 | . ;0 Prescription/Fill successfully submitted to ECME for claims processing
|
---|
| 71 | . ;1 ECME did not submit prescription/fill
|
---|
| 72 | . ;2 IB says prescription/fill is not ECME billable or the data returned from IB is not valid
|
---|
| 73 | . ;3 ECME closed the claim but did not submit it to the payer
|
---|
| 74 | . ;4 Unable to queue the ECME claim
|
---|
| 75 | . ;5 Invalid input
|
---|
| 76 | . ;10 Reversal but no resubmit
|
---|
| 77 | . I +BILLNUM=0 D
|
---|
| 78 | . . D ECMEACT^PSOBPSU1(+RXIEN,+RXR,"Claim resubmitted to 3rd party payer: ECME USER's SCREEN")
|
---|
| 79 | . . S UPDATFLG=1,BPCLTOT=BPCLTOT+1
|
---|
| 80 | . I +BILLNUM=10 D
|
---|
| 81 | . . D ECMEACT^PSOBPSU1(+RXIEN,+RXR,"Claim reversed but not resubmitted: ECME USER's SCREEN")
|
---|
| 82 | . . S UPDATFLG=1,BPCLTOTR=BPCLTOTR+1
|
---|
| 83 | W:BPIFANY=0 !,"No eligible items selected."
|
---|
| 84 | W !,BPCLTOT," claim",$S(BPCLTOT'=1:"s have",1:" has")," been resubmitted.",!
|
---|
| 85 | W:BPCLTOTR>0 !,BPCLTOTR," claim",$S(BPCLTOTR'=1:"s have",1:" has")," been reversed but not resubmitted.",!
|
---|
| 86 | D PAUSE^VALM1
|
---|
| 87 | Q UPDATFLG
|
---|
| 88 | ;
|
---|
| 89 | ; Ask
|
---|
| 90 | ; Input:
|
---|
| 91 | ; BPQSTR - question
|
---|
| 92 | ; BPDFL - default answer
|
---|
| 93 | ; Output:
|
---|
| 94 | ; 1 YES
|
---|
| 95 | ; 0 NO
|
---|
| 96 | ; -1 if cancelled
|
---|
| 97 | YESNO(BPQSTR,BPDFL) ; Default - YES
|
---|
| 98 | N DIR,Y,DUOUT
|
---|
| 99 | S DIR(0)="Y"
|
---|
| 100 | S DIR("A")=BPQSTR
|
---|
| 101 | S:$L($G(BPDFL)) DIR("B")=BPDFL
|
---|
| 102 | D ^DIR
|
---|
| 103 | Q $S($G(DUOUT)!$G(DUOUT)!(Y="^"):-1,1:Y)
|
---|
| 104 | ;
|
---|
| 105 | ;Date of service
|
---|
| 106 | ;RXIEN - IEN in file #52
|
---|
| 107 | ;RXR - refill number
|
---|
| 108 | ;returns:
|
---|
| 109 | ; date of service
|
---|
| 110 | DOSDATE(RXIEN,RXR) ;
|
---|
| 111 | N BPDOS,BPDT
|
---|
| 112 | ;try release date
|
---|
| 113 | S BPDOS=$$RXRLDT^PSOBPSUT(RXIEN,RXR)\1
|
---|
| 114 | Q:+BPDOS>0 BPDOS
|
---|
| 115 | ;try fill date
|
---|
| 116 | S BPDOS=$$RXFLDT^PSOBPSUT(RXIEN,RXR)\1
|
---|
| 117 | I '$G(DT) Q BPDOS
|
---|
| 118 | I BPDOS>0,BPDOS'>DT Q BPDOS
|
---|
| 119 | ;use current date (today)
|
---|
| 120 | Q DT\1
|
---|
| 121 | ;
|
---|
| 122 | ;To display the FILL date on the screen
|
---|
| 123 | ; use Date Of Service date , later on it might be changed
|
---|
| 124 | ;input:
|
---|
| 125 | ;RXIEN - IEN in file #52
|
---|
| 126 | ;RXR - refill number
|
---|
| 127 | ;returns:
|
---|
| 128 | ; date of service
|
---|
| 129 | ; or empty date if failure
|
---|
| 130 | FILLDATE(RXIEN,RXR) ;
|
---|
| 131 | N DOSDT
|
---|
| 132 | S DOSDT=$$DOSDATE(RXIEN,RXR)
|
---|
| 133 | I $L(DOSDT)'=7 Q " / "
|
---|
| 134 | Q $E(DOSDT,4,5)_"/"_$E(DOSDT,6,7)
|
---|
| 135 | ;
|
---|