Creating Clinical and Analysis models

As you may know, one of the things that excites me about FHIR is the potential that it has to involve the clinician in the design of health IT systems (and I’m using ‘clinician’ in the widest sense – doctor, nurse allied health etc – anyone who delivers care to a patient).

So far a lot of my thoughts have been theory rather than practice, so it is great to try these ideas out on a real project – the reporting of Adverse Drug Reactions (ADR) by a clinician to a central service – such as a National EHR!

Read more of this post

Using the clinFHIR query tool

I’ve been in China recently (attending the CHIMA conference and presenting on FHIR in a number of events), and while there I had a bit of spare time, so decided to give the clinFHIR query tool a bit of attention (I also needed it for the workshop I gave).

The query tool has been there for quite a while, but it’s been rather basic and a bit klunky, so a facelift was overdue! Read more of this post


Following my post yesterday, someone who shall remain nameless (you know who you are Brian) suggested that it would also be good to be able to make GraphQL queries from clinFHIR. I know even less about GraphQL than I did about FHIRPath, but as Grahame has an implementation on his server, it was a reasonably straightforward matter to put a simple UI in so you can experiment with that against a Patient resource. (GraphQL can do a lot more than that, but this is a start).

Read more of this post



I’ve known about FHIRPath for some time, though I must admit I haven’t paid a lot of attention to it.

Put briefly, FHIRPath is a specification that describes how to identify (and potentially extract) data from a resource using a path based syntax. From the spec:

Of particular importance is the ability to easily and precisely express conditions of basic logic, such as those found in requirements constraints (e.g. Patients must have a name), decision support (e.g. if the patient has diabetes and has not had a recent comprehensive foot exam), cohort definitions (e.g. All male patients aged 60-75), protocol descriptions (e.g. if the specimen has tested positive for the presence of sodium), and numerous other environments.

with these features:

  • Graph-traversal: FHIRPath is a graph-traversal language; authors can clearly and concisely express graph traversal on hierarchical information models (e.g. HL7 V3, FHIR, vMR, CIMI, and QDM).
  • Fluent: FHIRPath has a syntax based on the Fluent Interface pattern
  • Collection-centric: FHIRPath deals with all values as collections, allowing it to easily deal with information models with repeating elements.
  • Platform-independent: FHIRPath is a conceptual and logical specification that can be implemented in any platform.
  • Model-independent: FHIRPath deals with data as an abstract model, allowing it to be used with any information model.

Read more of this post