Sun Adapter for TCP/IP HL7 User's Guide

TCP/IP HL7 V2 Adapter Outbound Connectivity Map Properties

The TCP/IP HL7 V2 server outbound adapter configuration properties are organized into the following sections on the Properties Editor accessed from the Connectivity Map:

General Outbound Settings — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the TCP/IP HL7 V2 outbound adapter properties that appear on the General Outbound Settings page of the Properties Editor accessed from the Connectivity Map.

Table 16 Connectivity Map - General Outbound Settings

Name 

Description 

Max Data Size

A number that indicates the maximum amount of data that the programs can hold internally. The valid range is a numeric value from 1 to 2147483647 bytes (2GB), which is the maximum value of a Java integer.

Scope Of State

The scope of the state object, which is a Message Library node. Select one of the following options for this property: 

  • Resource Adapter Level – The state has the same life cycle as the resource adapter.

  • Connection Level – The state has the same life cycle as the connection.

  • OTD Level – The state has the same life cycle as the Message Library object.

    This scope represents the life cycle of the state.

TCPIP Outbound Settings — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties on the TCPIP Outbound Settings page of the Properties Editor accessed from the Connectivity Map. These properties configure the Java socket and server socket options. For more information, see the Javadocs for Java SDK.

Table 17 Connectivity Map - TCPIP Outbound Settings

Name 

Description 

Connection Type

The way the adapter establishes the TCP/IP connection. Select one of the following options: 

  • Client – The adapter connects to an external server (host/port) to establish the connection. The adapter is in active mode.

  • Server – The adapter waits and listens on a certain port for an incoming connection request from an external client. Once the request is received, the adapter accepts the request and establishes the connection. The adapter is in passive mode.

Server is the default setting. Unless you specifically require Client mode, leave the default value. 

ServerSoTimeout

The value (in milliseconds) of the SO_TIMEOUT parameter for ServerSocket. The timeout must be greater than zero (0). A timeout of zero is interpreted as an infinite timeout.

This value is used for the ServerSocket.accept() method. When this option is set to a non-zero timeout, calling accept() for this ServerSocket will block for the configured length of time. If the timeout expires, a java.net.SocketTimeoutException (or java.net.InterruptedIOException) is thrown, but the ServerSocket remains valid.

Enable this option prior to entering the blocking operation. This property is only used when the Connection Type property is set to Server.

Keep Alive

An indicator of whether the client’s SO_KEEPALIVE option is enabled or disabled. Select true to enable SO_KEEPALIVE; otherwise, select false.

When the option is enabled for a TCP socket and no data has been exchanged across the socket in either direction for two hours, TCP automatically sends a KEEPALIVE probe to the peer (the actual value is implementation dependent). This probe is a TCP segment to which the peer must respond. One of three responses is expected: 

  1. The peer responds with the expected ACK. The application is not notified (since everything is OK). TCP will send another probe following another two hours of inactivity.

  2. The peer responds with an RST, which tells the local TCP that the peer host has crashed and rebooted. The socket is closed.

  3. There is no response from the peer. The socket is closed. The purpose of this option is to detect if the peer host has crashed. This is used for the accepted client Socket.


Note –

For some properties, the server socket itself does not have direct property settings associated with it. Instead, the properties map to the accepted client socket.


Receive Buffer Size

A number indicating the receive buffer size. This is the value of the SO_RCVBUF option for the current socket, which is the buffer size used by the operating system for input on this socket. It provides an estimate of the size of the underlying buffers used by the platform for incoming network I/O.  

When used in set mode, this is a suggestion for the kernel from the application regarding the size of buffers to use for the data to be received over the socket. When used in get mode, this must return the actual size of the buffer used by the platform when receiving data on this socket. 

Send Buffer Size

A number indicating the send buffer size. This is the value of the SO_SNDBUF option for the current socket, which is the buffer size used by the operating system for output on this socket. It provides an estimate of the size of the underlying buffers used by the platform for outgoing network I/O.  

When used in set mode, this is a suggestion for the kernel from the application regarding the size of buffers to use for the data to be sent over the socket. When used in get mode, this must return the actual size of the buffer used by the platform when sending out data on this socket. 

SoLinger

An indicator of whether the adapter performs a “linger-on-close” timeout. This option disables or enables an immediate return from a call to the close() method for a TCP Socket. To enable the linger-on-close timeout, select true; otherwise, select false.

If you enable this property, specify the maximum length of the timeout in the SoLinger Timeout property.

SoLinger Timeout

The server’s linger–on–close timeout in seconds. Use SoLinger Timeout when SoLinger is set to true (see the description for SoLinger above). You can specify an integer between -1 and 65535. The default is -1 seconds, which indicates that the SoLinger option is disabled.

When SoLinger is set to true, the SoLinger Timeout value indicates the following:

  • A non-zero integer means that calling close() will block pending the transmission and acknowledgement of all data written to the peer. When all data is written, the socket is closed gracefully. Upon reaching the linger timeout value specified here, the socket is closed forcefully with a TCP RST. If the specified timeout value exceeds 65,535 it will be reduced to 65,535.

  • A zero integer means that a forceful close is performed immediately.

SoTimeout

The value of the SoTimeout in milliseconds. You can enter a value greater than or equal to zero (0). When set to zero (0), the timeout is infinite.

With this option set to a non-zero value, calling the read() method on the input stream associated with this socket will block for only the configured length of time. If the timeout expires, a java.io.InterruptedIOException or java.net.SocketTimeoutException is thrown, but the socket remains valid.

Enable this option prior to entering the blocking operation. 

TcpNoDelay

An indicator of whether data packets that are smaller than the maximum transfer unit (MTU) size are sent out immediately over the network (this refers to Nagle’s algorithm). Select one of the following options: 

  • True – Indicates that the server allows data packets that are smaller than the MTU size to be sent out immediately over the network. This can improve performance for higher-speed networks.

  • False– Indicates that the server does not allow data packets that are less than the MTU size be sent out immediately over the network.

    This is used for the accepted client socket.

Socket Factory Implementation Class Name

The name of the Java class that implements the socket factory. This class is used to create the socket. If you have provided your own socket implementation, enter the name of the Java class that contains this implementation here. The factory implementation class must implement the com.stc.connector.tcpip.model.factory.TCPIPSocketFactory interface.

The default value is com.stc.connector.tcpip.model.factory.TCPIPSocketFactoryImpl

TCPIP Outbound Settings - Client Connection Establishment — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the Client Connection Establishment page of the Properties Editor accessed from the Connectivity Map. These properties configure how connections are established. This section is only used when the Connection Type under TCPIP Outbound Settings is set to Client.

Table 18 Connectivity Map - TCPIP Outbound Settings - Client Connection Establishment

Name 

Description 

Time To Wait Before Attempting Connection

The length of time (in milliseconds) the adapter waits before attempting to connect to the external system. 

Always Create New Connection

An indicator of whether the adapter always attempts to create a new connection when a connection establishment request is received. Select on of the following options: 

  • true – The adapter always attempts to create a new connection without attempting to match an existing connection.

  • false – The adapter attempts to match an existing connection (managed by the container).

Auto Reconnect Upon Matching Failure

An indicator or whether to attempt to reconnect automatically when the adapter gets a matching connection from a container, even though this connection is not valid; for example, the external side of the connection is closed or reset due to the external application’s logic. 

Select one of the following options:

  • true – The adapter discards the invalid matching connection and automatically attempts to reconnect using a new connection.

  • false – The adapter does not automatically attempt to reconnect using a new connection. Instead, the adapter defers the reconnect control to the user business rules. It is up to the business rules to detect this type of failure and act appropriately.

Max Connection Retry

The maximum number of times the adapter attempts to connect to a specific external TCP/IP destination (host/port) before giving up. 

Retry Connection Interval

The length of time (in milliseconds) the adapter waits between attempts to connect to a specific external TCP/IP destination (host or port). 

