MLLP

Minimal Lower Layer Protocol (MLLP) is a transport protocol primarily designed for the health industry to send HL7 documents. It can also be used to send XML documents. You can configure Interchange to exchange documents over MLLP with back-end applications and with remote trading partners. In an MLLP exchange you can configure Interchange to act as either an MLLP client or an MLLP server.

MLLP server configuration

To configure Interchange as an MLLP server, you add an MLLP type pickup to a community and use the functionality of an embedded MLLP server to consume and respond to messages sent by MLLP clients. You can configure the MLLP server to respond synchronously or asynchronously.

This MLLP server can consume requests from clients either in the back end (applications) or over the internet (trading partners).

MLLP client configuration

To configure Interchange as an MLLP client, you create either an MLLP partner trading delivery (to send messages to an MLLP server hosted by a partner), or an MLLP community application delivery (to send messages to an MLLP server application located in the back end).

MLLP use cases

There are two principal use cases for MLLP configuration in Interchange:

  • Asynchronous transfers
  • Synchronous transfers

Use case 1: Asynchronous MLLP exchanges

In an asynchronous MLLP exchange, the recipient of the message responds to the request with a protocol acknowledgement, but the handling of the message in the back end is handled asynchronously. The following paragraph describes a use case in which this exchange pattern is used.

A doctor edits a medical summary for a patient and submits the summary (via an MLLP client) to a health organization (hosting an MLLP server). The server immediately acknowledges the transfer request (protocol-level acknowledgement) and delivers the document to a back-end application of the health organization for processing, billing, etc.

Figure illustrating an asynchronous MLLP exchange between a medical clinic and a health organization.

Asynchronous MLLP client configuration

To configure the MLLP client for an asynchronous exchange:

  1. Create a community to represent the doctor's organization.
  2. See Add a community.
  3. On the community, add a file system type application pickup to consume the medical summary from the doctor's file system outbound folder.
  4. See File system transport configuration.
  5. Create a partner to represent the remote MLLP server of the health organization.
  6. See Add a partner.
  7. On the partner, create a trading partner delivery to define the connection to the MLLP server.
    • When you create the delivery, select the delivery type MLLP.
    • In the delivery settings, enter the network address and access port of the MLLP host.
    • In the Advanced tab of the delivery, select the option Acknowledgement expected from the target MLLP server.
  8. See Add or modify an MLLP trading delivery.

Asynchronous MLLP server configuration

To configure the MLLP server for asynchronous responses to a client:

  1. Create a community to represent the health organization.
  2. See Add a community.
  3. On the community, add a trading pickup to enable the consumption of the client request.
    • When you create the pickup, select the pickup type MLLP.
    • In the pickup settings, enter the machine name and port for connections.
  4. Interchange automatically sets up an embedded MLLP server.
  5. See Add or modify an MLLP trading pickup.
  6. Open the maintenance page for the MLLP embedded server Advanced tab, and select the acknowledgement mode Send transport level MLLP acknowledgement.
  7. See MLLP (embedded) fields .
  8. On the community create an application delivery to transfer the HL7 document to the destination application. For example we can create a file system delivery with a reception destination folder.
  9. Add an application delivery.

Use case 2: Synchronous MLLP exchanges

In a synchronous MLLP exchange, the recipient of the message keeps the connection open until a functional acknowledgement (HL7 message) has been returned from the back end. The following paragraph describes a use case in which this exchange pattern is used.

A doctor has a patient's local-office identification but requires the patient's alternate global ID. Using an MLLP client application, the doctor sends the local ID to a remote patient ID repository which hosts an MLLP server and master patient database. The MLLP server receives the query, and forwards it to the master patient database where a patient reference table is set up. The patient ID database application returns the resolved patient ID to the MLLP server in the form of an MDN. The MDN also specifies the original request connection ID so that Interchange can tie the resolved patient global ID to the doctors original request. The MLLP returns the global ID to the doctor over the same MLLP connection that was opened for the query.

Figure illustrating a synchronous MLLP exchange between a medical clinic and a health organization.

Synchronous MLLP client configuration

To configure the MLLP client for an synchronous exchange:

  1. Create a community to represent the doctor's organization.
  2. See Add a community.
  3. On the community, add a file system type application pickup to consume the HL7 patient ID resolution request deposited by the doctor.
  4. See File system transport configuration.
  5. Create a partner to represent the remote MLLP server (in this case, the MLLP server is linked to an ID repository database application).
  6. See Add a partner.
  7. On the partner, create a trading partner delivery to define the connection to the MLLP server.
    • When you create the delivery, select the delivery type MLLP.
    • In the delivery settings, enter the network address and access port of the MLLP host.
    • In the Advanced tab of the delivery, select the option Acknowledgement expected from the target MLLP server.
  8. See Add or modify an MLLP trading delivery.

Synchronous MLLP server configuration

To configure the MLLP server for asynchronous responses to a client:

  1. Create a community to represent the MLLP server.
  2. See Add a community.
  3. On the community, add a trading pickup to enable the consumption of the client request, and synchronous response.
    • When you create the pickup, select the pickup type MLLP.
    • In the pickup settings, enter the machine address and port for connections.
  4. Interchange automatically sets up an embedded MLLP server.
  5. See Add or modify an MLLP trading pickup.
  6. Open the maintenance page for the MLLP embedded server Advanced tab, and select the acknowledgement mode Send synchronous application acknowledgement generated in back end.
  7. See MLLP (embedded) fields .
  8. On the community create an application delivery to transfer the HL7 document to the patient ID repository server.
  9. See Add an application delivery.

Related topics

Related Links