Stream: implementers
Topic: Polymorphic slice profile
Yurii Makhotkin (Oct 01 2021 at 10:24):
In the familymemberhistory-genetic profile there are some strange union type slice profiles.
For example:
born[x]
in the base definition can have type of string/Age/String and this profile specifies Age
slice with types string/Age/String again:
{"id": "FamilyMemberHistory.age[x]:Age",
"path": "FamilyMemberHistory.age[x]",
"sliceName": "Age",
"min": 0,
"max": "1",
"type": [{"code": "Age"},
{"code": "Range"},
{"code": "string"}],
"mustSupport": true}
Is this an error? If not how such structure should be interpreted?
(Also this profile has some strange slices on elements with base.max=1 and without slicings defined, such as FamilyMemberHistory.sex:Sex
. I wonder how this should be interpreted too)
Josh Mandel (Oct 01 2021 at 14:46):
The "mustSupport" may be what's being added in the profile here? Like, age[x]
and born[x]
both appear in the differential on the profile you linked to:
Yurii Makhotkin (Oct 13 2021 at 16:56):
@Josh Mandel but why are they add mustSupport
to slices (FamilyMemberHistory.born[x]:BornAge
& FamilyMemberHistory.age[x]:Age
) and not to root element (FamilyMemberHistory.born[x]
& FamilyMemberHistory.age[x]
)?
Josh Mandel (Oct 13 2021 at 17:04):
I think by default adding MustSupport on .born
would mean "you have to support some aspect of .born
", whereas defining it on slices means that you have to support each slice.
Last updated: Apr 12 2022 at 19:14 UTC