-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate changes in FHIR 4.3.0 (R4B) #2065
Comments
I havn't checked this against the list published by HL7, but after an initial attempt at #2066 I found the following changes (ignoring valueset binding version changes from 4.0.1 to 4.1.0): Resource Types
Data Types
Code Subtypes
|
Code Subtype breaking changes:
|
Data Types breaking changes:
notable mention:
|
Resource type breaking changes:
I chose not to consider the addition of new valid reference targets a "breaking" change, but its possible for that to break folks if they encounter a resource and try processing it without realizing the new type is allowed. notable mentions:
The new choice types won't prevent R4 resources from being valid in R4B, but could prevent R4 clients from successfully working with instances of these types that were created with the new choice type in R4B. |
ideas: A: totally separate versions, no migration
Concerns: 4 and 5 will fight over which is "latest"
java package naming
B: totally separate versions but ensuring our 4.x will continue to work with the same database
How long before we are allowed to make schema changes that will break R4? Do we want to ensure that our R4 server doesn't try writing data to an R4B schema?
C: different api endpoints in the same deployment
D: try supporting both in parallel
any special considerations for audit? What about changes to:
Current naming convention: marketing version and module version always in sync
To be naming options: conflicting priorities
A: jump a bunch of versions, but keep current versioning convention in placemarketing version: IBM FHIR Server 4.20 make very clear in release notes that this version adds support for R4B B: break the marketing version from the module versionmarketing version: IBM FHIR Server R4B 2022-01 alternative marketing version: IBM FHIR Server 2022-1 for FHIR R4B what do we use for the git tag? paul suggesting to keep it in line with the module version, so that would be 5.0.0 incrementing number or month?
single digit (2022-1) or multiple digits (2022-01)?
benefit: the new name is sufficiently different that we could still release 4.x versions with old naming scheme
i think we could release them in either order. only place i think it matters is the docker 'latest' tag
rough plan:
|
After lots of team discussion, we're leaning toward the following choices: That would mean we'd shoot for a release from the |
MedicinalProductPackaged was renamed, so we won't need to deal with old data there (we won't perform any automated migration for any of the "renamed" resource types). UPDATE: Lloyd is going to discuss this one with the FHiR management workgroup...they may fix this to avoid the breaking change to DeviceDefinition: https://chat.fhir.org/#narrow/stream/179166-implementers/topic/R4B.20compatibilty/near/269339301 We'll still have backwards-compatibility issues with Evidence and EvidenceVariable though...so we'll still need to warn users about that. |
I missed the significance of this one in my initial analysis
The issue is that DataRequirement is used by TriggerDefinition, GuidanceResponse, Library, Parameters, PlanDefinition, ResearchElementDefinition, StructureMap and Task ...so this one has a potentially wide blast radius. I'm gonna make the same change that I made to the ResourceType code subtype to the FHIRAllTypes one so that we can at least parse any old resources that are using one of the retired codes. |
Current thought is to support R4B in-place (non-optional).
Goals: look for backwards-breaking changes that could affect this plan.
Examples: changed field names, resource type names, etc.
Ensure we can handle
application/fhir+json;fhirVersion=x.y.z
clause appropriately for both 4.0.1 and 4.1.0 (#896)The text was updated successfully, but these errors were encountered: