Friday, 15 February 2013

FHIR Engine

Need a REST HTTP server up and running before the serious mapping of source clinical system data to FHIR resource definitions. My particular focus was to support a web server as a local interface to a clinical system for various downstream client usage.  The configurations I hoped to support range from:

a) Library to support FHIR server that can be integrated within desktop applications.
b) FHIR web server application that can be run in user session for other desktop applications to use.
c) FHIR service running on local network, used by desktop applications on the network.
d) FHIR web service, with some security, running as externally accessible interface to clinical system.

This is the part where HTTP based REST style services **rock**, it is just so much easier to get simple servers up and going and the result is ultra light.  I am not relying on an implementation of the WS stack where I am left wondering why my executable foot-print is so large and my processing performance slightly mysterious.

At the end of the day (and yes this has been written literally at the end of days of 'real' work that pay the bills) I am feeling this implementation is naturally clean (based on the FHIR specifications).  I understand what the wire protocol is, how it behaves and most of all I could explain the code to another developer in 15 minutes and they would be ready to go.   It means that one can concentrate on the 'clinical stuff', FHIR resources and how clinical systems can be integrated to support FHIR interactions.

Currently I have 'the' most basic of functions supported - a partial patient details record (name, gender and date of birth only) mapping to the FHIR 'Patient' resource.  This can be accessed via the normal FHIR REST HTTP interface by resource id - examples:

Formatted as XML:

Formatted as JSON:

Now this is JUST my FHIR web server application running on a desktop - it is NOT running behind a 'real' web server implementation.  If you are familiar with the Australia 'Best Practice' primary care clinical system you might recognise the patients as being sourced from the sample database.

I hope to keep this demo system running as I add some features - this is not a production environment so if the machine is down it is probably by accident please let me know.

Will be looking more seriously at clinical data mapping soon....

No comments:

Post a Comment