Components of the iWay Integration Solution for EDIHL7

Topics:

iWay business components used in the construction of a message flow for HL7 messages include:

Ebix (e-Business Information Exchange) File

iWay Software provides various e-Business Information Exchange (Ebix) files used in conjunction with the iWay integration solutions. In iWay Service Manager, the iWay Integration Solution for EDIHL7 contains several Ebix files, one for each supported HL7 version. An Ebix file for HL7 is named using the following format:

HL7_version.ebx

where:

version

Is the HL7 version number. For example, the Ebix file for HL7 Version 2.7 is named HL7_2.7.ebx.

An Ebix is a collection of metadata that defines the structure of data. The Ebix supplied with the iWay Integration Solution for EDIHL7 defines the structure of supported HL7 messages.

Each Ebix includes:

  • Pre-built data dictionaries. The structure of each HL7 document is described by two data dictionaries:
    • Header dictionary, which describes the enveloping structure of the document.
    • Document dictionary, which describes the segments and elements that compose each document.

    The dictionaries from the Ebix are used to transform the structure of a document based on the definition of the HL7 standard.

  • Pre-built XML schemas that define the structure and content of XML messages in detail.
  • Pre-built HL7 to XML transformation templates, and XML to HL7 templates, for the supported HL7 versions.
  • Pre-built rule files for each message. The iWay Integration Solution for EDIHL7 uses these rule files to validate inbound and outbound documents.

MLLP Listener

The MLLP listener uses the Minimal Lower Layer Protocol (MLLP) to receive messages within a channel from configured endpoints.

The following table lists and describes the parameters for the MLLP listener.

Parameter

Description

IP Properties

Port*

The TCP port where MLLP messages are received.

Local Bind Address

Local bind address for multi-homed hosts. This parameter is usually left blank.

Persistent Connection

If set, the connection is maintained until client closes or the Persistence Timeout expires.

Maximum Connections

Maximum number of simultaneous connections allowed. When this threshold is reached, new connections will not be accepted until current connections have ended and the total number of connections is below the limit. Leave blank or set to zero for no maximum.

Persistence Timeout value in Minutes

Maximum length of time (in minutes) that a connection can persist with no activity. 0 or blank will default to 60.

Set Response NoDelay

If true, disables Nagle's Algorithm on the response. This will result in faster line turnaround at the expense of an increased number of packets.

Reuse Address

If true, when the connection is closed, immediately make the address available, bypassing the TCP defaults.

Allowable Clients

If supplied, only messages from this list of fully qualified host names and/or IP addresses are accepted. Enter as comma-separated list or use FILE().

Secure Connection

Use a secure connection over SSL.

SSL Context Provider

iWay Security Provider for SSL Context. If this component is secure and SSL Context Provider is left blank, then the default provider will be used.

MLLP

Start Block Character

The encoding of the Start of Block character in decimal, octal, or hexadecimal format. The default is 0x0B.

End Block Character

The encoding of the End of Block character in decimal, octal, or hexadecimal format. The default is 0x1C.

Maximum Input Size

Maximum number of bytes read before the end of the message is found. This prevents denial of service attacks with very large messages or a large number of bytes between messages.

Tuning

Multithreading

Indicates the number of worker threads (documents or requests) that iWay Service Manager can handle in parallel. Setting this to a value of greater than 1 enables the listener to handle a second request while an earlier request is still being processed. The total throughput of a system can be affected by the number of threads operating. Increasing the number of parallel operations may not necessarily improve throughput.

The default is 1.

The max value is 99.

Maximum Threads

The parallel threads can grow to this count automatically on demand. Over time, the worker count will decrease back to the multithreading level. Use this parameter to respond to bursts of activity.

Optimize Favoring

Use this option to customize how the listener performs. For smaller transactions, select performance. For large input documents that could monopolize the amount of memory used by iWay Service Manager, select memory.

Events

Failed ReplyTo Flow

Name of a published process flow to run if a message cannot be emitted on an address in its reply address list.

Dead Letter Flow

Name of a published process flow to run if an error cannot be emitted on an address in its error address list.

Channel Failure Flow

Name of a published process flow to run if this channel cannot start or fails during message handling. iWay Service Manager will attempt to call this process flow during channel shut down due to the error.

Parse Failure Flow

The name of a published process flow to run if XML parsing fails for the incoming message.

Channel Startup Flow

The name of a published process flow to run prior to starting the channel.

Channel Shutdown Flow

The name of published process flow to run when the channel is shut down.

Other

Whitespace Normalization

Specifies how the parser treats whitespace in Element content. Select preserve to turn off all normalization as prescribed by the XML Specification. Select condense to remove extra whitespace in pretty printed documents and for compatibility with earlier versions.

