Professional Documents
Culture Documents
Executive Summary
COMPANY Xs IT department develops their own interfaces. In this case study, this effort is currently
done with Cloverleaf Integration Suite as their interface engine.
This case study examines the open source interface engine, Mirth Connect. Mirth Connect is an open
source standards-based health care integration engine. Mirth Connect facilitates the routing, filtering, and
transformation of messages between health information systems over a variety of protocols (like LLP,
Database, and FTP) with support for numerous standards (such as HL7, XML, and DICOM). 1
Initial investigations of Mirth Connect reveal the potential for:
significant cost savings,
increases in staffing availability and utilization,
reliable disaster recovery capabilities, and
a flexible development / infrastructure architecture.
Situation
What is causing this change now? The original focus for COMPANY XS interface engine was clinical
information systems, but the focus in now expanding beyond just clinical information systems. This and
the other issues listed below spurred the creation of this case study.
Money
Since the inception of using Cloverleaf in 2005, COMPANY X has incurred approximately $200K in
purchasing interface threads and over $100K in maintenance of these threads. As such, COMPANY X has
spent over $300K on Cloverleaf.
An average of $25K worth of new threads is purchased every year. Maintenance costs increase linearly
with thread purchases at a stable rate of 18%. The current annual maintenance costs are $37K.
The historical trend and the foreseen projects both indicate the annual need for new threads will continue
to increase.
Staffing
With increasing demands for new interfaces, availability and utilization of staff is becoming a serious
concern. While internal demands are one source for new interface requests, theres also a reasonable
desire to collaborate with affiliates that produces new requests.
http://www.mirthcorp.com/products/mirth-connect/faq
Utilization
Utilization of current interface developers can be reduced when approval of licensing and limited access
to the testing environment cause delays.
The concept of standardization is a current goal with one potential benefit being improved utilization of
developers by sharing of development staff between teams. Cloverleafs development environment as
mentioned earlier is based on a niche development language, making sharing of developers difficult due
to the high learning curve presented by Cloverleaf.
Cloverleaf was not built with the concepts of being a rapid development environment with easy reuse of
previous development efforts. This further reduced potential productivity.
Collaborations
An open exchange of interfaces where COMPANY X and affiliates could collaborate on interface
development would help reduce COMPANY X staffing requirements for interface development.
Unfortunately, none of COMPANY Xs affiliates have purchased Cloverleaf due to the expense of this
interface engine.
Some of COMPANY Xs affiliates do currently utilizes Mirth as their interface engine.
Disaster Recovery
Discussions aimed at improving disaster recovery have brought to light Cloverleaf vulnerabilities.
There is no reliable backup from which COMPANY X can perform a restore. By using flat files for a
database, the most important files for backing up Cloverleaf are kept open by the application and thus
are unavailable to backup processes. The files needed for Cloverleaf recovery are not saved.
Even if the appropriate files for manual rebuild were available, the Cloverleaf site locking restrictions
would allow only one developer per site to be performing the rebuild. As such, restoring Cloverleaf would
take at least a day or two.
Architecture
Security
Security consolidation efforts recently highlighted that the implementation of Cloverleaf is lacking in
security. Given that Cloverleaf has access to all patient data, this lack of security makes Cloverleaf
COMPANY Xs largest security vulnerability.
Development Environments
With Cloverleaf each site will only allow one developer to work on that site at time. With more interface
developers recently hired / to be hired, this restriction becomes more of a problem. Cloverleafs
development locking mechanism is implemented in such a way that developers do not know if another
developer is working on the site, the only way to start developing is to break a lock, and breaking the lock
causes any current work on the site to be lost.
Version Control
Cloverleaf has a weak version control, but restoring requires a manual process. The version control is
more of a save by save archive. Restoring could mean trying multiple version of the file until the last
good version is found, meaning delays in rolling back. Due to the numerous revisions kept, comparisons
between versions are not very useful.
Testing Environments
Currently there is only one test environment. In order to test in different environments in Millennium
certain parts of the engine needs to be redirected on the test interface engine. As a result, a potential
bottleneck for project timelines occurs when testing for different projects needs to be done in the different
environments.
Open Source
A large part of Cloverleaf is open source as discussed earlier. Cloverleafs implementation of open source
tools is often years behind current versions. Updating the open source components of Cloverleaf would
invalidate the maintenance agreement.
Databases
Cloverleaf database was recently corrupted twice in one week. Recovery from corruptions is a manual
process, which can be quite time intensive.
Background
How did COMPANY X get into the current situation? Cloverleaf was brought in to replace an old
interface engine that was no longer being supported. At the time COMPANY X was focused mainly on
clinical information system interfacing, and Cloverleaf was considered one of the better solutions for such
Lawson Background
For more than 30 years, Lawson has delivered enterprise resource planning (ERP) solutions that offer
performance, reliability, flexibility, cost-effectiveness and scalability.
By 1990, Lawson had 250 employees and $30 million in sales. Lawson broke ranks with other ERP
vendors by committing itself to developing solutions that met the particular needs of specific industries.
The company made a decision to focus on industries including manufacturing, distribution, healthcare,
retail, financial services and the public sector.
Lawson's successful initial public offering was in 2001. Since then, Lawson has continued to build on the
foundation of flexible architecture, analytics and web-addressable applications acquiring several
companies and developing several inventive new products through the first decade of this new century.
In 2003, the Lawson dedicated support team achieved an unprecedented sixth Support Center Practices
certification.
Today, Lawson continues to break new ground with a wide variety of opportunities including
innovations in software, services, support and a continued refinement of their partner network to help
customers streamline their operations and save time and money with world-class ERP solutions. 2
KLAS reports on interface engines ranks Cloverleaf as the 6 th best interface engine.3
http://www.lawson.com/About-Lawson/Company-Overview/History/
http://www.klasresearch.com/Research/Products/?ID=55353
http://www.mirthcorp.com/company/about
http://www.klasresearch.com/Research/Products/?ID=47554
Analysis
Lets review what COMPANY Xs investigation shows in comparing Cloverleaf and Mirth.
Money
Here is a preliminary cost comparison of the differences in the licensing, maintenance, and support costs
between Cloverleaf Integration Suite and Mirth Connect.
The costs for the Cloverleaf Integration Suite include:
yearly thread maintenance for COMPANY X is currently ~$40K
The costs for Mirth Connect include:
free threads (which Mirth calls channels),
free documentation capabilities within the open source engine,
there are options for a Virtual Mirth Appliance of specific interest would be the Multi-Client
Gateway option for $9,999 to purchase / $1,999 for maintenance, and
three tiers are available for support (silver- $2,500, gold - $10,000, platinum TBD).
Making some conservative assumptions COMPANY X can estimate a cost comparison for a 5 year
period. These assumptions being:
future projects (HIE, meaningful use, ACO, etc.) will require additional threads at the same
average rate to previous years, which would be $25K for Cloverleaf and free for Mirth,
thread maintenance will remain 18% for Cloverleaf and free for Mirth,
Mirth platinum support would be at most $40K and after the first year COMPANY X would
move down to gold support for future years at $10K, and
we choose to purchase ($9,999) and maintain ($1,999) a Mirth VM appliance. If no significant
benefits are available for purchasing the Mirth VM appliance, then instead COMPANY X could
build COMPANY Xs own Mirth LPAR or VM.
REDACTED - Yearly price comparison between Cloverleaf and Mirth Table for a specific
healthcare organization showing Cloverleaf costing more than 3 times Mirth over a 5 year period.
While this is a simple model, it is clear from these estimates that over the long term Mirth presents a
potential financial benefit. The most important factor to take away is that Mirth becomes a fixed annual
cost, while Cloverleaf represents an annually increasing cost. For a more complete estimate of cost
savings, other factors would need to be incorporated, such as:
the transition costs and time,
hardware costs for each option (initial investigations indicate Mirth will require less),
potential thread licensing and maintenance price increases due to Lawson now having to respond
to Wall Street expectations,
true Mirth platinum cost (which is expected to be less), and
a determination if a Mirth VM appliance is desired.
Staffing
Exploring Cloverleaf and Mirth, COMPANY X can see the differences in availability and utilization of
staff as well as opportunities for collaborations to reduce staff effort.
Availability
Cloverleaf utilizes TCL for thread development, which is a niche skill set. In-house the TCL skill set is
limited to the interface development team. A cursory search did not identify any outside consulting firms
that do TCL. When demand for interface development outpaces COMPANY Xs current staffing
capabilities, supplementing COMPANY Xs staff will be difficult.
Mirth utilizes JavaScript for thread development, which is one of the core languages used for web
development. In-house this skill set would be readily available in the web development team. A cursory
search quickly identifies multiple consulting firms that do JavaScript. As such, JavaScript is a readily
available skill set in comparison to TCL. A good business requirements document (developed in
collaboration with in-house interface developers) would allow supplementing by in-house or outside
consultants when demand for interface development outpaces COMPANY Xs current staffing
capabilities.
Initial investigations found in the UK that JavaScript average daily rates 6 are 71% of the cost of TCL
average daily rates7 for the 3 months up to April 7, 2011.
Utilization
Cloverleaf delays waiting on approval of licensing could be resolved by having an excess of licenses
always available. Delays due to lack of testing environments could be resolved from having extra testing
environments (which is discussed in the Architecture section).
Theres a high learning curve presented by Cloverleaf using the TCL language. COMPANY X found only
one new TCL book available for examples. Thus bringing in new developers not familiar with TCL would
take time to ramp up. TCL syntax checking needs to be done outside of Cloverleaf with separate tools.
For Mirth, JavaScript is a standard development language that is widely used. JavaScript has extensive
training material available. Examples for advanced JavaScript development are readily available.
JavaScript syntax checking is built into Mirth.
Better and more standardized development tools would allow staff to complete projects faster and more
reliably. Initial internal staff testing indicated that Mirth is a faster and easier interface development tool
than Cloverleaf.
To validate in-house developers opinions online reviews were examined. Besides the KLAS report
shown earlier here are some specific developer quotes:
"As a Senior Integration Consultant I have worked with Cloverleaf, Rhapsody and many other integration
engines. Recently I had the opportunity to work with Mirth Connect... Mirth is a great little interface
engine, it supports all the basic standards of the healthcare industry." 8
http://www.itjobswatch.co.uk/contracts/uk/javascript.do
http://www.itjobswatch.co.uk/contracts/uk/tcl.do
8
amBlog/?tag=/Mirth+Connect
7
http://www.orchestratehealthcare.com/capabilities/the-mirth-connect.html
Quote from MC in California http://www.mirthcorp.com/company/testimonials
10
Disaster Recovery
To have a reliable backup for restoring from Cloverleaf, COMPANY X would need to create and
implement manual build policies and procedures. A manual build event would require the necessary
scripts and XLATEs (Cloverleaf translations) to be regularly saved. Saving such files to a secondary
location, the DR site, would make the rebuild feasible.
Cloverleaf site locking restrictions would allow only one developer per site to be performing the rebuild.
There is no mechanism available to reduce this recovery bottleneck. As such, this path would mean a
rebuild time of at least a day or two. Another issue is that rebuilding Cloverleaf on another server would
require new thread licenses for that server for the rebuild.
We could make a LPAR for Cloverleaf and leverage the high availability capabilities. This is not currently
done, and would involve further costs. Testing would be required to confirm it works. The result would be
a recovery time would be less than an hCOMPANY Xs.
In comparison, Mirth can be hosted on a LPAR or VM, allowing Mirth to be brought up rapidly at the DR
site. With a VM, the restore would be up within seconds.
11
http://developer.connectopensource.org/download/attachments/28082252/CONNECT_Release_2_2_MIRTH_HIE
M_File_Transfer_Adapter_Installation_and_Configuration_010810.pdf?
version=1&modificationDate=1262978079000
12
http://www.mirthcorp.com/webinars/mirth-nhin-connect-webinar
Architecture
An architecture diagram for Cloverleaf would be similar to the Mirth Connect architecture diagram
below. Unfortunately COMPANY X was unable to locate a Cloverleaf architecture diagram.
10
Development Environments
With more interface developers recently hired / to be hired, Cloverleafs development locking mechanism
will increase the chances for code loss. Creating more Cloverleaf development environments, one for
each developer, would eliminate this issue but means purchasing more thread licenses. This would mean
$200K per developer for completely separate development environments.
In Mirth, the only potential for lost work is only if two developers are working on the exact same
interface on the same development server. It is easy to install a local version of Mirth, which completely
eliminates such conflicts. Thus Mirth has a significantly lower risk for lost work.
Cloverleaf supported message standards include:
HL7
X12*
UN/Edifact
XML
NCPDP
Delimited Text
*Lawson has yet to fix the HL7 to X12 conversion utility, but an easy hack returns this functionality.
11
Version Control
A standard software practice is to perform version control. A good version control would maintain code
versions of interfaces:
13
12
Testing Environments
Currently to test in different environments in Millennium certain parts of the engine need to be redirected
(e.g. ADT). This produces a potential bottleneck for project timelines when testing needs to be done in the
different environments.
In order to implement quality testing environments in Cloverleaf, 6 separate test sites would need to be
created. Currently this would mean spending approximately an additional $200K to purchase thread
licenses along with maintenance for these threads.
For Mirth Connect, there would be no additional costs to produce numerous test sites. As a result, project
delays for testing would be reduced.
Open Source
Cloverleaf has various open source products as part of its core system. These include:
cURL 7.18.2
jvm 6.0
openSSL 0.9.8e
perl 5.8.8
Tcl 8.4.2
xerces 2.7 (XML)
xalan 1.10 (XSLT)
Researchers have demonstrated that open source is no more or less secure than closed source tools; so
Cloverleafs utilization of open source is quite understandable. 14 That said, ensuring open or closed source
systems are secured requires keeping up with more recent version of such tools. Cloverleafs
implementation of open source tools is often years behind current versions. One significant concern is
OpenSSL 0.9.8e was released in 2004.
Mirth is a completely open source product. The history of the Mirth Connect produce shows a more
diligent effort to ensure open source components are kept up to date. 15
14
R. Anderson, Security in Open versus Closed Systems - The Dance of Boltzmann, Coase and Moore,
http://www.cl.cam.ac.uk/~rja14/Papers/toulouse.pdf
15
http://www.mirthcorp.com/default/mirth-connect-20-release-notes
13
Recommendation
Based on the current situation and the initial case study here are specific recommendations for
COMPANY X.
First, there should be a more in-depth study for a go / no-go determination on a one year Mirth project.
After a year, a review should be done to determine if:
Cloverleaf should be retained as the sole interface engine,
a dual interface engine environment should be maintained, or
a complete migration to Mirth Connect as COMPANY Xs interface engine should be performed.
Money
Further investigation should be performed to produce detailed project costs and realistic cost saving
estimates by pursuing Mirth. Results from this investigation should be used in a go / no-go determination
for a one year Mirth project.
In a year these cost projections should be revised. A review should be performed to determine if cost
projections still indicate that Mirth is a good option to pursue and at what level it should be pursued.
Staffing
Staffing availability and utilization should be tracked and potential benefits from collaboration
explored. In a year, staffing requirements of Mirth development efforts should be reviewed and
compared with Cloverleaf development efforts.
Availability
Use of JavaScript developers from other teams should be tested to confirm increased staffing availability
when needed.
Potential consulting companies for Cloverleaf and for Mirth development should be identified with
determination of prices. Besides offering a comparison this will also setup the infrastructure for rapid
hiring of consultants if ever needed to supplement current staff for interface work.
Utilization
Current in-house developers should use Mirth for new interface projects. Estimates of increased
productivity should be tracked to determine improvements in staff utilization.
Development on existing interfaces should continue in Cloverleaf with tracking estimates of staff
productivity.
14
Collaborations
Collaboration projects should utilize Mirth. A code sharing environment should be setup to encourage
regional collaborations, especially between affiliates and COMPANY X staff, on Mirth interface
development. This will help reduce the required COMPANY X efforts for collaboration projects. This
would also present an opportunity to offer a free hospital-based aggregation service to area physicians.
Disaster Recovery
Even if Cloverleaf were to be completely replaced by Mirth that would be a long term project. As such,
manual rebuild event policies and procedures should be developed and implemented for a realistic
capability to restore Cloverleaf.
Policies and procedures for maintaining a Mirth LPAR or VM at the DR site for rapid disaster recovery
should be developed and implemented.
Architecture
Security
A good security practices encourage a multi-layered defense that requires a multi-vector attack in order to
penetrate communications. COMPANY Xs security experts better versed in this environment would have
more ideas, but here are a few potential defensive layers:
configuring the network firewall to only allowing specific IPs to communicate with the interface
server(s)
adding TCP wrappers on the server side,
encrypting these communications via SHH tunneling, SSL tunneling and/or VPN encryption
(which should be feasible outside of the Cloverleaf and Mirth engines, removing the need for
Cloverleaf Secure Messenger to add this capability), and
encrypt databases that are only used by Mirth (Cloverleaf does not have encryption capability
with databases).
The Cloverleaf and Mirth development tools should also be restricted. The firewall IP restrictions can
again act as one layer of defense. Citrix role based access control is probably already being used to help
restrict access to developers.
Mirth should be configured to require complex passwords. While password protection of Cloverleaf
would be good... it would require Cloverleaf Security Server.
15
Development Environments
Explore different development environment configurations made possible with Mirth. Track the problems
and advantages of Cloverleaf and Mirth development environments for the one year review.
Version Control
Create and implement policies and procedures for the manual process of rolling back with Cloverleaf.
Develop policies and procedures for using Subversion with the release of Mirth 2.2. Examine the roll
back, comparison of previous versions, and documentation capabilities.
Testing Environments
Wait until the one year review to determine if an addition $200K should be spent to implement testing
sites for Cloverleaf.
For Mirth, implement four test environments one for each Cerner development environment and one for
COMPANY Xs interface team usage.
Open Source
Given both products are strongly if not entirely based on open source, so there is little to be discussed
regarding this topic.
Databases
Determine which database to use for Mirth that would best fit within COMPANY Xs environment.
16