making better healthcare possible®

Mirth Connect a Comparison

Purpose

The Cloverleaf Integration Suite, CIS, is an interface engine.  It has been the workhorse of the Healthcare industry for processing transactions between different systems by performing the following functions:

  1. Message Routing
  2. Message Translation
  3. Implementation of workflow and business rules concerning message transactions.

Cloverleaf is a commercial product rich in features.  Additional functionality may be added by purchasing licenses and installing new software.  This series of articles will focus on the base Cloverleaf product

Mirth Connect is an open source interface engine is rich in features as well.  The purpose of this series of articles is to perform an unbiased comparison of the features and architecture of both interface engines

Feature Comparison

The following table is a comparison of the main features offered by both products.  Where there are features included in one but not the other except as a licensed addition which requires an expenditure have been noted.

Feature

Cloverleaf

Mirth Connect

Supported OS

AIX

HP/UX

Solaris

Redhat Linux

Windows XP/SP3

Windows 2003 Server SP2

Windows 2008 Server SP1

Windows Vista Business SP1

Windows 7 Professional

Linux

Mac OSX

Windows XP, Vista, 7, Server

Scripting language

TCL – Most implementations

Java – JVM is part of Cloverleaf; JDK is required and must be downloaded separately.

JavaScript

Internal Database

Ramia

Default open source is Apache Derby

Can be configured for others as well including:

PostgresSQL

MySQL

Oracle 10g

SQL Server

SQL Server 2000

 

Mirth Appliances use PostgresSQL as the default

Supported Standards

HL7 v2.x

HL7 v3 (XML)

X12

XML

 

EDI

NCPDP Telecom – Requires License

NCPDP Formulary Benefit – Requires License

NCPDP Script – Requires License

Variable Record Layout – VRL

Fixed Record Layout – FRL

Hierarchical Record Layout – HRL

HPRIM – Used in France

HL7 v2.x

HL7 v3

X12

XML

DICOM

EDI

NCPDP

 

 

 

Delimited Text

Supported Protocols

MLLP

TCP/IP

HTTP

Files

Database – Licensed add-on – TCL extensions

FTP SFTP – Requires License

 

MQ

 

 

Custom TCL & Java

 

The following are supported by AIX only:

LU 2

LU 6.2 APPC

LU 5.2 PPCF

MLLP

TCP/IP

HTTP

Files

Database

S/FTP

Email

JMS

Web Services

PDF/RTF Documents

Custom Java and JavaScript

 

Additional Support Plugins:

Secure Connection (SSL) Manager

User Roles

Channel History

Feature Differences

  1. Messages that are being modified in Mirth are converted to XML.  Therefore, Mirth is richer and stronger in its support of XML.
  2. Cloverleaf is very strong with handling very complex message formats which occur on older legacy systems.  The FRL and VRL Configuratiors allow for building both fixed length records and variable length delimited message formats.  The HRL Configurator allow the building of complex message formats consisting of any combination of FRL and VRL definitions.

Terminology

Cloverleaf

Mirth

Thread

Connector

Does not use the term channel but it would consist of an inbound thread, a translation thread (associated with the inbound thread) and one or more outbound threads.  The outbound threads may be contained   in multiple processes but his will impact performance.

Channel

Translation

Transformation

UPOC – User Point of Control

JavaScript Context

Site – A large number of interfaces may be implemented in multiple sites for performance, to separate facilities, group similar interfaces, etc.

 

Process – Threads run in the specified process.

 



Architecture

Cloverleaf

The basic message flow is in the following sequence:

  1. Inbound Thread
  2. Inbound filtering
  3. Routing and filtering
  4. Translation and filtering
  5. Outbound filtering
  6. One or more Outbound Threads

Cloverleaf is more granular than Mirth with the following building blocks:

  1. Site – A self contained instance of Cloverleaf on the same server which contails the following:
    1. An instance of the Raima Database for storing messages while they are processed through the interface engine.
    2. A Lock Manager to control access to Raima.
    3. A Monitor Daemon that updates information for the Net Monitor which displays information and statistics for the processes and threads associated with the site.  It also generates alerts as well.
    4. The configuration for the following which are contained in the site:
      1. Processes
      2. Treads
      3. Routing
      4. Translations including variants and tables.
      5. TCL and/or Java code for modifying messages
      6. Alerts
      7. The message archives.
  2. Master Site – A Master Site may be used to hold configuration objects common to all sites.  It may contain:
    1. TCL or Java code.
    2. Message formats and variants.
    3. Translations
    4. Tables
  3. Threads – Are synonymous with Mirth Connectors.  There are three types of threads:
    1. Inbound – Correlates to a Mirth Source Connector.  Receives inbound messages from other systems, Cloverleaf sites or processes.
    2. Translation – There is one translation thread for each process.  The messages from the inbound threads of the process pass through this thread even if no translations are performed.
    3. Outbound – Correlates to a Mirth Source Connector.  An output thread may be contained within the same thread as the inbound threads that are routed to it or in a different process.  Note:  There is significant performance degradation when the inbound and outbound threads for an interface are in different process.
    4. Each thread may be started or stopped independently of the other threads in a process.
  4. Processes
    1. Processes are used to group similar threads together.
    2. Each process may be started and stopped independently of the other processes in the site.
    3. Threads may be set to start when the process is started.
    4. Threads are executed on a round robin basis.  There is no method to specify the order of execution.
  5. Recovery Database – Stores messages as they flow from the inbound thread to one or more outbound threads.
  6. Error Database – Contains messages that could not be successfully processed.

Mirth Control

Mirth uses the concept of channels.  A channel consists of a single source connector with one or more destination connectors.

The basic flow is similar to Cloverleaf:

  1. Source Connector Processing:
    1. Raw inbound message
    2. Conversion to XML (optional validation)
    3. Inbound filtering (optional)
    4. Inbound Transformations (optional)
    5. Encode message for outbound protocol of the Inbound Connector
  2. One or more Destination Connector Processing:
    1. Raw inbound message
    2. Conversion to XML (optional validation)
    3. Outbound filtering (optional)
    4. Transformations (optional)
    5. Encoded outbound message

Mirth is not as granular as Cloverleaf but is very flexible.

Channels may execute as synchronized or unsynchronized.  The advantages of a synchronized channel are:

  1. All connectors execute in the same thread.
  2. The sequence for executing the Destination Connectors is the order defined on the Destination tab of the Channel.
  3. The execution of each destination will not start until the execution of the previous Destination Connection is completed.
  4. The Source Connector may respond from any Destination Connector in the channel.

Unsynchronized Channels execute the Destination Connectors concurrently in separate threads.  The order of execution is nondeterministic. Also, a Source connector may not respond from a Destination Connector.

Again, Cloverleaf does not have the ability to define the execution order of its Outbound Threads in a process.

Summary

Both Cloverleaf and Mirth Connect is full featured Interface Engines that provide the commonly used protocols.  At the high level their architecture is similar.  The main difference is the granularity of Cloverleaf instances or Sites on the same server.

Future articles will delve into more architectural details and other features of both products in order to weigh the pros and cons of both.

When it comes to expertise in Healthcare IT Integration, Santa Rosa  Consulting offers the widest range of experienced professionals in the industry. To learn more about Santa Rosa Consulting, please check out our web site at www.santarosaconsulting.com or call Bruce Grambley, Associate Partner at 248-415-0021 or email brucegrambley@santarosaconsulting.com.