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:
You can be reasonably confident there won’t be breaking changes to these resources.
Examples of level 0 resources:
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.
Sign up to “The Tuesday FHIR Sessions” and receive an email every Tuesday where I go deep on a single FHIR topic.