66
Internet Emdeon Business Services CORPORATE SYSTEMS One Lakeview Place 26 Century Boulevard Nashville, TN 37214 www.emdeon.com USE U Transaction Serv VERSION: 3.0. DATE: 10/2 10:4 ERGUID USERGUID vices .2a 21/2008 44 AM DE DE

Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

Embed Size (px)

Citation preview

Page 1: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

Internet Transaction Services

Emdeon Business Services CORPORATE SYSTEMS One Lakeview Place 26 Century Boulevard Nashville, TN 37214 www.emdeon.com

USERUSER

Internet Transaction Services

VERSION: 3.0.

DATE: 10/ 2110: 44 A

USERGUIDEUSERGUIDE

Internet Transaction Services

3.0. 2a

21/2008 44 A M

GUIDE GUIDE

Page 2: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

CONTENTS INTERNET TRANSACTION SERVICES

INSIDE:

INTRODUCTION 4

WHAT IS ITS? 4

WHO NEEDS ITS? 4

BENEFITS OF ITS 5

SUPPORTED TRANSACTIONS 5

SUPPORTED PLATFORMS 6

IMPLEMENTING ITS 7

OVERVIEW 7

ENROLLING NEW SITES 8

FORMATTING 8

USER ID S AND PASSWORDS 8

HTTP REQUEST 9

HTTP POST INTERFACE 11

HTTP REQUEST HEADER 11

HTTP RESPONSE 17

RESPONSE FORMATS 19

REQUEST METHODS 20

XML WEB SERVICES INTERFACE 22

WEB METHODS 22

HTTP GET 26

HTTP POST 26

SOAP 27

MESSAGE TYPES 28

REAL-T IME 28

BATCH PUT 29

BATCH GET 31

CHANGE PASSWORD 32

ERROR CODES AND MESSAGES 33

Page 3: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

CONTENTS INTERNET TRANSACTION SERVICES

FRONT-E ND 33

BACK-E ND GENERIC 39

BACK-E ND REAL-T IME 40

BACK-E ND BATCH 43

FREQUENTLY ASKED QUESTIONS 46

APPENDIX A - SAMPLE CURL COMMANDS 47

ECHO 48

AUTHENTICATION 48

MEDICAL REAL-T IME 49

PHARMACY 49

PRESCRIBER PHARMACY I NTERFACE 50

BATCH PROFESSIONAL MEDICAL 51

BATCH PROFESSIONAL DENTAL 52

BATCH I NSTITUTIONAL HOSPITAL 53

ELECTRONIC REMITTANCE ADVICE 54

ELIGIBILITY ROSTER 54

AUTOMATED VERIFICATION 55

PATIENT STATEMENTS 56

PROFESSIONAL SCRUB ONLY 57

PROFESSIONAL SCRUB AND SUBMIT 58

I NSTITUTIONAL SCRUB ONLY 59

I NSTITUTIONAL SCRUB AND SUBMIT 60

CPS DENTAL CLAIMS 61

APPENDIX B - SAMPLE .NET CODE 62

WEBCLIENT 62

HTTPWEBREQUEST 64

XML WEB SERVICES 65

XML WEB SERVICES 66

Page 4: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

BASICS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 4 of 66

Introduction

This document provides an overview of Internet Transaction Services (ITS) and contains the instructions necessary to create a functional interface for exchanging data with Emdeon Business Services.

The document contains trade secrets and confidentia l information proprietary to Emdeon Business Services . Any use, reproduction, distribution, disclosure, public performance, public display, transfer, or transmission of this document, in whole or in part, in any form and by any means—mechanical or electronic—is prohibited without the express writte n permission of Emdeon Business Services.

Copyright © 2008 Emdeon Business Services, LLC. All rights reserved.

(All other company names, product names and brands are for identification purposes only, and may be trademarks or registered trademarks of their respective owners.)

What is ITS?

Internet Transaction Services provides submitters with a robust and comprehensive communication framework designed around a single user identifier and secure connectivity for all major healthcare administrative EDI transactions.

Who Needs ITS?

Practice Office Management Information Systems developers, physicians offices, hospitals, and othe r healthcare professionals sending administrative healthcare EDI transactions will want to use ITS. Using ITS will simplify connectivity which will in turn reduce overhead and increase revenue.

Page 5: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

BASICS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 5 of 66

Benefits of ITS

ITS will seamlessly integrate client software with Emdeon’s processing system enabling providers to increase their overall productivity. Clients use a single identifier for all supported transactions while using an existing internet connection to support communication. These features make ITS easier to deploy and support while providing increased reliability. Compared with current communication methods, many users will experience increased speed. Furthermore, the thin-client architecture means that Practice Office Management Information Systems are not required to update thei r software to maintain compatibility with ITS.

Supported Transactions

Real Time

Eligibility verification

Claims status

Referral submission & referral inquiry

Pre-certification, authorizations

Pharmacy claims

Electronic prescriptions (Prescriber-Pharmacy Inter face - PPI)

Batch

Claim Master - Professional Claim Scrubbing

Claim Master - Professional Claim Scrubbing and Sub mission

Claim Master - Institutional Claim Scrubbing

Claim Master - Institutional Claim Scrubbing and Su bmission

CPS - Dental Claims

Express Bill - Patient Statements

Express Bill - Delinquency Notices

Page 6: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

BASICS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 6 of 66

Express Bill - Collection Letters

NEIC - Dental Claims

NEIC - Electronic Remittance Acceptance (ERA)

NEIC - Eligibility Rosters

NEIC - Hospital Claims

NEIC - Medical Claims

Rabbit - Automated Verification (Eligibility, Claim s Status, and Referral)

Supported Platforms

Internet Transaction Services run on the Microsoft .NET Framework version 2.0.50727 under Microsoft Internet Information Services (IIS) version 6.0.

Access ITS using an existing internet connection an d client software with the ability to establish an HTTPS connection to IIS and communicate via HTTP (1.0 or 1.1) using HTTP GET or HTTP POST request methods.

The XML Web Services interface supports HTTP GET, HTTP POST, and the Simple Object Access Protocol (SOAP) versions 1.1 and 1.2.

Compatibility with the ITS application depends on compatibility with these standard technologies.

Page 7: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

IMPLEMENTATION INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 7 of 66

Implementing ITS

There are two phases to implementing ITS, operational and technical.

The operational/administrative phase entails contract negotiation and signing, assignment of use r credentials, enrolling with payers, etc. Complete this phase before starting development as the ITS Universal User ID is required for testing.

The technical phase entails developing software tha t adheres to the ITS specifications outlined in this document. This phase has two choices of service offerings, the HTTP Post interface, and the XML Web Services interface. The HTTP Post interface offers a mechanism to send data in an HTTP request and receive an HTTP response containing the results. Th e XML Web Services interface provides a group of Web Methods that can be called from an application to facilitate communication through ITS.

