Stream: implementers
Topic: Remove ElementDefinition.defaultValue[x]
Grahame Grieve (Feb 24 2018 at 21:34):
@Ewout Kramer @Josh Mandel @Michael Donnelly (and anyone else): when we discussed "Remove ElementDefinition.defaultValue[x]" at the working group meeting, did any discussion relate to it's use in logical models? I'm going through removing it now, and.... it's a problem for all my v3 logical models which really do have default values that I really can't remove
Josh Mandel (Feb 24 2018 at 21:36):
This didn't come up specifically
Josh Mandel (Feb 24 2018 at 21:36):
We reviewed the list of default values in the spec, which didn't include values from logical models
Grahame Grieve (Feb 24 2018 at 21:38):
so I have to define an extension for default value at least, since all versions of FHIR before 3.2 include default values, and I have to handle this in the IG publisher (and possibly the validator), and I have to do round trip version conversion for ElementDefinition and get it 100% fine.
but also, I definitely need default values for logical models too. Of course, I can use the extension there too.
But I'm wondering: maybe we should leave ElementDefinition.defaultValue[x] in, and only remove the use of default values from data types and resources?
Grahame Grieve (Feb 24 2018 at 21:43):
that's been done, btw, I have a clean build that removes all default values
Lloyd McKenzie (Feb 24 2018 at 21:57):
If we put in an invariant that prohibits them everywhere except logical models, that can be ok.
Grahame Grieve (Feb 24 2018 at 22:00):
I've committed with updated doco but without that invariant, so people can have a look at this. (will add the invariant when I get a chance)
Grahame Grieve (Feb 25 2018 at 10:59):
did we talk about default values on extensions?
Lloyd McKenzie (Feb 25 2018 at 20:24):
Given that systems may strip out extensions, I don't think we can presume a default value.
Ewout Kramer (Feb 26 2018 at 14:36):
" I'm going through removing it now, and.... it's a problem for all my v3 logical models which really do have default values that I really can't remove"
I remember @Alexander Henket bringing this up, but also remember you persuading him this was not a problem. But that last bit might be my misrecollection ;-) Sounds like logical models deserve a core (modifier) extension for this?
Grahame Grieve (Feb 26 2018 at 18:09):
I don't remember that. But for now I've left it in as core and only allowed to be used in logical models
Alexander Henket (Mar 09 2018 at 08:25):
In V2/V3 Logical Models at the very least you will have to deal with default values, for better or for worse.
In profiles on those same Logical Models, e.g. on HL7 V2 ADT^A01 etc., you will again encounter those defaultValues present in the base Logical Model.
So this brings me to something I never figured out entirely: what is a profile/template on a Logical Model? Is that another Logical Model (in which case we could uphold that defaultValue is only relevant for Logical Models), or is that in itself an actual "profile"?
You could say: defaultValue shall not be used for FHIR uses of StructureDefinition. I have a hard time understanding how you would do V2/V3 in StructureDefinition if defaultValue goes away.
Michel Rutten (Mar 09 2018 at 12:23):
@Alexander Henket Although technically possible, profiles on logical models are not clearly defined. Forge does not support profiles on logical models. Forge also won't let you apply slicing or extensions to a logical model.
Alexander Henket (Mar 12 2018 at 04:28):
So StructureDefinition has been gaining capabilities necessary to express base V2/V3, but we don't know yet how to constrain those models, i.e. profile/template. @Ewout Kramer and I promised each other to give that some thought before September.
As it stands today all you can do with a logical model, is use it as a source or target to translate from/to. That probably has merit, but it is not what I wanted. What I would like is to see if V2 ConformanceProfiles and V3 Template ITS could be superseded by StructureDefinition.
Grahame Grieve (Mar 12 2018 at 19:32):
it should be possible, so far as I know
Last updated: Apr 12 2022 at 19:14 UTC