TCPIP Outbound Settings - Server Port Binding — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the Server Port Binding page of the Properties Editor accessed from the Connectivity Map. The properties define the server port binding retry options. This section is only used when the Connection Type under TCPIP Outbound Settings is set to Server.

Table 19 Connectivity Map - TCPIP Outbound Settings - Server Port Binding

Name 

Description 

Max Binding Retry

The maximum number of times the adapter will attempt to bind to the specified TCP/IP port on the localhost before giving up. 

Retry Binding Interval

The amount of time (in milliseconds) that the adapter waits between attempts to bind to the specified TCP/IP port on the localhost. 

HL7 Acknowledgment — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the HL7 Acknowledgment page of the Properties Editor accessed from the Connectivity Map. These properties define how the application acknowledgment events are handled.

Table 20 Connectivity Map - HL7 Acknowledgement

Name 

Description 

Acknowledgment Level

An indicator of whether the external application sends an Acknowledgement after successfully receiving a message, or after the message has been successfully committed to the application database. Select one of the following options: 

  • A – Application acknowledgment. The acknowledgement is sent after the message is successfully and functionally processed by one receiving system.

  • C – Commit (accept) acknowledgment. The acknowledgement is sent when the message is successfully received.

eGate Sends App Acks

An indicator of whether the outbound Collaboration is in outbound delayed ACK mode; that is, the outbound adapter connects to an external system that communicates as a Delayed ACK receiver and sends two ACKs to the adapter. Select one of the following options: 

  • true – Indicates that the adapter is expecting a Delayed ACK (two ACKS).

  • false – Indicates that the adapter does not expect a Delayed ACK.

Forward External Acks

An indicator of whether the HL7 application acknowledgment is forwarded to the application server. When an HL7 application acknowledgment is received, it is sometimes necessary to forward the contents of the HL7 application acknowledgment to the application server (as data). This property is used for outbound Collaboration code. 

Select true if the adapter forwards HL7 application acknowledgments from the external system to the application server for processing; otherwise select false.

Timeout For Delayed Ack

A number indicating the timeout value for delayed ACK in milliseconds. This property is used in the outbound Collaboration code. 

Lower Layer Protocol — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the Lower Layer Protocol page of the Properties Editor accessed from the Connectivity Map. These properties define the Lower Layer Protocol (LLP) configuration.

Table 21 Connectivity Map - Lower Layer Protocol

Name 

Description 

LLP Type

MLLP is the configured default value.

The lower layer protocol (LLP) type. Select one of the following options: 

  • MLLP (Minimal Lower Layer Protocol)

  • HLLP (Hybrid Lower Layer Protocol)

  • MLLP v2.0 (Minimal Lower Layer Protocol v2.0)

For more information on the available envelope types, see Lower Layer Protocol.

Start Block Character

The first envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127. Unless there is a conflict, the value should be ASCII VT (decimal 11). 

End Data Character

The second to the last envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127. Unless there is a conflict, the value should be ASCII FS (decimal 28). 

End Block Character

The last envelope marker character in the HL7 envelope, as a decimal ASCII number. Enter a number from 1 to 127. To strictly comply with the HL7 Standard, this property must be set to a carriage return (decimal 13). 

HLLP Checksum Enabled

An indicator of whether the HLLP Checksum is enabled or disabled. 

Select true to enable checksum values; otherwise select false.

Max Number of Retries

The maximum number of times the adapter tries to send a message upon receiving the MLLP v2.0 Negative Commit Acknowledgement from the peer before giving up. This property is used by the adapter in outbound mode. Enter any integer. 

Sequence Number Protocol — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the property that appears on the Sequence Number Protocol page of the Properties Editor accessed from the Connectivity Map. This property enables or disables HL7 sequence numbering, which is used to help prevent duplication of data.

Table 22 Connectivity Map - Sequence Number Protocol

Name 

Description 

Sequence Number Enabled

An indicator of whether sequence numbering is enabled or disabled. Enabling sequence numbering helps prevent duplication of data. Select true to enable sequence numbering; otherwise select false.

