| [613] | 1 | IBCIUT4 ;DSI/SLM - MISC UTILITIES ;29-JAN-2001
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**161,226,348**;21-MAR-94;Build 5
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 |  Q
 | 
|---|
 | 6 | COMERR ;create msg for comm error
 | 
|---|
 | 7 |  NEW L,L1,MGROUP,TEXT,IBCISMG,IBCIERR
 | 
|---|
 | 8 |  I '$D(IBCICLNP) S IBCICLNP=$P(^DGCR(399,IBIFN,0),U)
 | 
|---|
 | 9 |  S MGROUP=$P(^IBE(350.9,1,50),U,4),MGROUP=$P(^XMB(3.8,MGROUP,0),U),L1=1
 | 
|---|
 | 10 |  S IBCIERR=$$P1(PROBLEM)
 | 
|---|
 | 11 |  D SNTMSG
 | 
|---|
 | 12 |  S TEXT(L1)="        ** CLAIMSMANAGER COMMUNICATIONS ERROR **",L1=L1+1
 | 
|---|
 | 13 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 14 |  S TEXT(L1)="While attempting to send claim # "_IBCICLNP_", Error Code # "_$P(IBCIERR,U,1),L1=L1+1
 | 
|---|
 | 15 |  S TEXT(L1)="was generated.",L1=L1+1
 | 
|---|
 | 16 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 17 |  S TEXT(L1)="User attempted "_IBCISMG,L1=L1+1
 | 
|---|
 | 18 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 19 |  S TEXT(L1)="Error Description:",L1=L1+1
 | 
|---|
 | 20 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 21 |  S TEXT(L1)=$P(IBCIERR,U,2),L1=L1+1
 | 
|---|
 | 22 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 23 |  I $P(IBCIERR,U,3)'="" D
 | 
|---|
 | 24 |  . S TEXT(L1)="ClaimsManager Error Message:",L1=L1+1
 | 
|---|
 | 25 |  . S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 26 |  . S TEXT(L1)=$P($P(IBCIERR,U,3)," - ",1),L1=L1+1
 | 
|---|
 | 27 |  . S TEXT(L1)=$P($P(IBCIERR,U,3,99)," - ",2,99),L1=L1+1
 | 
|---|
 | 28 |  . S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 29 |  . Q
 | 
|---|
 | 30 |  ;
 | 
|---|
 | 31 |  ; esg - 10/29/01 - Direct the reader to the Clear CM Results Queue
 | 
|---|
 | 32 |  ;       option if the problem does not go away.
 | 
|---|
 | 33 |  ;
 | 
|---|
 | 34 |  I PROBLEM=99 S TEXT(L1)="Please correct the problem and send again.",L1=L1+1
 | 
|---|
 | 35 |  E  D
 | 
|---|
 | 36 |  . S TEXT(L1)="If this problem persists, then please try running the",L1=L1+1
 | 
|---|
 | 37 |  . S TEXT(L1)="option to clear out the ClaimsManager results queue.",L1=L1+1
 | 
|---|
 | 38 |  . S TEXT(L1)="This option name is IBCI CLEAR CLAIMSMANAGER QUEUE.",L1=L1+1
 | 
|---|
 | 39 |  . Q
 | 
|---|
 | 40 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 41 |  S TEXT(L1)="Bill Sent By: "_$P(^VA(200,DUZ,0),U)
 | 
|---|
 | 42 |  S XMSUB="ClaimsManager Communications Error sending "_IBCICLNP
 | 
|---|
 | 43 |  S XMDUZ="ClaimsManager Interface",XMTEXT="TEXT(",XMY("G."_MGROUP)=""
 | 
|---|
 | 44 |  D ^XMD
 | 
|---|
 | 45 |  K XMSUB,XMDUZ,XMTEXT,TEXT
 | 
|---|
 | 46 |  Q
 | 
|---|
 | 47 | GENERR(IBIFN,IBCIETP) ;create msg for general error
 | 
|---|
 | 48 |  Q:IBCISNT'=2
 | 
|---|
 | 49 |  NEW L,L1,L2,L3,MGROUP,TEXT,XMTEXT,XMY,XMSUB,XMDUZ,USER,IBCISMG,IBCIE1
 | 
|---|
 | 50 |  I '$D(IBCICLNP) S IBCICLNP=$P(^DGCR(399,IBIFN,0),U)
 | 
|---|
 | 51 |  S MGROUP=$P(^IBE(350.9,1,50),U,3),MGROUP=$P(^XMB(3.8,MGROUP,0),U),L1=1
 | 
|---|
 | 52 |  D SNTMSG
 | 
