clinFHIR does AI

I thought I’d see how useful the current AI models are in producing a FHIR bundle of resources that represents some – likely clinical – scenario to help those learning FHIR. I wanted to have a conversational interaction so that the bundles created can be viewed and refined, and a way for the AI to explain the choices it made when processing the input prompt and generating the bundle. The resulting bundle would be validated using the FHIR Validator.

TLDR: They are surprisingly good!

Read more of this post

Bundle Viewer gets a timeline

Thanks to an excellent suggestion from my friend Peter Jordan, the clinFHIR Bundle Viewer can now display the resources within a Bundle – such as an IPS document – on a timeline. 

Read more of this post

Viewing an IPS Document

Many people reading this post will be aware of the International Patient Summary (IPS) Implementation Guide that describes a consistent set of key clinical data such as Medications, Allergies and significant conditions for use as a concise summary of a person’s health status when seeing an unfamiliar provider. It is widely used internationally, and even has its own website. 

There are a number of important things about the IPS (apart from the fact that it is globally usable).

Firstly, it defines the key aspects of a health record Clinicians need when treating a patient they are not familiar with – things like usual medications, any allergies (or a specific affirmation that there are none), important conditions and so forth.

And secondly, it defines these aspects in a way that is not only human readable, but also capable of updating an Electronic Health Record by defining specific codes for the elements, and the capacity to include specific resources such as MedicationStatement, Condition and AllergyIntolerance.

In this post, we’ll use the clinFHIR Bundle Viewer to take a look inside an IPS document and review those resources. We’ll note in passing that you could also use the Patient Viewer to view the bundle – it has a very similar display, but less technically focussed – no validation for example – so more suited to the business or clinical viewer.

Read more of this post

Updates to clinFHIR

I’ve just published an update to clinFHIR – well, not so much an update as a re-packaging of the underlying codebase into docker containers, and rationalizing the number of servers I’m using. 

As part of the update I’ve replaced the front page (with a little help from AI) and only included the apps that I believe people are actually using (and actually still work!). Let me know if there’s any I’ve missed)

The previous version of clinFHIR is still available here, and Graph builder is here. I’ll leave them up for a month or so in case of any issues, but then they will be removed – likely around the end of August 2026.

If you do have any issues/questions/concerns then raise them on the zulip chat.

Read more of this post

FHIR: The important bits

The FHIR standard describes how health related information can be moved around a healthcare ecosystem, describing both information structure and exchange mechanisms. It’s straightforward to learn and use, but can be a bit overwhelming to the newcomer as it’s grown quite large since we first started it over 10 years ago.

This post is intended for people unfamiliar with FHIR, and we’ll take a quick look at the most important things to be familiar with as you start your FHIR journey.

It’s very much a ‘whistle stop’ tour – think of it as a list of things to explore further yourself.

Read more of this post

Definition based resource extraction

In this post we’re going to take a closer look at SDC definition based resource extraction from a completed Questionnaire.

SDC (Structured Data Capture) is an Implementation Guide that describes and expands the use of the FHIR Questionnaire resource in defining forms to display and capture structured information. As well as visual and behavioural enhancements it defines mechanisms for pre-population of data as well as extracting it to FHIR resources that we’ll discuss here. (We’ll take a look at pre-population in another post).

Read more of this post

Questionnaire Viewer: Selecting a Questionnaire

In the last post we took a look at the new clinFHIR Questionnaire Viewer – a tool that takes any R4 Questionnaire and provides a number of views of them including rendering them in the CSIRO form renderer via the Fhirpath lab.

Since that post there have been a number of upgrades – most specifically in the way in which a Questionnaire can be selected. Let’s take a look at those options.

Read more of this post

Questionnaire Viewer

In the last post we looked at enhancements that were made to an existing clinFHIR module – the Bundle Viewer. Now let’s take a look at a new module – the Questionnaire Viewer. This was developed as part of the CanShare project in New Zealand and made available to clinFHIR for more general use. It’s still under development (of course 🙂 ), but the current version can be viewed in the clinFHIR test environment here. 

Key features of the module include:

  • Import any R4 FHIR questionnaire (will be updated to R6 soonish)
  • Tree view of the Questionnaire with links to the underlying item elements in the Questionnaire
  • An SDC view intended to expose specific SDC based extensions and features
  • Using integrations with the Form Tester module in the  Fhirpath lab, it can render forms using the CSIRO forms renderer
  • Using the same integrations (using SMART web messaging) it can execute SDC based form pre-population, retrieve the QuestionnaireResponse and perform resource extraction, displaying the results within the app or passing it to Bundle Viewer for more detailed inspection of the extracted bundle

Let’s do a quick run through showing this end to end. 

Read more of this post

Bundle Viewer update

The Bundle Visualizer module in clinFHIR has been around for a while. It allows you to view the contents of a FHIR bundle in a number of ways, and can also validate the contents. As part of a general update to clinFHIR that I’m working on, I’ve taken the opportunity to ‘refurbish’ and rename it to Bundle Viewer. This post describes the main changes.

Read more of this post

HTTPS upgrade

So I’ve finally migrated clinFHIR to using https rather than plain old http. It’s something I’ve meant to do for a while, but it wasn’t without issues!

I decided to use nginx as a reverse proxy to manage the interface, and also took the opportunity to rationalize the servers – they’ve proliferated over the years! (and cost more than they really need to 🙂 ). chatGPT was a real help!

clinFHIR itself should work pretty much as it did before – though I did note that my browser did seem a little confused initially – I needed to clear the browser cache, so if you are having issues then that is probably a good idea. 

One consequence of the migration is that clinFHIR cannot access non-https servers as it is a single page application – the http request comes from the browser which won’t allow a secure site to access a non-secure site. I don’t believe that will be an issue these days, but do reach out if it is a problem for you. I could proxy the call through the clinFHIR server if needed.

Graphbuilder (gb2.clinfhir.com) was a little more challenging. I got nginx set up ok, but after doing so, I realized that all my graphs had gone! They are saved in the local browser cache (unless they’ve been copied to the library) and the secure site was unable to access them from the non-secure site. This is by design, so there’s nothing I can do to change that.

After some thought, I’ve set up a different site at gb.clinfhir.com which has the same app, just served over https. For new users this is the site to use, but if you have existing graphs then you’ll need to continue to use gb2.clinfhir.com for the moment.

I’ll work on the migration strategy – at this time I’m thinking a file download / upload will be the easiest, but will post again when it’s all running. I’ll probably take the opportunity to tidy up the graph builder library – something else I’ve been meaning to do for a while.

In summary:

  • clinfhir.com should work as before – just over https
  • gb2.clinfhir.com should also work as before – still using http with existing graphs present
  • gb.clinfhir.com  is a copy of gb2 but served over https and no existing graphs

I will post again when the migration strategy is complete – hopefully within the next couple of weeks.

Do reach out on the fhir chat if you have any issues or concerns.