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

Projects in clinFHIR

One of the things that the Resource Builder in clinFHIR does is to allow you to use different servers for the various ‘roles‘ that are needed. These include:

  • The Conformance server – holds resources like StructureDefinition and NamingSystem
  • The Terminology server – ValueSets and the Terminology operations required by the different applications within clinFHIR
  • The Data server – where patient (and other) data is kept.

This isn’t an official part of the spec, but is a useful way to think about the main ‘components’ of a FHIR solution.


While flexible, this can make it somewhat more complicated to use, as you need to select the right combination of servers to suit a particular need.

Read more of this post

Resource reference visualization in clinFHIR

I was skyping with my colleague Viet Nguyen over the weekend about some improvements I was adding to clinFHIR – the resource viewer now generates a more ‘user friendly’ display for some of the resources (Encounter, Observation, Condition). I showed him what I had done, and asked him what else might be useful and he said:

This maybe pie in the sky – a network type diagram with different colored icons representing conditions, encounters, labs, etc. that allows the user to visualize the relationship between conditions and related resources. This is the type of “breaking out of the document paradigm” approach I’d like to pursue.

Read more of this post

ValueSet editor in clinFHIR

I’ve been working on the profiling abilities of clinFHIR recently. As I’ve said before, although there is the official tool for creating profiles – Forge – I think there is a place for a simple profiling tool primarily aimed at clinicians, with the goal to help them understand how FHIR profiling works.

One of the big things that keeps coming up is ValueSets – and how to create them.

As a short recap – recall that the purpose of profiling is to take the core resources and make them more suitable for real-world Use Cases by adding new elements (extensions) and removing the ones that are not needed. As part of this process you often want to specify a particular set of values for coded elements that is different to the one in the spec and the ValueSet is the mechanism that you use to specify those. The problem is that there isn’t currently any widely available tooling to create ValueSets (outside of the tooling used to build the specification itself) – especially ones for clinicians to use, so over the weekend I decided to write a simple ValueSet Editor.

Read more of this post

Using clinFHIR for profiling

One of things we’ve discussed many times in the past is profiling FHIR – taking the base resources and adapting them to specific Use Cases by adding extra fields (extensions) or restricting/removing base fields.

The community has provided tooling in the form of the forge tool from Furore for creating these profiles, but to do this properly requires a certain amount of planning and work, and there is a place for being able to quickly create a profile to try something out. This is kind of like clinical modeling – you have some data you wish to add to a resource, but you’re not sure where the best place to put it is – or you want to quickly create a profile that others can then comment on.

Read more of this post

Internationalizing clinFHIR

I’m supposed to be finishing off my presentation (I’m giving the ‘FHIR for developers’ tutorial at the Montreal WGM) and Mary-Anne will kill me if it’s in late – but I was chatting with a colleague from HL7 Russia, and got a bit sidetracked…

Apparently they like some of my posts (which is flattering) and are translating them into Russian (also flattering). They also like using clinFHIR as an educational tool (even more flattering) but wondered if it could be ‘internationalized’ – ie the User Interface elements translated into Russian (the resource content would remain English of course). Now this is the second time that someone has asked for this (the last one was from Lithuania), so I thought why not?

Read more of this post

clinFHIR Resource Builder: version 2

In the past few months I’ve been working on the clinFHIR resource builder that we use at the ‘Clinicians on FHIR’ events at the Working Group Meetings.

In fact, this really became a complete re-write of the application, as there were a number of issues that I just couldn’t fix in the current version – especially around the rendering and creation of extensions. This has resulted in some changes to the User Interface, so the purpose of this post is to describe those changes when creating and viewing resources. It’s not quite complete, but ready for people to give it some user testing.

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

clinFHIR and 2.1

A quick note for those who will be using clinFHIR at the upcoming WGM – I’ve updated it so that it can read the proposed 2.1 resources. The way it works is that you select the server in the usual way – i.e. clicking the ‘servers’ link at the top right of the screen, and there are now both 2.0 and 2.1 versions of the servers to select from. Read more of this post

Cleaning up clinFHIR

Just a short post for people who may have become frustrated with errors in clinFHIR when selecting patients in the Resource Builder.

What was happening is the clinFHIR keeps a note of all patients who have had resources made for them (by anyone) through the tool – to make it easier to find them later. The list is grouped by server – ie depending on the Data Server you have configured you’ll get the appropriate list.

The issue was that the current servers out there are all test servers – their purpose is to help develop the spec and ensure fitness for purpose, and this means that periodically the contents may be deleted as the resource structure has changed (or for some other purpose). So clinFHIR winds up holding on to some ‘stale’ references – hence the errors.

Read more of this post