When showing examples, items appearing in angled brackets (<>) should be replaced with actual values for your specific implementation. For example <userid> represents your specific ITS Universal Use r ID, <boundary> represents the specific boundary tex t chosen, etc. Text in square brackets [] are comment s and would not actually appear. This is the standard employed throughout this document.

Overview

To implement Internet Transaction Services, complet e the following steps:

Contact your account manager or sales associate and request the use of ITS or to add a new service to an existing I TS account. An implementation analyst assigned to your account will contact you.

If you are a new ITS user, the analyst will assign you a Universal User ID and password.

Page 8: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

IMPLEMENTATION INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 8 of 66

Using the Universal User ID and this specification, begin testing communication using ITS.

After successfully establishing connectivity, you w ill work with your implementation analyst to certify the format f or your transactions. Repeat this process for each transact ion you want to implement. Emdeon recommends implementing o nly one transaction at time. This will eliminate confusion between the development team(s) and the implementation analysts working with the different formats.

Once you have successfully completed testing for an y individual service, you may begin enrolling sites and submitti ng production transactions for that service. Each prod uction site will be issued a new production Universal User ID a nd password.

Enrolling New Sites

New sites must enroll for services before they can begin sending transactions. The information require d for enrollment may vary for each transaction type and payer.

Contact your account manager for information on how to enroll a site for a particular service or set of services. Once enrolled, use the location’s Universal User ID and password to transmit live transactions.

Formatting

Internet Transaction Services is a communication tool for sending pre-formatted transactions. It is the responsibility of the calling application to pass a properly formatted transaction/file to ITS. To facilitate this, there may be a format certification process required before approval to send transactions for different services.

User IDs and Passwords

ITS Universal User IDs are mixed-case alphanumeric character strings assigned by Emdeon Business Services. Although Emdeon will assign the initial

Page 9: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

IMPLEMENTATION INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 9 of 66

password, the ITS application provides the ability to change passwords.

New passwords must conform to the following rules:

Must be between 8 and 20 characters in length

Must include at least two alphabetic characters and two numeric characters

Must NOT match any of the previous 12 user assigned passwords.

Must NOT include the following:

� The Universal ID or user name

� Your company name

� “Envoy”

� “Welcome”

� “Doctor”

� “WebMD”

� “POSI”

A user that attempts to access the system and fails five consecutive times will disable the account. If this occurs, please contact customer support to hav e the password reset. At this point, the Customer Support Representative will issue a new password. The client must use the new password to access ITS.

HTTP Request

The HTTP request header cannot exceed 16 kilobytes (KB) or the Web Server will refuse the request. Furthermore, the maximum size of the entire HTTP Request, which includes the header, is 15 megabytes (MB). This pertains to the ITS Web front-end only.

The ITS application communicates with various other systems that will have different requirements pertaining to maximum transaction size. When implementing transaction formats with Emdeon Business Services, confirm the maximum transaction

Page 10: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

IMPLEMENTATION INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 10 of 66

size for that specific transaction. For example, batch claim files can be much larger than a real-time eligibility request.

When sending files, use the following list of standard requirements for file names:

File names should contain no more than 8 characters .

File extensions should contain no more than 3 chara cters

File names should contain alphanumeric characters o nly.

File names should begin with an alphabetic characte r.

These rules apply to both the file uploaded and any files encapsulated in an uploaded zipped archive. Not following this policy may cause some files not to process correctly.

Page 11: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 11 of 66

HTTP Post Interface

The HTTP Post interface adheres to the HTTP 1.1 standard; therefore, it should be compatible with any platform and development environment capable of interacting with this standard. HTTP 1.1 should be backward compatible with HTTP 1.0.

There are two environments, test and production, which can be accessed at two different URLs.

Test: https://cert.its.emdeon.com/ITS/post.aspx

Production: https://its.emdeon.com/ITS/post.aspx

HTTP Request Header

Standard Headers

The following table describes the appropriate value s of the standard HTTP headers and applicable conditions for using them. These headers are not case sensitive and values are character strings. Though there are many other headers, these are most important. Incorrect format or values of these keys can affect the accuracy and processing of the transaction.

HEADER KEY DESCRIPTION

Accept This header is optional.

It determines the type of response the client will accept.

If sent, the client will not accept a response unless the Content-Type contains one of the specified values.

If not sent, the client will accept responses with any Content-Type.

The client determines the Content-Type of the response except for when sending “wsGetFile” and when using SOAP.

See “wsResponseFormat” in the next table for more information.

Page 12: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 12 of 66

HEADER KEY DESCRIPTION

Cache-Control This header is optional.

It contains information about cache control.

Although this header is standard only in HTTP 1.1, clients using HTTP 1.0 may include it. However, HTTP 1.0 requests may not receive the full functionality that this header is designed to provide.

If sent, it should contain the value of “ no-cache”.

If not sent, ITS will attempt to disable response caching.

Connection This header is optional.

It describes the connection state after receiving the response.

Although this header is standard only in HTTP 1.1, clients using HTTP 1.0 may include it. However, HTTP 1.0 requests may not receive the full functionality that this header is designed to provide. Certain implementations may not allow modifications to this header.

If sent, it should contain the value of “ close”.

ITS will return the value of “close” in the header of all responses to insure the closing of the connection. Persistent connections are not supported in ITS.

Content-Length

This header is conditional HTTP POST Requests: Required HTTP GET Requests: Invalid

It contains the length of the body of the request.

If sent, it should contain the length of the post data that is the body of the HTTP request.

Content-Type This header is conditional HTTP POST Requests: Required HTTP GET Requests: Invalid

It contains the MIME type of the data in the body of the HTTP Request.

If sent, this header can contain 1 of 2 values: “multipart/form-data; boundary=<boundary>” “application/x-www-form-urlencoded”

Page 13: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 13 of 66

HEADER KEY DESCRIPTION

Expect This header is optional.

It contains expected response Content-Type values.

Although this header is standard only in HTTP 1.1, clients using HTTP 1.0 may include it. However, HTTP 1.0 requests may not receive the full functionality that this header is designed to provide.

If sent, the client does not send the body of the HTTP request. It waits for confirmation from the server before sending it. In this case, the value of this header must contain the value of “ 100-Continue”.

Host This header is conditional HTTP 1.1: Required HTTP 1.0: Optional

It specifies the Internet host (and optinally a port number) of the resource being requested.

When sent, it should contain the host machine name part of the destination URL.

When sending to the ITS production system, it should appear as follows:

Host: its.emdeon.com

When sending to the ITS certification system, it should appear as follows:

Host: cert.its.emdeon.com

Pragma This header is optional.

It contains cache control information.

HTTP 1.1 deprecated this header and replaced it with “Cache-Control”.

If sent, it should contain the value of “ no-cache”.

Page 14: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 14 of 66

HEADER KEY DESCRIPTION

User-Agent This header is optional. However, it is good internet etiquette to send it.

It describes the client sending the request.

Some HTTP clients allow modification to this header and some may not. In the case of the latter, populate with a string describing the application and/or the software vendor using the following format:

<Application Name>/<Version>

