Showing posts with label IHE. Show all posts
Showing posts with label IHE. Show all posts

Monday, September 16, 2013

FHIR / PIX Interoperability

Well, its been a while since I’ve written about FHIR, and after lots of interesting exercises in trying figure out “where that goes” I have a working FHIR interface on the Client Registry. I’d thought about sharing some of the interesting use cases I’ve been able to test, and which I hope can be demonstrated at the FHIR CAT this weekend.

FHIR Registration with PIX Registration to XDS Registry

This was the first use case I tested. Basically registering a simple patient record via a POST to http://cr.marc-hi.ca:8080/fhir/0.11/Patient results in an ITI-44 to our XDS registry. This allows an iPad app to create a patient which is then propagated to an affinity domain (i.e. you can have FHIR interface notify another PIX manager)

FHIR Query of an ADT (ITI-8) Registration from an HIS

The second demonstration that I’ve tried is sending an ADT^A01 to the PIX manager and retrieving that data using the FHIR query. I’ve also been able to update the information via FHIR and retrieve the changes via a QBP^Q22 message.

Additionally, the business logic of a client registry (auto/manual-merging, fuzzy matching, auditing, etc.) triggered on the FHIR interface as well.

I’ll post more updates as they are available. Our plan is to take the software to the FHIR CAT and the IHE CAT in January. FHIR may be useful in mobile IHE profiles and this provides a good POC and can identify gaps (it is great to see how a system like this might behave).

Interfaces are available publicly:

FHIR: http://cr.marc-hi.ca:8080/fhir/0.11/
PDQ/PIX Version 2: llp://cr.marc-hi.ca:2100
PIXv3: http://cr.marc-hi.ca:8080/PIXManager
PDQv3: http://cr.marc-hi.ca:8080/PDQSupplier
HL7v3 (CA): http://cr.marc-hi.ca:8080/cr

Thursday, August 23, 2012

Microsoft XDS.b Solution Accelerator Patient Identity Feed woes


Recently in the lab we setup the XDS.b solution accelerator (http://ihe.codeplex.com). Overall the software works however we've identified some problems with the HL7v3 messaging that is returned from the Registry actor.

A little backstory first: I've been asked to teach the Mohawk course for electronic health records, and part of this teaching is a series of hands-on labs which students use tools to communicate with standards based health software packages. One of these labs is an IHE XDS.b lab. One of the servers uses OpenXDS, and the Microsoft XDS.b solution accelerator was used to illustrate different software using the same standard.

Anyways, we have a PIX Manager reference implementation in our lab and I wanted to setup the manager to act as an identity source to the XDS registry (via ITI-44 messaging rather than the ITI-46 notification system). I had this working however I noticed that when I sent messages after 12 minutes past the hour Everest's TS type would throw an FormatException, usually these read:
The date "20124002154000" is not a recognized date/time

Which looked a little suspicious, after some digging in the XDS.b solution accelerator's code I found this line in the PatientIdentityFeedLogic.cs:

public static readonly string PATIENT_ACK_DATETIME_FORMAT = "yyyymmddhhmm";

Which needs to be corrected to :

public static readonly string PATIENT_ACK_DATETIME_FORMAT = "yyyyMMddhhmm";

Not sure how this was missed at connectathon however it was causing issues with the PIX manager. After the change, the XDS Registry works!

Anyways, to anyone thinking of deploying the Microsoft XDS.b solution accelerator should change this line prior to deployment. Additionally, use the instructions in the latest Sync package as these are correct.