HL7

Front

Version (not available for return type of Version)
Enter the HL7 version for which return the selected valid items, or click on the Variables button on the right, to select a variable which will contain the version.

Return type
Select which list you want to have returned. You can choose either:

  • Version
  • Message
  • Segment
  • Field
  • TCP/IP Query

Network Query

When selecting a Return Type of TCP/IP Query the HL7 Front connector will send a HL7 query message over the network to the destination host and return, as item list value return, the HL7 full response for further Workflow parsing.

Network Host
Enter the address of the HL7 receiving server / application or select a Variable which will contain the target address. The value can be either a DNS or an IP address.

Network Port
Enter the target listening port of the HL7 receiving server / application or select a Variable which will contain the target port.

Use SSL
If enabled SSL connection will be established using the provide port above. Make sure to specify the correct port for SSL connections as normally they use a different port.

Message
Compose here the HL7 query message to create to send to the target HL7 receiving server / application. You may also use any workflow variables inside the message body.

Info

The HL7 message here is a HL7 Query message. Query messages are used to instruct the receiving HL7 server / application to return specific requested information.

The HL7 query message is written in the connector HL7 custom format for message parsing before the HL7 message is composed.

Lookup

Return type
Select which list you want to have returned. You can choose either:

  • TCP/IP Query
Info

Front Return Types are not available because they are static values for the Lookup Workflow Trigger.

Network Query

When selecting a Return Type of TCP/IP Query the HL7 Front connector will send a HL7 query message over the network to the destination host and return, as item list value return, the HL7 full response for further Workflow parsing.

Network Host
Enter the address of the HL7 receiving server / application or select a Variable which will contain the target address. The value can be either a DNS or an IP address.

Network Port
Enter the target listening port of the HL7 receiving server / application or select a Variable which will contain the target port.

Use SSL
If enabled SSL connection will be established using the provide port above. Make sure to specify the correct port for SSL connections as normally they use a different port.

Message
Compose here the HL7 query message to create to send to the target HL7 receiving server / application. You may also use any workflow variables inside the message body.

Info

The HL7 message here is a HL7 Query message. Query messages are used to instruct the receiving HL7 server / application to return specific requested information.

The HL7 query message is written in the connector HL7 custom format for message parsing before the HL7 message is composed.

Store

Output type
Select the target output type to use during the HL7 message creation. You can choose either:

  • Pipe messages
  • TCP/IP

Based on the selected type specific fields will be visible / hidden.

By selecting TCP/IP the output message will be delivered to the specified remote HL7 server / application. In this case the connector result will be always True whenever the message can be successfully delivered and received. For all cases the HL7 target server / application response is always recorded in the specific HL7TCPRESPONSE variable available in the Workflow after the HL7 connector.

Version
Enter the HL7 version for the output message to be compatible with, or click on the Variables button on the right, to select a variable which will contain the version.

Path (visible only when Output type of Pipe messages is selected)
Enter an output path manually, or select Browse to browse to the right folder. You may also insert variables by selecting the Variable button on the right. This is the target path where the output HL7 pipe messages will be created.

Info

For network paths specify the full UNC path starting with \\. Mapped drives are not allowed because Scanshare is running inside services and Mapped Drives are not existing in services context.

Info

For the network authentication and allowing authentication on virtual UNC shares you would use \# before your UNC path. e.g.: \#YOUR_UNC_PATH.

Filename (visible only when Output type of Pipe messages is selected)
Enter the filename for the output HL7 pipe message, or click on the Variables button on the right, to select a variable which will contain the filename.

Info

The extension of the file will be always .hl7.

If file already exists (visible only when Output type of Pipe messages is selected)
Choose here what to do when the file already exists. Available options are:

  • Abort
  • Overwrite

Network Host (visible only when Output type of TCP/IP is selected)
Enter the address of the HL7 receiving server / application or select a Variable which will contain the target address. The value can be either a DNS or an IP address.

Network Port (visible only when Output type of TCP/IP is selected)
Enter the target listening port of the HL7 receiving server / application or select a Variable which will contain the target port.

Use SSL (visible only when Output type of TCP/IP is selected)
If enabled SSL connection will be established using the provide port above. Make sure to specify the correct port for SSL connections as normally they use a different port.

