Setting up Receivers & Emitters
  • 14 Mar 2024
  • 7 Minutes to read
  • Dark
    Light

Setting up Receivers & Emitters

  • Dark
    Light

Article Summary

Module Details

Modified in Version8.15, 8.17, 8.19
Core or Github ModuleCore
Restart Required No 
Steps ExposedYes
Step Location HL7
Settings Location Settings are configured and defined for each interface
Prerequisites

The HL7 Module allows a user to configure Receivers and Emitters for messages. A Receiver performs the process of getting an HL7 message. Receivers can get messages through the File Receiver, a TCP/IP Receiver, or a Flow Receiver. Sending an HL7 message is done by an Emitter. Emitters can be configured as a File Emitter, TCP/IP Emitter, or redirect to another HL7 interface.



Configuring Receivers

After an interface has been created, select the interface and click ADD RECEIVERS. Then, select the desired Receiver to configure. 

Configured Receivers will appear on the right side of the interface dashboard.


File Receiver

The File Receiver will get messages from a disk drive and process the message. A File Receiver will monitor a specific folder path on the drive for any new messages and will pull messages based on a schedule.

If business requirements necessitate sending an ACK message to another system later in the process, this can be done in one of the processing Flows

Configuration OptionDescription
NameName for receiver
DescriptionPurpose of receiver
EnabledAllows for enabling or disabling the individual receiver
Folder to MonitorFile system folder from which this receiver will draw messages (can be a full local path such as C:\Users\Public\Monitored HL7 or a UNC path like \HL7Server\AllMessages\Hospital1)
Send ACK when processing completeThis tells the HL7 mediator to send an ACK message back to the other system when the message has been successfully parsed. Because the HL7 mediator can assign tasks to humans and do long-running workflow processes, there is no waiting for the message to be fully processed by the mediator before sending back an ACK message
ArchivingSpecify alternative folders where processed and errored versions of messages are stored. Even with these options not selected, the HL7 Mediator will track successful and unsuccessful messages in the database for reporting purposes.
CalendarSpecify how frequently this receiver will look for new messages at the specified location



TCP/IP and TCP/IP SSL Receiver

If the system sending messages supports TCP/IP connections, these can be configured as a TCP/IP or TCP/IP SSL Receiver. 

TCP/IP receivers get messages as soon as they are sent, so there is no need to configure a schedule.

TCP/IP ReceiverTCP/IP SSL Receiver
Configuration OptionDescription
CertHasPasswordEnable if the certificate has a password
CertPasswordPassword for the certificate
PFXCertificateSelect or drag the pfx certificate to use
NameName of receiver
DescriptionPurpose of receiver
EnabledAllows for enabling or disabling the individual receiver
IP AddressThe IP address on which this receiver should listen (Leaving this setting blank allows the receiver to listen on any valid IP address for this server).
PortThe port number for the socket on which this receiver should listen. This must be a valid port for the receiver to initialize and receive messages.
Connection Retry Timer (Default: 30 seconds)If the emitter cannot reach the receiver, it will attempt to reconnect every x amount of seconds.
Override Standard Low Level Message Indicators (Message Framing)Allows the customization of the special text characters used when a message is complete on TCP/IP connections (must enter characters in Hex notation, 0x0B)
Keep Connection OpenDetermines if the connection to the receiver will be closed and a new one created or an existing connection used.
Send ACK when processing completeThis tells the HL7 mediator to send an ACK message back to the other system when the message has been successfully parsed. Because the HL7 mediator can assign tasks to humans and do long-running workflow processes, there is no waiting for the message to be fully processed by the mediator before sending back an ACK message.
Never Close Connection (non standard clients)Some clients require the server to maintain an open connection after it has been established. This setting can be enabled if the receiver gets a single message and stops receiving it.
Use File System As a QueueIf the HL7 interface cannot process messages as fast as they are being sent to the interface, enable this option to use the file system as a queue to store messages so that messages are not blocked from getting sent over the TCP/IP connection.
Always Trim Standard Frame CharsIt tells the parsing engine always to be sure to strip any standard message framing characters from the messages received.
Generate Custom ACKS Using Flow (v8.19+)Allows a Flow to be built so ACKS can have custom responses to messages. Requires advanced setup, explained below.

Generate Custom ACKs Using Flow

Each message type requires a specific setup for the Endpoint of the custom Flow. The combinations are listed below:

MessageSettingsScreenshot
AA MessageSuccessful set true and any text in Response Message
AR MessageSuccessful set false and any text in Response Message
AE MessageSuccessful set false or Null and Response Message set to Null or left blank.

Flow Receiver

A receiver that utilizes a Flow to receive messages. The configuration for this receiver is similar to a Message Handler or Scheduled Job Flow.

Configuration OptionDescription
NameName of receiver
DescriptionPurpose of receiver
PICK OR CREATE FLOW FOR MESSAGESSelect or create a Flow to receive messages
CalendarSpecify how frequently this receiver will look for new messages at the specified location.

Configuring Emitters

Once a message has been received and processed, it can be sent out using an Emitter. Select ADD EMITTERS and select the desired emitter. Once configured, the emitter will be displayed on the right side of the interface dashboard. 

Emitters are triggered by receiving messages from an HL7 Interface or using the Send Message to Emitter, Send Envelop to Emitter, or Send Raw Message to Emitter steps. These Flow steps require an Interface Id, Message, Emitter Id, and Stage as input.

Any ACK message received will be displayed on the interface dashboard if Wait for Ack is enabled. 



File Emitter

The File Emitter sends messages to a disk drive. The path to the folder must be defined in the Destination Folder setting.

Configuration OptionDescription
NameName of emitter
DescriptionPurpose of emitter
EnabledAllows the ability to enable or disable individual emitters
Wait for ACKRuns emitter after ACK has been processed. Enabling this will expose a new setting called "Action On Nack". Users can choose the following actions:
  • Pause: The emitter will pause when a NACK is received, queue messages, and the user can fix issues
  • Ignore: The emitter will continue to process messages even when NACKs are received
Trigger workflow for NACK responseAllows a user to create or pick a Flow when a NACK response is received
Trigger workflow for StateChanged (v8.5+)Allows a user to create or pick a Flow when the state/status of the interface/emitter has changed
Remove Trailing PipesRemoves trailing pipe characters from the message
Override Output VersionAllows the emitter to set the version number in the emitted HL7 packet
Destination FolderThe folder where the emitter will send messages (can be a full local path or UNC path)
Ack Message FolderThe folder where Ack messages are stored

TCP/IP and TCP/IP SSL Emitter

For sending messages to a system that supports TCP/IP connections, these can be configured as a TCP/IP or TCP/IP SSL emitter.

TCP/IP EmitterTCP/IP SSL Emitter
Configuration OptionDescription
NameName of receiver
DescriptionPurpose of receiver
EnabledAllows for enabling or disabling the individual receiver
Wait for ACKRuns emitter after ACK has been processed. Enabling this will expose a new setting called "Action On Nack". Users can choose the following actions:
  • Pause: The emitter will pause when a NACK is received, queue messages, and the user can fix issues
  • Ignore: The emitter will continue to process messages even when NACKs are received
Trigger workflow for NACK responseAllows a user to create or pick a Flow when a NACK response is received
Trigger workflow for StateChangeAllows a user to create or pick a Flow when the state/status of the interface/emitter has changed
Override Output VersionAllows the emitter to set the version number in the emitted HL7 packet
Remove Trailing PipesRemoves trailing pipe characters from the message
IP AddressIP address to which this emitter should talk to
Remote HostRemote host to which the emitter should talk to
PortThe port number for the socket on which this receiver should listen. This must be a valid port for the receiver to initialize and receive messages.
Ignore Certificate ErrorsIgnores any issues directly related to the certificate.
Connection Retry Timer (Default: 30 seconds)If the emitter cannot reach the receiver, it will attempt to reconnect every x amount of seconds.
Override Standard Header and Footers (Hex Framing)Allows the customization of the special text characters used when a message is complete on TCP/IP connections (must enter characters in Hex notation, 0x0B)
Keep Connection OpenDetermines if the connection to the receiver will be closed and a new one created or an existing connection used.
CertificateOnly available for TCP/IP SSL Emitter. Upload a certificate for the TCP/IP SSL to use.

Redirect to HL7 Interface

This emitter sends messages to another HL7 Interface configured in Decisions. The current interface cannot be chosen to receive messages.


Feature Changes

DescriptionVersionDeveloper Task
Add settings for retry connection to match non-SSL Emitters.8.15[DT-038810] 
HL7 SSL Emitters now have a new property for a certificate in order to send messages.8.15[DT-039027]
Added an option to auto-ignore NACK messages8.17[DT-039534]
Added setting "Generate Custom Acks Using Flow" on receivers. 8.19[DT-040210]

Was this article helpful?