Thursday, July 29, 2010

Integrating GWT Services with Mirth/HL7

In my previous blog I talked about exposing GWT services to other protocol and languages. This has paid off big time for Medrium. In healthcare the predominant protocols used are HL7 which IMHO is hard to understand. HL7 makes simple problems very complex and convoluted to program to. Mirth is an open source project that has been around for quite a while and has built a robust and well tested platform for interoperability in healthcare. Mirth supports HL7 and provides a platform and tools that are well tested and used. Mirth has good tools built in to map HL7 to other formats like XML and vice-versa. Medrium already built functionality to expose GWT interfaces to XML which we ended up mapping - GWT XML interfaces to HL7 using mirth tools. Medrium used Mirth to map XML to HL7 and vice versa to provide connectivity to SureScripts for electronic prescriptions/messages functionality as well as importing Lab reports. Electronic prescriptions and Lab reports both use HL7 formats/versions and Medrium never had to program/understand HL7 formats but just understand enough to map the HL7 formats to GWT XML formats.


All our developers wrote GWT RPC services in Java and the XMLRPC functionality allowed Medrium to map the GWT Service method returns/calls to HL7 messages thru Mirth. Medrium will be using the same mechanism to import/export CCDs into and out of Medrium just using GWT RPC services. This shows that the model medrium chose - defining IDLs to expose interfaces and then mapping these interfaces to GWT RPC services was the right model. Exposing GWT services to XML not only facilitated our mapping of XML to HL7 using Mirth but has also provided a framework to open up interfaces to other vendors who can provide additional services to our clients.

1 comment:

  1. Hi I like all your posts! What is the best way to build GWT based application to render both in Browser and Mobile apps? Is it better to wait for another couple of years to use html5+Canvas?

    ReplyDelete