HL7 MLLP Connector
HL7 MLLP Connector
HL7 MLLP Connectors support generating and parsing HL7 documents in conjunction with MLLP as the transport protocol.
HL7 MLLP Connectors provide two sets of functionality:
- File transfer over the MLLP transport protocol
- EDI document parsing/generation according to the HL7 EDI standard
HL7 MLLP connections are configured in two places. The Profiles page includes an HL7 MLLP tab that must be configured with the local settings that identify ArcESB as an HL7 and MLLP entity. Then, an HL7 MLLP Connector must be configured with the HL7 and MLLP details for a specific trading partner.
Connecting with multiple trading partners requires multiple HL7 MLLP Connectors, each configured with the details for one partner.
When an HL7 MLLP Connector receives an inbound message, it verifies the HL7 identification details to confirm that the document was sent from and to the expected parties. Then, it translates the document into XML for further processing within an Arc Flow. When sending outbound documents, the HL7 MLLP Connector converts XML input into HL7 documents.
It is strongly recommended to use the HL7 MLLP Connector in conjunction with the XML Map Connector to ensure that input and output XML is formatted appropriately. More information can be found in the Use with the XML Map Connector section.
The HL7MLLP Profile must be configured before connections can be established with individual HL7MLLP Connectors.
HL7 MLLP Profile Tab
Settings for hosting a local MLLP server.
- Port The port on which to listen for incoming MLLP connections.
- Use SSL/TLS Whether to require incoming connections use SSL/TLS encryption for transport security.
HL7 Personal IDs
- Application Namespace Id (MSH3.1) The application ID that identifies the local namespace for the HL7 protocol exchange.
- Application Universal Id (MSH3.2) The local application universal ID for the HL7 protocol exchange.
- Application Universal Id Type (MSH3.3) A type qualifier to provide context to the local application universal ID.
- Facility Namespace Id (MSH4.1) The facility ID that identifies the local namespace for the HL7 protocol exchange.
- Facility Universal Id (MSH4.2) The local facility universal ID for the HL7 protocol exchange.
- Facility Universal Id Type (MSH4.3) A type qualifier to provide context to the local facility universal ID.
Settings related to server logs.
- Enable Server Log Whether to maintain server-side logs for inbound connections.
- Log Level The Verbosity of the server logs. Debug is recommended when troubleshooting.
- Server Log Rotation When enabled, the application will archive (compress and move) server log files according to the time period specified.
- Server Log Deletion When enabled, the application will delete server log files according to the time period specified.
Settings that rarely need to be modified.
- Inactivity Timeout The amount of time the server will allow clients to remain inactive before the connection is terminated.
- Other An arbitrary set of advanced configuration settings not exposed in the UI.
Once the Profile has been configured, a Connector can be configured with the HL7/MLLP details for a specific trading partner.
Settings related to the core operation of the connector.
- Connector Id The static name of the connector. All connector-specific files are held in a folder by the same name within the Data Directory.
- Connector Description An optional field to provide free-form description of the connector and its role in the flow.
- Remote Host The hostname or IP address of
- Translation Type Whether the connector should convert HL7 documents into XML, or generate HL7 documents from XML.
Settings related to the message headers. When converting HL7 documents into XML, the document headers will be validated against these settings; when generating HL7 documents from XML, these settings will be used to generate document headers.
- Application Namespace Id (MSH5.1) In conjunction with the other 5.X elements, identifies the application on the remote side of the HL7 exchange.
- Application Universal Id (MSH5.2) In conjunction with the other 5.X elements, identifies the application on the remote side of the HL7 exchange.
- Application Universal Id Type (MSH5.3) In conjunction with the other 5.X elements, identifies the application on the remote side of the HL7 exchange.
- Facility Namespace Id (MSH6.1) In conjunction with the other 6.X elements, identifies the facility on the remote side of the HL7 exchange.
- Facility Universal Id (MSH6.2) In conjunction with the other 6.X elements, identifies the facility on the remote side of the HL7 exchange.
- Facility Universal Id Type (MSH6.3) In conjunction with the other 6.X elements, identifies the facility on the remote side of the HL7 exchange.
Settings related to generating and requesting acknowledgments.
- Acknowledgment Type Whether or not acknowledgments should be generated and requested (Original Mode) or ignored (None).
Settings related to the automatic processing of files by the connector.
- Send Whether messages arriving at the connector will automatically be processed.
- Resend Interval The amount of time, in minutes, that the connector will wait for functional acknowledgments before throwing a timeout error. When set to 0, the connector will wait indefinitely.
- Resend Maximum Attempts The number of times the connector will attempt to resend upon failed acknowledgment.
Settings that determine where on disk files will be processed from, and where they will be placed after processing.
- Input Folder (Send) Files placed in this folder will be processed by the connector. If Send Automation is enabled, the connector will automatically poll this location for files to process.
- Output Folder (Receive) Files will be placed here after being processed by the connector. If the connector is connected to another connector in the flow, files will not remain here and will instead be passed along to the Input/Send folder for the connected connector.
- Processed Folder (Sent) After processing a file, the connector will place a copy of the processed file in this folder if Save to Sent Folder is enabled. This copy of the file will not be passed along to the next connector in the flow.
Settings that specify which characters separate elements, segments, etc.
- Data Element Separator The character that separates individual data elements within the document.
- Component Element Separator The character that separates elements within a composite data structure in the document.
- Segment Terminator The character that indicates the end of a segment within the document.
- Release Char The character that ‘releases’ or ‘escapes’ the next character, overriding its usual meaning. This allows reserved characters to appear as data withing documents, as long as they are preceded by the Release Char.
- Repetition Char The character that indicates repetition of element values.
- Suffix Appended to the Segment Terminator to distinguish segments.
Settings related to the allocation of resources to the connector.
- Max Workers The maximum number of worker threads that will be consumed from the threadpool to process files on this connector. If set, overrides the default setting from the Profile tab.
- Max Files The maximum number of files that will be processed by the connector each time worker threads are assigned to the connector. If set, overrides the default setting from the Profile tab.
Settings not included in the previous categories.
- Batch Transactions Whether multiple transactions should be grouped together in a single output file. If false, each transaction found in the interchange will result in a separate output document.
- Expand Qualifier Values When translating EDIFACT into XML, whether elements containing an EDI qualifier will have child elements ‘Code’ and ‘Value’ to express the qualifier code and value. For example:
- Generate Description As Whether the connector should add context to the XML elements representing HL7 values within XML comments, within XML attributes, or not at all.
- Other An arbitrary set of advanced configuration settings not otherwise exposed in the UI.
- Parent Connector The connector from which settings should be inherited, unless explicitly overwritten within the existing connector configuration. Must be set to a connector of the same type as the current connector.
- Strict Schema Validation Whether the connector should Ignore, Warn, or Fail when the following are detected: Repeat counts above the allowed number; missing required elements/segments; invalid qualifier and code values; disallowed element lengths; invalid element values.
- Transmission Control Whether the connector should wait for outgoing transmissions to be acknowledged before sending the next transmission.
- Local File Scheme A filemask for determining local file names as they are processed by the connector. The following macros may be used to reference contextual information:
%ConnectorId%, %Filename%, %FilenameNoExt%, %Ext%, %ShortDate%, %LongDate%, %RegexFilename:%, %DateFormat:%, %ControlNumber%, %TransactionControlNumber%, %TransactionCode%, %StandardVersion%.
As an example: %FilenameNoExt%_%ControlNumber%%Ext%
- Send Filter A glob pattern filter to determine which files in the Send folder will be processed by the connector (e.g. *.edi). Negative patterns may be used to indicate files that should not be processed by the connector (e.g. -*.tmp). Multiple patterns may be separated by commas, with later filters taking priority except when an exact match is found.
- Log Messages Whether the log entry for a processed file will include a copy of the file itself.
- Save to Sent Folder Whether files processed by the connector should be copied to the Sent folder for the connector.
XML to HL7
When generating HL7 files, the connector will apply transaction headers based on the HL7 Personal IDs section in the Profile and the HL7 Settings section in the connector. The remaining data should come from XML input files, and more information on generating the appropriate XML input files can be found in the Use with the XML Map Connector section.
Files that arrive in the Input/Send Folder for the connector will be packaged into HL7 documents and sent out over MLLP. Files can arrive in this folder either by dropping the file direction in the folder path on disk, or by connecting another Arc connector to the HL7 MLLP Connector in the Flow.
HL7 to XML
When converting HL7 documents into XML, the application will verify the interchange headings from the inbound document against the HL7 Personal IDs section in the Profile and the HL7 Settings section in the connector. The XML generated from the HL7 document is placed in the Output/Receive Folder to be passed along in the Flow for further processing.
More information on processing the translated XML can be found in the Use with the XML Map Connector section.
Use With the XML Map Connector
Following the typical Arc convention, the HL7 MLLP Connector expects XML input and generates XML output. To ensure that these input and output files have the appropriate XML structure, it is strongly recommended to use the XML Map Connector as the prior step (when generating outbound HL7 documents) or succeeding step (when receiving inbound HL7 documents) in the Flow.
The interaction between the XML Map Connector and the HL7 MLLP Connector is made simple by the Upload Test File feature. This feature is found in the HL7 MLLP Connector’s Input tab, as part of the More dropdown button. After selecting this option, navigate to an HL7 file on disk that represents the structure of HL7 documents that the connector should process. The connector models the sample document as XML internally, and the XML Map Connector can detect this XML model.
When an XML Map Connector is connected to an HL7 MLLP Connector in the Flow, it will detect any XML models generated from the Upload Test File feature. These models will be made available as Source Template or Destination Template files in the XML Map Connector (depending on whether the XML Map Connector precedes or succeeds the HL7 MLLP Connector in the Flow). These auto-detected templates are used to easily map data to or from the HL7 structure.
Note that XML Map Connectors require both a Source and Destination template, so the remaining template must be set according to whatever structure the data originates from or should be converted to. For example, if the data from the HL7 document needs to be inserted into a database, the other template in the XML Map Connector would be the XML model of a database insert. Please see the XML Map Connector’s dedicated documentation page for more information on creating the mapping between two template files.