/
Branch device (HL7)

Branch device (HL7)

The Branch device allows Connexion to send messages from one channel to one or more separate channels. If you place the Branch device after an HL7 Transform device, you can manipulate the original message prior to sending it on to other channels for additional processing or distribution.

You can also use the Branch device toĀ join messages - that is, messages from multiple channels are copied to a single channel.

By varying the placement and configuration of the Branch Device, almost any permutation of branching or joining can be achieved. The documentation here uses simple examples for the sake of clarity.

Insert a Branch Device by editing the channel, then choosing HL7 > HL7 Branch Device.

Configuring the device

Once the Branch Device is added to the channel, several options must be configured:

  • To add a destination, click theĀ Add new expression condition button.
  • Set the destination of the message if it does not match the condition. You can send an unmatched message to theĀ Error Queue, let it Pass Through to the next device in the current channel, or send it to another channel.
  • Click theĀ Enabled check box to "turn on" the destination.
  • Set the Condition that will fire off the branching. For example, if the MSH-3 path equals a specific value, the message will be branched. You can also choose toĀ Always use the branch, orĀ Never use it (this option is equivalent to unchecking theĀ Enabled option).
  • Choose aĀ Destination Queue for the message. This is the channel that the message should be sent to upon branching. The drop-down list is populated with all available channels, as well as theĀ Pass Through option, which simply sends the message to the next device in the current channel.
  • Enter an optionalĀ Description for the destination.

Branching example

In this example, we are sending the incoming message to a different channel based on the contents of the MSH-9 path. If MSH-9 isĀ ADT, the message will be sent to the Development channel. If the value of MSH-9 isĀ ORU it will be sent to the Production channel. Messages that do not match either condition will be passed through to the next device in the current channel.

Joining example

In this example, messages can come from any one or more of three origination points. Four channels have been configured. Three are "listening" on different ports for incoming messages. Any messages are then passed to aĀ Destination channel that handles additional processing and sends the messages to the final destination.

In this example, any transformations that need to occur would be handled by an HL7 Transform device in the Destination channel.

Troubleshooting the device

If your messages are not getting branched correctly, there are a couple things to check:

  • Make sure that the branching condition is enabled.
  • Check to make sure the condition is correct (the correct HL7 path and value are specified, and there are no typographical errors).
  • Check that you have selected the correct destination channel.
  • Check the destination channel to make sure it is not stopped and is configured correctly (for example, if the destination channel writes the message to file, make sure those parameters are specified correctly).

Related content

HL7 Inbound Device
HL7 Inbound Device
More like this
Channels and Devices
Channels and Devices
Read with this
Branching devices
Branching devices
More like this
Custom Code device usage
Custom Code device usage
Read with this
HL7 Outbound Device
HL7 Outbound Device
More like this
The Transform device
The Transform device
More like this