Stream: implementers
Topic: FHIR version support
Radha Rajendran (Mar 15 2021 at 06:37):
Hi all,
Does anyone know how to support all version of resources in FHIR receiver ?
Is FHIR schema.json will validate all resources version ?
Do we need any mapping to support old version data structure ?
Thanks in advance
Eric Prud'hommeaux (Mar 15 2021 at 10:42):
@Radha Rajendran , perhaps https://www.hl7.org/fhir/capabilitystatement.html#mixed will help (if i understood the question)
Radha Rajendran (Mar 15 2021 at 11:54):
Okay . If i want to support multiple fhir version do i need to support using profile ?
Rik Smithies (Mar 15 2021 at 12:17):
There is no direct relationship between multiple FHIR versions and profiles. Profiles are an implementation and specification technique, but are always optional in FHIR - unless that is you are working under a framework that mandates them.
Radha Rajendran (Mar 15 2021 at 12:28):
okay thank you
Radha Rajendran (Mar 15 2021 at 12:28):
Any suggestions, How to support multiple fhir version ?
Rik Smithies (Mar 15 2021 at 13:23):
http://hl7.org/fhir/versioning.html
Michele Mottini (Mar 15 2021 at 13:33):
Different FHIR version are not compatible with each other, so you have to write different client code for each version
Lloyd McKenzie (Mar 15 2021 at 14:21):
Alternatively, have a layer in your code that transforms received and outbound instances from and to a standard version you use internally
Lloyd McKenzie (Mar 15 2021 at 14:21):
The FHIR spec provides some basic transforms, but you'd have to adjust to account for any extensions you use and possibly other variations
Eric Prud'hommeaux (Mar 15 2021 at 14:22):
but the protocol doesn't dictate that the HTTP payload version be identified, does it?
Lloyd McKenzie (Mar 15 2021 at 14:23):
The CapabilityStatement available at [base]/metadata will declare the version if the Content-Type does not
Eric Prud'hommeaux (Mar 15 2021 at 14:24):
ahh, but the Content-Type can identify the version then
Eric Prud'hommeaux (Mar 15 2021 at 14:25):
so if you have one endpoint supporting n versions, all PUT, POSTS and PATCHES MUST have C-Ts that identify the version?
Eric Prud'hommeaux (Mar 15 2021 at 14:27):
(or maybe you can have a system-specific default but transactions of all other versions must id themselves)
Eric Prud'hommeaux (Mar 15 2021 at 14:28):
and i guess that implies that for GETs, the Accept could allow the client to request a version, which could be practical if you transcode (where possible) on the fly
Eric Prud'hommeaux (Mar 15 2021 at 14:29):
sorry, this is probably all implied by http://hl7.org/fhir/versioning.html#mt-version
Radha Rajendran (Mar 15 2021 at 14:30):
Thank you all
Last updated: Apr 12 2022 at 19:14 UTC