MS-HUG TechForum - IHE XDS.b Reference Implementation

We had a fairly well attended session and the objective of providing an overview of the Health Connection Engine (HCE) and IHE XDS.b reference implementations was achieved, although with the time we had I could not get into a lot of detail.

We have talked about the HCE in the past so I'll try to focus on the IHE aspect in this post.

Background on IHE and XDS

Integrating the Healthcare Enterprise (IHE) is an organization operating in the Health Information and Communication Technology area. The main purpose of IHE is to create Interoperability Profiles that simplify integration scenarios in healthcare.

The IHE profiles are grouped in Technical Frameworks that address the business scenarios and the transactions that are used to implement those scenarios.

Most of the times IHE ends up profiling the use existing standards such as HL7, DICOM, Web Services and so on. The final product, the Integration Profile, tells implementers of IHE-compliant solutions how to use those standards to allow for better interoperability.

IHE started working in the IT Infrastructure domain about 4 years ago and taking on challenges of how to do Patient Identity Cross-Referencing (PIX), Enterprise User Authentication (EUA), Patient Demographic Query (PDQ) and many other.

Arguably one of the most successful IHE profiles is Cross-Enterprise Document Sharing or XDS. The profile focuses of the publication, storage and retrieval of documents for the purpose of exchange within a network of trusted participants (Affinity Domain).

One of the issues that came up with XDS as the underlying standards evolved was to keep it updated to the current ones to allow for a simpler implementation and maintainability.

For this purpose IHE decided to release a new version of the IHE XDS called XDS.b.

I have been working with IHE since November of 2006 to release this new version of XDS and I am the author and editor of that Integration Profile.

IHE XDS.b was released for trial implementation in August 2007 and will be tested at the 2008 IHE Connect-a-thon and demonstrated at the 2008 HIMSS Interoperability Showcase in Orlando, FL.

If everything works out, IHE XDS.b will be released in June 2008 and integrated within the IHE IT Infrastructure Technical Framework.

IHE XDS.b Integration Profile

XDS.b was designed with a strong focus on interoperability and co-existence with XDS.a, minimizing where possible the changes that people implementing XDS.a had to go through if they decided to move to XDS.b

For that reason, XDS.a and XDS.b can co-exist, although some level of translation needs to happen.

XDS.b implements the same business scenario as XDS.a, only the technical implementation is different.

XDS.b Actors and Transactions

On the implementation of the business scenario and the transactions we have a number of changes:

  • All transactions reference ebXML Registry Information Model 3.0
  • All transactions require SOAP 1.2
    • Optionally support SOAP 1.1
  • All transactions require WS-Addressing
  • All transactions have WSDL defined
    • IHE ITI Technical Framework Volume 2, Appendix V: one WSDL per Actor per Integration Profile
  • MTOM is required for attachments
    • Document content is within the s:Body in an element of type xs:base64Binary for MTOM support

IHE has dropped support for the not-widely-used "off-line" mode while we work on a a-synchronous web services paradigm. IHE also updated XDS.b to allow for both HL7v2 and HL7v3 Patient Identity Feeds. This option makes sense for environments where one of the HL7 messaging standards is prominent with respect to the other.

More details on what's new in XDS.b compared to XDS.a is available on the deck posted on SkyDrive:

For more information on how to get XPS to work on your machine, check my previous post.

IHE XDS.b Reference Implementation

Most of the available implementations of the IHE XDS.a (the current XDS profile) were built on the Java platform. We decided, based on the feedback from customers and partners, to work on a reference implementation for the new XDS.b profile on the Microsoft platform.

As part of this process we will be taking this reference implementation to the 2008 IHE Connect-a-thon and test it for interoperability with other XDS.b implementations to make sure that the profile is implemented correctly.

The reference implementation will then be released to the community as an open source project on Codeplex under the Microsoft Permissive License (MsPL).

In our implementation we use Windows Communication Foundation (WCF) for the Web Services implementation (SOAP, WS-Addressing, MTOM) and SQL Server 2005 for the Registry and Repository.

What you find on Codeplex today is work in progress and I will be updating the site shortly with some instructions on how to deploy and test the implementation.

If you're interested in working with us on the implementation or just to provide some feedback feel free reach out to me. We really welcome your feedback and help on this.