MLLP Overview

Note: All queue-based operations discussed in this section are supported only for the Cleo VLTrader and Cleo Harmony applications.

 The MLLP (Minimal Lower Layer Protocol) provides a minimalistic OSI session-layer framing protocol. It is commonly used within the HL7 (Health Level Seven) community for transferring HL7 messages and acknowledgments. MLLP is defined under two releases: Release 1, which does not provide built-in reliable delivery assurance; and Release 2, which provides delivery assurance through the use of commit acknowledgments. Release 1 is most commonly used with HL7 Version 2.x, while Release 2 is typically used with HL7 Version 3. If security is required, additional protocols or packaging can be layered on top of MLLP to achieve these goals.   

Within the MLLP protocol, it is important to understand senders and receivers. 
  • A sender is defined by an action that contains either one PUT command (queue-based) or one-to-many PUT commands (file-based). The sender, depending upon its configuration, will maintain a persistent or a transient connection with the receiver. If the send action is associated with queuing, the connection will be persistent; the connection will be opened when the action is started (either automatically at startup or manually by the user) and continue indefinitely until the action is stopped by the user. If the send action is not associated with queuing, the connection will be transient; the connection will be opened at the beginning of the action and closed at the end of the action. 
  • A receiver is defined by an action containing a singular GET command. The receiver, once its action is started (either automatically at startup or manually by the user), will enter a listening state, waiting for a sender to connect to it. Once connected, the receiver will keep the connection open, processing incoming messages, until the sender disconnects. After the connection is closed, the receiver will return to a listening state. Only one sender can be connected to a receiver at a time. The receiver, once successfully started, can only be stopped by the user.  

The operation of an MLLP host is very similar to other hosts (for example, AS2, ebXML) within the VersaLex application. For example, the concepts of host, mailbox, and actions still exist. However, since MLLP supports only direct connections between a sender and a receiver, and there is no authentication process, only one mailbox is allowed per host.  

An MLLP host, in its strictest sense, does not need to be tied to an HL7 application or HL7 payload; however, in practice, it most likely will be. Therefore, all discussions within this section relate MLLP and HL7 together.

The following action commands are available with the VersaLex application:

  Command Purpose
Host commands PUT Send one or more messages to the host
  GET Receive one or more messages from the host
     
Local commands SYSTEM Execute a local system command
  WAIT Pause
  SET Set a property
  CLEAR Clear a string property
  LCOPY Copy one or more local files
  LDELETE Delete one or more local files
  LREPLACE Replace bytes in one or more local files
  CHECK Check for a transfer, file, or directory (Cleo VLTrader and Cleo Harmony applications only)
  SCRIPT Execute a JavaScript File (VLTrader and Harmony only)