source: WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCIST.m@ 699

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

initial load of WorldVistAEHR

File size: 5.6 KB
Line 
1IBCIST ;DSI/SLM - ENTRY POINTS FOR CLAIMSMANAGER INTERFACE ;7-MAR-2001
2 ;;2.0;INTEGRATED BILLING;**161**;21-MAR-94
3 ;;Per VHA Directive 10-93-142, this routine should not be modified.
4 ;
5ST1 ;add or update in 351.9
6 Q:'$D(IBIFN)
7 Q:$$CK1^IBCIUT1(IBIFN) ; Exit if the bill is not a HCFA-1500
8 K IBCIREDT ; remove the re-edit flag upon start of bill edit
9 ;
10 ; If the bill is not editable, then just quit.
11 ; This can happen in the IB PRINT BILL option when the user wants to
12 ; review the IB screens on a bill that has already been authorized.
13 ; esg - 5/22/01
14 ;
15 I '$F(".1.","."_$P($G(^DGCR(399,IBIFN,0)),U,13)_".") Q ;DSI/DJW 3/21/02
16 ;
17 I '$D(^IBA(351.9,IBIFN)) D ADD^IBCIADD1 Q
18 D UPDT1,OVRDN,UPDT^IBCIADD1
19ST1Q Q
20 ;
21ST2 ;send to claimsmanager
22 ; When calling ST2 the following 4 variables will always be returned:
23 ; IBCISNT - identifies where it was sent from
24 ; IBCIERR - error code if error condition
25 ; IBCISTAT - claim status in 351.9
26 ; IBCIREDT - re-edit flag
27 ;
28 I '$D(IBIFN) Q ; check for ibifn
29 I '$D(IBCISNT) Q ; check for this variable
30 I IBCISNT'=7 D CKFT^IBCIUT1(IBIFN) ; check for form type change
31 I IBCISNT'=7,$$CK1^IBCIUT1(IBIFN) Q ; check for hcfa 1500
32 I '$D(^IBA(351.9,IBIFN)) Q ; check for existence in 351.9
33 ;
34 NEW IBCIMT
35 S IBCIERR="",IBCIREDT=0,IBCIMT=$$ENV^IBCIUT5
36 ;
37 ;if claimsmanager not working okay update status and quit
38 I '$$CK2^IBCIUT1() D G ST2Q
39 .I IBCISNT=1 S (IBCIST,IBCISTAT)=7 D ST^IBCIUT1(IBCIST) Q
40 .I IBCISNT=2 S (IBCIST,IBCISTAT)=7 D ST^IBCIUT1(IBCIST) Q
41 .I IBCISNT=3 Q
42 .I IBCISNT=4 S (IBCIST,IBCISTAT)=10 D ST^IBCIUT1(IBCIST) Q
43 .I IBCISNT=5 S (IBCIST,IBCISTAT)=11 D ST^IBCIUT1(IBCIST) Q
44 .I IBCISNT=6 S (IBCIST,IBCISTAT)=7 D ST^IBCIUT1(IBCIST) Q
45 ;
46 ;normal send
47 I IBCISNT=1 D MSG1,SEND D G ST2Q
48 .D UPDT1,UPDT2
49 .I IBCISTAT=6 D MSG3
50 .I IBCISTAT=3 D MSG2
51 .I IBCISTAT=4 D EN^IBCIWK(1)
52 ;
53 ;multiple send option - not authorized
54 I IBCISNT=2 D G ST2Q
55 .I '$$CKLI^IBCIUT1(IBIFN) Q ; check for line items
56 .D SEND
57 .D UPDT1,UPDT2
58 .I IBCISTAT=4 D
59 ..N IBCIETP
60 ..S IBCIETP=""
61 ..F S IBCIETP=$O(^IBA(351.9,IBIFN,1,"B",IBCIETP)) Q:IBCIETP="" D GENERR^IBCIUT4(IBIFN,IBCIETP)
62 ..Q
63 ;
64 ;test send
65 I IBCISNT=3 D G ST2Q
66 .D MSG1,SEND
67 .I IBCISTAT=3 D MSG2
68 ;
69 ;cancelled
70 I IBCISNT=4 D G ST2Q
71 .D COMMENT^IBCIUT7(IBIFN,3)
72 .; if the bill has never been sent to CM or if there are currently
73 .; no line items on the bill, then just change the status and quit
74 .I '$P(^IBA(351.9,IBIFN,0),U,15)!('$$CKLI^IBCIUT1(IBIFN)) D Q
75 ..S IBCIST=9 D ST^IBCIUT1(IBCIST)
76 ..D DELTI^IBCIUT4 ;delete temp nodes on a cancel even when not sending to claimsmanager
77 .D UPDT1,UPDT2,SEND
78 ;
79 ;overridden
80 I IBCISNT=5 D G ST2Q
81 .D UPDT1,UPDT2,OVRDN1,SEND
82 ;
83 ;multiple send option - authorized
84 I IBCISNT=6 D G ST2Q
85 .I '$$CKLI^IBCIUT1(IBIFN) Q ; check for line items
86 .D UPDT1,UPDT2,SEND
87 ;
88 ;
89 ; Notes about IBCISNT=7 - esg - 1/3/2002
90 ; User changed the form type from a HCFA into a UB and this bill
91 ; has been previously sent to ClaimsManager as a HCFA. So this
92 ; bill is currently a UB bill, but we need to send it to
93 ; ClaimsManager in order to delete the line items over there.
94 ; Ultimately, this bill will get deleted from 351.9, but we have
95 ; to send it over there first.
96 ;
97 I IBCISNT=7 D G ST2Q
98 . I '$$CKLI^IBCIUT1(IBIFN) Q ; check for line items
99 . D SEND
100 . Q
101 ;
102 ;
103ST2Q D CLEAN1^IBCIUT2 K PROBLEM
104 Q
105 ;
106SEND ; send the bill to claimsmanager
107 I $$ASND^IBCIUT2(IBIFN) G SENDX ; no tcp/ip problems
108 D COMERR^IBCIUT4 ; communications error mail message
109 I PROBLEM'=99 D CLRCMQ^IBCIUT6(0) ; clear CM queue (silent mode)
110SENDX ;
111 Q
112 ;
113UPDT1 ; update certain fields when editing
114 ; update the Date/Time Last Edited field (.08)
115 ; update the User Last Edited field (.09)
116 ;
117 N IENS,FDA
118 S IENS=IBIFN_",",FDA(351.9,IENS,.08)=$$NOW^XLFDT,FDA(351.9,IENS,.09)=DUZ
119 D FILE^DIE("K","FDA")
120 Q
121 ;
122UPDT2 ; update certain fields when sending
123 ; update the Entered By User field if not there (.07)
124 ; update the Date/Time Entered field if not there (.06)
125 ; update the number of times sent to ClaimsManager (.04)
126 ; update the Date/Time last sent to ClaimsManager (.03)
127 ; update the Last Sent By User field (.05)
128 ;
129 N IENS,FDA,IBCIEB,IBCIDE
130 S IENS=IBIFN_","
131 I $P(^IBA(351.9,IBIFN,0),U,7)="" S FDA(351.9,IENS,.07)=DUZ
132 I $P(^IBA(351.9,IBIFN,0),U,6)="" S FDA(351.9,IENS,.06)=$$NOW^XLFDT
133 S IBCILSI=$$NOW^XLFDT,CTR=$S($P(^IBA(351.9,IBIFN,0),U,4)]"":$P(^(0),U,4),1:0)
134 S IBCITSI=CTR+1,FDA(351.9,IENS,.04)=IBCITSI
135 S FDA(351.9,IENS,.03)=IBCILSI,FDA(351.9,IENS,.05)=DUZ
136 D FILE^DIE("K","FDA")
137 Q
138 ;
139OVRDN ;clear if overridden
140 N IENS,FDA
141 I $P(^IBA(351.9,IBIFN,0),U,10)]"" D
142 .S IENS=IBIFN_","
143 .S FDA(351.9,IENS,.1)="",FDA(351.9,IENS,.11)=""
144 .D FILE^DIE("K","FDA")
145 Q
146OVRDN1 ;set if overridden
147 N IENS,FDA
148 S IENS=IBIFN_","
149 S FDA(351.9,IENS,.1)=1,FDA(351.9,IENS,.11)=DUZ
150 D FILE^DIE("K","FDA")
151 Q
152MSG1 ;display 'sending to ClaimsManager' message
153 W !!,"... ",$S(IBCIMT="T":"TEST-",1:""),"Sending ",$P(^DGCR(399,IBIFN,0),U)," to ClaimsManager"
154 Q
155MSG2 ;display 'no errors found' message
156 W !!,"No Errors found by ClaimsManager"
157 Q
158MSG3 ;display 'comm error' messsage
159 W !!,"Communications Error - Not Sent to ClaimsManager"
160 W !?3,$P(IBCIERR,U,2)
161 I $P(IBCIERR,U,3)'="" D
162 . W !?3,$P($P(IBCIERR,U,3)," - ",1)
163 . W !?3,$P($P(IBCIERR,U,3,99)," - ",2,99)
164 . Q
165 Q
166MSG4 ;display 'no line items' message
167 W !!,"There are no line items associated with this claim."
168 W !!,"ClaimsManager cannot process without line items. Please"
169 W !,"enter the line item data and resend."
170 Q
171MSG5 ;display 'cancelled' message
172 W !!,"... Claim has been CANCELLED in ClaimsManager."
173 Q
Note: See TracBrowser for help on using the repository browser.