[613] | 1 | IBCIST ;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 | ;
|
---|
| 5 | ST1 ;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
|
---|
| 19 | ST1Q Q
|
---|
| 20 | ;
|
---|
| 21 | ST2 ;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 | ;
|
---|
| 103 | ST2Q D CLEAN1^IBCIUT2 K PROBLEM
|
---|
| 104 | Q
|
---|
| 105 | ;
|
---|
| 106 | SEND ; 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)
|
---|
| 110 | SENDX ;
|
---|
| 111 | Q
|
---|
| 112 | ;
|
---|
| 113 | UPDT1 ; 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 | ;
|
---|
| 122 | UPDT2 ; 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 | ;
|
---|
| 139 | OVRDN ;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
|
---|
| 146 | OVRDN1 ;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
|
---|
| 152 | MSG1 ;display 'sending to ClaimsManager' message
|
---|
| 153 | W !!,"... ",$S(IBCIMT="T":"TEST-",1:""),"Sending ",$P(^DGCR(399,IBIFN,0),U)," to ClaimsManager"
|
---|
| 154 | Q
|
---|
| 155 | MSG2 ;display 'no errors found' message
|
---|
| 156 | W !!,"No Errors found by ClaimsManager"
|
---|
| 157 | Q
|
---|
| 158 | MSG3 ;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
|
---|
| 166 | MSG4 ;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
|
---|
| 171 | MSG5 ;display 'cancelled' message
|
---|
| 172 | W !!,"... Claim has been CANCELLED in ClaimsManager."
|
---|
| 173 | Q
|
---|