Contact Us 1-800-596-4880

HL7 Global Connector

You can create and configure an HL7 Connector as a Global Element which the connectors in your flow will reference. An HL7 connector configured as a global element defines connection parameters for all HL7 connections that reference the connector.

The HL7 connector is part of the Mule Healthcare Toolkit, which also includes transformers and components for receiving, processing and sending HL7 messages. For details and a full list of available tools, consult the Toolkit’s documentation main page.

Configuration

To create an HL7 global connector, complete the following steps:

  1. Click the Global Elements tab under the canvas, then click Create.

  2. At the Choose Global Type window, type hl7 into the Filter input field to display only HL7-related global types.

  3. Under Connectors, click HL7 Connector, then click OK.

Studio displays the Global Element Properties window, where you configure the global connector.

The following subsections describe the connector’s configuration parameters for configuration in Studio and Mule Runtime.

XML Element

hl7:connector

Sample Complete XML

Studio

<hl7:connector name="HL7_Connector" dispatcherPoolFactory-ref="Bean" dynamicNotification="true" validateConnections="true" hl7Encoding="ER7" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" sendTcpNoDelay="true" reuseAddress="true" keepSendSocketOpen="true" keepAlive="true" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" validation="STRONG" doc:name="HL7 Connector">
  <spring:property name="com.sample.sampleBean" value="sampleValue"/>
</hl7:connector>

Mule Runtime

<hl7:connector name="HL7_Connector" dispatcherPoolFactory-ref="Bean" dynamicNotification="true" validateConnections="true" hl7Encoding="ER7" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" sendTcpNoDelay="true" reuseAddress="true" keepSendSocketOpen="true" keepAlive="true" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" validation="STRONG">
  <spring:property name="com.sample.sampleBean" value="sampleValue"/>
</hl7:connector>

Configuration For Studio and Mule Runtime

Studio Visual Editor

General Tab

hl7 global gen

This tab only contains the Name field, where you may optionally type a meaningful name for the global connector.

Name Description XML

Name

(Studio only)

Name of the building block as it appears in the flow

---- name="connectorName" ----

Advanced Tab

hl7 global advanced
Name Description XML

Dispatched Pool Factory

Allows you to reference a TCP dispatcher pool factory other than the default dispatcher factory bean. To add a different dispatcher factory bean ID in Studio, click the conn spring props addbutton button next to the combo box.

---- dispatcherPoolFactory-ref="sampleBean" ----

Dynamic Notifications

(boolean)

Enables Dynamic Notifications for this connector.

---- dynamicNotification="true" ----

Validate Connections

(boolean)

Causes Mule to validate connections before using this connector. Note that this is only a configuration hint; transport implementations may or may not validate the connection.

---- validateConnections="true" ----

Properties Tab

hl7 global properties
Name Description XML

Spring Properties

Use this tab to enter Spring bean property information. To add a property in Studio, click the conn spring props addbutton button under Spring Properties.

[source,xml] ---- <spring:property name="com.sample.sampleBean" value="sampleValue"/> ----

Protocol Tab

hl7 global protocol
Name Description XML

HL7 Message Encoding

Allows you to select between ER7, XML, and HAPI.

---- hl7Encoding="ER7" ----

Strong / Weak Validation

Allows you to select between STRONG or WEAK HL7 message validation (leave blank for no validation).

* STRONG: Checks that all message structure components are present, and that the message is well-formed. * WEAK: Only checks that the message is well-formed.

---- validation="STRONG" ----

Send Buffer Size

Buffer size in bytes for sending data.

---- sendBufferSize="0" ----

Receive Buffer Size

Buffer size in bytes for receiving data.

---- receiveBufferSize="0" ----

Receive Backlog

Maximum queue size for incoming connections.

---- receiveBacklog="0" ----

Send TCP No Delay

(boolean)

Do not collect data before transmitting; send data immediately.

---- sendTcpNoDelay="true" ----

Reuse Address

(boolean)

Enable SO_REUSEADDRESS on server sockets. This helps reduce Address already in use errors when a socket is reused. Default value: true

---- reuseAddress="true" ----

Keep Send Socket Open

(boolean)

Do not close a socket after sending a message.

---- keepSendSocketOpen="true" ----

Keep Alive

(boolean)

Enable SO_KEEPALIVE on open sockets. This causes a probe packet to be sent on an open socket which has not registered activity for a long period of time, to check whether the remote peer is up.

