HL7 Modules Setting up Receivers & Emitters
  • 18 Oct 2021
  • 5 Minutes to read
  • Dark
    Light
  This documentation version is deprecated, please click here for the latest version.

HL7 Modules Setting up Receivers & Emitters

  • Dark
    Light

Article summary

Overview

The HL7 module allows users to send, receive, and add business processing logic to HL7 messages through an HL7 interface. The process of getting an HL7 message is performed by a Receiver. Receivers are able to get messages from defined sources such as a file location using the File Receiver, another system using TCP/IP communication with the TCP/IP Receiver, or from a defined Flow using the Flow Receiver. Sending an HL7 message is done by an Emitter. The emitter can be configured as a File Emitter, TCP/IP emitter, or the message can be redirect to another HL7 interface.

Prerequisites:

Creating an HL7 Interface

  1.  In the Designer Studio and navigate to the HL7 Interfaces Folder. Click ADD HL7 INTERFACE.
  2. Enter a name for the interface, select Strict Parsing Mode, and select Full for the Receiving Message Storage Mode and Sending Message Storage Mode. Click OK.


    Configuration Options
    Configuration OptionDescription
    NameName of the HL7 Interface
    DescriptionDescription of the purpose of the interface
    EnabledTurns on all receivers and emitters that exist as a part of the interface
    Message ParsingStrict Parsing Mode: Turning this setting on means that messages that do not conform to the HL7 standard will not be sent to the processing flows. These messages will appear in the HL7 folder displayed on the dashboard, changes can be made to them to allow them to process. Only Allow Specific Messages Types: Enabling this setting gives a list of all acceptable message types and allows specific message types that this interface will process. All other message types will be logged but ignored.
    Message Storage ModeHeader: saves all inbound and outbound message headers to a database table. Full: saves the entire message and state data from the message, saves on every individual transaction. Full Batched: saves the entire message and state data from the message, saved in a delayed queue.


Setting up a Receiver

After the interface has been created, select the interface and click ADD RECEIVERS. Then, select the desired receiver to configure. After configuring a receiver, it 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.

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 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
If business requirements necessitate sending an ACK message to another system later in the process, this can be done at the point specified in a processing Flow. 


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 from the sending system so there is no need to configure a schedule to run.



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 start receiving messages
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)
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 that the server maintain an open connection after it has first been established. If the receiver gets a single message and then stops receiving, this setting can be enabled.
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 CharsTells the parsing engine to always be sure to strip any standard message framing characters from the messages received


Flow Reciever

A flexible receiver that can do similar things that the Workflow engine can do.


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



Setting up 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 a message to the HL7 Interface or an Emitter by using the Send Message to Emitter, Send Envelop to Emitter, or Send Raw Message to Emitter. The Flow step will have the user define the Interface Id, Message, Emitter Id, and Stage as input. 




Any ACK message received will be displayed on the interface dashboard if enabling Ack option.


File Emitter

The File Emitter sends messages to a disk drive.


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
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 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.


Configuration OptionsDescription
IP AddressIP address to which this emitter should talk to
PortPort number for the socket to which this emitter should talk. This must be a valid port for the emitter to initialize and start sending messages
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)


Redirect to HL7 Interface

Use this emitter to send messages to another HL7 Interface.

Users are not able to pick the current interface to send messages to.



Was this article helpful?

What's Next