Question: Extending systems to deal with non-#FHIR type content


What has your experience been with developers, developing on a FHIR model that requires FHIR resources — but also has a need for non-standard FHIR data (something like supply chain data or Blockchain external hashed data). Is the recommendation to shoe horn this into extensions  or have data models that live side-by-side with FHIR?


There’s no single answer to this question, because it depends on the other kind of data. Generally, there’s 3 approaches I’ve seen:

  1. Use extensions in existing resources (particularly Basic). This approach is only good while the extensions are pretty narrow and limited, and closely related to the existing FHIR functionality
  2. Use some other content model, and figure out how the functionality links. This approach is good where there is another content model. For example, in my server, I use SCIM for managing the user accounts. I use the SCIM content to link a user account to a FHIR resource like “Patient” so that I know which patient the user represents (if any) and I refer to the SCIM user identity in AuditEvent resources (as a URL)
  3. Make up your own content but follow the FHIR patterns – effectively, custom FHIR resources. Use extensions to reference them. This approach is good where you have quite a bit of content/functionality, but there’s no external standard to follow

Which is best depends on what you’re doing.

A note about the custom resources idea: this is legal – you can do whatever you want with the names the FHIR doesn’t define. e.g. [base]/User. And if you choose to put something there, that happens to look a bit like a FHIR resource.. that’s still whatever you want. But things like ‘can I describe it from the CapabilityStatement’ and ‘can I search into the space’ are not technically legal, and there’s always a risk that HL7 will use the name in the next version of FHIR, making your solution locked in to being non-conformant. We’ve investigated making some policy around these questions to make custom resources manageable, but we’ve never managed to get the energy to push agreements over the line.


  1. Thomas Lukasik says:


    RE “Make up your own content but follow the FHIR patterns..”

    Are those “FHIR Patterns” that you refer to documented or described anywhere, either in the specification itself, or in any related content such as a slide set or a presentation?

    If not, do you feel that they’re clearly identifiable by someone who may need to implement a custom FHIR Resource?

    It seems to me that left on their own to identify a set of “FHIR Patterns” that should be followed, 10 implementers of a custom FHIR Resource would arrive at 10 different results.

    Can you offer any advice or guidance as far as identifying (at least) the primary FHIR patterns that should be followed, and perhaps provide one or two examples?


    • Grahame Grieve says:

      no we’ve not documented them explicitly – though they are all implicit in the conformance resources. Listing them is part of the work that I referred to that has never crossed the line

Leave a Reply

Your email address will not be published. Required fields are marked *

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen


%d bloggers like this: