Interface SliceRequirement
- All Known Implementing Classes:
SliceRequirement.Pattern,SliceRequirement.RequiredBinding,SliceRequirement.TypeDiscriminated,SliceRequirement.ValueDiscriminated
public sealed interface SliceRequirement
permits SliceRequirement.Pattern, SliceRequirement.RequiredBinding, SliceRequirement.TypeDiscriminated, SliceRequirement.ValueDiscriminated
A single must-support slice requirement (algorithm.md §3.2), resolved via exactly one of the
three implemented discriminator strategies. Modeled as a sealed hierarchy - rather than the
Ruby original's one generic "values" bag reused for both slice shapes - specifically so the
disjunction (
SliceRequirement.RequiredBinding: "any one of these codes") and conjunction
(SliceRequirement.ValueDiscriminated: "all of these sub-paths at once") cases can never be confused with
each other at the type level (algorithm.md §3.2.3's explicit warning about this ambiguity in
the reference implementation).-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordA slice identified by a single fixed/pattern value at the discriminator's sub-path (algorithm.md §3.2.1'spatternCodeableConcept/patternCoding/patternIdentifierbranches).static final recordA slice identified by required-strength ValueSet membership at the discriminator's sub-path (algorithm.md §3.2.1'srequiredBindingbranch) - a disjunction overcodes, expanded eagerly at compile time from locally-loaded IG packages only (seeValueSetExpander; not from a terminology server).static final recordA choice-element slice identified purely by concrete datatype (algorithm.md §3.2.2), e.g.static final recordA slice identified by several independent fixed sub-paths that must all match together on the same candidate element (algorithm.md §3.2.3) - a conjunction overmatches. -
Method Summary
Modifier and TypeMethodDescriptionThe base (unsliced, repeating) element's resource-type-prefixed path, e.g.booleanWhether the slice's ownmin > 0- decidesSeverityper algorithm.md §7.3.The slice element's own id, e.g.The slice name, e.g.
-
Method Details
-
sliceElementId
String sliceElementId()The slice element's own id, e.g."Patient.identifier:ihi". -
sliceName
String sliceName()The slice name, e.g."ihi". -
baseElementPath
String baseElementPath()The base (unsliced, repeating) element's resource-type-prefixed path, e.g."identifier". -
mandatory
boolean mandatory()Whether the slice's ownmin > 0- decidesSeverityper algorithm.md §7.3.
-