There are two types of changes that can be made to descriptive elements - revising the existing content, or adding or removing elements. Removing an element is only appropriate if the element no longer applies in the context of the constraints/domain space of the profile.
Questionable math aside, it appears that it should be possible to remove certain elements from an ED (e.g., code.coding, comment, alias, example, mapping). We should determine an approach for doing this in FSH.
Some off-the-cuff possibilities:
* delete subject ^example[1]
* subject delete ^example[1]
We could try using the assignment syntax for this as well, but it's not clear what the right-hand side should be.
Also note that when deleting a 0..* ED element, the author may want to delete a single element in the array or the whole array. Something like * subject delete ^example could be interpreted as deleting the whole array -- but it leads to inconsistency since leaving out the index is the same as [0] in all other cases.
Perhaps this is not needed if the elementdefinition-suppress extension is used to delete elements. In that case, we could get by with a RuleSet. Waiting on confirmation in zulip.
The Profiling Descriptive Elements section of the spec states:
Questionable math aside, it appears that it should be possible to remove certain elements from an ED (e.g.,
code.coding
,comment
,alias
,example
,mapping
). We should determine an approach for doing this in FSH.Some off-the-cuff possibilities:
* delete subject ^example[1]
* subject delete ^example[1]
We could try using the assignment syntax for this as well, but it's not clear what the right-hand side should be.
Also note that when deleting a
0..*
ED element, the author may want to delete a single element in the array or the whole array. Something like* subject delete ^example
could be interpreted as deleting the whole array -- but it leads to inconsistency since leaving out the index is the same as[0]
in all other cases.