- 12 Nov 2024
- 7 Minutes to read
- Print
- DarkLight
Setting up Receivers & Emitters
- Updated on 12 Nov 2024
- 7 Minutes to read
- Print
- DarkLight
Module Details | |
Modified in Version | 8.15, 8.17, 8.19 |
Core or Github Module | Core |
Restart Required | No |
Steps Exposed | Yes |
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.
Configuration Option | Description |
---|---|
Name | Name for receiver |
Description | Purpose of receiver |
Enabled | Allows for enabling or disabling the individual receiver |
Folder to Monitor | File 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 complete | This 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 |
Archiving | Specify 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. |
Calendar | Specify 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 Receiver | TCP/IP SSL Receiver |
---|---|
Configuration Option | Description |
---|---|
CertHasPassword | Enable if the certificate has a password |
CertPassword | Password for the certificate |
PFXCertificate | Select or drag the pfx certificate to use |
Name | Name of receiver |
Description | Purpose of receiver |
Enabled | Allows for enabling or disabling the individual receiver |
IP Address | The 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). |
Port | The 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 Open | Determines if the connection to the receiver will be closed and a new one created or an existing connection used. |
Send ACK when processing complete | This 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 Queue | If 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 Chars | It 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:
Message | Settings | Screenshot |
---|---|---|
AA Message | Successful set true and any text in Response Message | |
AR Message | Successful set false and any text in Response Message | |
AE Message | Successful 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 Option | Description |
---|---|
Name | Name of receiver |
Description | Purpose of receiver |
PICK OR CREATE FLOW FOR MESSAGES | Select or create a Flow to receive messages |
Calendar | Specify 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.
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 Option | Description |
---|---|
Name | Name of emitter |
Description | Purpose of emitter |
Enabled | Allows the ability to enable or disable individual emitters |
Wait for ACK | Runs emitter after ACK has been processed. Enabling this will expose a new setting called "Action On Nack". Users can choose the following actions:
|
Trigger workflow for NACK response | Allows 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 Pipes | Removes trailing pipe characters from the message |
Override Output Version | Allows the emitter to set the version number in the emitted HL7 packet |
Destination Folder | The folder where the emitter will send messages (can be a full local path or UNC path) |
Ack Message Folder | The 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 Emitter | TCP/IP SSL Emitter |
---|---|
Configuration Option | Description |
---|---|
Name | Name of receiver |
Description | Purpose of receiver |
Enabled | Allows for enabling or disabling the individual receiver |
Wait for ACK | Runs emitter after ACK has been processed. Enabling this will expose a new setting called "Action On Nack". Users can choose the following actions:
|
Trigger workflow for NACK response | Allows a user to create or pick a Flow when a NACK response is received |
Trigger workflow for StateChange | Allows a user to create or pick a Flow when the state/status of the interface/emitter has changed |
Override Output Version | Allows the emitter to set the version number in the emitted HL7 packet |
Remove Trailing Pipes | Removes trailing pipe characters from the message |
IP Address | IP address to which this emitter should talk to |
Remote Host | Remote host to which the emitter should talk to |
Port | The 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 Errors | Ignores 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 Open | Determines if the connection to the receiver will be closed and a new one created or an existing connection used. |
Certificate | Only 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
Description | Version | Developer 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 messages | 8.17 | [DT-039534] |
Added setting "Generate Custom Acks Using Flow" on receivers. | 8.19 | [DT-040210] |