HL7 MSH Segment — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the HL7 MSH Segment page of the Properties Editor accessed from the Connectivity Map. These properties define the configuration of the MSH segment of the HL7 message. For more information about this segment, refer to the HL7 specification (http://www.hl7.org).

Table 23 Connectivity Map - HL7 MSH Segment

Name 

Description 

Field Separator

The character that separates the segment ID and the first real field. This value defines the character that is used as a separator for the rest of the message and is the first field in the HL7 MSH segment (MSH-01). 

The value is a decimal ASCII number, and the allowed range is 1 to 127. The default setting is 124, which is the pipe character (|). 

Encoding Characters

Encoding characters in the following order: 

  • Component separator

  • Repetition separator

  • Escape character

  • Subcomponent separator

    This is the second field in the HL7 MSH segment (MSH-02).

The default is ^~\& (ASCII 94, 126, 92, and 38) respectively.

Sending Application

A user-defined value for the sending application among other applications within the network enterprise. The network enterprise consists of the applications that participate in the exchange of HL7 messages within the enterprise. The default is Sun HL7 adapter.

This is the third field in the HL7 MSH segment (MSH-03). 

Sending Facility

A user-defined value that further identifies the sending application among multiple identical instances of the application running on behalf of different organizations. The default is Sun HL7 adapter.

This is the fourth field in the HL7 MSH segment (MSH-04). 

Receiving Application

A user-defined value for the receiving application among other applications within the network enterprise. The default value is Sun HL7 adapter.

This is the fifth field in the HL7 MSH segment (MSH-05). 

Receiving Facility

A user-defined value that further identifies the receiving application among multiple identical instances of the application running on behalf of different organizations. The default value is Sun HL7 adapter.

This is the sixth field in the HL7 MSH segment (MSH-06). 

Security

The implemented application level security features.  

This is the eighth field in the HL7 MSH segment (MSH-08). 

Processing ID

The sub-component processing ID of the MSH-11 field. MSH-11 is used to indicate whether a message is processed as defined in the HL7 Application processing rules. 

Specify one of the following options:

  • D - The message is part of a debugging system.

  • P - The message is part of a production system.

  • T - The message is part of a training system.

    In some cases there may be an additional value, the processing mode, following the initial value. This value can be A (archive), R (restore from archive), or I (initial load).

Version ID

The HL7 version as displayed in HL7 Table 0104 - Version ID. This value is matched by the receiving system to its own version to ensure that messages are interpreted correctly. The default value is 2.5.

This is the 12th field in the HL7 MSH segment (MSH-12).  

Country Code

A code that indicates the country of origin for the message (see HL7 Table 0399). Use the 3-character (alphabetic) form of ISO 3166. This value is used to specify default elements in a message, such as currency. The default value is USA.

This is the 17th field in the HL7 MSH segment (MSH-17). 

Character Set

The character set(s) used by the messages (see HL7 Table 0211). If the field is left blank, the character set is assumed to be the 7-bit ASCII set. The default value is 8859/1 (printable 7-bit ASCII character set).

This is the 18th field in the HL7 MSH segment (MSH-18). 

Principal Language of Message

The 2-character ISO 639 alphabetic code that specifies the principal language of the message.  

This is the 19th field in the HL7 MSH segment (MSH-19). 

Alternate Character Set Handling Scheme

The value for the alternate character set handling scheme to be used when any alternative character sets are used and a special handling scheme is necessary (see HL7 Table 0356). Possible values are ISO 2022-1994, 2.3, or <null> (blank). Leaving the field blank indicates that no character set switching will occur.

This is the 20th field in the HL7 MSH segment (MSH-20). 

Conformance Statement ID

A unique identifier that applies to a query’s conformance statement. It can also be used as a Message Profile Identifier to assert constancy with a message profile (grammar, syntax, usage, and so on). 

This is the 21st field in the HL7 MSH segment (MSH-21). 

Validate MSH

An indicator of whether to validate the MSH segment of the data message (for inbound) and the MSH segment of the ACK (for outbound). Select true if you want the Collaboration to validate the MSH segment; otherwise select false.

This parameter is used in Collaboration code. 


Note –

This property does not affect structural validation of the entire HL7 message itself. Structural validation is always performed.


HL7 SFT Segment — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the HL7 SFT Segment page of the Properties Editor accessed from the Connectivity Map. These properties define the configuration of the SFT segment of the HL7 message, which provides additional information about one or more software products used as sending applications. The primary purpose of this segment is for diagnostic use. There may be additional uses per site-specific agreements. For more information about this segment, refer to the HL7 specification (http://www.hl7.org).


Note –

The SFT segment is available starting with HL7 version 2.5.


Table 24 Connectivity Map - HL7 SFT Segment

Name 

Description 

Enable

An indicator of whether the SFT optional segment is enabled in the ACK. Select true to enable the segment; otherwise select false.


Note –

If Enable is set to true, and the HL7 version is not configured as 2.5, the adapter will error upon startup.


Software Vendor Organization

The name of the company that publishes or distributes the sending software that created the transaction. This field identifies the vendor responsible for maintaining the application. The purpose of this field, along with the remaining fields in this segment, is to provide a more complete profile of the sending applications.  

This is the first field in the HL7 SFT segment (SFT-01). 

Software Certified Version or Release Number

The latest software version number or release number for the sending system, which helps provide a more complete profile of the application that is sending or receiving HL7 messages.  

Version numbers are important in identifying the specific release of an application. In some situations, the receiving application validates the software certified version or release number against a list of certified versions or releases of the particular software. This helps determine whether the sending application adheres to specific business rules required by the receiving application. Alternatively, the software may perform different processing, depending on the version of the sending software. 

This is the second field in the HL7 SFT segment (SFT-02). 

Software Product Name

The name of the software product that submitted the transaction. The default value is Sun TCP/IP HL7 adapter Intelligent Adapter.

This is the third field in the HL7 SFT segment (SFT-03). 

Software Binary ID

The unique software binary ID. Software binary IDs are issued by a vendor for each unique software version instance. These IDs are used to differentiate between multiple versions of the same software. Identical primary IDs indicate that the software is identical at the binary level, but configuration settings may differ. 

This is the fourth field in the HL7 SFT segment (SFT-04). 

Software Product Information

Any additional information about the sending application for more complete identification. This could include a description of the software application, configuration settings, modifications made to the software, and so on. This information is used for diagnostic purposes and provides greater flexibility in identifying the application software. 

This is the fifth field in the HL7 SFT segment (SFT-05). 

Software Install Date

The date on which the submitting software was installed at the sending site. The software installation date on its own can often provide key information about the behavior of the application.  

This is the sixth field in the HL7 SFT segment (SFT-06). 

Communication Control — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the Communication Control page of the Properties Editor accessed from the Connectivity Map. These properties define how data is transferred (that is, sent and received) over the TCP/IP connection.

Table 25 Connectivity Map - Communication Control

Name 

Description 

Time To Wait For A Response

The amount of time (in milliseconds) that the adapter waits for a response from the external system before taking recourse action (see Action on No Response in HL7 Recourse Action). Any data from the external system is considered a response.

This property corresponds to the initial read/receive operation timeout. Once a response is received, the subsequent read/receive operation uses the value specified for SoTimeout (see Table 17). A value of 0 (zero) indicates an infinite timeout.

Max Empty Read Retry

The maximum number of times the adapter attempts to read data from the external system after the read/receive operation returns nothing. This applies to the read or receive operation after a response starts to arrive. Empty Read means that a timeout occurs on the read/receive operation, which uses the SoTimeout parameter in the TCPIP Outbound Settings section as the timeout setting (see TCPIP Outbound Settings). The corresponding recourse action is specified by the Action on Max Failed Read Retry (see HL7 Recourse Action).

Max No Response

The maximum number of response timeouts the adapter allows while waiting for data from the external system before taking recourse action (see Action on Max No Response in HL7 Recourse Action).

This property is used in the Collaboration code. It is only used by outbound adapters and works in conjunction with the Resend option of the Action on No Response property.

Max NAK Receive Retry

The maximum number of negative acknowledgments (NAKs) the adapter receives before taking recourse action (see Action on Max Nak Received in HL7 Recourse Action).

This property is used for the outbound Collaboration code. 

Max NAK Send Retry

The maximum number of negative acknowledgments (NAKs) the adapter sends before taking recourse action (see Action on Max Nak Sent in HL7 Recourse Action).

Max Canned NAK Send Retry

The maximum number of canned negative acknowledgments that the adapter sends before taking recourse action (see Action on Max Nak Sent in HL7 Recourse Action). A value of 0 (zero) indicates that the adapter will not attempt to create or send a canned NAK.

Enable Journaling

An indicator of whether message journaling is enabled. To enable message journaling, select true; otherwise select false.

This property is used for outbound Collaboration code. 

HL7 Recourse Action — TCP/IP HL7 V2 Outbound Adapter

The following table lists and describes the properties that appear on the HL7 Recourse Action page of the Properties Editor accessed from the Connectivity Map. These properties define the actions the adapter takes when operations occur outside the configured constraints.

Table 26 Connectivity Map - HL7 Recourse Action

Name 

Description 

Action on No Response

The action the adapter takes when no ACK is received from the external system in the allotted time. The amount of time is determined by the Time To Wait For A Response property (see Communication Control). Select one of the following options:

  • Exit – The adapter terminates its connection with the external system and shuts down.

  • Resend – The adapter attempts to resend the message to the external system. The Resend option is only allowed when sequence numbering is in effect.

  • Reset – The adapter closes its connection with the external system and goes through the connection scenario.

    This property is used for outbound Collaboration code.

Action on Max No Response

The action the adapter takes when it attempts to send a message to the external system the maximum allowed number of times and does not receive any response (HL7 Application Acknowledgement) from the external system. The maximum number times the adapter sends a message without receiving a response is determined by the Max No Response property (see Communication Control). Select one of the following options:

  • Exit – The adapter terminates its connection with the external system and shuts down.

  • Reset – The adapter closes its connection with the external system and goes through the connection scenario.

    This property is used for outbound Collaboration code.

Action on Max Failed Read Retry

The action the adapter takes after it has reached the empty read limit set by the Max Empty Read Retry property. Select one of the following recourse options:

  • Exit – The adapter terminates its connection with the external system and shuts down.

  • Reset – The adapter closes its connection with the external system and goes through the connection scenario.

    This property is used for outbound Collaboration code.

Action on Nak Received

The action the adapter takes when it receives an HL7 Application NAK from the external system. Select one of the following options: 

  • Resend – The adapter attempts to resend the message to the external system.

  • Reset – The adapter closes its connection with the external system and goes through the connection scenario.

  • Skip Message – The adapter remains connected, but writes the message to an error queue.


    Note –

    Do not set both the Action On NAK Received and Action On Max NAK Received properties to Skip Message.


    This property is used for outbound Collaboration code.

Action on Max Nak Received

The action the adapter takes when the maximum number of HL7 Application NAKs have been received from the external system, as set by the Max NAK Receive Retry property (see Communication Control). Select one of the following options:

  • Exit – The adapter terminates its connection with the external system and shuts down.

  • Reset – The adapter closes its connection with the external system and goes through the connection scenario.

  • Skip Message – The adapter remains connected, but writes the message to an error queue.

    This property is used for outbound Collaboration code.


    Note –

    Do not set both the Action On NAK Received and Action On Max NAK Received properties to Skip Message.


Action on Max Nak Sent

The action the adapter takes when it has sent the maximum allowed number of NAKs to the external system, as set by the Max NAK Send Retry parameter (see Communication Control). Select one of the following options:

  • Exit – The adapter terminates its connection with the external system and shuts down.

  • Reset – The adapter closes its connection with the external system and goes through the connection scenario.

    This property is used for inbound Collaboration code.