Accepts non-XML (flat) only

If set to true, the input data is sent directly to the business logic step. The data is not preparsed, parsed, or validated. This flag is used primarily to send non-XML to the business logic or replyTo without processing it.

Execution Time Limit

The maximum time that a request may take to complete. Used to prevent runaway requests. Any request that takes longer to complete than this value will be attempted to be terminated.

Default Java File Encoding

The default encoding if the incoming message is not self-declaring (that is, XML).

Agent Precedence

Sets the order by which iWay Service Manager selects agents. iWay Service Manager selects the agent or agents to process the document by searching through the configuration dictionary. Usually, it looks for a document entry in the configuration and when a match is found, the agent specified in that document entry is selected. If a matching document entry is not found, or no agent is specified, the engine looks in the input protocol configuration (listener). To have the processing agent taken directly from the listener (thus ignoring the document entry), use <listener> overrides <document>.

Possible values are <document> overrides <listener> and <listener> overrides <document>.

The default value is <document> overrides <listener>.

Error Documents treated normally

If set to true, error documents are processed by any configured preemitters.

Listener is Transaction Manager

If set to true, agents run within a local transaction.

Record in Activity Log(s)

If set to true, activity on this channel will be recorded in the activity logs, otherwise the activity will not be recorded.

AES Key

If the channel will receive encrypted AFTI messages, set the AES key (maximum 16 characters) to be used for decrypting.

Startup Dependencies

A comma-separated list of channel names that must be started before this one is called.

EDIHL7 Batch Splitter Preparser

The EDIHL7 Batch Splitter preparser (com.ibi.preparsers.EDIHL7BatchSplitter) splits the HL7 batch into individual HL7 messages. It splits on the Message Header (MSH) prior to parsing the data into XML. The EDIHL7 Batch Splitter preparser should only be used in conjunction with the EDIHL7 preparser. In addition, the EDIHL7 Batch Splitter preparser should be placed in order first if multiple preparsers are used.

The EDIHL7 Batch Splitter preparser will extract all messages from a batch. It does not write the following format to your output XML document: FHS - BHS - MSH - BTS - FTS

The following table lists and describes the parameters for the EDIHL7 Batch Splitter preparser.

Parameter

Description

timestamp

Select true from the drop-down list to write a timestamp to the log file. By default, this parameter is set to false.

EDIHL7 Preparser

Topics:

The EDIHL7 preparser (com.ibi.preparsers.XDEDIHL7PreParser) is available for the iWay Integration Solution for EDIHL7. The preparser for the iWay Integration Solution for EDIHL7 converts an incoming HL7 formatted document to iWay XML format.

The following table lists and describes the parameters for the EDIHL7 preparser.

Parameter

Description

Template

The pattern used to lookup a document inside the Ebix. The following format is used:

HL7_%_^toXML.xch

where:

%

Represents the message type.

^

Represents the version.

Timestamp

Select true from the drop-down list to write a timestamp to the log file. By default, this parameter is set to false.

Z-segment

Controls how Z-segments should be formatted in the output XML document. If this parameter is set to false, then the fields and components in the segment are not parsed. By default, this parameter is set to false.

For more information, see Support for Z-Segments.

Segment

Select true from the drop-down list to add the name attribute to the segment. By default, this parameter is set to false.

Composite

Select true from the drop-down list to add the name attribute to the composite. By default, this parameter is set to false.

Element

Select true from the drop-down list to add the name attribute to the element. By default, this parameter is set to false.

Support for Z-Segments

HL7 is a proprietary message structure that allows you to define your own structure. Since HL7 messages can be customized, the HL7 committee provides a framework for the addition of custom information into HL7 messages.

You can define a custom segment in any HL7 message using iWay Integration Tools (iIT). These segments must be named starting with the letter Z.

The EDIHL7 preparser (com.ibi.preparsers.XDEDIHL7PreParser) provides support for Z-segments. The Make floating structure parameter controls how Z-segments should be formatted in the output XML document. By default, this parameter is set to false.

For example, consider the following segment:

ZMS|20150401|FOL|100

If the Make floating structure parameter is set to false, then the fields and components in the segment are not parsed. The resulting output in the XML document is:

<Z>ZMS|20150401|FOL|100</Z>

If the Make floating structure parameter is set to true, then the fields and components are parsed. The resulting output in the XML document is:

<Z segment-name="ZMS">
     <_01_0 name="">20150401</_01_0>
     <_02_0 name="">FOL</_02_0>
     <_03_0 name="">100</_03_0>
</Z>

EDIHL7 Validation Report Service (com.ibi.agents.XDEDIHL7ValidationReportAgent)

