clinFHIR Profiling Walk Through

So I’m in the middle of getting ready for the Furore  devdays event – part of the preparation being a writing series of posts on the various stages we’ll be exploring as part of that event.

Quite co-incidentally, Mark Braunstein from Georgia Tech asked me to do a presentation for their FHIR class which is happening in a couple of days, so I thought it a good idea to write this walk through of the complete process from end to end – from a requirement to a profiled resource instance.

We’ll return to the more detailed consideration of the steps after this.

Read more of this post

More on FHIR Logical Models

So a couple of weeks ago I posted on a new component that has been added to clinFHIR – a tool that will generate Logical Models – models of something that uses the FHIR infrastructure but doesn’t generate ‘real’ resources. The idea is that it is used as a requirements gathering tool when when interacting with clinicians to describe what information and processes are needed to meet some interoperability related need.

Since then, we’ve added a few new capabilities to the tool, and also further refined how it can work with the other clinFHIR components to provide an ‘end to end’ solution that starts with an idea, and ends with the various FHIR resources (profiles, valueSets, extension definitions etc) that will be needed. This post starts a ‘mini series’ that describes how this could work (and do note that this is just my idea – there are lots of other ways that this could be done).

Read more of this post

Dev days in November

In the past I’ve talked about the FHIR Developer days hosted by our friends Furore in November in Amsterdam – generally with a slightly envious tone. This year – thanks to my employer Orion Health – I’m able to attend! (I’m going to get into the group picture at last 🙂 )

Since I’m going to be there and I have a clinical background, the Furore folk suggested that I might want to lead a track specifically for Clinicians and Business Analysts who want to learn more about FHIR – so this post is all about putting some ideas out to get feedback.

Read more of this post

Opening up clinFHIR – An example generator

I’d always intended that clinFHIR would be an open source project.

It all started when we were planning the ‘Clinician Connectathons’ – now ‘Clinicians on FHIR’ a year or so back, and realized that we needed some sort of tooling to support the events – tooling that would allow a user to create resources – and view the references between those resources – in a way that made sense to a clinician rather than a techie, and didn’t require them to understand the ‘on the wire’ formats of a resource (unless they wanted to).

After a few false starts, the current version was developed that seems to meet the need of the events. In fact, there are a number of different tools under the clinFHIR umbrella:

Read more of this post

Organizations as CarePlan participant…

This conversation is from the Implementers Chat. It describes what is likely to be quite a common scenario, so I’m sticking it where for when I need to remember it.


We have a usecase where a Practitioner in small practice creates a CarePlan for a Patient and assigns himself as a Participant, and sends out this CarePlan using FHIR messaging to another Application. Over time, he creates CarePlans for hundreds of Patients. Now at one point in time he hires another MD to provide care to the same Patients. This would required sending out all CarePlans that are still active with the second MD being also mentioned as a Participant.

In order to avoid these massive retransmits, we would like to use a Group resource to group all active Practitioners and assign that Group as Practitioner to all CarePlan, and only send out the Group when a member has been added or is removed.

Now the problem is: CarePlan.particpant.member is defined as Reference(Practitioner | RelatedPerson | Patient | Organization)

This is actually just an example of a bigger issue, namely, if a Group of X is allowed, each Reference( X ) should ideally also allow Reference(Group)

Any feedback from the group?

Answer from Ewout:

Hi Theo, in this case, the group of MD’s are actually acting collectively and towards the same goal (taking care of the patient), so this informal group is actually an organization (note that the definition of Organization in FHIR is broader than in normal life):

“A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.”

I think organization matches your purpose, so the Organization becomes the “Participant”!

Thanks guys!

FHIR at the New Zealand HINZ conference.

As part of the HINZ conference, we (HL7 New Zealand) held a 1 day seminar on FHIR with a focus on clinicians rather than our more usual technical audience. We decided to do this because FHIR is now at a stage where wider clinical input is feasible – it’s at DSTU-2 and there is visualization tooling (clinFHIR) available. Technical folk are already on board with FHIR – it  just makes sense to them – so time to pull in our clinical colleagues that have not yet been involved.

There were 2 parts to the day.

Read more of this post

Creating reusable scenarios using clinFHIR

One of the main reasons for developing tooling to support the clinical Connectathon (now re-branded as clinicians on FHIR) was for Clinicians to use it to ensure that FHIR would meet clinical needs, using specific scenarios as ways of testing it. (Actually our initial scenarios were far too big – but that’s all part of the learning process!)

At the events, we have groups of clinicians that take a scenario and then build sets of resources that could represent that scenario using a test patient – often there is more than one way we can do this, and one of the purposes of the event is to develop ‘best practice’ guides. One of the things that would be nice to do is to be able to save – and then reload – these scenarios so that they can be shared with others and examined outside of the event. (It would also help negate the issue that all this work is saved in test servers that are periodically cleared).

Read more of this post