Ex: ITSClient/1.0

OR

<Vendor Name-Application Name>/<Version>

Ex: Emdeon-ITSClient/1.0

Both of these would be valid User-Agent strings. Sending a custom User-Agent will assist in identifying connections to the Web Server.

Custom Variables

The following table describes the custom variables used by ITS. These variables may be either form pos t variables or HTTP headers as documented in the following table. These variables are not case sensitive and values are character strings. An HTML version of this table is available by sending a “GET” request without any custom variable to the HTTP Post interface URL.

VARIABLE DESCRIPTION

wsUserID This variable is required.

It contains the ITS Universal User ID.

wsPassword This variable is required.

It contains the ITS password.

wsMessageType This variable is required.

It contains a Message Type describing the current transaction. see Message Types

Page 15: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 15 of 66

VARIABLE DESCRIPTION

wsRealtimeFile This variable is conditional. For real-time transactions, “wsRealtimeFile”, “wsRequest”, or “wsEncodedRequest” is required.

It contains a real-time transaction sent as a Form-based File Upload (RFC 1867).

The contents of the file must represent the transaction as expected by the host. Send it as a multipart/form-data post with a boundary Content-Type of application/octet-stream.

wsEncodedRequest

This variable is conditional. For real-time transactions, “wsRealtimeFile”, “wsRequest”, or “wsEncodedRequest” is required.

It contains a Base64 encoded real-time transaction.

It contains a Base64 encoded string that when decoded becomes the transaction as expected by the host.

wsRequest This variable is conditional. For real-time transactions, “wsRealtimeFile”, “wsRequest”, or “wsEncodedRequest” is required.

It contains the real-time request sent as an ASCII text string.

The contents should be ASCII text printable characters only. No binary data permitted, this includes new line and end-of-file characters. If the transaction includes binary data, use either wsEncodedRequest or wsRealtimeFile.

wsPutFile This variable is conditional. For batch upload transactions, either “wsPutFile”, or “wsEncodedPutFile” is required.

It contains a real-time transaction sent as a Form-based File Upload (RFC 1867).

The contents should be a PKZIP compatible file that contains one or more batch files formatted as expected by the host. Send it as a multipart/form-data post with a boundary Content-Type of application/octet-stream.

Page 16: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 16 of 66

VARIABLE DESCRIPTION

wsEncodedPutFile

This variable is conditional. For batch upload transactions, either “wsPutFile”, or “wsEncodedPutFile” is required.

It contains a Base64 encoded batch file.

It contains a Base64 encoded string that when decoded becomes a PKZIP compatible file that contains one or more batch files formatted as expected by the host.

wsGetFile This variable is conditional. For batch download transactions, this variable is required.

It must contain a value in order to download a file.

The contents should be a filename with “.zip” extension.

The HTTP response will contain the following keys:

Content-Type: “application/x-zip-compressed”

Content-Encoding: “x-compress”

Content-Disposition: “attachment;filename=<wsGetFile value>”

wsResponseFormat

This variable is optional.

It contains a value representing the desired format of the response.

See the table in the Response Formats section for a list of valid values.

wsNewPassword This variable is conditional. For a password change request, this variable is required.

It contains the new password for a password change request.

The contents must match the contents of the wsReNewPassword variable in order for the password change request to be successful.

Page 17: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 17 of 66

VARIABLE DESCRIPTION

wsReNewPassword This variable is conditional. For a password change request, this variable is required.

It contains the new password for a password change request.

The password confirmation for a password change transaction.

The contents must match the contents of the wsNewPassword variable in order for the password change request to be successful.

HTTP Response

The HTTP Response will contain various standard and custom headers. Use the values of some of these headers to track transactions and their status. All headers are character strings.

Page 18: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 18 of 66

KEY USAGE

ErrorCode This header, populated as the application writes the response, contains the error code of the ITS application.

Use this header to determine transaction status.

“0”: success “209”: No batch file to download Other: An error occurred and an error message is in the body of the response.

ITS-Version This header, populated as the application writes the response, contains the current version of the ITS application.

ITS-WebServer This header, populated as the application writes the response, contains the hostname of the Web Server that processed the request.

SessionID This header, populated as the application writes the response, contains the session id of the request.

Use this header to obtain a unique identifier for the current transaction in the event other search criteria fail.

Connection This header, populated as the application writes the response, contains an instruction to the client to close the connection. Not all clients will respond to this directive.

It contains the value of “close”.

Server This header contains the name and version of the Web Server

This is a standard HTTP header. The Web Server determines its existence and value.

Date This header contains a date string.

This is a standard HTTP header. The Web Server determines its existence and value.

X-Powered-By This header contains “ASP.NET”.

This is a default header returned by IIS. The Web Server determines its existence and value.

X-ASPNet-Version

This header contains the version of the .NET Framework on which the application executes.

This is a default header returned by IIS. The Web Server determines its existence and value.

Page 19: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 19 of 66

KEY USAGE

Pragma This header, populated as the application writes the response, contains cache-control information for HTTP 1.0 clients implementing this feature.

It contains the value “no-cache”.

Cache-Control This header, populated as the application writes the response, contains cache control information for HTTP 1.1 clients implementing this feature.

It contains the value of “no-cache”.

Expires This header, populated as the application writes the response, contains response expiration information for cache control. A valid date string represents the date for the response to expire. An invalid date string causes the response to expire immediately.

It contains the value of “-1”.

Content-Length This header, populated as the application writes the response, contains the length of the body of the response.

Content-Type This header, populated as the application writes the response, contains the MIME type of the data in body of the HTTP response.

Content-Encoding

This header, populated as the application writes the response, contains the decoding mechanisms required to obtain the media-type reference in the Content-Type header.

It is present only in responses to batch download requests and contains the value “x-compress”.

Content-Disposition

This header, populated as the application writes the response, contains presentational information of the data in the body of the response.

It is present only in responses to batch download requests and contain “attachment;filename=<wsGetFile>”.

Response Formats

Page 20: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 20 of 66

The following is a list of supported response types . The application will default any other value. The response types are not case sensitive.

WSRESPONSEFORMAT CONTENT-TYPE RESPONSE FORMAT

“binary” application/octet-stream

Binary

“html” text/html HTML

“tash” text/html Text

“text” text/plain Text

“default” <server decides> <server decides>

There is one exception to the binary response format. When doing a batch download using the “wsGetFile” variable and the body of HTTP response is binary, the content-type is “application/x-zip-compressed” because it represents a PKZIP compatibl e zip file.

Request Methods

ITS supports both the “GET” and “POST” HTTP request methods.

GET:

Send data as headers in the HTTP request header

Body of the HTTP request must be empty

Send the transaction data as encoded (wsEncodedPutF ile or wsEncodedRequest)

POST:

Send data as form variables in HTTP request body

Send data as form variables and file upload in HTTP request body

Send data as headers and form variables in HTTP req uest body.

Send data as headers and/or form variables and file upload.

Content-type of multipart/formdata supported.

Page 21: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

POST-SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 21 of 66

Content-type of application/x-www-form-URL-encoded supported.

Because there are multiple ways of including multiple types of transactions with multiple content-type settings where some combinations do no t work, it is important to recognize the following constraints.

When sending a URL-encoded transaction, encode all binary characters and URL encoding special characters that exist in the transaction per the URL-encoding specifications . This is particularly important when sending Base64 encoded transactions. Base64 encoded transactions can conta in a plus (+) character. This character has special meaning i n URL encoded strings. The Web Server will interpret all plus characters as spaces as part of the URL decoding pr ocess. This will yield an invalid Base64 string on the server.

Send batch put transactions as a file upload using a content-type of multipart/form-data or as a Base64 encoded trans action, using either supported content-type. URL encoding t he actual zip file into a header/form key will not work. Furt hermore, it must be Base64 encoded prior to being URL encoded.

Page 22: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

WEB SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 22 of 66

XML Web Services Interface

An XML Web Services interface is also available. Some familiarity with XML Web Services is required in order to understand this documentation. This is a description of how ITS uses XML Web Services, not documentation on XML Web Services as a technology.

This interface supports HTTP GET, HTTP POST, and Simple Object Access Protocol (SOAP). The URL for accessing the XML Web Services interface is different for the test and production environments.

Test: https://cert.its.emdeon.com/ITS/itsws.asmx

Production: https://its.emdeon.com/ITS/itsws.asmx

Web Methods

Each Web Method returns two pieces of information: an error code and a response string. The namespace for the Web Methods is https://ITSWebservice.emdeon.com

ITSReturn

Though the data returned to the client is in XML format, some clients may reference a class within the https://ITSWebservice.emdeon.com namespace called ITSReturn. Each Web Method returns an instance of this class, which the Web Server converts into XML.

class ITSReturn {

int ErrorCode; string Response;

}

� ErrorCode: 0 is success, any other number is an err or

code

� Response: A Base64 encoded string, a text response, or

an error message

Page 23: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

WEB SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 23 of 66

If the ErrorCode is not zero (0), then Response contains a text based error message. This message will help Emdeon answer questions and troubleshoot issues relating to the error.

If the ErrorCode equals zero (0), the Response may contain either a text-based response or a Base64 encoded string that represents a binary response. The description of each Web Method explains this.

Authenticate

This method will send an authentication request tha t will verify that the user id and password are correct.

[WebMethod] public ITSReturn Authenticate (

string sUserID, string sPassword

)

� sUserID: The ITS Universal ID

� sPassword: The ITS Password

If ITSReturn.ErrorCode is not zero (0), then ITSReturn.Response is a text-based error message.

If ITSReturn.ErrorCode equals zero (0), then ITSReturn.Response is a text-based response string.

ChangePassword

This method will change the password for the specified account.

[WebMethod] public ITSReturn ChangePassword (

string sUserID, string sPassword, string sNewPassword

)

Page 24: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

WEB SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 24 of 66

� sUserID: The ITS Universal ID

� sPassword: The ITS Password

� sNewPassword: The new password

If ITSReturn.ErrorCode is not zero (0), then ITSReturn.Response is a text-based error message.

If ITSReturn.ErrorCode equals zero (0), then ITSReturn.Response is a text-based response string.

GetFile

This method will retrieve reports and/or responses for the specified Message Type using the identifier(s) on file for the specified user. The message type denot es the type of data; therefore, it determines which switch contains the requested data.

[WebMethod] public ITSReturn GetFile (

string sUserID, string sPassword, string sMessageType,

)

� sUserID: The ITS Universal ID

� sPassword: The ITS Password

� sMessageType: The ITS Message Type

If ITSReturn.ErrorCode is not zero (0), then ITSReturn.Response is a text-based error message.

If ITSReturn.ErrorCode equals zero (0), then ITSReturn.Response is a Base64 encoded string. The binary data that results from the Base64 decoding process will be a PKZIP compatible data stream. Write it to a binary file with a “.zip” extension o r send it directly to a decompression algorithm that supports PKZIP compatible data streams.

Page 25: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

WEB SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 25 of 66

PutFile

This method will send a batch transaction using the identifier(s) on file for the specified user. The message type denotes the type of data; therefore, i t determines which switch receives the data. The data sent must be Base64 encoded prior to sending. The data that is Base64 encoded is the contents of a PKZIP compatible file. This file may contain one or more text-based transaction files of the proper format for the message type.

This is the first step or a two-step process. In order to receive the reports/responses to transactions sent with this method, call the GetFil e method. The time delay between uploading a file and having a report or response to download depends on the message type.

[WebMethod] public ITSReturn PutFile (

string sUserID, string sPassword, string sMessageType, string sEncodedPutFile

)

� sUserID: The ITS Universal ID

� sPassword: The ITS Password

� sMessageType: The ITS Message Type

� sEncodedPutFile: The Base64 encoded zip file

If ITSReturn.ErrorCode is not zero (0), then ITSReturn.Response is a text-based error message.

If ITSReturn.ErrorCode equals zero (0), then ITSReturn.Response is a text-based response string.

SendRequest

This method will send a real-time request using the identifier(s) on file for the specified user. The message type denotes the type of data; therefore, i t

Page 26: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

WEB SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 26 of 66

determines which switch receives the data. The transaction must be Base64 encoded prior to sending .

[WebMethod] public ITSReturn SendRequest (

string sUserID, string sPassword, string sMessageType, string sEncodedRequest

)

� sUserID: The ITS Universal ID

� sPassword: The ITS Password

� sMessageType: The ITS Message Type

� sEncodedRequest: The Base64 encoded request string

If ITSReturn.ErrorCode is not zero (0), then ITSReturn.Response is a text-based error message.

If ITSReturn.ErrorCode equals zero (0), then ITSReturn.Response is a Base64 encoded string. Decode this string before processing.

HTTP GET

Performing an HTTP GET allows the client to call an y of the Web Methods by incorporating the parameters into the URL string that is inside the HTTP Request . This is very similar to sending a GET to the HTTP Post interface with two distinct differences. The header of the HTTP request contains different parameters/values, and the body of the HTTP respons e is XML. Request and response format and details are available at the URLs noted at the beginning of thi s section.

HTTP POST

Performing an HTTP POST allows the client to call any of the Web Methods by incorporating the parameters into the body of the HTTP request. This is very similar to sending a POST to the HTTP Post

Page 27: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

WEB SERVICE SPECIFICATIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 27 of 66

interface with two distinct differences. The header and/or body of the HTTP request contain different parameters/values, and the body of the HTTP respons e is XML. Request and response format and details are available at the URLs noted at the beginning of thi s section.

SOAP

Implementing a SOAP proxy class requires the use of a Web Services Definition Language (WSDL) file provided by the host. This XML file describes the Web Services interface and provides the necessary information to build the proxy class required for SOAP transactions. The primary URLs noted at the beginning of this section contain a link to the WSD L file. The direct links to the WSDL files are:

