HL7 Parameters

When you implement an integration use case that handles HL7 messages, you can use the following HL7 parameters in your proxy service artifact.

Info

The Micro Integrator can receive HL7 messages or send HL7 messages only if the HL7 transport listener and sender are enabled and configured at the server level. Read about the HL7 transport.

To add service-level transport parameters to a proxy service:

  1. Open your proxy service artifact in ESB Integration Studio.
  2. In the Design View, go to the Properties tab and expand the Parameters section as shown below.

  3. Click the plus icon to open the following dialog box and add the parameter name and value as a key-value pair:

See Creating a Proxy Service for instructions.

Service-level Parameters

HL7 receiver port (Required)

Parameter Description
transport.hl7.Port Add this parameter to specify the port on which the Micro Integrator listens to incoming HL7 messages.

HL7 Conformance profile path

Parameter Description
transport.hl7.ConformanceProfilePath Add this parameter to the proxy service to specify the URL of the HL7 conformance profile (XML file).

Message acknowledgement

Parameter Description
transport.hl7.AutoAck Add this parameter to the proxy service to disable auto acknowledgement of HL7 messages. You can disable auto acknowledgement by setting this parameter to 'false'.

By default, auto acknowledgement is enabled in the Micro Integrator, which means that an ACK message is sent to the client as soon as the message is received by the mediation sequence.

Note: When automatic acknowledgment is disabled, you can manually configure ACK/NACK messages for HL7 in the mediation sequence by using the following mediation properties: See Message Acknowledgement for HL7 Messages for details.

Message pre-processing

Parameter Description
transport.hl7.MessagePreprocessorClass Add this parameter to the proxy service to specify an implementation class of the org.wso2.micro.integrator.business.messaging.hl7.common.HL7MessagePreprocessor interface. This will be used for processing raw HL7 messages before parsing them. This allows potential errors in the messages to be rectified using the transport.

Message validation

By default, the HL7 transport validates messages before building their XML representation. You configure validation with the following parameter in the proxy service:

Parameter Description
transport.hl7.ValidateMessage By default, the HL7 transport validates messages before building their XML representation. You can set this parameter to false if you want to disable message validation.
transport.hl7.BuildInvalidMessages When transport.hl7.ValidateMessage is set to false, you can set this parameter to handle invalid messages.

When this parameter is set to true, builds a SOAP envelope with the contents of the raw HL7 message inside the element.
transport.hl7.PassThroughInvalidMessages When transport.hl7.ValidateMessage is set to false, you can set this parameter to handle invalid messages.

When this parameter (BuildInvalidMessages) is set to true, you use this parameter to specify whether to pass this message through (true) or to throw a fault (false).

Thread pool configurations

The HL7 transport uses a thread pool to manage connections. A larger thread pool provides greater performance, because the transport can process more messages simultaneously, but it also uses more memory. You can add the following properties to the proxy service to configure the thread pool to suit your environment:

Parameter Description
transport.hl7.corePoolSize The core number of threads in the pool. Default is 10.
transport.hl7.maxPoolSize The maximum number of threads that can be in the pool. Default is 20.
transport.hl7.idleThreadKeepAlive The time in milliseconds to keep idle threads alive before releasing them. Default is 10000 (10 seconds).

See the following examples demonstrating HL7 use cases:

Top