source: WorldVistAEHR/trunk/r/E_CLAIMS_MGMT_ENGINE-BPS/BPSSCRRS.m@ 1006

Last change on this file since 1006 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 4.7 KB
Line 
1BPSSCRRS ;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 ;
7RES ;
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
28RESUBMIT(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
97YESNO(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
110DOSDATE(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
130FILLDATE(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 ;
Note: See TracBrowser for help on using the repository browser.