Use variables
If enable create the HL7 message automatically based on the available HL7 variables in the current workflow, otherwise the Message field will be enabled where a manual message can be composed.

Make sure that all variables to create a valid HL7 message are existing otherwise an error will be generated on the message validation.

The variables notation needs to respect the following structure (created automatically when using HL7 Input capture module):

  • HL7_ : Starting prefix always for all HL7 variables
  • HL7_MESSAGE_SEGMENT_COUNT : The number of segments existing in this message
  • HL7_MESSAGE_SEGMENT_X_NAME: Name of the segment number X
  • HL7_MESSAGE_SEGMENT_X_FIELD_COUNT: The number of the fields existing in the current segment number X
  • HL7_MESSAGE_SEGMENT_X_FIELD_Y: Value of the field number Y for the segment number X
  • HL7_MESSAGE_SEGMENT_X_FIELD_Y_DELIMITER: Specify a value of 1 if the value of the field number Y for the segment number X will contains any delimiter to be parsed and escaped
  • HL7_MESSAGE_SEGMENT_X_FIELD_Y_COMPONENT_COUNT: The number of components, if existing, in the current field number Y of the current segment number X
  • HL7_MESSAGE_SEGMENT_X_FIELD_Y_COMPONENT_Z: Value of the component number Z for the field number Y of the segment number X
  • HL7_MESSAGE_SEGMENT_X_FIELD_Y_COMPONENT_Z_SUBCOMPONENT_COUNT: The number of subcomponents, if existing, in the current component number Z of the current field number Y of the current segment number X
  • HL7_MESSAGE_SEGMENT_X_FIELD_Y_COMPONENT_Z_SUBCOMPONENT_K: Value of the subcomponent number K for the component number Z of the field number Y of the segment number X

Message
If Use variables is disabled compose here the HL7 message to create in output. You may also use any workflow variables inside the message body.

By writing a custom message is written the complete HL7 message structure needs to be inserted according the specified HL7 version above.

Message Format

HL7 custom message format is composed by the HL7 header separated with a ; (semicolon) by the HL7 body message in this form:

HL7HEADER;HL7BODY

If this format is not respected a message parsing error will be generated.

The HL7HEADER is composed by the HL7 MSH header as per HL7 standards and according the selected version. All fields (exactly 8) of the header are separated by a , (colon) in this form:

MSH1,MSH2,MSH3,MSH4,MSH5,MSH6,MSH7,MSH8

If not all 8 MSH header fields are provided a message format error will be generated.

The 8 MSH mandatory fields are, in order:

  • Sending application
  • Sending facility
  • Receiving application
  • Receiving facility
  • Security
  • Message type
  • Message control ID
  • Processing ID

MSH header example:

ADT1,MCM,LABADT,MCM,SECURITY,ADT^A01,198808181126,MSG00001-

The HL7BODY is composed by a list of messages to insert into the HL7 message separated by , (colon). Every message will be furthermore a string of components separated by = (equal), here components must be always in the number of 2 (name and value of the component) otherwise a parsing error will be generated.

A message line example:

NAME=VALUE,NAME=VALUE,NAME=VALUE

Where NAME is the name of the HL7 segment and VALUE its value. The format of the NAME tag is as follow:

SEGMENT.FIELDIDX.COMPONENTIDX

where SEGMENT is the name of the HL7 Segment (line), FIELDIDX is the index of the Field (starting from 1) in that Segment and the COMPONENTIDX (starting from 1) is the index of the Component in that Field of that Segment.

A NAME example:

PID.3.1

A full formatted HL7BODY example:

PID.1.1=12345,PID2.1=SMITH,PID3.1=JOHN,AL1.1.1=1,AL1.2.1=MEDICINAL,AL1.3.1=12345

which will produce the following HL7 body:

PID|12345|SMITH|JOHN
AL1|1|MEDICINAL|12345

Permissions

Username and Password
Enter a username and password (if needed) or select a variable to access the network output folder.

Warning

Authentication is not required on local folders (e.g. starting with a local drive letter). If you specify credentials in such case an error will be generated during storing because Scanshare will attempt to obtain the UNC root authentication point.

Previous Article

Greenlight CRM

Next Article

HR2day