|---|
 | 53 |  S TEXT(L1)="User attempted "_IBCISMG,L1=L1+1
 | 
|---|
 | 54 |  S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 55 |  ;pull error msg from 351.9 based on mnemonic (IBCIETP) error type
 | 
|---|
 | 56 |  S IBCIE1=0 F  S IBCIE1=$O(^IBA(351.9,IBIFN,1,"B",IBCIETP,IBCIE1)) Q:'IBCIE1  D
 | 
|---|
 | 57 |  .S TEXT(L1)="Line Item: "_+$P(^IBA(351.9,IBIFN,1,IBCIE1,0),U,2),L1=L1+1
 | 
|---|
 | 58 |  .S TEXT(L1)="Error Mnemonic: "_$P(^IBA(351.9,IBIFN,1,IBCIE1,0),U),L1=L1+1
 | 
|---|
 | 59 |  .S TEXT(L1)="Error Level: "_$P(^IBA(351.9,IBIFN,1,IBCIE1,0),"~",2),L1=L1+1
 | 
|---|
 | 60 |  .S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 61 |  .S TEXT(L1)="Error Message:",L1=L1+1
 | 
|---|
 | 62 |  .S L2=0 F  S L2=$O(^IBA(351.9,IBIFN,1,IBCIE1,L2)) Q:'L2  D
 | 
|---|
 | 63 |  ..S L3=0 F  S L3=$O(^IBA(351.9,IBIFN,1,IBCIE1,L2,L3)) Q:'L3  D
 | 
|---|
 | 64 |  ...S TEXT(L1)=^IBA(351.9,IBIFN,1,IBCIE1,L2,L3,0),L1=L1+1
 | 
|---|
 | 65 |  .S TEXT(L1)=" ",L1=L1+1
 | 
|---|
 | 66 |  S TEXT(L1)=" ",XMTEXT="TEXT("
 | 
|---|
 | 67 |  S XMY(DUZ)="",XMY("G."_MGROUP)=""
 | 
|---|
 | 68 |  ;
 | 
|---|
 | 69 |  ; Additionally, send this MailMan message to the biller, the 
 | 
|---|
 | 70 |  ; assigned to person, the person who last edited this bill, and 
 | 
|---|
 | 71 |  ; the person who last sent it to ClaimsManager.
 | 
|---|
 | 72 |  ; esg - 9/5/01 & 9/27/01
 | 
|---|
 | 73 |  ;
 | 
|---|
 | 74 |  S USER=+$$BILLER^IBCIUT5(IBIFN) I USER S XMY(USER)=""
 | 
|---|
 | 75 |  S USER=+$P($G(^IBA(351.9,IBIFN,0)),U,12) I USER S XMY(USER)=""
 | 
|---|
 | 76 |  S USER=+$P($G(^IBA(351.9,IBIFN,0)),U,9) I USER S XMY(USER)=""
 | 
|---|
 | 77 |  S USER=+$P($G(^IBA(351.9,IBIFN,0)),U,5) I USER S XMY(USER)=""
 | 
|---|
 | 78 |  ;
 | 
|---|
 | 79 |  S XMSUB="ClaimsManager Claim "_IBCICLNP_" Returned with Errors"
 | 
|---|
 | 80 |  S XMDUZ="ClaimsManager Interface"
 | 
|---|
 | 81 |  D ^XMD
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 | SNTMSG ;determine what user was doing for message
 | 
|---|
 | 84 |  ;
 | 
|---|
 | 85 |  I IBCISNT=1 S IBCISMG="a Normal Send after Editing."
 | 
|---|
 | 86 |  I IBCISNT=2 S IBCISMG="a Normal Send from the Multiple Send Option."
 | 
|---|
 | 87 |  I IBCISNT=3 S IBCISMG="a Test Send from the Edit Screens."
 | 
|---|
 | 88 |  I IBCISNT=4 S IBCISMG="to Cancel the Claim."
 | 
|---|
 | 89 |  I IBCISNT=5 S IBCISMG="to Override the Errors."
 | 
|---|
 | 90 |  I IBCISNT=6 S IBCISMG="to Send an Authorized Claim from the Multiple Send Option."
 | 
|---|
 | 91 |  I IBCISNT=7 S IBCISMG="to delete the lines on this bill which is no longer a CMS-1500."
 | 
|---|
 | 92 |  Q
 | 
|---|
 | 93 |  ;
 | 
|---|
 | 94 |  ;TCK CALL check text for ClaimsManager delimiters and strip if found
 | 
|---|
 | 95 |  ;Input variable
 | 
|---|
 | 96 |  ;  x
 | 
|---|
 | 97 | TCK() ;check text for characters used as delimiters and strip them out
 | 
|---|
 | 98 |  Q:$G(X)=""  S X=$TR(X,$C(28,29,30)_"'%")
 | 
|---|
 | 99 |  Q
 | 
|---|
 | 100 | CCK() ;check codes for decimal points and strip them out
 | 
|---|
 | 101 |  Q:$G(X)=""  S X=$TR(X,".")
 | 
|---|
 | 102 |  Q
 | 
|---|
 | 103 | Z1AR ;converts ibciz array to ibciz1 array and import into error field
 | 
|---|
 | 104 |  Q:'$D(IBCIZ)  K IBCIZ1
 | 
|---|
 | 105 |  S ERNUM=0 F  S ERNUM=$O(IBCIZ("RL",ERNUM)) Q:'ERNUM  D
 | 
|---|
 | 106 |  .I $P(IBCIZ("RL",ERNUM,0),U,2)="" Q
 | 
|---|
 | 107 |  .S IBCIZ1(ERNUM,0)=$P(IBCIZ("RL",ERNUM,0),U,2)_U_$P(IBCIZ("RL",ERNUM,0),U)_U_$P(IBCIZ("RL",ERNUM,0),U,3,999)
 | 
|---|
 | 108 |  .S LINE=0 F  S LINE=$O(IBCIZ("RL",ERNUM,"E",LINE)) Q:'LINE  D
 | 
|---|
 | 109 |  ..S IBCIZ1(ERNUM,LINE)=IBCIZ("RL",ERNUM,"E",LINE)
 | 
|---|
 | 110 |  I IBCISNT>2 G Z1Q
 | 
|---|
 | 111 |  I $P($G(^IBA(351.9,IBIFN,1,0)),U,4) D DELER
 | 
|---|
 | 112 |  S IBCIN1=0 F  S IBCIN1=$O(IBCIZ1(IBCIN1)) Q:'IBCIN1  D ADDSUB1
 | 
|---|
 | 113 | Z1Q K DIC,DIE,DA,L1,LINE,ERDT,IBCIN1,ERNUM
 | 
|---|
 | 114 |  Q
 | 
|---|
 | 115 | PROC() ;convert procedure code
 | 
|---|
 | 116 |  Q:$G(X)=""  N DA,GNODE
 | 
|---|
 | 117 |  S DA=$P(X,";"),GNODE="^"_$P(X,";",2)_DA_",0)",X=$P(@GNODE,U)
 | 
|---|
 | 118 |  Q
 | 
|---|
 | 119 | ADDSUB1 ;create the subfile for errors and add data
 | 
|---|
 | 120 |  S DIC="^IBA(351.9,"_IBIFN_",1,",DA(1)=IBIFN,DIC(0)="LMN"
 | 
|---|
 | 121 |  S X=$P(IBCIZ1(IBCIN1,0),U) D FILE^DICN Q:Y<1  S DA=+Y
 | 
|---|
 | 122 |  S ERDT=$P(IBCIZ1(IBCIN1,0),U,2,999),ERDT=$TR(ERDT,"^","~")
 | 
|---|
 | 123 |  S DIE=DIC,DR=".02////"_ERDT D ^DIE
 | 
|---|
 | 124 |  S L1=0 F  S L1=$O(IBCIZ1(IBCIN1,L1)) Q:'L1  D
 | 
|---|
 | 125 |  .S IBCIZ1(IBCIN1,L1)=$TR(IBCIZ1(IBCIN1,L1),";",",")
 | 
|---|
 | 126 |  .S DR=".03///+"_IBCIZ1(IBCIN1,L1) D ^DIE
 | 
|---|
 | 127 |  Q
 | 
|---|
 | 128 | DELER ;delete the error information in 351.9
 | 
|---|
 | 129 |  Q:'IBIFN
 | 
|---|
 | 130 |  Q:'$P($G(^IBA(351.9,IBIFN,1,0)),U,4)
 | 
|---|
 | 131 |  S DIK="^IBA(351.9,"_IBIFN_",1,",DA(1)=IBIFN
 | 
|---|
 | 132 |  S DA=0 F  S DA=$O(^IBA(351.9,IBIFN,1,DA)) Q:'DA  D ^DIK
 | 
|---|
 | 133 |  K DIK,DA
 | 
|---|
 | 134 |  Q
 | 
|---|
 | 135 | DELTI ;delete temporary information in 351.9
 | 
|---|
 | 136 |  N IBCIX4,TMPDATA,NODE
 | 
|---|
 | 137 |  S DIE="^IBA(351.9,"_IBIFN_",5,"
 | 
|---|
 | 138 |  F IBCIX4=$P($G(^IBA(351.9,IBIFN,5,0)),U,4):-1:1 S DA=IBCIX4 D
 | 
|---|
 | 139 |  .S DA(1)=IBIFN,DR=".01////@" D ^DIE
 | 
|---|
 | 140 |  K DIE,DR,DA
 | 
|---|
 | 141 |  I $D(^IBA(351.9,IBIFN,4)) D
 | 
|---|
 | 142 |  .S DIE="^IBA(351.9,",DA=IBIFN
 | 
|---|
 | 143 |  .S DR="4.01////@;4.02////@;4.03////@;4.04////@" D ^DIE
 | 
|---|
 | 144 |  K DIE,DR,DA
 | 
|---|
 | 145 |  I $D(^IBA(351.9,IBIFN,3)) D
 | 
|---|
 | 146 |  .S DIE="^IBA(351.9,",DA=IBIFN
 | 
|---|
 | 147 |  .S DR="3.01////@;3.02////@;3.03////@;3.04////@;3.05////@;3.06////@;"
 | 
|---|
 | 148 |  .S DR=DR_"3.07////@;3.08////@;3.09////@;3.1////@;3.11////@;3.12////@"
 | 
|---|
 | 149 |  .D ^DIE K DIE,DR,DA
 | 
|---|
 | 150 |  F NODE=3,4,5 S TMPDATA="^IBA(351.9,IBIFN,NODE)" K @TMPDATA
 | 
|---|
 | 151 |  Q
 | 
|---|
 | 152 |  ;
 | 
|---|
 | 153 | DCOM(IBIFN) ;delete whatever's in the comment field in 351.9
 | 
|---|
 | 154 |  S DIE="^IBA(351.9,",DA=IBIFN,DR="2.01///@;.13///@;.14///@"
 | 
|---|
 | 155 |  D ^DIE K DIE,DA,DR
 | 
|---|
 | 156 |  Q
 | 
|---|
 | 157 |  ;
 | 
|---|
 | 158 | P1(PROBLEM) ;comm error handling with problem variable
 | 
|---|
 | 159 |  ;Input variable
 | 
|---|
 | 160 |  ;  PROBLEM
 | 
|---|
 | 161 |  ;Returns
 | 
|---|
 | 162 |  ;  error code^error desc^msg returned from ClaimsManager
 | 
|---|
 | 163 |  N IBCIY,IBCICODE,IBCIDESC,IBCIMSG S IBCICODE=PROBLEM
 | 
|---|
 | 164 |  I IBCICODE=1 S IBCIDESC="TCP/IP time-out during 1st read." D
 | 
|---|
 | 165 |  .S IBCIMSG=$G(IBCIZ)_" - "_$G(IBCIZ(1,1))
 | 
|---|
 | 166 |  I IBCICODE=2 S IBCIDESC="Local Symbol Size Storage Problems during 1st read."
 | 
|---|
 | 167 |  I IBCICODE=3 S IBCIDESC="1st read was NOT a ClaimsManager ACK message." D
 | 
|---|
 | 168 |  .S IBCIMSG=$G(IBCIZ)_" - "_$G(IBCIZ(1,1))
 | 
|---|
 | 169 |  I IBCICODE=4 S IBCIDESC="TCP/IP Time-out during 2nd read." D
 | 
|---|
 | 170 |  .S IBCIMSG=$G(IBCIZ)_" - "_$G(IBCIZ(1,1))
 | 
|---|
 | 171 |  I IBCICODE=5 S IBCIDESC="Local Symbol Size Storage Problems during 2nd read."
 | 
|---|
 | 172 |  I IBCICODE=6 S IBCIDESC="2nd read was NOT a RESULTREC message type." D
 | 
|---|
 | 173 |  .S IBCIMSG=$G(IBCIZ)_" - "_$G(IBCIZ(1,1))
 | 
|---|
 | 174 |  I IBCICODE=7 S IBCIDESC="Fatal System Error",IBCIMSG=$G(IBCIZ)_" - "_$G(IBCIZ(1,1)) ; ib*226
 | 
|---|
 | 175 |  I IBCICODE=99 S IBCIDESC="Unable to Open Port." D
 | 
|---|
 | 176 |  .S IBCIMSG="Please restart the Ingenix Event Manager services."
 | 
|---|
 | 177 |  I "^1^2^3^4^5^6^7^99^"'[IBCICODE S IBCIDESC="Unknown Error Type."
 | 
|---|
 | 178 |  S IBCIY=IBCICODE_"^"_IBCIDESC_"^"_$G(IBCIMSG)
 | 
|---|
 | 179 |  Q IBCIY
 | 
|---|
 | 180 |  ;
 | 
|---|