Posts Tagged HL7

Mirth Connect Part 2 – Installing


Installing Mirth Connect is very easy, and you should have very little trouble with it.  By default Mirth uses port 8080 for a website that allows you to launch the Mirth Administrator program, port 8443 for the Mirth Administrator program to connect back to the server, and port 1099 is used by the Mirth Administrator program for viewing interface status and statistics.  If you are already using any of these ports then you can change them when installing Mirth Connect, or you can use the Mirth Connect Server Manager program to change them after you have installed it.

The system requirements for Mirth Connect are the following:

Make sure your computer meets the system requirements and then follow these steps to install Mirth.

  • Download Mirth Connect at http://www.mirthcorp.com/community/downloads.  For my example I will be installing it on a windows computer, so I downloaded the Windows installer.
  • Once you have downloaded the installer, run it.  You will be greeted with the initial install screen, click Next.

Mirth Install Step 1

  • Accept the license agreement and click Next.

Mirth Install Steph 2

  • Accept the default install directory and click Next.

  • Leave all components selected, and click Next.

Mirth Install Step 4

  • If you are already using any of the default ports , then you can change the ports that Mirth Connect uses on this screen.  If you are not using any of the default ports, then accept the defaults and click next.

Mirth Install Step 5

  • It is now ready to install, click Next.

Mirth Install Step 6

  • Once the installation is complete, click Finish.

Mirth Install Step 7

  • The Mirth server will now be running, it runs as a windows service named ‘Mirth Server’.  There will also be a program running in your taskbar with the Mirth icon.

Mirth Taskbar Icon

  • If you click on the Mirth icon in the taskbar it will open the Mirth Connect Server Manager.  You can use this program to start and stop the service, configure the ports that are used, configure the log files, and configure the database connection.

Mirth Server Manager

  • To install the Mirth Connect Administrator application  naviagate to http://{servername}:8080, where {servername} is the name of the server you installed Mirth Connect on.  This will bring up the website that you use to launch Mirth Administrator.

Mirth Admin Website

  • Click on the ‘Launch Mirth Connect Administrator’ button, the program will be downloaded and installed as a Java Web Start program. Once it has installed it will launch and ask you for a login.  The default username is admin and the default password is admin.

  • Once you login you should change the username and password.

Tags: ,

Mirth Connect Part 1 – Overview

Mirth Logo

This is the first in a a multi-part series on Mirth Connect.   Mirth Connect is a open source integration engine that is focused on healthcare.  It is intended to be placed between two systems that need to communicate with each other, and handle the message routing, message transformation, and provide real-time moniting of the communications.  When I first heard about Mirth I was somewhat excited, but very hesitant.  My experience is that open source projects fall into two basic categories, mature projects that work well and may have a few rough edges but for the most part are a pleasure to work with (DotNetNuke, 7-Zip, FileZilla), and projects that are not mature and are generally a pain to work with.  Unfortunately many open source projects that I have come across fall into the second category, so when looking for a interface engine to use for a large project I was a little hesitant to put my neck on the line with a open source project.  However the cost of commerical interface engines caused me to take a long hard look at Mirth Connect.  Since this is the first of multiple posts on Mirth Connect, it is obvious that I was impressed and comforatble enough with Mirth to use it for the project.  In this post I will give a overview of what Mirth is, what I have liked about it, and what I have not like.  In future posts I will provide more detailed information on using Mirth.

Installation

Installation has been a point of pain for me with many open source projects, so I was expecting some pain here.  However this is one area where Mirth really shines, it would really be difficult to make the installation much easier.  I have not attempted to install Mirth on a Linux machine, but I have installed it on multiple windows servers and I have never had an issue.  You download the program from their website, and step through a graphical installer.  Most users will be able to just accept the defaults and click ‘Next’ all the way through the installation.  At the end of the installation Mirth starts and is running.

Mirth Connect includes a program call Mirth Connect Administrator that you will use to develop and manage interfaces.  When you install mirth, it will make a web page available on that server on port 8080 that is used to launch the Mirth Connect Administrator program.  You just click on the button and it launches as a Java Web Start application.

Development

To develop a interface for Mirth Connect you use the Mirth Connect Administrator program.  A interface consists of a source (that receives the data) and a destination (that sends the data).  Mirth supports a large number of sources and destinations, including ODBC databases, TCP, HTTP, files, web services, and LLP.  You can attach filters and transformers to the source and to the destination.  A filter will allow you to filter out messages, and a transformer will allow you to make changes to a message.  There are GUI editors provided for basic filters and basic message transformations, but these will only work for the simplest scenarios.  For more complicated scenarios you will have to write a script.  Mirth Connect uses javascript for it’s scripting language, and I think this was a good choice.  Most people are at least familar with javascript and will not have to learn a new scripting language.

When you are creating scripts you do not get auto-complete, gut they do provide reference area where various code examples are provided.  You can just drag one of these examples onto your script and it will create some example code.  Mirth Connect also makes it easy to work with HL7 in javascript.  When the HL7 message is received into Mirth Connect it is transformed into XML.  You can then use the javascript E4X standard to access the fields in the HL7 message, and there are examples that will help you understand how to do this if you are not familar with E4X.

There is no way to directly connect source control to the Mirth Connect Administrator program, so you will have to manage this manually.  You can export a interface from Mirth, and save it as a XML file.  When you are done making a change, export the interface as a XML file and then check that XML file into our source control.  Since it is a XML file, you can also use a diff tool to see the difference between two versions of a interface.  It would be nice if source control was integrated in, but it is at least pretty easy to manage it manually

Realiabiltiy/Administration

Realiability and ease of administration was another area of concern for me.  The project that we are going to be using this on is critical for our business, so we cannot have the interface engine going down on a regular basis.  I have been running Mirth for about three months and so far it has never crashed.  So up to this point it has been very dependable.

The administration is fairly easy also.  Mostly what you will need to do in terms of administration is check if it is sending messages, view the messages that it has received, etc..  For these type of functions you use the Mirth Administrator program.  You run this program by going to a website that is running on port 8080 on the server where Mirth is installed, and it then installs the application from the website as a Java Web Start application.  This makes it very simple to deploy and use this application.

Mirth Admin Website

The Mirth Administrator program is a nice graphical application, and is one of the better Java based windows applications that I have used.  It provides a nice dashboard where you can see all of the interfaces that are currently active, and statistics on the number of messages received, filtered, queued, sent, errored, and alerted.  You can also see the connection status of each interface.

Mirth Administrator

If you select one of the interfaces you have the option to view the messages that have gone through the interface, and you can resend messages.  Overall it makes administration fairly easy, and adds a lot of functionality that makes it a lot easier to manage and troubleshoot a interface.

Support

Mirth Corporation is the company behind Mirth Connect, and they do offer support for the product.  Support prices range from $500 to over $10,000.  I have never engaged their support, so I can’t comment on it.  They also offer a support forum, and a wiki that you can access for free.  I found the wiki to have some good examples, but the documentation available on it was not real extensive.  The forums where pretty active and where helpful.

Conclusion

As I said at the beginning, when I use a open source project I usually expect to find a couple of rough edges.  For Mirth these rough edges come in the form of the development being mostly script based instead of being able to develop in a nice GUI editor, and lack of documentation.  I did not mind having to write scripts, and for me that Wiki and forum where enough to get me past the lack of documentation.  What was very important for me is that it has been stable, it gives me a lot of power and flexibility in managing interfaces, and the scripts provide a lot of power and flexibility when creating interfaces.

Tags: ,