We don’t often think about supporting and working with future versions of FHIR — not unless we’re building developer tools or FHIR servers.
It’s worth thinking about.
Regulations change. Expectations change. Today’s R4 will give way to R6 in a few years.
A resource’s maturity level is a good measure of how exposed it is to change or possible deletion in the future.
Maturity levels range from 0-5.
“The higher the maturity level, the more controls are enforced to restrict breaking changes to the resource”
http://hl7.org/fhir/R4/versions.html#maturity
Examples of level 5 resources in FHIR R4:
– Patient
– Observation
– Bundle
You can be reasonably confident there won’t be breaking changes to these resources.
Examples of level 0 resources:
– SubstanceProtein
– Linkage
– DeviceDefinition
Relying heavily on any of these resources runs the risk of exposing you down the road.
To data migration issues if your FHIR server is ‘out-of-the-box’ such as Azure or GCP. To extensive API rewrites if you’ve rolled your own.
Many level 0 resources in R4 have already been removed in R5.
Expect this to happen with R6 as well.
This doesn’t mean you shouldn’t use resources with a low maturity level. I used DeviceDefinition a few months ago.
It means you need to be aware of the possible price to pay later.
R4 Resources: https://vanyalabs.com/files/fhir-resources-maturity-R4.png
R5 Resources: https://vanyalabs.com/files/fhir-resources-maturity-R5.png
---
Sign up to “The Tuesday FHIR Sessions” and receive an email every Tuesday where I go deep on a single FHIR topic.