Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 1 of 23 | Updated 1/30/2020
AVAILITY.COM SPECIFICATION & DESIGN DOCUMENT
Vendor Business-to-Business Specifications – Basic
1/30/2020 Version 3.10
Payer and Partner Connections
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 2 of 23 | Updated 1/30/2020
Table of Contents
Introduction .......................................................................................................................................................... 3
Purpose ........................................................................................................................................................... 3
Overview .......................................................................................................................................................... 3
Well-formed XML Syntax Rules ........................................................................................................................ 3
Message Specifications ....................................................................................................................................... 4
Message Envelope Request Specification ........................................................................................................ 4
Message Envelope Response Specification...................................................................................................... 5
The ASC X12N Specification ............................................................................................................................ 6
Recommended Test Cases ................................................................................................................................ 10
Appendix A: Error Conditions for Response XML Message ................................................................................ 11
Appendix B: Resources...................................................................................................................................... 15
Transaction Request URL .............................................................................................................................. 15
B2B Payer List ............................................................................................................................................... 15
Appendix C: Document Type Definitions and Data Examples ............................................................................. 16
Message Envelope DTD ................................................................................................................................. 16
AXIML Error Message DTD ............................................................................................................................ 16
Example Transaction Message ....................................................................................................................... 17
Sample C# XML Example ............................................................................................................................... 18
Appendix D: CAQH CORE Phase II Connectivity ............................................................................................... 20
Message Envelope Request Specification ...................................................................................................... 20
CORE Real-Time Request.............................................................................................................................. 21
WS-Security ................................................................................................................................................... 22
CORE Real-Time Response ........................................................................................................................... 22
Response Timeout and Retransmission Rules ................................................................................................ 22
Testing ........................................................................................................................................................... 23
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 3 of 23 | Updated 1/30/2020
Introduction
Purpose
The purpose of this document is to outline the process and message format envelope needed to contain the
health care transaction message received by Availity from third party vendors. This specification document is
designed to provide the fundamental aspects for implementing a B2B solution. It does not include any payer-
specific data elements or transaction requirements. Please refer to the individual payer’s B2B specification
documents for that level of detail, as they vary from payer to payer.
Important Note: As defined in the HIPAA Implementation Guides, companion documents like this Availity Vendor
Business-to-Business Specifications are intended to supplement, not replace, the standard HIPAA
Implementation Guide for each transaction set. Information in this guide is not intended to modify the definition,
data condition, or use of any data element or segment in the standard Implementation Guides. It is also not
intended to add any additional data elements or segments to the defined data set. This guide does not utilize any
code or data values that are not valid in the standard Implementation Guides. It also does not change the
meaning or intent of any implementation specifications in the standard Implementation Guides.
Overview
During the testing process, you will be assigned an analyst to assist you in successfully implementing this product
with individual payers. You will be required to test each transaction that you plan to roll out. This will ensure a
successful and smooth implementation. Once production status has been granted, your ID must be activated in
the production environment, and then you can send your approved transactions. If you wish to add another
Availity payer or transaction to your service offering, we encourage you to contact us and complete the testing
process for the desired payer or transaction to ensure another smooth implementation, as some slight variations
among payers and transactions usually exist.
Well-formed XML Syntax Rules
Availity B2B transaction requests and responses must adhere to the syntax rules specified by the XML 1.0
specification. Well-formed XML does not allow certain characters to be used in their literal form. Availity does not
allow the “&”, “<”, and “>” characters in the literal (non-escaped) form in transaction requests or responses.
The following XML document escaped characters should be used in Availity B2B transaction requests instead of
non-escaped characters:
Escaped Characters Non-escaped Characters
< <
> >
& &
Availity B2B transaction responses will also use escaped characters instead of non-escaped characters.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 4 of 23 | Updated 1/30/2020
Message Specifications
Message Envelope Request Specification
In an effort to support multiple message formats for each of the health care transactions (Eligibility & Benefits,
Claim Status Inquiry, etc), Availity has defined an “envelope” to contain the “body” of the message and any
“header” or supporting information required to process the request.
Field Description / Specifications XML Field Tags
Envelope Root XML element to house the header and body of the request message.
<ENVELOPE>
Header Holds the supporting elements for processing the request <ENVELOPE> <HEADER>
Transaction Type Transaction type
Valid values:
• 270 – E & B
• 276 – Claim Status Inquiry
• 278 – Auth/Referral
• 837 – Health Care Claim
Note: See Appendix C for information on B2B payers and the transactions they support.
<ENVELOPE> <HEADER> <TranCode>
Message Format Format of the Health Care related message in the envelope body.
Valid value: X12
<ENVELOPE> <HEADER> <MessageFormat>
Sender Field Length: 35
Recommended value: Sender’s organization name
<ENVELOPE> <HEADER> <Sender>
Receiver (Payer) Receiver of transaction
Valid value: AVAILITY
<ENVELOPE> <HEADER> <Receiver>
Session ID Unique session identifier provided by Availity during authentication process.
Optional – Used only for PKI authentication partners.
<ENVELOPE> <HEADER> <Session>
Provider Office Number Third party internal identifier for the site (provider office) that is requesting the transaction.
Assigned by the submitter; and must be alpha/numeric only.
<ENVELOPE> <HEADER> <ProviderOfficeNbr>
Provider Transaction ID Third party internal transaction identifier.
ID should be unique.
<ENVELOPE> <HEADER> <ProviderTransID>
Body Contains the body of the health care transaction message. Must be in the format of an X12 message as specified in the envelope header.
<ENVELOPE> <BODY>
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 5 of 23 | Updated 1/30/2020
Message Envelope Response Specification
Field Description / Specifications XML Field Tags
Envelope Root XML element to house the header and body of the response message.
<ENVELOPE>
Header Holds the supporting elements for processing the transaction. <ENVELOPE> <HEADER>
Transaction Type Transaction type
Valid values:
• 271 - E & B Response
• 277 – Claim Status Response
• 278 – Auth/Referral Response
• VTXX – If Availity is unable to process the request.
<ENVELOPE> <HEADER> <TranCode>
Message Format Format of the Health Care related message in the envelope body.
Valid values:
• X12
• AXIML – Availity-formatted message for communicating non-health care-related responses.
<ENVELOPE> <HEADER> <MessageFormat>
Sender Field length: 35
Third-party vendor organization name.
Each organization must be registered with Availity and this field must match the name registered.
<ENVELOPE> <HEADER> <Sender>
Receiver (Payer) Receiver of transaction
Valid value: AVAILITY
<ENVELOPE> <HEADER> <Receiver>
SessionId Unique session identifier provided by Availity during authentication process.
Optional – Used only for PKI authentication partners.
<ENVELOPE> <HEADER> <Session>
Provider Office Number Third party internal identifier for the site (provider office) that is requesting the transaction.
<ENVELOPE> <HEADER> <ProviderOfficeNbr>
Provider Transaction ID Third party internal transaction identifier.
ID should be unique.
<ENVELOPE> <HEADER> <ProviderTransID>
Availity Transaction ID Availity transaction identifier returned to the submitter in the header XML. This is a unique identifier and consists of a maximum of 20 numeric characters
<ENVELOPE> <HEADER> <AvailityTranID>
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 6 of 23 | Updated 1/30/2020
Field Description / Specifications XML Field Tags
Body Contains the body of the health care transaction response message. This must be in the format of an X12 message as specified in the envelope header MessageFormat tag.
If Availity is unable to process the message, an AXIML formatted error message will be returned. See appendix of this document for AXIML specification.
<ENVELOPE> <BODY>
The ASC X12N Specification
The purpose of this section is to outline the ASC X12N Control Segment specifications for real-time B2B
transmissions. These include the Interchange Control Header Segment (ISA), the Functional Group Header
Segment (GS), the Functional Group Trailer Segment (GE) and the Interchange Control Trailer Segment (IEA).
Note: Specific attention should be made to those segment element specifications to be followed in order for a
third party vendor to be identified and authenticated with Availity for each transaction request.
Interchange Control Header (ISA)
The ISA segment is the only EDI segment with a fixed length. A total of 105 positions are allowed in the ISA
segment, including the letters ISA; the asterisk (*) or other value used as an element delimiter; and the colon (:) or
other composite element delimiter. The value in position 106 is reserved for the tilde (~) or other segment
terminator character used to denote the end of each segment.
Once specified in the interchange header, the delimiters and terminators cannot be used in a data element value
elsewhere in the file. Availity can accept as a data element any value in the Basic and Extended Character Sets
referenced in Appendix B.1.1.2 5010 ANSI X12N Implementation Guides and accepted as X12 standard
compliant.
Data Element
Name Usage Availity Requirements
ISA01 Authorization Information Qualifier
Code to ID the type of information in the Authorization Information.
Field length: 2/2
03
ISA02 Authorization Information
Unique identification number assigned by Availity to the interchange sender.
Field length: 10/10
Value provided by Availity. Left justified, space filled.
ISA03 Security Information Qualifier
Code to identify the type of information in the Security Information field.
Field length: 2/2
01
ISA04 Security Information Unique password assigned by Availity to the interchange sender.
Field length: 10/10
Value provided by Availity. Left justified, space filled.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 7 of 23 | Updated 1/30/2020
Data Element
Name Usage Availity Requirements
ISA05 Interchange ID Qualifier
Qualifier to denote the system/method of code structure used to designate the sender.
Field length: 2/2
ZZ
ISA06 Interchange Sender ID
ID code for sender, as defined by Availity.
Field length: 15/15
AV09311993 Left justified, space filled.
ISA07 Interchange ID Qualifier
Qualifier to denote the system/method of code structure used to designate the receiver.
Field length: 2/2
01
ISA08 Interchange Receiver ID
ID code published by the receiver.
Field length: 15/15
030240928 Left justified, space filled.
ISA09 Interchange Date Date of the interchange.
Field length: 6/6
YYMMDD
ISA10 Interchange Time Time of the interchange.
Field length: 4/4
HHMM
ISA11 Repetition Separator This value is used to separate repeated occurrences of a simple data element or a composite data structure.
Field length: 1/1
This value must be different than the data element and component element separators, and the segment terminator.
ISA12 Interchange Control Version Number
This version number covers the interchange control segments.
Field length: 5/5
00501
ISA13 Interchange Control Number
A unique control number assigned by the sender.
Field length: 9/9
Tracking number assigned by the sender for the transaction. Must be a positive unsigned number and be identical to the value in IEA02.
Must be unique for a rolling twelve month period.
ISA14 Acknowledgement Requested
Code sent by the sender to request an interchange acknowledgement (TA1).
Field length: 1/1
0
Note: The TA1 is not supported for B2B. The real-time response will indicate any problems with the interchange.
ISA15 Usage indicator Code to indicate whether data enclosed is test or production.
Field length: 1/1
Use T until all Availity validation testing is complete. Then change to P in production.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 8 of 23 | Updated 1/30/2020
Data Element
Name Usage Availity Requirements
ISA16 Component Element Separator
The sender identifies the element separator used as a delimiter to separate the data within a composite data structure.
Field length: 1/1
This value must be different than the data element separator and the segment terminator.
Example ISA segment for real-time B2B transmission with authentication information. Spaces in the example
below are represented by ‘.’ for clarity.
ISA*03*SAMPLEID..*01*SAMPLEPWD.*ZZ*AV09311993.....*01*030240928......*090508*0003*^*00501*917753427*0*T*:~
Functional Group Header (GS)
Data Element
Name Usage Availity Requirements
GS01 Functional Identifier Code
Code identifying the application related transaction set.
Field length: 2/2
Values:
• HS – Eligibility, Coverage or Benefit Inquiry (270)
• HB – Eligibility, Coverage or Benefit Information (271)
• HR – Health Care Claim Status Request (276)
• HN – Healthcare claim Status Notification (277)
• HI – Health Care Services Review Information (278)
• HC – Health Care Claim (837)
GS02 Application Sender’s Code
Code identifying the party sending the transmission.
Field length: 2/15
AV01101957
GS03 Application Receiver’s Code
Code identifying the party receiving the transmission.
Field length: 2/15
030240928
GS04 Date Date of functional group creation.
Field length: 8/8
CCYYMMDD
GS05 Time Time of functional group creation.
Field length: 4/8
HHMM.
GS06 Group Control Number
Assigned number originated and maintained by the sender.
Field length: 1/9
Tracking number assigned by the sender
for the transaction. Must be identical to the Trailer GE02.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 9 of 23 | Updated 1/30/2020
Data Element
Name Usage Availity Requirements
GS07 Responsible Agency Code
Code to ID the issuer of the standard.
Field length: 1/2
X – Accredited Standards Committee X12.
GS08 Version / Release /
Industry Identifier Code
Code indicating the version, release, sub
release and industry identifier of the EDI standard being used.
Field length: 1/12
Values
• 005010X279A1 – Eligibility, Coverage or Benefit Inquiry and Response (270/271)
• 005010X212 – Health Care Claim Status Request and Response (276/277)
• 005010X216 – Health Care Services Review Notification and Acknowledgement (278N)
• 005010X217 – Health Care Services Review Information (278)
• 005010X223A2 – Institutional Health Care Claim (837)
• 005010X222A1 – Professional Health Care Claim (837)
Functional Group Trailer (GE)
Data Element
Name Usage Availity Requirements
GE01 Number of Transaction Sets Included
Total number of transaction sets included in the functional group or interchange (transmission) group.
Field length: 1/6
Positive unsigned numeric value.
GE02 Group Control Number
Assigned number originated and maintained by the sender.
Field length: 1/9
Tracking number assigned by the sender for the transaction. Must be identical to the Functional Group Header GS06 element.
Interchange Control Trailer (IEA)
Data Element
Name Usage Availity Requirements
IEA01 Number of Included Functional Groups
A count of the number of functional groups included in an interchange.
Field length: 1/5
1
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 10 of 23 | Updated 1/30/2020
Data Element
Name Usage Availity Requirements
IEA02 Interchange Control Number
Unique control number assigned by the interchange sender.
Field length: 9/9
Tracking number assigned by the sender for the transaction. Must be identical to the Interchange Control Header ISA13 element.
Recommended Test Cases
The purpose of this section is to provide guidelines on how to test a new B2B Connection. Since Payers typically
have policies against creating test patients in production and QA databases, we cannot facilitate complete end-to-
end testing. We can instead provide you with guidelines which will allow for reasonable certainty that the
connection is established and working correctly.
Additionally, since B2B connections rely on the submitter’s Practice Management Software (PMS) user interface,
we cannot provide details on exactly what type responses will be displayed through the PMS user interface. We
can only give general expectations as to what type response will be presented from your specific PMS.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 11 of 23 | Updated 1/30/2020
Appendix A: Error Conditions for Response XML Message
The following business-to-business (B2B) error message enhancements are effective October 16, 2010. The
enhancements are designed to simplify transaction processing and more accurately identify processing errors.
The old ‘V’ error codes can be accompanied by new Cause and Assistance messages. The new Cause codes are
more specific and provide clarity around processing errors.
A sample error response and the entire list of Error Classes and Causes are listed below along with the old error
codes. Please contact your assigned account manager for more information.
Sample Error Response
<?xml version = "1.0" encoding="UTF-8"?><ENVELOPE><HEADER><TranCode>VT01</TranCode><MessageFormat>AXIML</MessageFormat> <Sender>EXTERNAL_TESTING</Sender><Receiver>AVAILITY</Receiver><Session>10019293</Session> <ProviderOfficeNbr>PV1002021</ProviderOfficeNbr><ProviderTransID>A002FF0032</ProviderTransID><AvailityTranId>9838402031</AvailityTranId> </HEADER><BODY><Interchange><Error><ErrorCode>VT01</ErrorCode><ErrorDescription>Generic description of the error code.</ErrorDescription> <CauseCode>001</CauseCode><CauseDescription>Optional message indicating what caused the error.</CauseDescription> <AssistanceMessage>Optional message informing the user how to contact Availity Client Services.</AssistanceMessage></Error></Interchange> </BODY></ENVELOPE>
Error Classes
Error Code
ErrorDescription Cause Message?
Assistance Message?
VT01 Availity is unable to process the request. Y Y
VT02 All connections are occupied with other requests. Please try this request again later. N N
VT03 We are currently unable to complete your request. The allowable submission limit has been reached for this submitter/payer/transaction type.
N N
VT04 Availity is unable to understand your transaction request. Y Y
VT05 Availity is experiencing problems communicating with the payer. Y Y
VT06 Availity is unable to understand the payer's response. Y Y
VT07 Availity is encountering hardware or software failures. Y Y
Error Causes
Cause Code
Cause Description Assistance Message
New Error Class(es)
Old Error Code
001 The ISA segment in the request has missing elements (i.e. ISA12 is missing) or the ISA segment is missing altogether. Please verify and correct the ISA segment and resubmit the request.
1
VT01
-------
VT04 (Redundant)
VT06 (Redundant)
VT09
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 12 of 23 | Updated 1/30/2020
Cause Code
Cause Description Assistance Message
New Error Class(es)
Old Error Code
002 The GS segment in the request has missing elements (i.e. GS08 is missing) or the GS segment is missing altogether. Please verify and correct the GS segment and resubmit the request.
1
VT01
-------
VT04 (Redundant)
VT06 (Redundant)
VT01
003
The BHT segment in the request has missing elements (i.e. BHT06 is missing) or the BHT segment is missing altogether. Please verify and correct the BHT segment and resubmit the request.
1
VT04
VT01 (837p)
-------
VT06 (Redundant)
VT09
004 The GE segment in the request has missing elements (i.e. GE01 is missing) or the GE segment is missing altogether. Please verify and correct the GE segment and resubmit the request.
1
VT04
-------
VT06 (Redundant)
VT09
005 The IEA segment in the request has missing elements (i.e. IEA01 is missing) or the IEA segment is missing altogether. Please verify and correct the IEA segment and resubmit the request.
1
VT04
-------
VT06 (Redundant)
VT09
006
An NM1 segment in the request has missing elements (i.e. NM109 is missing) or the NM1 segment is missing altogether. Please verify and correct the NM1 segment and resubmit the request.
1 VT04 VT09
007 The ISA segment in the response has missing elements (i.e.
ISA12 is missing) or the ISA segment is missing altogether. Please try this request again later.
1 VT06 VT12
008 The GS segment in the response has missing elements (i.e. GS08 is missing) or the GS segment is missing altogether. Please try this request again later.
1 VT06 VT12
009 The BHT segment in the response has missing elements (i.e. BHT06 is missing) or the BHT segment is missing altogether. Please try this request again later.
1 VT06 VT12
010 The GE segment in the response has missing elements (i.e. GE01 is missing) or the GE segment is missing altogether. Please try this request again later.
1 VT06 VT12
011 The IEA segment in the response has missing elements (i.e. IEA01 is missing) or the IEA segment is missing altogether. Please try this request again later.
1 VT06 VT12
012 The request does not contain a transaction. Please correct and resubmit it.
1
VT01
-------
VT04 (Redundant)
VT02
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 13 of 23 | Updated 1/30/2020
Cause Code
Cause Description Assistance Message
New Error Class(es)
Old Error Code
013 The response does not contain a transaction. Please try this request again later.
1 VT06 VT12
014 Availity could not parse the XML envelope because it was invalid. Please correct the request and resubmit it.
1 VT01 VT03
015 Required message values in the request are missing or invalid. One or more fields in the XML envelope were missing: ${1} Please correct the request and resubmit it.
1 VT01 VT09
016 The session ID ${1} contains invalid characters. All characters must be numeric. Please verify and correct the session ID and resubmit the request.
1 VT01 VT07
017 Availity determined that the account name for user ID in ISA02 (${1}) is inactive.
2 VT01 VT13
018 Availity does not recognize the user ID in ISA02 (${1}. Please verify and correct the user ID and resubmit the request.
1 VT01 VT13
019 According to Availity's system, the password in ISA04 does not
match the user ID in ISA02 (${1}). Please verify and correct the user ID or password and resubmit the request.
1 VT01 VT13
020 Either the session ID, the user ID, or both are absent from the request. Please correct the request and resubmit it.
1 VT01 VT06
021 Availity cannot find the session ID (${1}) in its database or has determined the session ID is invalid. Please verify and correct the session ID and resubmit the request.
1 VT01 VT07
022 The session ID (${1}) has expired. Please obtain a new session ID and resubmit the request.
1 VT01 VT08
023 The vendor is not configured with Availity. 2 VT01 VT15
024 Availity is unable to determine the transaction type or the transaction type is invalid. Please verify and correct the transaction type in the XML envelope and resubmit the request.
1 VT01 VT01
025 Availity does not recognize this receiver (${1}) and transaction type combination. Please verify the receiver name and transaction type fields and resubmit the request.
1 VT01 VT01
026 The HIPAA version in the ISA12 segment is either missing or invalid. Please verify and correct the ISA12 segment and resubmit the request.
1 VT01
New -
Would map to VT09
027 The BODY element must contain an X12 transaction. In other words, the request contains an XML envelope but does not contain an X12 transaction. Please correct and resubmit it.
1 VT01 VT01
028 The message format in the request must be X12. Please correct and resubmit the request.
1 VT01 VT09
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 14 of 23 | Updated 1/30/2020
Cause Code
Cause Description Assistance Message
New Error Class(es)
Old Error Code
029 Vendor pool full for vendor ID ${1}. 1 VT02 VT14
030 Mediator pool full for receiver. 1 VT02 VT11
031 One or more transaction caps met. 1 VT03 VT17
032 A HIPAA validation error has occurred when validating the request: ${1}.
1 VT04 VT09
033 A HIPAA validation error has occurred when validating the payer's response: ${1}. Please try this request again later.
1 VT06 VT12
034
The subscriber identifier (ID) must contain 4 to 17 characters and
no spaces. For Blue Cross and Blue Shield, it should contain either a three-letter alphabetic prefix or a prefix containing R and two numeric digits, followed by up to 14 alphanumeric characters. Please correct and resubmit.
1 VT04 VT16
035 Availity and the payer are unable to communicate because the connection has failed or a timeout occurred. Please try this request again later.
1 VT05 VT10
036 The format of the payer's response is invalid. Please try this request again later.
1 VT06 VT12
037 Please try this request again later. 1 VT07 VT01
038 The transaction contains multiple ST/SE segments, but only one ST/SE is allowed. Please correct the transaction and resubmit it.
1 VT01 VT09
039
The 4010A1 278 contains a combination of a specialty care review, health services review, and an admission review (multiple 'events'), denoted by multiple 2000F loops. Converting this 278 to 5010 results in multiple ST/SE segments, which are not allowed. Please separate the events into separate 278s and resubmit them.
1 VT04 VT09
040 The format of the payer's response is invalid. Please try this request again later.
2 VT06 VT12
Assistance Message 1
If this problem persists, please contact Availity Client Services at 1-800-AVAILITY between 8:00 am and 7:00 pm
ET Monday through Friday.
Assistance Message 2
Please contact Availity Client Services at 1-800-AVAILITY between 8:00 am and 7:00 pm ET Monday through
Friday.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 15 of 23 | Updated 1/30/2020
Appendix B: Resources
Transaction Request URL
Use the following URL for submitting the transaction request to Availity’s test environment:
https://qa-apps.availity.com/availity/B2BHCTransactionServlet
Use the following URL for submitting the transaction request to Availity’s production environment:
https://apps.availity.com/availity/B2BHCTransactionServlet
The request will currently read the xml message from the request input stream or accept a parameter of
‘transaction’ to obtain the xml message.
B2B Payer List
Use this link for a list of B2B payers and the transactions they support.
http://www.availity.com/resources/in-our-network/payer-lists/
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 16 of 23 | Updated 1/30/2020
Appendix C: Document Type Definitions and Data Examples
Message Envelope DTD
The following is an example of a message envelope Document Type Definition (DTD).
<!ELEMENT ENVELOPE ( HEADER, BODY ) >
<!ELEMENT HEADER (TranCode, MessageFormat, Sender, Receiver, Session?, ProviderOfficeNbr, ProviderTransID) >
<!ELEMENT TranCode (#PCDATA) >
<!ELEMENT MessageFormat (#PCDATA) >
<!ELEMENT Sender (#PCDATA) >
<!ELEMENT Receiver (#PCDATA) >
<!ELEMENT Session (#PCDATA) >
<!ELEMENT ProviderOfficeNbr (#PCDATA) >
<!ELEMENT ProviderTransID (#PCDATA) >
<!ELEMENT BODY (#PCDATA) >
AXIML Error Message DTD
The following is an example of an AXIML error message Document Type Definition (DTD).
<!ELEMENT Interchange ( Error ) >
<!-- Error Section -->
<!ELEMENT Error (ErrorCode, ErrorDesc) >
<!ELEMENT ErrorCode (#PCDATA) > <!-- the assigned value of the error condition as specified in appendix A -->
<!ELEMENT ErrorDesc (#PCDATA) > <!-- the textual description of the error condition -->
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 17 of 23 | Updated 1/30/2020
Example Transaction Message
The following is an example of a 276 X12 message wrapped within the Availity message envelope. Please note
that carriage return, line feeds (CR/LFs) have been added at the end of each line/segment to make it easier to
read.
<?xml version = "1.0" encoding="UTF-8"?>
<ENVELOPE>
<HEADER>
<TranCode>276</TranCode>
<MessageFormat>X12</MessageFormat>
<Sender>SAMPLE ORGANIZATION</Sender>
<Receiver>AVAILITY</Receiver>
<Session></Session>
<ProviderOfficeNbr>00000000670</ProviderOfficeNbr>
<ProviderTransID>917753427</ProviderTransID>
</HEADER>
<BODY>
ISA*03*SAMPLEID *01*SAMPLEPWD *ZZ*AV09311993 *01*030240928 *110301*2144*^*00501*000648085*0*P*:~
GS*HR*AV01101957*030240928*20110301*214457*1*X*005010X212~
ST*276*0001*005010X212~
BHT*0010*13*1000648085*20110301*2144~
HL*1**20*1~
NM1*PR*2*PAYER NAME*****PI*PAYERID~
HL*2*1*21*1~
NM1*41*2*SAMPLE SUBMITTER*****46*123456789~
HL*3*2*19*1~
NM1*1P*2*SAMPLE PROVIDER*****XX*1234567893~
HL*4*3*22*0~
DMG*D8*19241010*M~
NM1*IL*1*PATIENT*SAMPLE****MI*987654321~
TRN*1*000648085~
REF*EJ*UNKNOWN~
AMT*T3*0~
DTP*472*RD8*20101203-20101207~
SE*16*0001~
GE*1*1~
IEA*1*000648085~
</BODY>
</ENVELOPE>
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 18 of 23 | Updated 1/30/2020
Sample C# XML Example
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml;
using RealMed.Exception;
namespace RealMed.Payer.Connection
{
public class B2BXmlClient
{
public string Url { get; set; }
public string UserName { get; set; }
/// <summary>
/// Send 270/276 transaction to Aries realtime web service
/// </summary>
/// <param name="payloadId">unique identifier</param>
/// <param name="payload">ANSI 270 or 276 request</param>
/// <param name="transactionCode">transaction code (either '270' or '276')</param>
/// <param name="receiverCode">AVAILITY</param>
/// <returns>ANSI 271 or 277 response</returns>
public string Send(string payloadId, string payload, string transactionCode, string receiverCode)
{
string ansiResponse = "";
try
{
var xd = new XmlDocument();
xd.LoadXml("<?xml version=\"1.0\"?><ENVELOPE/>");
var xnHeader = xd.DocumentElement.AppendChild(xd.CreateElement("HEADER"));
xnHeader.AppendChild(xd.CreateElement("TranCode")).InnerText = transactionCode;
xnHeader.AppendChild(xd.CreateElement("MessageFormat")).InnerText = "X12";
xnHeader.AppendChild(xd.CreateElement("Sender")).InnerText = UserName;
xnHeader.AppendChild(xd.CreateElement("Receiver")).InnerText = receiverCode;
xnHeader.AppendChild(xd.CreateElement("Session"));
xnHeader.AppendChild(xd.CreateElement("ProviderOfficeNbr")).InnerText = "office_number_here";
xnHeader.AppendChild(xd.CreateElement("ProviderTransID")).InnerText = payloadId;
xd.DocumentElement.AppendChild(xd.CreateElement("BODY")).InnerText = payload;
var httpRequest = (HttpWebRequest) WebRequest.Create(Url);
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
var xmlRequest = xd.OuterXml.Replace("<Session />", "<Session></Session>");
SendRequest(httpRequest, xmlRequest);
var xmlResponse = GetResponse(httpRequest);
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 19 of 23 | Updated 1/30/2020
if (!string.IsNullOrEmpty(xmlResponse))
{
xd.LoadXml(xmlResponse);
var xnTemp = xd.DocumentElement.SelectSingleNode("BODY");
if (xnTemp != null)
{
var xnError = xnTemp.SelectSingleNode("Interchange/Error");
if (xnError != null)
{
ansiResponse = xnError.InnerText;
}
else
{
ansiResponse = xnTemp.InnerText;
}
}
}
return ansiResponse;
}
catch (System.Exception ex)
{
throw new RMException(ex);
}
}
protected virtual void SendRequest(HttpWebRequest request, string payload)
{
using (var writer = new StreamWriter(request.GetRequestStream(), Encoding.Default))
{
writer.Write(payload);
}
}
protected virtual string GetResponse(HttpWebRequest request)
{
var response = (HttpWebResponse) request.GetResponse();
using (var reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
}
}
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 20 of 23 | Updated 1/30/2020
Appendix D: CAQH CORE Phase II Connectivity
In support of the CAQH CORE Phase II mandate, Availity offers a fully compliant connectivity solution (See
Testing section for URLs.)
Availity can receive real-time requests using either Envelope Standard A (HTTP MIME Multipart) or Envelope
Standard B (SOAP+WSDL) and requires that Submitter Authentication Standard C (User name/Password) use
the UserName and Password fields for Envelope Standard A and WS-security for Envelope Standard B. For more
information, see Phase I CORE 153: Eligibility and Benefits Connectivity Rule and Phase II CORE 270:
Connectivity Rule.
The following table displays the CORE Phase II services supported by Availity:
Service name Description
realTimeTransaction Submit a real time transaction, synchronous call.
The response follows the CORE response example given in the CAQH CORE Phase II Operating Rules. For
more information on CAQH CORE Phase II Operating Rules, see CAQH CORE Phase II Operating Rules.
Message Envelope Request Specification
In an effort to support the CAQH Core standard, Availity has implemented a SOAP-based web service that
defines a standard envelope for all B2B transactions. The XML wrapper for all B2B transactions is comprised of
two parts: a SOAP Envelope, which must include Header and Body elements; and a CORE Real-Time Request
message contained within the SOAP Body.
The example below shows the SOAP Header with required security meta-data and the SOAP Body with the
required elements of CORE Real-Time Request message.
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Header>
<wsse:Security>...</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ns1:COREEnvelopeRealTimeRequest
xmlns:ns1="http://www.caqh.org/SOAP/WSDL/CORERule2.0.1.xsd">
<PayloadType>X12_270_Request_005010X279A1</PayloadType>
<ProcessingMode>RealTime</ProcessingMode>
<PayloadID>f81d4fae-7dec-11d0-a765-00a0c91e6bf6</PayloadID>
<TimeStamp>2007-08-30T10:20:34Z</TimeStamp>
<SenderID>SAMPLEID</SenderID>
<ReceiverID>AVAILITY</ReceiverID>
<CORERuleVersion>2.0.1</CORERuleVersion>
<Payload>
<![CDATA[ISA*00* *00* *ZZ*...IEA*1*000000031]]>
</Payload>
</ns1:COREEnvelopeRealTimeRequest>
</soapenv:Body>
</soapenv:Envelope>
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 21 of 23 | Updated 1/30/2020
CORE Real-Time Request
The following table describes the elements of the CORE Real-Time Request:
Field Description XML Tag
Envelope Real-time request envelope <COREEnvelopeRealTimeRequest>
Payload Type Specifies the type of payload included within the request. Must be one of the following:
• X12_270_Request_005010X279A1
• X12_276_Request_005010X212
• X12_278_Request_005010X215
• X12_278_Request_005010X216
• X12_278_Request_005010X217
• X12_837_Request_005010X223A2
• X12_837_Request_005010X222A1
• X12_837_Request_005010X224A2
<PayloadType>
Processing Mode Indicates processing mode. Must be: RealTime. <ProcessingMode>
Payload ID A Payload identifier assigned by the Sender. (not required) <PayloadID>
Time Stamp Sender provided time stamp indicating when a message is
created and sent. Must be in Coordinated Universal Time (UTC) format, e.g., 2007-08-30T10:20:34Z
(not required)
<TimeStamp>
Sender ID Unique user name provided by Availity at the completion of the Advanced Clearinghouse registration process. This ID must match the username in the WS-Security header.
<SenderID>
Receiver ID Identifier of the receiver (not required).
Valid value: AVAILITY
<ReceiverID>
CORE Rule Version The CORE Rule version that this envelope is using. (not required)
<CORERuleVersion>
Payload The X12 transaction enclosed within an XML CDATA element.
<PayLoad>
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 22 of 23 | Updated 1/30/2020
WS-Security
You must insert the WS-security username and password token (see example below) into the SOAP header for
the message to be accepted. Availity provides the username and password credentials at the completion of
registration.
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand=”true”>
<wsse:UsernameToken xmlns:wsu=” http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id=”UsernameToken=21621664”>
<wsse:Username>SAMPLEID</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token- profile-1.0#PasswordText">SAMPLEPWD</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>...</soapenv:Body>
</soapenv:Envelope>
Note: Replace SAMPLEID and SAMPLEPWD with the user ID and password provided by Availity.
CORE Real-Time Response
The example below shows the standard envelope nodes for the CORE Real-Time Response message.
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<ns1:COREEnvelopeRealTimeResponse xmlns:ns1="http://www.caqh.org/SOAP/WSDL/CORERule2.2.0.xsd">
<PayloadType>X12_271_005010X279A1</PayloadType>
<ProcessingMode>RealTime</ProcessingMode>
<PayloadID>f81d4fae-7dec-11d0-a765-00a0c91e6bf6</PayloadID>
<TimeStamp>2007-08-30T10:20:34Z</TimeStamp>
<SenderID>sampleID</SenderID>
<ReceiverID>AVAILITY</ReceiverID>
<CORERuleVersion>2.0.1</CORERuleVersion>
<Payload><![CDATA[ISA*00* *00* *ZZ*NEHEN780 *ZZ*NEHEN003 ...IEA*1*000000031]]></Payload>
<ErrorCode>Success</ErrorCode>
<ErrorMessage></ErrorMessage>
</ns1:COREEnvelopeRealTimeResponse>
</soapenv:Body>
</soapenv:Envelope>
Response Timeout and Retransmission Rules
For each real-time request submitted, a response must be returned within 60 seconds. If no response is returned,
Availity will process duplicate transactions based on the following rules:
• The submitter’s system may send a duplicate transaction after 90 seconds.
• If no response is received after the second attempt, the submitter’s system may re-submit the transaction
no more than 5 times within the next 15 minutes.
© Availity, LLC, all rights reserved. | Confidential and proprietary.
Page 23 of 23 | Updated 1/30/2020
Testing
A Connectivity Solutions representative will guide you through the testing process. Use the following URLs for
submitting CAQH CORE formatted transactions:
The URL for submitting to QA:
https://qa-gateway.availity.com:4021/core
The URL for submitting to Production:
https://gateway.availity.com:2021/core