Test: https://cert.its.emdeon.com/ITS/itsws.asmx?wsdl

Production: https://its.emdeon.com/ITS/itsws.asmx?wsdl

Page 28: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 28 of 66

Message Types

Both the HTTP Post and the SOAP Web services share the use of the message type, which identifies the type of transaction.

Real-Time

Send one of the following message types for real-time transactions.

SUPPORTED TRANSACTION MESSAGE TYPE

TEST PROD

Authentication Verification (HTTP Post ONLY)

AUT AUT

Echo Request (HTTP Post ONLY) ECH ECH

Pharmacy Claims (NCPDP format) PHM PHM

Electronic Prescriptions (NCPDP, SCRIPT PPI)

PPI PPI

ANSI X12 Transactions (270, 276, 278) X12 X12

HTTP Post Module:

Send real-time transactions to the HTTP Post Web Service using one of three different custom keys : wsRequest, wsEncodedRequest, and wsRealtimeFile. Though these three keys have very different requirements, ITS does not enforce that only one exist in any given request. However, if more than one does exist located in any given request, the first key read containing data is the key that is used.

If uploading a file using the UploadFile method of the WebClient class in Microsoft Visual Studio .NET , then it sends the variable “file” by default instea d of “wsRealtimeFile”. Therefore, “file” is a valid variable. If sending “file” instead of “wsRealtimeFile” as the file upload variable, send

Page 29: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 29 of 66

the variable “wsRealtimeFile” with the same filenam e (name and extension only) as passed to the UploadFile method. To guarantee proper functionality, “wsRealtimeFile” must precede “file” in the request and the value of “wsRealtimeFile” must exactly match the filename passed to UploadFile, which becomes the filename associated with the “file” variable.

XML Web Services:

Clients that implement XML Web Services will use th e ‘SendRequest’ Web Method to send real-time transactions to ITS. This Web Method does not support the “AUT” message type. There is a separate Web Method provided for authentication verification . It is the ‘Authenticate’ Web Method.

Batch Put

Send one of the following message types for batch put transactions.

SUPPORTED TRANSACTION MESSAGE TYPE

TEST PROD

Claim Master - Professional Claim Scrub Only

PSO PSO

Claim Master - Professional Claim Scrub and Submit

PSS PSS

Claim Master - Institutional Claim Scrub Only

ISO ISO

Claim Master - Institutional Claim Scrub and Submit

ISS ISS

CPS - Dental Claims CPT CPS

Express Bill - Patient Statements XBT XBT

Express Bill - Delinquency Notices XBT XBT

Express Bill - Collection Letters XBT XBT

NEIC - Dental Claims DCT DCD

NEIC - Hospital Claims HCT HCD

Page 30: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 30 of 66

SUPPORTED TRANSACTION MESSAGE TYPE

TEST PROD

NEIC - Medical Claims MCT MCD

Rabbit - Automated Verification (270, 276, 278)

AET AEV

HTTP Post Module:

Send batch upload transactions to the HTTP Post Web Service using one of two different custom keys: wsPutFile and wsEncodedPutFile. Though these have very different requirements, ITS does not enforce that only one exist in any given request. The first key read containing data is the key that is used.

When uploading a batch file, there are a few things to consider. If sending the “wsEncodedPutFile” key with the Base64 encoded zipped file containing the claims, then ITS uses a default filename to save th e file. Override this default name by sending the key “wsPutFile” with the desired filename. “WsPutFile” may precede or succeed “wsEncodedPutFile”. Order does not matter. However, if “wsPutFile” precedes “wsEncodedPutFile”, the session will be faster.

If uploading a file using the UploadFile method of the WebClient class in Microsoft Visual Studio .NET , then it sends the key “file” by default instead of “wsPutFile”. Therefore, “file” is a valid key. If sending “file” instead of “wsPutFile” as the file upload key, send the key “wsPutFile” with the same filename (name and extension only) as passed to the UploadFile method. To guarantee proper functionality, “wsPutFile” must precede “file” in request and the value of “wsPutFile” must exactly match the filename passed to UploadFile, which becomes the filename associated with the “file” key .

Page 31: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 31 of 66

XML Web Services:

Clients that implement XML Web Services will use th e ‘PutFile’ Web Method to send batch transactions to ITS.

Batch Get

Send one of the following message types for batch get transactions.

SUPPORTED TRANSACTION MESSAGE TYPE

TEST PROD

Claim Master - Professional Claim Scrub Only

PSO PSO

Claim Master - Professional Claim Scrub and Submit

PSS PSS

Claim Master - Institutional Claim Scrub Only

ISO ISO

Claim Master - Institutional Claim Scrub and Submit

ISS ISS

CPS - Dental Claims CPT CPS

Express Bill - Patient Statements XBT XBT

Express Bill - Delinquency Notices XBT XBT

Express Bill - Collection Letters XBT XBT

NEIC - Dental Claims DCT DCD

NEIC - Electronic Remittance Acceptance (ERA)

ERA ERA

NEIC - Eligibility Rosters ELT ELR

NEIC - Hospital Claims HCT HCD

NEIC - Medical Claims MCT MCD

Rabbit - Automated Verification (270, 276, 278)

AET AEV

HTTP Post Module:

Send Batch download transactions to ITS using the wsGetFile custom variable.

Page 32: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 32 of 66

XML Web Services:

Clients that implement XML Web Services will use th e ‘GetFile’ Web Method to send batch transactions to ITS.

Change Password

Send this message type to change the password.

SUPPORTED TRANSACTION MESSAGE TYPE

TEST PROD

Change Password (HTTP Post ONLY) PWD PWD

HTTP Post Module:

Send change password transaction to the HTTP Post Web Service by using the wsNewPassword and wsReNewPassword custom keys.

XML Web Services:

Clients implementing XML Web Services will use the ‘ChangePassword’ Web Method to change the password. This Web Method does not support ‘PWD’ message type as it in inherent in the Web Method.

Page 33: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 33 of 66

Error Codes and Messages

Front-End

Code 0

Type SUCCESS

Description Transaction Successfully Completed

Resolution N/A

Code -1

Type EXCEPTION

Description An exception was thrown in the ITS Web application

Resolution Resolution may vary based on the actual exception. Contact technical support if needed.

Code -2

Type ITS_EXCEPTION

Description An ITSConnectionException was thrown during backend communication

Resolution Resolution may vary based on the actual exception. Contact technical support if needed.

Code -3

Type NULL_HTTP_REQUEST

Description The HttpRequest object is null

Resolution The HttpRequest object should never be null. Contact technical support.

Code -4

Type NULL_HTTP_METHOD

Description The HttpRequest.HttpMethod property is null

Resolution The HTTP method should never be null.

Page 34: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 34 of 66

Contact technical support.

Page 35: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 35 of 66

Code -5

Type INVALID_HTTP_METHOD

Description The HttpRequest.HttpMethod property is invalid

Resolution Only GET, and POST are supported

Code -6

Type NULL_HEADERS_OBJECT

Description The HttpRequest.Headers object is null

