Contact Us 1-800-596-4880

HL7 Global Connector

You can create and configure an HL7 Connector as a Global Element that the connectors in your flow 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 h17 into the Filter input field to display only HL-7 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

hl7_global_gen

General

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"

hl7_global_advanced

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"

Valida te 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"

hl7_global_properties

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

<spring:property name="com.sample.sampleBean" value="sampleValue"/>

hl7_global_protocol

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, in order 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

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"

Valida te 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

<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, in order 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

HL7 Connector Attributes

Name Type/Allowed 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 for details.

Namespace and Syntax

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

XML Schema Location

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