1 | BPSREOP1 ;BHAM ISC/SS - REOPEN CLOSED CLAIMS ;05-APR-05
|
---|
2 | ;;1.0;E CLAIMS MGMT ENGINE;**3**;JUN 2004;Build 20
|
---|
3 | ;; Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;Reopen closed claims
|
---|
5 | Q
|
---|
6 | ;
|
---|
7 | ;
|
---|
8 | ;create an ^TMP for the list manager
|
---|
9 | ;
|
---|
10 | COLLECT(BPDFN,BPSTRT,BPEND) ;
|
---|
11 | D CLEAN^VALM10
|
---|
12 | N LINE
|
---|
13 | N BPIEN02,BPIEN59
|
---|
14 | S LINE=1
|
---|
15 | S BPIEN59=0
|
---|
16 | F S BPIEN59=$O(^BPST("AC",BPDFN,BPIEN59)) Q:+BPIEN59=0 D
|
---|
17 | . I $P($G(^BPST(BPIEN59,12)),U,2)<BPSTRT Q
|
---|
18 | . I $P($G(^BPST(BPIEN59,12)),U,2)>BPEND Q
|
---|
19 | . S BPIEN02=+$P($G(^BPST(BPIEN59,0)),U,4)
|
---|
20 | . ;if the is no BPS CLAIMS - error
|
---|
21 | . Q:BPIEN02=0
|
---|
22 | . ;if NOT closed
|
---|
23 | . I +$P($G(^BPSC(BPIEN02,900)),U)=0 Q
|
---|
24 | . D SET^VALM10(LINE,$$LJ^BPSSCR02(LINE,6)_$$CLAIMINF(BPIEN59),BPIEN59)
|
---|
25 | . S LINE=LINE+1
|
---|
26 | S VALMCNT=LINE-1 ;"of PAGE" fix - VALMCNT should be EXACT number of lines on the screen
|
---|
27 | Q
|
---|
28 | ;claim info for list manager screen
|
---|
29 | CLAIMINF(BP59) ;*/
|
---|
30 | N BPX,BPX1
|
---|
31 | S BPX1=$$RXREF^BPSSCRU2(BP59)
|
---|
32 | S BPX=$$LJ^BPSSCR02($$DRGNAME^BPSSCRU2(BP59),17)_" "_$$LJ^BPSSCR02($$NDC^BPSSCRU2(+BPX1,+$P(BPX1,U,2)),13)_" "
|
---|
33 | S BPX=BPX_$$LJ^BPSSCR02($$FILLDATE^BPSSCRRS(+BPX1,+$P(BPX1,U,2)),5)_" "
|
---|
34 | S BPX=BPX_$$LJ^BPSSCR02($$RXNUM^BPSSCRU2(+BPX1),11)_" "_+$P(BPX1,U,2)_"/"
|
---|
35 | S BPX=BPX_$$LJ^BPSSCR02($$ECMENUM^BPSSCRU2(BP59),7)_" "_$$MWCNAME^BPSSCRU2($$GETMWC^BPSSCRU2(BP59))_" "
|
---|
36 | S BPX=BPX_$$RTBB^BPSSCRU2(BP59)_" "_$$RXST^BPSSCRU2(BP59)_"/"_$$RL^BPSSCRU2(BP59)
|
---|
37 | Q BPX
|
---|
38 | ;
|
---|
39 | ;patient info for header
|
---|
40 | PATINF(BPDFN) ;*/
|
---|
41 | N X
|
---|
42 | S X=$E($$PATNAME(BPDFN),1,22)_" "_$$SSN4^BPSSCRU2(BPDFN)
|
---|
43 | Q $$LJ^BPSSCR02(X,29) ;name
|
---|
44 | ;
|
---|
45 | ;------------ patient's name
|
---|
46 | PATNAME(BPDFN) ;
|
---|
47 | Q $E($P($G(^DPT(BPDFN,0)),U),1,30)
|
---|
48 | ;
|
---|
49 | SELECT ;
|
---|
50 | I VALMCNT<1 D Q
|
---|
51 | . W !,"No claims to select." D PAUSE^VALM1 S VALMBCK="R"
|
---|
52 | N BP59,BPQ
|
---|
53 | D FULL^VALM1
|
---|
54 | S BP59=0
|
---|
55 | S BPQ=0
|
---|
56 | F S BPLINE=$$PROMPT("Select item","","A") D Q:BPQ
|
---|
57 | . I BPLINE="^" S BPQ=1 Q
|
---|
58 | . I '(BPLINE?1N.N) W !,"Please select a SINGLE Rx Line Item." Q
|
---|
59 | . S BP59=+$$GET59(+BPLINE) I BP59>0 S BPQ=1 Q
|
---|
60 | . W !,"Please select a VALID Rx Line Item."
|
---|
61 | I BPLINE="^" S VALMBCK="R" Q
|
---|
62 | I BP59=0 S VALMBCK="R" W !,"Invalid selection." D PAUSE^VALM1 Q
|
---|
63 | I $$SELCLAIM(BP59)<1 S VALMBCK="R" Q
|
---|
64 | ;D RE^VALM4
|
---|
65 | D REDRAW
|
---|
66 | S VALMBCK="R"
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | GET59(BPLINE) ;
|
---|
70 | Q +$O(^TMP("BPSREOP",$J,"VALM","IDX",BPLINE,0))
|
---|
71 | ;
|
---|
72 | ;display selected claim information
|
---|
73 | SELCLAIM(BP59) ;
|
---|
74 | D FULL^VALM1
|
---|
75 | W @IOF
|
---|
76 | N BPX,BPX1,BPDFN,BPIEN02,BPCLDATA,BPCOMM,BPRETV,BPREOPDT,BPQ
|
---|
77 | S BPDFN=+$P($G(^BPST(BP59,0)),U,6)
|
---|
78 | S BPX1=$$RXREF^BPSSCRU2(BP59)
|
---|
79 | W !,?1,$$LJ^BPSSCR02("PATIENT NAME: "_$$PATNAME(BPDFN),30)
|
---|
80 | W ?33,$$LJ^BPSSCR02("RX#: "_$$RXNUM^BPSSCRU2(+BPX1)_" "_$P(BPX1,U,2),22)
|
---|
81 | W ?57,$$LJ^BPSSCR02("DRUG: "_$$DRGNAME^BPSSCRU2(BP59),22)
|
---|
82 | ;ien in BPS CLAIMS
|
---|
83 | S BPIEN02=+$P($G(^BPST(BP59,0)),U,4)
|
---|
84 | I BPIEN02=0 W !,"BPS CLAIMS file error!" D PAUSE^VALM1 Q -1
|
---|
85 | ;Close info
|
---|
86 | S BPCLDATA=$G(^BPSC(BPIEN02,900))
|
---|
87 | ;if the is no BPS CLAIMS - error
|
---|
88 | W !,?3,"CLOSED ",$$FORMDATE^BPSSCRU6(+$P($G(^BPSC(BPIEN02,900)),U,2),2)
|
---|
89 | W !,?4,"ECME#: "_+BPX1_", FILL DATE: "_$$FORMDATE^BPSSCRU6($$DOSDATE^BPSSCRRS(+BPX1,+$P(BPX1,U,2)),2)
|
---|
90 | W ", RELEASE DATE: "_$$FORMDATE^BPSSCRU6($$RELDATE^BPSSCRU6(+BPX1,+$P(BPX1,U,2)),2)
|
---|
91 | W !,?4,"PLAN: ",$$PLANNAME^BPSSCRU6(BP59)," INSURANCE: ",$$INSNAME^BPSSCRU6(BP59)
|
---|
92 | W !,?4,"CLOSE REASON: ",$$CLREASON^BPSSCRU6(+$P(BPCLDATA,U,4))
|
---|
93 | W !,?4,"DROP TO PAPER: ",$S(+$P(BPCLDATA,U,5)=1:"YES",1:"NO")
|
---|
94 | W !,?4,"CLOSE USER: ",$P($G(^VA(200,+$P(BPCLDATA,U,3),0)),U)
|
---|
95 | W !!,"You have selected the CLOSED electronic claim listed above.",!
|
---|
96 | S BPCOMM=$$PROMPT("REOPEN COMMENTS","","F",1,40)
|
---|
97 | Q:BPCOMM["^" 0
|
---|
98 | S BPQ=$$YESNO^BPSSCRRS("ARE YOU SURE YOU WANT TO RE-OPEN THIS CLAIM? (Y/N)","No")
|
---|
99 | Q:BPQ<1 0
|
---|
100 | D
|
---|
101 | . N %,%H,%I,X
|
---|
102 | . D NOW^%DTC
|
---|
103 | . S BPREOPDT=%
|
---|
104 | S BPRETV=$$REOPEN^BPSBUTL(BP59,BPIEN02,BPREOPDT,+DUZ,BPCOMM)
|
---|
105 | W !,$P(BPRETV,U,2),!
|
---|
106 | W !,"1 claim has been reopened.",!
|
---|
107 | D PAUSE^VALM1
|
---|
108 | Q 1
|
---|
109 | ;
|
---|
110 | REDRAW ;
|
---|
111 | N BPARR
|
---|
112 | D CLEAN^VALM10
|
---|
113 | D COLLECT^BPSREOP1(BPDFN,BPSTRT,BPEND)
|
---|
114 | S VALMBCK="R"
|
---|
115 | Q
|
---|
116 | ;input:
|
---|
117 | ;BPSPROM - prompt text
|
---|
118 | ;BPSDFVL - default value (optional)
|
---|
119 | ;BPMODE - N- to enter numbers, F - free text, A - free text w/o limitations
|
---|
120 | ;returns:
|
---|
121 | ; "response"
|
---|
122 | ; or "^" for quit
|
---|
123 | PROMPT(BPSPROM,BPSDFVL,BPMODE,MINLEN,MAXLEN) ;
|
---|
124 | N IR,X,Y,DIRUT,DIR
|
---|
125 | I BPMODE="N" S DIR(0)="N^::2"
|
---|
126 | I BPMODE="A" S DIR(0)="F^::2"
|
---|
127 | I BPMODE="F" S DIR(0)="F^"_MINLEN_":"_MAXLEN_":2^K:(X?1"" ""."" "") X"
|
---|
128 | S DIR("A")=BPSPROM
|
---|
129 | I $L($G(BPSDFVL))>0 S DIR("B")=$G(BPSDFVL)
|
---|
130 | D ^DIR I $D(DIRUT) Q "^"
|
---|
131 | I Y["^" Q "^"
|
---|
132 | Q Y
|
---|
133 | ;
|
---|
134 | ;Update reopen record in BPS CLAIM
|
---|
135 | ;Input:
|
---|
136 | ; BP02 - ien in BPS CLAIMS file
|
---|
137 | ; BPCLOSED - value for CLOSED field
|
---|
138 | ; BPREOPDT - reopen date/time
|
---|
139 | ; BPDUZ - user DUZ (#200 ien)
|
---|
140 | ; BPCOMM - reopen comment text
|
---|
141 | ;Output:
|
---|
142 | ; 0^message_error - error
|
---|
143 | ; 1 - success
|
---|
144 | UPDREOP(BP02,BPCLOSED,BPREOPDT,BPDUZ,BPCOMM) ;
|
---|
145 | ;Now update ECME database
|
---|
146 | N RECIENS,BPDA,BPLCK,ERRARR
|
---|
147 | S RECIENS=BP02_","
|
---|
148 | S BPDA(9002313.02,RECIENS,901)=BPCLOSED ;CLOSED = "NO"
|
---|
149 | S BPDA(9002313.02,RECIENS,906)=BPREOPDT ;reopen date/time
|
---|
150 | S BPDA(9002313.02,RECIENS,907)=+BPDUZ ;user
|
---|
151 | S BPDA(9002313.02,RECIENS,908)=BPCOMM ;comment
|
---|
152 | L +^BPST(9002313.02,+BP02):10
|
---|
153 | S BPLCK=$T
|
---|
154 | I 'BPLCK Q "0^Locked record" ;quit
|
---|
155 | D FILE^DIE("","BPDA","ERRARR")
|
---|
156 | I BPLCK L -^BPST(9002313.02,+BP02)
|
---|
157 | I $D(ERRARR) Q "0^"_ERRARR("DIERR",1,"TEXT",1)
|
---|
158 | Q 1
|
---|
159 | ;
|
---|