SIIM Search:
SIIM: Innovating Imaging Informatics
JDI
Linkedin
Facebook
Twitter

IIP Survival Guide: Tools of the Trade - Mirth - Healthcare's Integration Swiss Army Knife - SIIM News Winter 2008

SIIM News_2008WinterCoverThe fast pace of developing technology and limited funding in health care settings have sometimes promoted the installation of disparate systems to fill immediate clinical or economic needs. This has recurrently taken health care systems off course from well-designed systems to those that can make integration difficult, often resulting in best-of-breed niche solutions that create silo environments, peer-to-peer connectivity, and expensive upgrade options when the systems mature.

The cost of integrating these systems compounds as applications upgrade and generate professional services on each system with which they integrate. When the success of a health care system is measured by the ability to implement technology to streamline workflow, at the heart of this success should be a system that has the ability to flexibly manage the information flow between systems with minimal replication. 

Whether as a go-forward enterprise solution or a stop-gap integration platform, Mirth is that tool.

Mirth is an Open Source HL7 Integration Engine. The software is available for download. Mirth runs on various other systems such as OpenSolaris, Mac OSX, and many flavors of Linux/UNIX.  WebReach Inc. offers a couple of appliances that run the Mirth software as well. 

At SIIM 2007, a group of individuals held a breakout session to test the high-availability clustering features available in Mirth appliances with great success. In a nutshell, Mirth allows messages from multiple source systems to be sent to multiple destination systems in more than 11 different protocols.  In between transit between systems, Mirth can filter and transform messages before being sent to their destination. 

Mirth is written in the JAVA programming language, and provides a client application for administering, configuring, and monitoring the channels built between sources and destinations. Mirth is simple to configure, and flexible enough to be used by professional integration teams to connect enterprise-class applications. Mirth is invaluable to health systems where expensive solutions are economically out of reach and connectivity between disparate systems would greatly enhance clinical workflow.

To make the value added by Mirth obvious, let’s take a pseudo health care problem through to solution. System A was implemented in 1995, and like the true data trooper it is, still is running somewhere in your Imaging Department. Hardly anybody uses it, or so you thought, until you turned it off one day. During the investigation of the user base to remove it from the environment, you ended up owning the support of the system, and moreover, you were given the task to integrate it into the current workflow! After the initial shock of this series of unfortunate events, you realize you have to integrate it. Lucky for you, you have an ace in the hole, a "Swiss Army Knife" to integration in your back pocket – Mirth.

The task is to generate an ADT (Admissions, Discharges, and Transfers) message out of this system to another Enterprise system when somebody enters a new patient into it. The system runs Windows 95, and utilizes Sybase as its database engine. Sounds a bit daunting for the utilization, but for kicks and giggles get this integration work quoted somewhere for professional services. So, said user enters the patient into the application, which ends up in a database in a table fittingly called “patient.”

How can Mirth help? Simply put, by building a channel.

Channels are the core concept and configuration of integration tasks in Mirth. A channel  is the configuration object that specifies a source of information (such as LLP, HTTP, S/FTP, POP3, file, web services, etc.), provides a filter for the information and validation of information, allows for transformation of the data, and provides a  destination for the information (LLP, ODBC, JMS, XML, SMTP, files, web services, etc.).  Common terminology for channels include "source connector," "filter," "transformer," and "destination connector."

The common workflow for building channels is outlined below:

1. Specify source connector (example: LLP, HTTP/S, S/FTP, POP3, files, web services, JDBC, SMTP);

2. Create or use built-in filters and validation profiles (example: only accept ADT);

3. Create or use built-in transformers (example: Mapping transformer: map data from incoming message to variables, or Script transformers, which execute custom script on messages); and

4. Specify destination connector(s) (LLP, HTTP/S, S/FTP, POP3, files, web services, JDBC, SMTP).

Back to our original problem, Mirth will query the Sybase instance via a JDBC source connector on update. It will grab values from the query, and dynamically build an ADT message to send to an LLP destination. It will do this through wizard-driven GUIS, but also give you the professional flexibility for further manipulation through a programming interface. With varying skill sets, Mirth can accomplish your task with relative ease.

In conclusion, Mirth is a perfect fit for institutions that struggle to find the balance between cost and integration. You can quickly implement Mirth open source software to accomplish your integration goals. Mirth performs well at high volumes and provides scalability by its JAVA underpinnings. Mirth is built with common technologies, and can be configured with common scripting (non-proprietary) languages. If your benchmark for health care IT is to enhance clinical workflow, Mirth can be the key player for integrating your systems to achieve your goals.

Ron Sweeney is an Enterprise Architecture and Integration programmer for Spectrum Health, a Western Michigan Hospital System with 7 community-based hospitals and 140 service sites. Ron has installed PACS at the enterprise level for both radiology and cardiology in various technical capacities. He is involved with imaging informatics organizations, such as SIIM, as well as various open source projects in the medical imaging community. You can contact Ron Sweeney on the Web.

Editor’s Note: This article is based on a presentation at SIIM 2007 in Providence, RI, and is the first in a series extracted from the SIIM University section, IIP Survival Guide.

For more on open source, stop by the Open Source Plug Fest at the SIIM 2008 Annual Meeting (May 15-18 in Seattle), and check out the recently released 2007 supplement to the Journal of Digital Imaging: Open Source Applications for Imaging Informatics in Medicineavailable online, open access.