Stream: implementers
Topic: Must Support property for profiling
Reinhard Egelkraut (Jul 09 2018 at 13:27):
Hi,
I have a question about the correct usage of the "Must Support" property for profiling http://build.fhir.org/profiling.html#mustsupport:
The definition for "Must Support = True" is available but somehow the definition of "Must Support = False" is missing, or am I missing something (maybe an implicit hint)?
Does "Must Support = False" mean that this element is optional? If yes, does it have the same meaning as if this property isn't available at all (which according to the spec is possible, see first sentence: " One of the properties that can be declared on profiles…")?
In my opinion there should be three definitions for the usage of the "Must Support" property:
- Must Support = True means …
- Must Support = False means …
- Must Support property isn't available means …
or are the latter two not defined by the base FHIR spec on purpose and are up to the implementers for definition?
John Moehrke (Jul 09 2018 at 13:53):
when mustSupport is missing, it is simply an indication that THAT StructureDefinition has not declared mustSupport constraint, therefore 'see predecessor', aka the base structure definition upon which THIS is built... I am not sure false is logical, as successor can't really undo a constraint of a predecessor.
Lloyd McKenzie (Jul 09 2018 at 14:47):
You can't change mustSupport to "false" if the parent IG has set it to true. (Which can be a challenge with mustSupport being declared in parent IGs...)
Reinhard Egelkraut (Jul 10 2018 at 08:39):
I've talked with @Lloyd McKenzie about this topic and during this discussion he pointed out that there are actually not just three but four different options for the "Must Support" property. The fourth one is when the property is available but empty, so the correct list looks like this:
- Must Support = "True" means …
- Must Support = "False" means ...
- Must Support property isn't available means …
- Must Support = "" means ...
which could potentially lead to a lot of different interpretations out in the field.
Therefore it might be useful to add some information in the spec about these options and how implementers should deal with it, while creating profiles. I will create a gforge tracker for this topic.
Reinhard Egelkraut (Jul 12 2018 at 08:47):
gforge tracker #17476
Grahame Grieve (Jul 16 2018 at 21:01):
note: the 4th option is not valid. It can only be missing | true | false
Last updated: Apr 12 2022 at 19:14 UTC