<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://apiframework.dedalus.eu/fhir/StructureDefinition/ValueSet" />
  <name value="ValueSet" />
  <title value="API Framework ValueSet" />
  <status value="active" />
  <experimental value="false" />
  <description value="Dedalus API Framework core profile for ValueSet" />
  <fhirVersion value="3.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="ValueSet" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/ValueSet" />
  <derivation value="constraint" />
  <differential>
    <element id="ValueSet.id">
      <path value="ValueSet.id" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.meta">
      <path value="ValueSet.meta" />
      <type>
        <code value="Meta" />
        <profile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Meta-ForCommonConformance" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.meta.tag">
      <path value="ValueSet.meta.tag" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="ValueSet.text">
      <path value="ValueSet.text" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.url">
      <path value="ValueSet.url" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.version">
      <path value="ValueSet.version" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.name">
      <path value="ValueSet.name" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.title">
      <path value="ValueSet.title" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.status">
      <path value="ValueSet.status" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.experimental">
      <path value="ValueSet.experimental" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.publisher">
      <path value="ValueSet.publisher" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.description">
      <path value="ValueSet.description" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.compose">
      <path value="ValueSet.compose" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.compose.include">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="ConceptSet" />
      </extension>
      <path value="ValueSet.compose.include" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.compose.include.system">
      <path value="ValueSet.compose.include.system" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.compose.include.version">
      <path value="ValueSet.compose.include.version" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.compose.include.concept">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="ConceptReference" />
      </extension>
      <path value="ValueSet.compose.include.concept" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.compose.include.filter">
      <path value="ValueSet.compose.include.filter" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.expansion">
      <path value="ValueSet.expansion" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.expansion.contains">
      <path value="ValueSet.expansion.contains" />
      <mustSupport value="true" />
    </element>
    <element id="ValueSet.expansion.contains.extension">
      <path value="ValueSet.expansion.contains.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="ValueSet.expansion.contains.extension:property">
      <path value="ValueSet.expansion.contains.extension" />
      <sliceName value="property" />
      <type>
        <code value="Extension" />
        <profile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-valueSet-conceptProperty" />
      </type>
    </element>
  </differential>
</StructureDefinition>