1 | IBCECSA2 ;ALB/CXW - IB CLAIMS STATUS AWAITING RESOLUTION SCREEN ;28-JUL-1999
|
---|
2 | ;;2.0;INTEGRATED BILLING;**137,181,197,320**;21-MAR-1994
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | EN ; -- claims status awaiting resolution detail
|
---|
6 | D EN^VALM("IBCEM CSA MSG")
|
---|
7 | Q
|
---|
8 | ;
|
---|
9 | HDR ; -- header code
|
---|
10 | ; IBA - EOB ien from summary selection
|
---|
11 | N IBST,IBST0
|
---|
12 | Q:'$G(IBA)
|
---|
13 | S IBST0=$G(^IBM(361,+$P(IBA,U,2),0)),IBST=$P(IBST0,U,9)
|
---|
14 | S VALMHDR(2)="Message Status = "_$$EXPAND^IBTRE(361,.09,IBST)
|
---|
15 | I $P(IBST0,U,14) S VALMHDR(2)=VALMHDR(2)_" (AUTOMATICALLY REVIEWED)"
|
---|
16 | S VALMHDR(1)=$J("",23)_"CLAIMS STATUS AWAITING RESOLUTION-DETAIL"
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | INIT ; -- init variables and list array
|
---|
20 | N I,X,Y,Z,ZZ,IBZ,IBZ0,IBX,IBCNT
|
---|
21 | K ^TMP("IBCECSC",$J)
|
---|
22 | SCR S VALMCNT=0,IBCNT=1
|
---|
23 | S IBA=+$O(IBDAX(0)),IBA=$G(IBDAX(IBA))
|
---|
24 | Q:IBA=""
|
---|
25 | S X=""
|
---|
26 | S IBX=$S($D(^TMP("IBCECSB",$J)):$G(^TMP("IBCECSB",$J,$P(IBA,U,3),$P(IBA,U,4),$P(IBA,U,6),$P(IBA,U,2))),1:"")
|
---|
27 | D SETL1^IBCECSA1(IBX,.X)
|
---|
28 | D SET(X,IBCNT)
|
---|
29 | D SET("",IBCNT) ; blank line
|
---|
30 | ;
|
---|
31 | S X=$E(" Svc Loc: "_$P(IBX,U,7)_$J("",30),1,30)_$J("",14)_"Division: "_$E($P(IBX,U,8),1,26)
|
---|
32 | D SET(X,IBCNT)
|
---|
33 | S X=$E(" Biller Name: "_$P($P(IBX,U,9),"~")_$J("",30),1,30)_$J("",10)_"Days Pending: "_$P(IBX,U,11)
|
---|
34 | D SET(X,IBCNT)
|
---|
35 | S IBZ=$P(IBA,U,2),IBZ0=$G(^IBM(361,IBZ,0))
|
---|
36 | S X=$E(" Date Rec'd: "_$$FMTE^XLFDT($P(IBZ0,U,2),"2Z")_$J("",30),1,30)_$J("",10)_"Dt Generated: "_$S($P(IBZ0,U,12):$$FMTE^XLFDT($P(IBZ0,U,12),"2Z"),1:"")
|
---|
37 | D SET(X,IBCNT),SET("",IBCNT)
|
---|
38 | ;
|
---|
39 | D SET("Message Text:",IBCNT)
|
---|
40 | S X=0 F S X=$O(^IBM(361,IBZ,1,X)) Q:'X D
|
---|
41 | . S Y=" "_$G(^IBM(361,IBZ,1,X,0))
|
---|
42 | . D SET(Y,IBCNT)
|
---|
43 | . Q
|
---|
44 | D SET("",IBCNT)
|
---|
45 | ;
|
---|
46 | S ZZ="" F S ZZ=$O(^IBM(361,IBZ,2,"B",ZZ),-1) Q:ZZ="" S Z=0 F S Z=$O(^IBM(361,IBZ,2,"B",ZZ,Z)) Q:'Z D
|
---|
47 | . S I=$G(^IBM(361,IBZ,2,Z,0))
|
---|
48 | . S Y=$$SETSTR^VALM1("Review Date: "_$$EXTERNAL^DILFD(361.02,.01,,ZZ),"",2,40)
|
---|
49 | . D SET(Y,IBCNT)
|
---|
50 | . I $P(I,U,2) S Y=$$SETSTR^VALM1("Reviewed By: "_$P($G(^VA(200,+$P(I,U,2),0)),U,1),"",2,70) D SET(Y,IBCNT)
|
---|
51 | . D SET(" Comments:",IBCNT)
|
---|
52 | . S X=0 F S X=$O(^IBM(361,IBZ,2,Z,1,X)) Q:'X D
|
---|
53 | .. S Y=" "_$G(^IBM(361,IBZ,2,Z,1,X,0))
|
---|
54 | .. D SET(Y,IBCNT)
|
---|
55 | .. Q
|
---|
56 | . D SET("",IBCNT)
|
---|
57 | . Q
|
---|
58 | INITQ Q
|
---|
59 | ;
|
---|
60 | HELP ; help code
|
---|
61 | S X="?" D DISP^XQORM1 W !!
|
---|
62 | Q
|
---|
63 | ;
|
---|
64 | EXIT ; exit code
|
---|
65 | K ^TMP("IBCECSC",$J)
|
---|
66 | D CLEAN^VALM10
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | SET(X,CNT) ;
|
---|
70 | S VALMCNT=VALMCNT+1
|
---|
71 | S ^TMP("IBCECSC",$J,VALMCNT,0)=X
|
---|
72 | S ^TMP("IBCECSC",$J,"IDX",VALMCNT,CNT)=""
|
---|
73 | S ^TMP("IBCECSC",$J,CNT)=VALMCNT
|
---|
74 | Q
|
---|
75 | ;
|
---|
76 | UPDTX(IBDA,IBST) ; Update transmit bill record
|
---|
77 | ; IBDA = ien of entry in 364
|
---|
78 | ; IBST = status to stuff
|
---|
79 | N X,Y,DR,DIE,DA
|
---|
80 | S DR=".03////"_IBST_";.04///NOW",DA=IBDA,DIE="^IBA(364," D:DA ^DIE
|
---|
81 | Q
|
---|
82 | ;
|
---|
83 | STATUS ; Edit rev stat
|
---|
84 | ;IBA - EOB ien
|
---|
85 | N DA,DIE,DR,IBOLD,DIC,DO,DD,DLAYGO,IBDA,IBFINAL,IBO,IBNEW,IBFACT
|
---|
86 | D FULL^VALM1
|
---|
87 | S DIE="^IBM(361,"
|
---|
88 | S (IBDA,DA)=$P(IBA,U,2)
|
---|
89 | G:'DA STATUSQ
|
---|
90 | S IBOLD=$P($G(^IBM(361,DA,0)),U,9),IBFINAL=0,IBO=$S(IBOLD'="":"/"_IBOLD,1:"@")
|
---|
91 | S DR="@1;.09;I +X<2 S IBFINAL=0,Y=""@99"";S IBFINAL=1;.1;I X="""" W !,""For a final status, this field is required"" S Y=""@98"";S Y=""@99"";@98;.09///"_IBO_";S Y=""@1"";@99"
|
---|
92 | L +^IBM(361,IBDA):3 I '$T D G STATUSQ
|
---|
93 | . W !,"Sorry, another user currently editing this entry (#"_IBDA_")."
|
---|
94 | D ^DIE
|
---|
95 | ;
|
---|
96 | I $G(IBFINAL) D ;Final status selected - enter remarks
|
---|
97 | . N Z
|
---|
98 | . S Z=IBDA
|
---|
99 | . N IBDA,Q,DIE,DR,DA,X,Y
|
---|
100 | . S IBDA(1)=Z,IBDA=""
|
---|
101 | . D ADDCOM(.IBDA,.DUZ,.IBCOM)
|
---|
102 | . I $P($G(^IBM(361,IBDA(1),0)),U,10)="O",'$O(^IBM(361,IBDA(1),2,+IBDA,0)) D ; Require remarks for 'OTHER ACTION' final status
|
---|
103 | .. W !,"Since OTHER ACTION final status was selected, you must enter a",!," comment explaining the OTHER ACTION" D ADDCOM(.IBDA,.DUZ,.IBCOM,1)
|
---|
104 | .. I IBDA D
|
---|
105 | ... ; Delete entry without a comment
|
---|
106 | ... D KILLREV(.IBDA)
|
---|
107 | .. I '$O(^IBM(361,IBDA(1),2,+IBDA,0)) S DIE="^IBM(361,",DA=IBDA(1),DR=".20///@;.09///"_IBO D ^DIE W !,"The review status was not changed because no comment was entered",! Q
|
---|
108 | S IBNEW=$P($G(^IBM(361,DA,0)),U,9)
|
---|
109 | ;if time out-no change in review status
|
---|
110 | S IBFACT=$P($G(^IBM(361,DA,0)),U,10)
|
---|
111 | I $G(IBFINAL),IBFACT="",IBNEW>1 D G STATUSQ
|
---|
112 | . W !,"The review status was not changed because no final status was selected"
|
---|
113 | . S DR=".09////"_IBOLD,DIE="^IBM(361," D ^DIE
|
---|
114 | I IBNEW>1,$P(^IBM(361,DA,0),U,11) D
|
---|
115 | . I "CR"'[IBFACT D
|
---|
116 | .. W !,"NO FURTHER ACTION WILL BE ALLOWED REGARDING THIS ELECTRONIC MESSAGE"
|
---|
117 | .. I $$PRINTUPD^IBCEU0("",$P(^IBM(361,DA,0),U,11)) D Q
|
---|
118 | ... W !," SINCE THIS CLAIM WAS PRINTED AT THE CLEARINGHOUSE"
|
---|
119 | ... S IBFACT="N"
|
---|
120 | .. S DIR(0)="YA",DIR("A")="IS THIS THE FINAL ELECTRONIC MESSAGE YOU EXPECT TO RECEIVE FOR THIS BILL?: ",DIR("B")="NO"
|
---|
121 | .. S DIR("?",1)="If you respond YES to this prompt, the transmit status of this bill will",DIR("?",2)=" be set to CLOSED. No further electronic processing of this bill will be"
|
---|
122 | ..S DIR("?",3)=" allowed. If you respond NO to this prompt, this electronic message will",DIR("?",4)=" be filed as reviewed, but the bill's transmit status will not be changed."
|
---|
123 | .. S DIR("?",5)=" You may wish to periodically print a list of bills with a non-final",DIR("?",6)=" (closed/cancelled/etc) status to ensure the electronic processing of all"
|
---|
124 | .. S DIR("?",7)=" bills has been completed. Closing the transmit bill record here will",DIR("?")=" eliminate the bill from this list."
|
---|
125 | .. W ! D ^DIR K DIR W !
|
---|
126 | .. Q:Y'=1
|
---|
127 | .. S DIR("A",1)="SINCE YOU HAVE INDICATED THIS BILL HAS RECEIVED ITS FINAL ELECTRONIC MESSAGE",DIR("A",2)=" AND NO FURTHER ACTION WILL BE TAKEN ON IT, THE STATUS OF THE TRANSMIT",DIR("A",3)=" RECORD FOR THIS BILL WILL BE CHANGED TO CLOSED"
|
---|
128 | .. S DIR("A")="IS THIS WHAT YOU MEANT TO DO?: ",DIR("B")="YES",DIR(0)="YA" W ! D ^DIR W ! K DIR
|
---|
129 | .. Q:Y'=1
|
---|
130 | .. S IBFACT="N"
|
---|
131 | . I "NCR"[IBFACT D UPDEDI^IBCEM(+$P(^IBM(361,DA,0),U,11),IBFACT) Q
|
---|
132 | S $P(IBX,U,12)=$S(IBNEW=1:"*",1:"")
|
---|
133 | I IBOLD'=IBNEW D ;Note the change and who made it
|
---|
134 | . D NOTECHG(IBDA,0),HDR,INIT
|
---|
135 | L -^IBM(361,DA)
|
---|
136 | S VALMBCK="R"
|
---|
137 | Q
|
---|
138 | ;
|
---|
139 | NOTECHG(IBDA,IBAUTO,IBNTEXT,IBUSER) ; Enter who/when review stat change was entered
|
---|
140 | ; IBDA = ien of entry in file 361
|
---|
141 | ; IBAUTO = flag to say auto-review was used (1=used, 0=not used)
|
---|
142 | ; IBNTEXT = array containing the lines of text to store if not using the
|
---|
143 | ; default text IBNTEXT = # of lines
|
---|
144 | ; IBUSER = flag which says to also stuff the .02 reviewed by field
|
---|
145 | N IBIEN,IBTEXT,DA,X,Y,DIC,DO,DLAYGO,DD
|
---|
146 | S DA(1)=IBDA,DIC="^IBM(361,"_DA(1)_",2,",DIC(0)="L",DLAYGO=361.02
|
---|
147 | S X=$$NOW^XLFDT
|
---|
148 | I $G(IBUSER),$G(DUZ) S DIC("DR")=".02////"_$G(DUZ)
|
---|
149 | D FILE^DICN K DIC,DD,DO,DLAYGO
|
---|
150 | Q:Y'>0
|
---|
151 | S DA(2)=DA(1),DA(1)=+Y,IBIEN=DA(1)_","_DA(2)_","
|
---|
152 | I $G(IBNTEXT) D
|
---|
153 | . M IBTEXT=IBNTEXT
|
---|
154 | E D
|
---|
155 | . S IBTEXT(1)="REVIEW STATUS "_$S($G(IBAUTO):"AUTOMATICALLY ",1:"")_"CHANGED TO '"_$$EXTERNAL^DILFD(361,.09,,$P(^IBM(361,DA(2),0),U,9))_"' BY: "_$$EXTERNAL^DILFD(361.02,.02,,+$G(DUZ))
|
---|
156 | D WP^DIE(361.02,IBIEN,.03,,"IBTEXT") K ^TMP("DIERR",$J)
|
---|
157 | Q
|
---|
158 | ;
|
---|
159 | STATUSQ ;
|
---|
160 | D PAUSE^VALM1
|
---|
161 | S VALMBCK="R"
|
---|
162 | Q
|
---|
163 | ;
|
---|
164 | COM ; Enter/Edit Review Comments
|
---|
165 | ; IBA - EOB ien
|
---|
166 | N DA,DIC,X,Y,DO,DD,DLAYGO,IBDA,IB0,IBNEW,IBCOM
|
---|
167 | D FULL^VALM1
|
---|
168 | W !
|
---|
169 | S (IBDA(1),DA(1))=+$P(IBA,U,2)
|
---|
170 | L +^IBM(361,IBDA(1)):3 I '$T D G COMQ
|
---|
171 | . W !,*7,"Sorry, another user currently editing this entry."
|
---|
172 | . D PAUSE^VALM1
|
---|
173 | ;
|
---|
174 | S Z=0 F S Z=$O(^IBM(361,IBDA(1),2,Z)) Q:'Z I $P($G(^(Z,0)),U,2)=DUZ S IBCOM(DUZ,Z)=""
|
---|
175 | S IBNEW=0
|
---|
176 | I '$D(IBCOM(DUZ)) D
|
---|
177 | . N DO,DD,DIC,DLAYGO,DIR,X,Y
|
---|
178 | . S DIR(0)="YA",DIR("B")="YES",DIR("A",1)="There are no comments previously entered by you",DIR("A")="Do you want to add a new comment?: "
|
---|
179 | . S DIR("?",1)="You are only allowed to edit your own comments."
|
---|
180 | . S DIR("?")="You may enter a new comment here."
|
---|
181 | . D ^DIR K DIR
|
---|
182 | . W !
|
---|
183 | . I Y'=1 S IBDA=-1 Q
|
---|
184 | . D ADDCOM(.IBDA,.DUZ,.IBCOM)
|
---|
185 | ;
|
---|
186 | E D
|
---|
187 | . S DIC="^IBM(361,"_IBDA(1)_",2,",DIC("S")="I $P(^(0),U,2)=DUZ",DIC(0)="AEMQ",DIC("A")="Select REVIEW DATE to edit or press ENTER to add a new comment: " D ^DIC K DIC S IBDA=+Y
|
---|
188 | . I IBDA>0 D Q ;User selected an existing entry
|
---|
189 | .. D ADDCOM(.IBDA,.DUZ,.IBCOM,1)
|
---|
190 | .. I $D(^IBM(361,IBDA(1),2,IBDA)),'$O(^IBM(361,IBDA(1),2,IBDA,1,0)) D KILLREV(.IBDA)
|
---|
191 | . S DIR(0)="YAO",DIR("A")="DO YOU WANT TO ADD A NEW REVIEW COMMENT?: ",DIR("B")="NO" D ^DIR K DIR Q:Y'=1
|
---|
192 | . D ADDCOM(.IBDA,.DUZ,.IBCOM)
|
---|
193 | L -^IBM(361,IBDA(1))
|
---|
194 | G:IBDA'>0 COMQ
|
---|
195 | D PAUSE^VALM1
|
---|
196 | D HDR,INIT
|
---|
197 | COMQ S VALMBCK="R"
|
---|
198 | Q
|
---|
199 | ;
|
---|
200 | ADDCOM(IBDA,DUZ,IBCOM,ADD) ; Add review comment to file 361
|
---|
201 | ; IBDA = array containing the DA references for the file add -
|
---|
202 | ; pass by reference
|
---|
203 | ; DUZ = ien of the user
|
---|
204 | ; ADD = flag when set to 1 says the review date exists,
|
---|
205 | ; just allow comment entry
|
---|
206 | ; Returns IBDA = the entry # of the comment
|
---|
207 | ; and IBCOM array referencing any comments added by the user
|
---|
208 | ;
|
---|
209 | N DA,DIC,DD,DO,DLAYGO,X,Y
|
---|
210 | S DR=$S($G(DUZ):".02////"_DUZ_";",1:"")_".03"
|
---|
211 | I '$G(ADD) D
|
---|
212 | . K DO,DD
|
---|
213 | . S DIC="^IBM(361,"_IBDA(1)_",2,",DA(1)=IBDA(1),X=$$NOW^XLFDT
|
---|
214 | . W !,"New Review Date: "_$$FMTE^XLFDT(X,"2Z")
|
---|
215 | . S DIC("DR")=DR,DLAYGO=361.02
|
---|
216 | . S DIC(0)="L",DIC("P")=$$GETSPEC^IBEFUNC(361,2)
|
---|
217 | . D FILE^DICN K DIC,DD,DO,DLAYGO
|
---|
218 | . S IBDA=+Y
|
---|
219 | I IBDA>0 D
|
---|
220 | . I $G(ADD) S DIE="^IBM(361,"_IBDA(1)_",2,",DA(1)=IBDA(1),DA=IBDA D ^DIE
|
---|
221 | . I '$O(^IBM(361,IBDA(1),2,IBDA,0)) D KILLREV(.IBDA) Q
|
---|
222 | . S IBCOM(DUZ,IBDA)=""
|
---|
223 | Q
|
---|
224 | ;
|
---|
225 | KILLREV(IBDA) ; Deletes a review date if no comments entered
|
---|
226 | N DA,DIK
|
---|
227 | S DA=IBDA,DA(1)=IBDA(1),DIK="^IBM(361,"_IBDA(1)_",2,"
|
---|
228 | K IBCOM(DUZ,IBDA)
|
---|
229 | D ^DIK
|
---|
230 | Q
|
---|
231 | ;
|
---|