Thursday, February 05, 2009

SOA Testing and Simulation of HL7 v3 messages using Schematrons

In my discussions with engineers at Crosscheck Networks, I have come across an interesting use case in the health care industry where HL7 v3 - an ANSI health care standard modeling clinical, administrative, pharmacy, medical devices and imaging domains - is being deployed by the Dutch Government. The Dutch government's aggressive health care initiative in building a nationwide Health Information Broker (HIB) can serve as a good model for the current US Administration that is considering transforming US health care through nationwide electronic medical records (EMR) as one of its key policy initiatives.

In the Dutch health care technology infrastructure - based on Web Services enabled HL7 v3 specification - message exchanges take place between Health Information Systems via a HIB that maintains the necessary relationships between health care parties. The HIB is an intelligent message intermediary between entities involved in health care including providers, payers and pharmacies. The HIB ensures high quality and validity of health care information that reduces errors caused by manual information processing.
Crosscheck Networks SOAPSimulator and SOAPSonar are an integral part of the HIB to the extent that health care parties can only tie into the HIB if they meet message viability requirements set and enforced by Crosscheck SOAPSimulator at the HIB. The HL7 v3 message exchange criteria is set at the semantic level as well as the transmission level. With sophisticated use of standards such as WS-I Basic Profiles and Schematrons, custom health care semantic requirements and message transmission requirements are addressed.
Schematron assertions and rules provide a flexible way of capturing business domain specific rules that a message must meet for the message to be valid. This improves message interoperability between health care parties. Schmatrons enable business rules that can then be enforced on the HL7 v3 messages flowing through the Dutch HIB. SOAPSimulator is deployed as the message validity enforcer for HL7 v3 messages. As new health care parities get ready to integrate with the Dutch HIB, they must first satisfy the rules set in SOAPSimulator via Schematrons that check the correctness and validity of the HL7 v3 request and responses. Such checks serve as a pre-requsite for production-level integration and reduce interoperability issues between health care parties.

Figure 1: Configuring Schematron 1.5 Criteria Rules for HL7 v3 in SOAPSimulator

Figure 2: Configuring ISO Schematron Criteria Rules for HL7 v3 in SOAPSimulator

In addition to checking against Schematrons, SOAPSimulator checks against a number of additional criteria to ensure that the right identity and security constructs are being used in the message requests.


1) Implementing Web Services in Dutch Health
2) Electronic Medical Records and Obama's Economic Plan
4) Web Service Enablement of HL7 v3
5) An Introduction to Schematron
6) Crosscheck Networks SOAPSonar and SOAPSimulator