Interface SliceRequirement

All Known Implementing Classes:
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 Classes
    Modifier and Type
    Interface
    Description
    static final record 
    A slice identified by a single fixed/pattern value at the discriminator's sub-path (algorithm.md §3.2.1's patternCodeableConcept/patternCoding/ patternIdentifier branches).
    static final record 
    A slice identified by required-strength ValueSet membership at the discriminator's sub-path (algorithm.md §3.2.1's requiredBinding branch) - a disjunction over codes, expanded eagerly at compile time from locally-loaded IG packages only (see ValueSetExpander; not from a terminology server).
    static final record 
    A choice-element slice identified purely by concrete datatype (algorithm.md §3.2.2), e.g.
    static final record 
    A 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 over matches.
  • Method Summary

    Modifier and Type
    Method
    Description
    The base (unsliced, repeating) element's resource-type-prefixed path, e.g.
    boolean
    Whether the slice's own min > 0 - decides Severity per 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 own min > 0 - decides Severity per algorithm.md §7.3.