Resolution The HttpRequest.Headers object should never be null if sending at least one header. Always send at least one header (User-agent).

Code -7

Type NULL_HEADERS_COUNT

Description The HttpRequest.Headers.Count property is null

Resolution The HttpRequest.Headers object should never be null if sending at least one header. Always send at least one header (User-agent).

Code -8

Type ZERO_HEADERS_COUNT

Description The HttpRequest.Headers.Count property contains value of zero (0)

Resolution The HttpRequest.Headers object should never be null if sending at least one header. Always send at least one header (User-agent).

Code -9

Type INVALID_MESSAGE_TYPE

Description The message type is missing or invalid

Page 36: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 36 of 66

Resolution Send a valid message type.

Page 37: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 37 of 66

Code -10

Type INVALID_USER_CREDENTIALS

Description The user credentials are missing or invalid

Resolution Send the correct user id and password.

Code -11

Type INVALID_NEW_PASSWORD

Description The new password is missing or invalid

Resolution Send a correctly formatted new password.

Code -12

Type INVALID_NEW_PASSWORD_CONFIRM

Description The new password confirmation is missing or invalid

Resolution Send a properly formatted new password confirmation.

Code -13

Type NEW_PASSWORD_MISMATCH

Description The new password and the new password confirmation do not match

Resolution Send the same value for both new password and new password confirmation

Code -14

Type NULL_BATCH_FILE

Description The batch filename to put or get is null

Resolution Populate the filename for the batch transaction.

Code -15

Type ZERO_LENGTH_PUT_FILE

Page 38: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 38 of 66

Description Batch put file has zero length.

Resolution Confirm that the file in the request is not empty.

Page 39: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 39 of 66

Code -16

Type ZERO_LENGTH _REALTIME_FILE

Description The real-time file has zero length

Resolution Confirm that the file is not empty.

Code -17

Type ZERO_LENGTH _REALTIME_REQUEST

Description Real-time request has zero length

Resolution Confirm that the file is not empty.

Code -18

Type NULL_ENCODED_STRING

Description Encoded string is null (SOAP ONLY)

Resolution Confirm that encoded string data is in the SOAP envelope.

Back-End Generic

Code 999

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 1000

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Page 40: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 40 of 66

Back-End Real-Time

Code 2015

Description UserIdTooLong

Resolution Please verify, correct and resend the ITS User ID.

Code 2020

Description UserIdMissing

Resolution Please verify, correct and resend the ITS User ID with the communication

Code 2025

Description PasswordTooLong

Resolution Please verify, correct and resend the ITS Password.

Code 2030

Description PasswordMissing

Resolution Please Send ITS password with the communication

Code 2035

Description MessageTypeTooLong

Resolution The Message Type used is too long based on ITS requirements. Please verify, correct, and resend.

Code 2063

Description MaxRequestLenExceeded

Resolution The Message Request has exceeded the required length is too long based on ITS requirements. Please verify, correct, and resend.

Page 41: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 41 of 66

Code 2115

Description MessageTypeMissing

Resolution Please Send ITS Message Type in the communication.

Code 2120

Description RequestStringMissing

Resolution Please include the ITS Request String in the ITS communication.

Code 2800

Description InvalidLogin

Resolution The ITS User name you are using is invalid. Please verify, correct, and resend.

Code 2805

Description InvalidMessageFormat

Resolution The Message Format you are using is invalid. Please verify, correct, and resend.

Code 2815

Description AccountDisabled

Resolution The ITS user login has been disabled because too many incorrect password attempts.

Code 2830

Description PasswordExpired

Resolution Please open a Support Case to get a new ITS password.

Code 2835

Description UnsupportedTransactionType

Resolution The ITS Transaction Type you are using is not supported. Please verify, correct, and resend.

Page 42: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 42 of 66

Code 2850

Description PasswordChangeRequired

Resolution Password changes are required to be completed at specified intervals. Please review the ITS user guide for specified intervals.

Code 2855

Description NotAuthorizedForTransactionType

Resolution The Transaction Type attempting to be accessed is not enrolled for this ITS User Name. Please correct the enrollment and then attempt the transaction again.

Code 2860

Description InvalidNewPassword

Resolution The new password attempting to be created is invalid. Please review the ITS user guide regarding Password Requirements.

Code 2870

Description NewPasswordRejected

Resolution The new password attempting to be created is rejected. Please review the ITS user guide regarding Password Requirements.

Page 43: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 43 of 66

Back-End Batch

Code 200

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 201

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 202

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 203

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 204

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 205

Type RESERVED

Description Reserved for future or internal use

Resolution Contact technical support.

Code 206

Type RESERVED

Page 44: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 44 of 66

Description Reserved for future or internal use

Resolution Contact technical support.

Code 207

Type HttpsPutFileFailure

Description An error occurred when attempting to login to the server.

Resolution Resolution will depend on the actual error message returned.

Messages FTP COULD NOT UPLOAD FILE

1. Confirm TSO ID and Password setup correctly on mainframe.

2. Confirm TSO ID and Password setup correctly in auth server.

3. Confirm that there are no stale logins on either batch server.

4. Confirm valid certificate on batch servers.

OUT OF MEMORY This is an internal error. Contact technical support.

Page 45: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

ERROR CODES AND MESSAGES INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 45 of 66

Code 208

Type HttpsGetFileFailure

Description An error occurred while obtaining the batch get file

Resolution Try the download again. If error persists, contact technical support

Message FTP COULD NOT RETR FILE

Code 209

Type BatchGetFileNoFile

Description There is no batch get file to download

Resolution Send a batch put file before trying to get a file

Message FTP COULD NOT RETR FILE

Code 210

Type HttpsLogoutFailure

Description An error occurred while attempting to logout of the batch server on the back-End

Resolution This will sometimes cause a 5-minute delay before allowing a subsequent login.

Code 211

Type HttpsLoginFailure

Description An error occurred while attempting to login to the batch server on the back-End

Resolution Resolution will depend on the actual error message returned.

Messages USER PASSWORD INCORRECT

1. User ID or password is incorrect. Correct and try again.

2. Multiple sessions attempted with the same credentials. Concurrent sessions with the same user credentials not allowed.

Page 46: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

FREQUENTLY ASKED QUESTIONS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 46 of 66

Frequently Asked Questions

I currently send transactions to Emdeon. Will I be required to change the format of the transactions I send?

File format changes are not required. Emdeon Internet Transaction Services is an alternate communication method to reach Emdeon’s back end processes. The ITS application is format independent.

Is there anything special that needs to be done with formats when using ITS?

When sending real time transactions, the ISA06 and GS02 fields should contain "00". Pad the field to correct length in the ISA06 case.

How do I obtain a Universal ID and password?

Your Emdeon implementation analyst, assigned to certify formats, will assign a Universal ID and password to you.

Who do I call for questions concerning Emdeon ITS?

If you are still in the implementation process, call your Emdeon implementation analyst. If you are already in production, contact Customer Support for the transaction type with which you are having problems.

