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:
- Message Routing
- Message Translation
- 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
- Messages that are being modified in Mirth are converted to XML. Therefore, Mirth is richer and stronger in its support of XML.
- 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:
- Inbound Thread
- Inbound filtering
- Routing and filtering
- Translation and filtering
- Outbound filtering
- One or more Outbound Threads
Cloverleaf is more granular than Mirth with the following building blocks:
- Site – A self contained instance of Cloverleaf on the same server which contails the following:
- An instance of the Raima Database for storing messages while they are processed through the interface engine.
- A Lock Manager to control access to Raima.
- 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.
- The configuration for the following which are contained in the site:
- Processes
- Treads
- Routing
- Translations including variants and tables.
- TCL and/or Java code for modifying messages
- Alerts
- The message archives.
- Master Site – A Master Site may be used to hold configuration objects common to all sites. It may contain:
- TCL or Java code.
- Message formats and variants.
- Translations
- Tables
- Threads – Are synonymous with Mirth Connectors. There are three types of threads:
- Inbound – Correlates to a Mirth Source Connector. Receives inbound messages from other systems, Cloverleaf sites or processes.
- 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.
- 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.
- Each thread may be started or stopped independently of the other threads in a process.
- Processes
- Processes are used to group similar threads together.
- Each process may be started and stopped independently of the other processes in the site.
- Threads may be set to start when the process is started.
- Threads are executed on a round robin basis. There is no method to specify the order of execution.
- Recovery Database – Stores messages as they flow from the inbound thread to one or more outbound threads.
- 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:
- Source Connector Processing:
- Raw inbound message
- Conversion to XML (optional validation)
- Inbound filtering (optional)
- Inbound Transformations (optional)
- Encode message for outbound protocol of the Inbound Connector
- One or more Destination Connector Processing:
- Raw inbound message
- Conversion to XML (optional validation)
- Outbound filtering (optional)
- Transformations (optional)
- 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:
- All connectors execute in the same thread.
- The sequence for executing the Destination Connectors is the order defined on the Destination tab of the Channel.
- The execution of each destination will not start until the execution of the previous Destination Connection is completed.
- 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.
0f1283b4-67ac-4fad-8a96-4aa4905658de|3|4.7
Tags:
Cloverleaf, healthcare information technology, Healthcare Integration, Healthcare System Integration Consulting, healthcare systems integration, hl7, Integration, interfaces, mirth, Mirth Connect, System Integration
Categories:
Cloverleaf Integration | Data Integration | Healthcare Integration | Healthcare IT | Integration | Middleware platform | System Integration