Stream: argonaut
Topic: bound Code extensions
Nick George (Dec 05 2019 at 07:52):
Hello - I noticed a discrepancy in how core FHIR 4.0.1 and USCore 3.1.0 define bound code extensions (i.e., an extension that is restricted to a code type of a given valueset).
- In FHIR 4.0.1 (e.g., http://hl7.org/fhir/extension-iso21090-ad-use.json.html), the binding is done on
Extension.value[x]
(which is limited to code type) - In USCore 3.1.0 (e.g., http://hl7.org/fhir/us/core/STU3.1/StructureDefinition-us-core-birthsex.json.html), the binding is done on
Extension.value[x]:valueCode
Nick George (Dec 05 2019 at 07:52):
are both of these considered correct?
Grahame Grieve (Dec 05 2019 at 09:23):
yes
Nick George (Dec 05 2019 at 18:19):
Is that the long term plan? A bit odd to have two correct ways to do the same thing... means more special case handling, and opens more vectors of incorrect-ness (e.g., if specialization is done on both the choice type itself AND the slice, and they disagree)
Grahame Grieve (Dec 05 2019 at 18:28):
I'm not sure
Nick George (Dec 05 2019 at 18:36):
Seems to me like we should settle on a correct way to do this, maybe something to talk about in Sydney
Nick George (Dec 10 2019 at 00:02):
Some more examples of similar issues:
even within US core, this is handled two different ways on two nearly identical extensions:
http://hl7.org/fhir/us/core/STU3.1/StructureDefinition-us-core-ethnicity.json.html vs
http://hl7.org/fhir/us/core/STU3.1/StructureDefinition-us-core-race.json.html
one puts the binding on Extension.extension:ombCategory.value[x]
one puts the binding on Extension.extension:ombCategory.value[x]:valueCoding
These kinds of arbitrary differences are really taxing on things that read the spec :(
Grahame Grieve (Dec 10 2019 at 00:16):
that difference is requirements based
Nick George (Dec 10 2019 at 00:17):
how's that? AFAIKT, they're both doing the same thing - it's an extension constrained to a Coding bound to ombCategory codes
Nick George (Dec 10 2019 at 00:17):
different valuesets, but same structure
Nick George (Dec 10 2019 at 00:18):
note, e.g., in the differential view, the difference between valueCoding and value[x] - correct me if I'm wrong but I think they mean the same thingx
Grahame Grieve (Dec 10 2019 at 05:12):
now that I've actually looked, I agree. In fact, I thought they would actually both generate the same snapshot, but obviously not. But I think I'm not going to try and fix that right now
Last updated: Apr 12 2022 at 19:14 UTC