You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cross-version converters like ActorDefinition40_50.java will check for any cross-version extensions when converting to a newer FHIR version.
However, they only check the extension element, not modifierExtension. Future modifier elements (like R5's ActorDefinition.status) are modifier extensions when expressed in previous versions, so won't be found by the converter.
Validators and SUSHI will reject resources that incorrectly place a modifier extension within extension. So this issue is notable when trying to construct an ActorDefinition in an R4 IG, because the IG Publisher requires canonical resources like ActorDefinition to have a status, but SUSHI will refuse to generate the associated extension anywhere but modifierExtension.
Examples for converting R4 Basic to R5 ActorDefinition:
Cross-version converters like ActorDefinition40_50.java will check for any cross-version extensions when converting to a newer FHIR version.
However, they only check the
extension
element, notmodifierExtension
. Future modifier elements (like R5'sActorDefinition.status
) are modifier extensions when expressed in previous versions, so won't be found by the converter.org.hl7.fhir.core/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ActorDefinition40_50.java
Lines 124 to 126 in e862f23
Validators and SUSHI will reject resources that incorrectly place a modifier extension within
extension
. So this issue is notable when trying to construct an ActorDefinition in an R4 IG, because the IG Publisher requires canonical resources like ActorDefinition to have astatus
, but SUSHI will refuse to generate the associated extension anywhere butmodifierExtension
.Examples for converting R4 Basic to R5 ActorDefinition:
ex_Basic_modifierExtension.json
java -jar validator_cli.jar ./ex_Basic_modifierExtension.json -version 4.0 -to-version 5.0 -output ./result.json -do-native
:=>
{"resourceType":"ActorDefinition","id":"example","modifierExtension":[{"url":"http://hl7.org/fhir/5.0/StructureDefinition/extension-ActorDefinition.status","valueCode":"active"}],"type":"system"}
vs. throwing everything in
extension
:ex_Basic_no_modifierExtension.json
java -jar validator_cli.jar ./ex_Basic_no_modifierExtension.json -version 4.0 -to-version 5.0 -output ./result.json -do-native
=>
{"resourceType":"ActorDefinition","id":"example","status":"active","type":"system"}
The text was updated successfully, but these errors were encountered: