HL7 v3 RIM based applications: an unintended side effectPublication date: Jan 19, 2008
During the international HL7 meeting in San Antonio I made the discovery that HL7 v3 based RIM based applications are more widely implemented than I thought. The interesting aspect about this is that the HL7 v3 RIM isn't intended to be used as a basis for application development - however, the approach has been shown to work by multiple organizations.
Last week I attended the international HL7 meeting in San Antonio - a meeting where over 500 experts gather to develop, discuss, and extend HL7's standards. The attendees tend to represent a wide range of stakeholders from a large number of countries. The aim of most attendees is to influence the content of HL7's standards. After all, the attendees represent the healthcare providers, application vendors, or other stakeholders that have an interest in having HL7's standards support their own particular workflow.
A different group of people tends not to show up in large numbers at this type of meetings: the implementers. In this column I define implementers to be those that use HL7's standards (or a localized version thereof, e.g. in the form of an implementation guide) as a starting point for the development of software. In short: those that ultimately have to make it work, as opposed to those that define the contents of the standard.
Next to these international HL7 meetings the various national HL7 organizations also organize their own events. The Dutch HL7 organization organized an "HL7v3 implementation" meeting in June of 2007, aiming to show various HL7 v3 implementation experiences to a general audience. After the conference a few of the speakers and conference attendees met, and to their own surprise (and mine) they discovered that quite a few of them had implemented (mostly independently of each other) HL7 Refence Information Model (RIM) based applications and databases.
This is not a stated goal of HL7 (which is about "interoperability" only), nor is it the intent of the HL7 v3 RIM. It does however make sense: if one has to implement multiple HL7 v3 messages (and these vendors have to do so because the national healthcare IT infrastructure in the Netherlands is based on HL7 v3) one might as well look at the underlying model as a candidate for the underlying business objects or database. With a couple of tweaks it may even do the trick, and it would certainly make the creation and parsing of HL7 v3 messages/CDA documents a lot easier. One of the vendors even adopted the HL7 v3 RIM model without having to support messaging.
Given the interest in such an approach HL7 the Netherlands organized an informal session in San Antonio to see if others used a similar approach. If so, experiences can be shared. As it turns out, we had implementers from half a dozen countries around the table, as well as representatives of the Java SIG, and existing group within HL7 international. They're all using similar approaches; the Java SIG has a finalized reference implementation. One of the participants quoted the database architect of their organization, who upon having a look at one of the colorful HL7 v3 models stated: "wow, that looks like a neat database model".
The implementers immediately started discussing "how many tables does it take to store the RIM based data" (with answers ranging from 1, 6 -the 6 core RIM classes-, to many -in case one supports Constrained models instead of the RIM itself). "How do I optimize my joins to achieve a performant system". "How do I bind my business objects to my ER database structure". "How to serialize my object structure in order to create valid HL7 v3 instances". All of that is of little concern to the developers of the HL7 v3 standard - such discussions are however the basis for the discovery process of the best practices when it comes to the creation of HL7 RIM based applications. The Java SIG was chosen as the ad-hoc platform (at least until the next international HL7 meeting) to discuss all issues related to RIM based applications.
It is interesting to see that the use of HL7 v3 RIM based applications shows the maturity of that model as a basis for business objects. One could say that the model (if there really is one) and structure of HL7 version 2 were derived from pre-existing database structures, whereas the HL7 version 3 RIM (as well as derived models) now act as the starting point for the development of applications.
HL7 RIM based applications - an unintended side effect.. akin to some medications: side effects may end up being a key characteristic in the end.
PermaLink to this page: http://www.ringholm.com/column/hl7_rim_based_applications_an_unintended_side_effect.htm
Index of columns:
About Ringholm bvRingholm bv is a group of European experts in the field of messaging standards and systems integration in healthcare IT. We provide the industry's most advanced training courses and consulting on healthcare information exchange standards.
See http://www.ringholm.com or call +31 33 7 630 636 for additional information.
Rene is the Tutor-in-chief of Ringholm.