Syntax:

com.ibi.agents.XDEDIHL7ValidationReportAgent

Description:

The EDIHL7 Validation Report service is used to generate a validation report after validating an inbound HL7 message or an outbound XML message.

Parameters:

Parameter

Description

Input Message

Select true to add the input message to the generated validation report.

Output Message

Select true to add the output message to the generated validation report.

EDIHL7 Acknowledgement Service (com.ibi.agents.XDEDIHL7AckAgent)

Syntax:

com.ibi.agents.XDEDIHL7AckAgent

Description:

The EDIHL7 Acknowledgement service is used to generate acknowledgement messages using predefined rules. The service chooses ACK / NACK status based on the validity and verification status of the received HL7 message. The generated acknowledgement message can then be sent using the default path of the listener.

Parameters:

Parameter

Description

Sending Application *

The name of the sending application.

Sending Facility *

The name of the sending facility.

Control ID *

The Control ID for the message.

Mode *

Select one of the following acknowledgment modes from the drop-down list:

  • Original
  • Enhanced

The default value is Original.

Acknowledgment *

Specify when an acknowledgement message should be generated by selecting the corresponding value from the drop-down list:

  • Always
  • On Error
  • On Success

The default value is Always.

XML to EDIHL7 Transform Service (com.ibi.agents.XMLtoEDIHL7TransformAgent)

Syntax:

com.ibi.agents.XMLtoEDIHL7TransformAgent

Description:

This service is used in outbound processing to convert the XML-formatted HL7 document to an HL7 formatted document.

Parameters:

Parameter

Description

timestamp

Select true from the drop-down list to write a timestamp to the log file. By default, this parameter is set to false.

MLLP Emit Service (com.ibi.agents.XDMLLPEmitAgent)

Syntax:

com.ibi.agents.XDMLLPEmitAgent

Description:

This service emits a message using the Minimal Lower Layer Protocol (MLLP). This protocol allows you to wrap an HL7 message with a header and footer to ensure you know where a message starts, where a message stops, and where the next message starts.

Parameters:

Parameter

Description

Host *

The machine name or IP address of the MLLP destination.

Port *

The designated TCP/IP port that is being used to receive MLLP messages.

Secure Connection

Select true from the drop-down list if you want use a secure connection through Secure Sockets Layer (SSL). By default, this parameter is set to false.

SSL Context Provider

If configured, specify the name of an available iWay Security Provider for SSL Context. If the Secure Connection parameter is set to true and the SSL Context Provider field is blank, then the default provider will be used.

Set TCP No Delay

If set to true, then Nagle's Algorithm on the client socket will be disabled. This will result in faster line turnaround at the expense of an increased number of packets. By default, this parameter is set to false.

Socket Timeout

The timeout value in seconds. When a non-zero timeout value is specified, a read() function call on the socket will block for only the amount of time specified (in seconds). If the timeout expires, a java.net.SocketTimeoutException is generated. The default timeout is dependent on the operating system being used.

Persistence

If set to true, then iWay Service Manager (iSM) is instructed to maintain the connection.

Persistence Timeout value in Minutes

The maximum length of time (in minutes) that a connection can persist with no activity. If this parameter value is zero (0) or left blank, then the default is set to 60 minutes.

Retry Count

The number of times to try to send the message after an initial failure is encountered. By default, this parameter is set to 0.

Retry Pause

The amount of time (in milliseconds) to wait between retry attempts. By default, this parameter is set to 1000.

Start Block Character

The encoding of the Start of Block character in decimal, octal, or hexadecimal format. The default is 0x0B.

End Block Character

The encoding of the End of Block character in decimal, octal, or hexadecimal format. The default is 0x1C.

Maximum Message Size

The maximum size of a message that can be sent or received through this emitter. If this parameter value is zero (0) or left blank, then the default is set to 256KB.

Output Document

Determines whether the output document is a response document, status document, or the original input document. By default, this parameter is set to response.

Deidentification Service (com.ibi.agents.XDDeidentifyAgent)

Syntax:

com.ibi.agents.XDDeidentifyAgent

Description:

The Deidentification service provides algorithms that can be used to implement the deidentification of protected health information in accordance with the Health Insurance Portability and Accountability Act (HIPAA) Privacy Rule. Multiple algorithms can be configured since a combination of algorithms will be needed to deidentify the data correctly.

The Deidentification service takes an XML document as input. The first configured algorithm takes this document as input and modifies it in place. The result is fed into the next configured algorithm and so on. The result of the last configured algorithm is the XML document returned by the service.

For more information on configuring and using the Deidentification service, see the iWay Service Manager Component Reference Guide.