---- keepAlive="true" ----

Client SO_TIMEOUT

Set the SO_TIMEOUT value for client sockets (in milliseconds). This is the timeout for waiting for data.
A value of 0 means forever.

---- clientSoTimeout="10000" ----

Server SO_TIMEOUT

Set the SO_TIMEOUT value for server sockets (in milliseconds). This is the timeout for waiting for data.
A value of 0 means forever.

---- serverSoTimeout="10000" ----

Socket SO_LINGER

Set the SO_LINGER value for sockets (in milliseconds). This is the value of the delay before closing a socket. If enabled, a call to close the socket before data transmission has finished blocks the calling program; the block remains in place until data transmission is finished or until the connection times out.

---- socketSoLinger="0" ----

XML Editor

To access the Studio XML Editor, click the Configuration XML tab under the canvas.

The table below describes all configurable parameters for this building block.

Name Description XML

Name

(Studio only)

Name of the building block as it appears in the flow

---- name="connectorName" ----

Dispatched Pool Factory

Allows you to reference a TCP dispatcher pool factory other than the default dispatcher factory bean. To add a different dispatcher factory bean ID in Studio, click the conn spring props addbutton button next to the combo box.

---- dispatcherPoolFactory-ref="sampleBean" ----

Dynamic Notifications

(boolean)

Enables Dynamic Notifications for this connector.

---- dynamicNotification="true" ----

Validate Connections

(boolean)

Causes Mule to validate connections before using this connector. Note that this is only a configuration hint; transport implementations may or may not validate the connection.

---- validateConnections="true" ----

Spring Properties

Use this tab to enter Spring bean property information. To add a property in Studio, click the conn spring props addbutton button under Spring Properties.

[source,xml] ---- <spring:property name="com.sample.sampleBean" value="sampleValue"/> ----

HL7 Message Encoding

Allows you to select between ER7, XML and HAPI.

---- hl7Encoding="ER7" ----

Strong / Weak Validation

Allows you to select between STRONG or WEAK HL7 message validation (leave blank for no validation).

* STRONG: Checks that all message structure components are present, and that the message is well-formed * WEAK: Only checks that the message is well-formed

---- validation="STRONG" ----

Send Buffer Size

Buffer size in bytes for sending data.

---- sendBufferSize="0" ----

Receive Buffer Size

Buffer size in bytes for receiving data. ---- receiveBufferSize="0" ----

Receive Backlog

Maximum queue size for incoming connections.

---- receiveBacklog="0" ----

Send TCP No Delay

(boolean)

Do not collect data before transmitting; send data immediately.

---- sendTcpNoDelay="true" ----

Reuse Address

(boolean)

Enable SO_REUSEADDRESS on server sockets. This helps reduce Address already in use errors when a socket is reused. Default value: true

---- reuseAddress="true" ----

Keep Send Socket Open

(boolean)

Do not close a socket after sending a message.

---- keepSendSocketOpen="true" ----

Keep Alive

(boolean)

Enable SO_KEEPALIVE on open sockets. This causes a probe packet to be sent on an open socket which has not registered activity for a long period of time, to check whether the remote peer is up.

---- keepAlive="true" ----

Client SO_TIMEOUT

Set the SO_TIMEOUT value for client sockets (in milliseconds). This is the timeout for waiting for data.
A value of 0 means forever.

---- clientSoTimeout="10000" ----

Server SO_TIMEOUT

Set the SO_TIMEOUT value for server sockets (in milliseconds). This is the timeout for waiting for data.
A value of 0 means forever.

---- serverSoTimeout="10000" ----

Socket SO_LINGER

Standalone

HL7 Connector Attributes

Name Type/Allowed values Required Default Description

hl7Encoding

* ER7 * XML * HAPI

Yes

-

Encoding of the HL7 message when it is received by the connector. Can be a string in HL7 pipe-delimited format (ER7) or XML; or a HAPI object.

validation

* WEAK * STRONG

Yes

WEAK

Enable/disable default HAPI HL7 message validation during sending/receiving. STRONG: Validation enabled; WEAK: validation disabled

The HL7 Connector also accepts all attributes configurable for TCP connectors. See the TCP Transport Reference.

Namespace and Syntax

http://www.mulesoft.org/schema/mule/hl7

XML Schema Location

http://www.mulesoft.org/schema/mule/hl7/mule-hl7.xsd