TRANSACTION TYPE CUSTOMER SUPPORT PHONE NUMBER

Dental 1-877-220-7770

Hospital/Medical 1-800-845-6592

ERA 1-888-305-3756

PPI 1-866-582-2390

Pharmacy 1-800-333-6869

Medical Real-Time

Rabbit (AEV)

1-800-933-6869 option 4

Page 47: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 47 of 66

APPENDIX A - Sample cURL Commands

This appendix provides sample requests and response s to the Internet Transaction Services HTTP Post interface. Although the samples utilize cURL (http://curl.haxx.se/download.html), they are only an illustration. Construct similar tests while in the process of writing production software to acces s the ITS HTTP Post interface.

If testing with cURL, download the version compiled with SSL functionality. Also, download the OpenSSL binaries referenced on the cURL download page. At time this information is being compiled, the latest version of cURL, that has been tested with ITS, is 7.16.4, and the latest version of OpenSSL, that has been tested with ITS, is 0.9.8e.

cURL has a few features that are helpful to testing and troubleshooting.

1. Verbose mode (-v): Using verbose mode will provide more information to standard out that just the response returned by ITS.

2. Trace mode (--trace <filename>): Using trace will create a new file or over write an existing file with the specified name. This file will contain detailed information about the cURL session. Information such as SSL handshake, HTTP request (header and body), and HTTP response (header and body) will be included. This can prove most useful when trying to build HTTP requests by seeing how cURL does it.

3. HTTP 1.0 mode (-0): Using HTTP 1.0 mode will force cURL to adhere to the HTTP 1.0 standard. By default, cURL uses the HTTP 1.1 standard. Both are support by ITS; however, not all clients support the HTTP 1.1 standard.

Page 48: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 48 of 66

Echo

Submit an echo request and receive a response.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ECH" -F "wsRequest=Echo me"

Response: Echo me

OR: <Error Message>

Authentication

Submit authentication verification and receive a response.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" –F wsMessageType=AUT"

Response: Authentication Successful

OR: <Error Message>

Page 49: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 49 of 66

Medical Real-Time

Submit a medical real-time (ANSI X12) transaction and receive a response.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=X12" -F "wsRequest=<transaction>"

Response: <A valid X12 response>

OR: <An invalid X12 response>

OR: <Error Message>

Pharmacy

Submit a pharmacy claim (NCPDP) and receive a response.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=PHM" -F "wsRequest=<transaction>"

Response: <A valid NCPDP response>

OR: <An invalid NCPDP response>

OR: <Error Message>

Page 50: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 50 of 66

Prescriber Pharmacy Interface

Submit a prescription transaction and receive a response.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=PPI" -F "wsRequest=<transaction>"

Response: <A valid PPI response>

OR: <An invalid PPI response>

OR: <Error Message>

Page 51: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 51 of 66

Batch Professional Medical

Submit a batch of medical claims and retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=MCT" -F “wsPutFile=@<filename>”

Response:

[If more than one file were in the zip file, the following line would repeat.] <Userid>=MCT,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=MCT" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 52: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 52 of 66

Batch Professional Dental

Submit a batch of dental claims and retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=DCT" -F “wsPutFile=@<filename>”

Response:

[If more than one file were in the zip file, the following line would repeat.] <Userid>=DCT,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=DCT" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 53: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 53 of 66

Batch Institutional Hospital

Submit a batch of hospital claims and retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=HCT" -F “wsPutFile=@<filename>”

Response:

[If more than one file were in the zip file, the following line would repeat.] <Userid>=HCT,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=HCT" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 54: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 54 of 66

Electronic Remittance Advice

Retrieve ERA files from the Emdeon claim processing system.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ERA" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Eligibility Roster

Retrieve roster files from the Emdeon claim processing system.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ELR" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 55: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 55 of 66

Automated Verification

Submit a batch of medical real-time transactions an d retrieve responses.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=AET" -F “wsPutFile=@<filename>”

Response: <Userid>=AET,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=AET" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 56: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 56 of 66

Patient Statements

Submit a batch of transactions to Express Bill and retrieve responses.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=XBT" -F “wsPutFile=@<filename>”

Response: <Userid>=XBT,,<Date/Time>,<Filename>,<File Size>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=XBT" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 57: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 57 of 66

Professional Scrub Only

Submit a batch of medical claims to Claim Master an d retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=PSO" -F “wsPutFile=@<filename>”

Response: <Userid>=PSO,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=PSO" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 58: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 58 of 66

Professional Scrub and Submit

Submit a batch of medical claims to Claim Master an d retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=PSS" -F “wsPutFile=@<filename>”

Response: <Userid>=PSS,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=PSS" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 59: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 59 of 66

Institutional Scrub Only

Submit a batch of medical claims to Claim Master an d retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ISO" -F “wsPutFile=@<filename>”

Response: <Userid>=ISO,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ISO" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 60: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 60 of 66

Institutional Scrub and Submit

Submit a batch of medical claims to Claim Master an d retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ISS" -F “wsPutFile=@<filename>”

Response: <Userid>=ISS,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=ISS" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 61: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE cURL COMMANDS INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 61 of 66

CPS Dental Claims

Submit a batch of dental claims to CPS and retrieve reports.

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=CPT" -F “wsPutFile=@<filename>”

Response: <Userid>=CPT,<Job#>,<Date/Time>,<Filename>,<File Si ze>,OK

OR: <Error Message>

Request: curl https://its.emdeon.com/ITS/post.aspx

-F "wsUserID=<userid>" -F “wsPassword=<password>" -F "wsMessageType=CPT" -F "wsGetFile=response.zip” –o response.zip

Response: [The valid response to this is a file named “respon se.zip” created on the local file system in the current dir ectory.]

OR: <Error Message>

Page 62: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE .NET CODE INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 62 of 66

Appendix B - Sample .NET Code

Two classes in the .NET 1.1 Framework successfully interact with the ITS HTTP Post interface: the System.Net.WebClient class and the System.Net.HttpWebRequest class. The XML Web Service is also accessible from within .NET applications. This appendix will outline a sample session with each of these scenarios. All sample source code provided is in C# and intended for use within the .NET environment. If using a different development environment, transpose the code to fit that language. Though there may be some variables used that are not declared in these samples, the names are intuitive enough to know what they are.

Use System.Net.WebClient to send POST transactions with all data sent urlencoded or a file upload with the rest of the data sent in the header. This class inherits System.Net.HttpWebRequest.

Use System.Net.HttpWebRequest to send transactions as a “POST”. Use this class to gain more control over the HTTP request. However, using this class requires manual construction of the HTTP request. For best results, perform a blocked-read when downloading the response to accommodate buffering. Otherwise, loss of data may occur.

WebClient using System.Net; using System.Collections.Specialized; string url = <HTTP Post URL>; string UserID = <Universal User ID>; string Password = <Password>; string MessageType = <Message Type>; NameValueCollection nvc = new NameValueCollection() ; byte[] RespBytes = null; // Set ReqBytes if real-time Transaction byte[] ReqBytes = <Request Data as byte array>; // Set PutFileName if Batch Upload string PutFilename = <name of put file to send>;

Page 63: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE .NET CODE INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 63 of 66

// Set GetFileName if Batch Download string GetFileName = <path to save file on local fi le system>; nvc.Add(“wsUserID”, UserID); nvc.Add(“wsPassword”, Password); nvc.Add(“wsMessageType”, MessageType); WebClient wc = new WebClient(); wc.Headers.Add("Cache-Control", "no-cache"); wc.Headers.Add("User-Agent", <SOFTWARE/VERSION>); if( BATCH_PUT ) // send a file as multipart/form-da ta and the rest as headers {

nvc.Add( “wsPutFile”, PutFilename ); // Add Header Keys wc.Headers.Add(nvc); // Upload values as headers and file contents as a file post // response is returned RespBytes = wc.UploadFile(url, "POST", PutFilename) ;

} else {

if( REALTIME ) {

int ReqLen = ReqBytes.Length; nvc.Add(“wsEncodedRequest”, Convert.ToBase64String( ReqBytes, 0, ReqLen));

} else if( BATCH_GET ) {

nvc.Add(“wsGetFile”, GetFileName); } // Upload values as urlencoded form post // Response is returned RespBytes = wc.UploadValues(url, "POST", nvc);

} // Get all the response headers for future use WebHeaderCollection whc = wc.ResponseHeaders; string ErrorCodeStr = wc.ResponseHeaders.Get("Error Code").Trim(); // Set the error code to a default value not used b y ITS int ErrorCode = -100; if(ErrorCodeStr != null) {

ErrorCode = Convert.ToInt32(ErrorCodeStr.Trim()); } if( ErrorCode == 0 && BATCH_GET ) {

[Body of Response as a PKZIP data, write to a file] } else {

[Body of Response is text] }

Page 64: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE .NET CODE INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 64 of 66

HttpWebRequest using System.Net; string url = <HTTP Post URL>; string UserID = <Universal User ID>; string Password = <Password>; string MessageType = <Message Type>; NameValueCollection nvc = new NameValueCollection() ; nvc.Add(“wsUserID”, UserID); nvc.Add(“wsPassword”, Password); nvc.Add(“wsMessageType”, MessageType); if( REALTIME ) {

nvc.Add(“wsEncodedRequest”, <ENCODED_REQUEST>); } else if( BATCH_PUT ) {

nvc.Add(“wsEncodedPutFile”, <ENCODED_PUTFILE>); } else if( BATCH_GET) {

nvc.Add(“wsGetFile”, <GET_FILENAME>); } // Create the HTTP Request instance HttpWebRequest hwr = (HttpWebRequest)WebRequest.Cre ate(url); // Add headers for file and header post transaction s hwr.ServicePoint.Expect100Continue = false; // disa ble chunked transfers hwr.KeepAlive = false; // force close connection hwr.Headers.Add("Cache-Control", "no-cache"); // fo rce no-caching hwr.Headers.Add(nvc);

Page 65: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE .NET CODE INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 65 of 66

// Send Request (no body/content) and receive respo nse using(HttpWebResponse hwresp = (HttpWebResponse)hwr .GetResponse()) {

// Get all headers to use or log. string[] Keys = hwrresp.Headers.AllKeys; long ContentLength = hwrresp.ContentLength; string ErrorCodeStr = hwrresp.Headers.Get("ErrorCod e").Trim(); // Set the error code to a default value not used b y ITS int ErrorCode = -100; if(ErrorCodeStr != null) {

ErrorCode = Convert.ToInt32(ErrorCodeStr.Trim()); } using(Stream ResponseStr = hwrresp.GetResponseStrea m()) {

byte[] Buffer = new byte[1024]; int RespLen = 0; int BytesReceived = 0; int Attempts = 0; while(RespLen < ContentLength && Attempts < 3) {

while((BytesReceived = ResponseStr.Read(Buffer, 0, Buffer.Length)) > 0) {

int NewLength = RespLen + BytesReceived; byte[] NewBuffer = new byte[NewLength]; if(RespLen > 0) {

Array.Copy(RespBytes, 0, NewBuffer, 0, RespLen); } Array.Copy(Buffer, 0, NewBuffer, RespLen, BytesRece ived); RespBytes = new byte[NewLength]; Array.Copy(NewBuffer, 0, RespBytes, 0, NewLength); RespLen = NewLength;

} Attempts++;

} if(RespLen < ContentLength) {

<DOWNLOAD_FAILED> }

} } if( !<DOWNLOAD_FAILED> ) {

if( ErrorCode == 0 && BATCH_GET ) {

[Body of Response as a zipped file] } else {

[Body of Response is text] }

}

Page 66: Internet Transaction Services - CRITERIONScriterions.com/helpfiles/ehrerx docs/Emdeon_ITS_User_Guide...contents internet transaction services front-end 33 back-end generic 39 back-end

SAMPLE .NET CODE INTERNET TRANSACTION SERVICES

Confidential to EBS

Internet Transaction Services Version 3.0.1 Page 66 of 66

XML Web Services // In this sample, the local namespace for the Web service is ITSWebService // Include the Web service as a Web reference // Use the appropriate URL in the specifications se ction. ITSWebService.ITSWS ws = new ITSWebService.ITSWS(); ITSWebService.ITSReturn wsr = new ITSWebService.ITS Return(); ws.Url = <Web Service URL>; int ErrorCode = -100; // default error code to a va lue not used by ITS int RespStr = “”; // text based responses byte[] RespBytes = null; // byte based responses string UserID = <Universal User ID>; string Password = <Password>; string MessageType = <Message Type>; string EncodedString = <Base64 Encoded Transaction or Zipped Claim Data>; string NewPassword = <New Password>; // Required on ly for Change Password if( AUTHENTICATE ) {

wsr = ws.Authenticate(UserID, Password); ErrorCode = wsr.ErrorCode; RespStr = wsr.Response;

} else if( CHANGE_PASSWORD ) {

wsr = ws.ChangePassword(UserID, Password, NewPasswo rd); ErrorCode = wsr.ErrorCode; RespStr = wsr.Response;

} else if( REALTIME ) {

wsr = ws.SendRequest(UserID, Password, MessageType, EncodedString); ErrorCode = wsr.ErrorCode; RespBytes = Convert.FromBase64String(wsr.Response);

} else {

if( BATCH_SEND ) {

wsr = ws.PutFile(UserID, Password, MessageType, Enc odedString); ErrorCode = wsr.ErrorCode; RespStr = wsr.Response.Replace("\n", "\r\n") + "\r\ n";

} if( BATCH_GET ) {

wsr = ws.GetFile(UserID, Password, MessageType); ErrorCode = wsr.ErrorCode; if(ErrorCode == 0) {

RespBytes = Convert.FromBase64String(wsr.Response); } else {

RespStr += wsr.Response; // Error Message }

} }