November 2008

"Open source operating systems, databases, web servers, and system utilities are slowly making inroads into hospital data centers that formerly housed only proprietary technology products. Add another category in which an open source alternative is available: integration engines."

Tim Dotson Inside Healthcare Computing

The Mirth Project is an open source healthcare interface engine and interface repository created and professionally supported by WebReach. Mirth provides standards-based tools to develop, test, and deploy interoperability solutions for healthcare information systems and information exchanges.

This article provides an overview of healthcare interface engines. It discusses Mirth and the healthcare and connectivity standards it supports. Lastly, the article compares Mirth to other interface engines.

Introduction to Healthcare Interface Engines

Healthcare interface engines, also known as healthcare integration engines, solve the problem of sharing and exchanging data between healthcare applications. Data interchange is a significant problem in healthcare. There are numerous vendors, data providers, and custom applications that need to exchange information using evolving standards. To make things worse, many legacy healthcare applications do not support a standard, yet they are required to intercommunicate with other standards-based applications. Healthcare interface engines connect applications by mapping and transferring data between the applications using standards and data definitions understood natively by each application.

Interface engines have been available for many years and there are many engines available in the market. The cost of proprietary engines range from the low hundreds of dollars to hundreds of thousands of dollars for organization-level licenses. A review of interface engines is available from KLAS, an independent market intelligence research firm. The KLAS Interface Engines Market Review collects data about leading interface engines and ranks them by several criteria. This article will discuss an open source interface engine called Mirth. Even though Mirth is not ranked by the KLAS review, many people in the Mirth community claim Mirth is functionally equivalent to high-end proprietary interface engines.

Introduction to Mirth

Mirth is middleware that connects health information systems so they can exchange clinical and administrative data. Mirth is released under the Mozilla Public License v1.1 and is professionally supported by WebReach, a Health information technology (IT) solutions company based in California.

There are many standards in healthcare, with a diverse range of protocols and types of data. There are different health information systems such as labs, pharmacies, clinics, hospitals, and many others. Each of these systems might have different protocols, mismatched versions, and incompatible data. Some systems might actively use HL7, X12, and DICOM images, while others simply have a database to read from or communicate with XML and comma separated values. Add to that the lack of control administrators have over current and legacy applications, and the healthcare interoperability problem becomes apparent. This is where Mirth steps in as the easy to use and deploy middleware solution. Mirth can lie between any number of health information systems, whether they speak a standard healthcare language or not, and help them communicate.

Mirth is a flexible health IT infrastructure component and can serve many roles. It can provide central integration exchange at a hospital, an information gateway for a clinic or reference lab, or an information exchange for a Health Information Exchange (HIE) or Local Health Integration Network (LHIN). It can also act as the integrated interface engine for an electronic health record (EHR) or as an extract, transform, and load (ETL) tool.

By using a point-and-click interface and JavaScript to map data elements, Mirth speeds the development of interfaces for secure exchange of data across formats. For example, one can exchange data from a delimited file to HL7 or vice versa. This ease-of-use reduces barriers to the formation of health information exchanges involving diverse information systems and advances initiatives aimed at improving patient safety and continuity of care. Figure 1 provides a screenshot of this interface. In this example, Mirth is receiving input from a database and has converted the data to HL7 format:

Figure 1: Database Reader Channel - Source Transformer

The Mirth Reference Guide provides many more examples and screenshots for using Mirth.

Mirth also provides an open framework and repository for creating and sharing Mirth channels. A Mirth channel is an interface that routes, filters, and transforms messages from one source to one or many destinations. These channels can also be chained together for more complex logic. Sharing channels enables those in the healthcare IT community to benefit from the work of others and eliminates the redundancy inherent in current processes that require each organization to develop the data mappings between systems. An ideology that focuses on sharing and openness is a major leap forward over the closed and proprietary system the healthcare IT community is used to. This community-based, open approach has been demonstrated to speed innovation in other industries and is now available for the first time in healthcare.

The interoperability problem is universal and, as a result, Mirth has a global community of end-users and contributors. Mirth has been successfully used in production at hundreds of facilities. Below is a sample of some of Mirth's professionally supported customers:

Supported Healthcare and Connectivity Standards

Mirth supports healthcare standards such as HL7 for the exchange, integration, sharing and retrieval of electronic health information, DICOM for medical imaging, X12 for the transmission of electronic data, NCPDP for pharmacy data, and XML to facilitate information flow for lab results, medical records, radiology data, transcription information, claims data, and so on. These standards are further described below.

Supported healthcare data standards include:

HL7 v2 & v3: Health Level 7 is a widely recognized standard for exchanging healthcare information between healthcare applications and systems. More information can be found here.

DICOM: Digital Imaging and Communications in Medicine is a standard that supports messaging and imaging between imaging devices and systems. More information can be found at NCPDP: Mirth supports the National Council for Prescription Drug Programs Script standard which facilitates ePrescribing ( More information can be found here.

EDI X12: Mirth supports the common transaction sets for healthcare and insurance. More information can be found here.

XML: XML is Mirth's native format and Mirth has robust XML support including support for XSLT.

Mirth also provides robust support for the following connectivity standards and protocols:

Project Comparison

Although Mirth is in the very specific domain of open source software (OSS) integration engines that focus on healthcare, there are other OSS integration engines in the same domain. JEngine is another open source enterprise integration engine implemented in Java. JEngine is deployed inside the JBoss application server, and uses XML configuration files and BeanShell in order to set up interfaces. The latest version of JEngine was released more than 5 years ago, in October of 2003.

ChainBuilder is an open source integration engine that uses its own Enterprise Service Bus (ESB). The ChainBuilder ESB components are Java Business Integration (JBI) compliant, supporting common protocols and the parsing of healthcare standards like HL7 and X12. Interfaces are configured using plugins for the Eclipse integrated development environment (IDE), and it might take some previous development experience to get started.

XAware is a Spring based integration engine that was recently open sourced. Like ChainBuilder, XAware uses the Eclipse IDE for creating and deploying interfaces through plugins. Though XAware does not specifically target healthcare, it is a generic integration engine that supports many endpoints and protocols, including X12.

Mirth separates itself from other competitors and open source tools by its ease of use. Mirth can be downloaded, installed, and configured to have a custom interface running in a matter of minutes. After a few simple steps, any system can be configured to receive and/or send HL7 and many other healthcare standards. Although Mirth is open source, it is widely recognized to be feature comparable to commercial healthcare integration tools. Mirth now has over 50,000 downloads and is seen by many as one of the top competitors in the healthcare integration engine space.


The combination of open source and a standards-based approach to healthcare interoperability has resonated with the global health information technology community. Healthcare executives welcome Mirth to their tooling portfolio because it is feature-comparable to commercial tools, accelerates interface development, and is professionally supported. Consequently, Mirth has been adopted by numerous hospitals, clinics, information exchanges, integrators, and application developers.

To improve Mirth, WebReach is now building additional and complementary open source infrastructure building blocks. For example, we are developing an open source Enterprise Master Patient Index (EMPI) that can be used to disambiguate patient identities across different healthcare applications, systems and organizations.

Share this article:

Cite this article:

Rate This Content: 
20 votes have been cast, with an average score of 3.05 stars


I've just wanted to add that an unofficial mirth connect developers guide, which this great open source tool is lacking, is available here