Class ValueSetNotLocallyEnumerableException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.fhirfrog.frog.profilecompiler.ValueSetNotLocallyEnumerableException
All Implemented Interfaces:
Serializable

public class ValueSetNotLocallyEnumerableException extends RuntimeException
Thrown when a requiredBinding pattern-discriminator sub-case (algorithm.md §3.2.1) needs a ValueSet's code list expanded, but that ValueSet's compose.include isn't fully enumerable from the loaded IG package closure alone - e.g. it names an external code system with no local CodeSystem resource and no explicit concept list.

This is not a hypothetical edge case flagged defensively: it is the actual, confirmed shape of two of algorithm.md §3.2.1's own worked examples against the real, cached hl7.fhir.au.core#2.0.0/hl7.fhir.au.base#6.0.0 packages - MedicationRequest.medication[x]:medicationCodeableConcept.coding:pbs's binding to http://terminology.hl7.org.au/ValueSet/pbs-item (system http://pbs.gov.au/code/item, no local CodeSystem) and coding:amt's binding to https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1 (AMT, an NCTS-hosted terminology far too large to ship in a package). See this change's design.md for the full write-up. Rather than silently emit an assertion that can never be correct (an empty code list) or reach out to a terminology server at compile time (explicitly out of scope per design.md - see IgProfileSource), the compiler fails loudly here, naming the profile/slice/ ValueSet, so this stays a visible, actionable gap rather than a silently-wrong emitted check.

See Also:
  • Constructor Details

    • ValueSetNotLocallyEnumerableException

      public ValueSetNotLocallyEnumerableException(String message)