<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://apiframework.dedalus.eu/fhir/StructureDefinition/CodeSystem" />
  <name value="CodeSystem" />
  <title value="API Framework CodeSystem" />
  <status value="active" />
  <experimental value="false" />
  <description value="Dedalus API Framework core profile for CodeSystem" />
  <fhirVersion value="3.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="CodeSystem" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/CodeSystem" />
  <derivation value="constraint" />
  <differential>
    <element id="CodeSystem.id">
      <path value="CodeSystem.id" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.meta">
      <path value="CodeSystem.meta" />
      <min value="1" />
      <type>
        <code value="Meta" />
        <profile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Meta-ForCommonConformance" />
      </type>
    </element>
    <element id="CodeSystem.meta.tag">
      <path value="CodeSystem.meta.tag" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="CodeSystem.meta.tag:isDelta">
      <path value="CodeSystem.meta.tag" />
      <sliceName value="isDelta" />
      <max value="1" />
    </element>
    <element id="CodeSystem.meta.tag:isDelta.system">
      <path value="CodeSystem.meta.tag.system" />
      <min value="1" />
      <fixedUri value="http://apiframework.dedalus.eu/tag/isDelta" />
    </element>
    <element id="CodeSystem.meta.tag:isDelta.code">
      <path value="CodeSystem.meta.tag.code" />
      <short value="true | false" />
      <min value="1" />
    </element>
    <element id="CodeSystem.text">
      <path value="CodeSystem.text" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.extension">
      <path value="CodeSystem.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="CodeSystem.extension:hasNonUniqueConceptCodes">
      <path value="CodeSystem.extension" />
      <sliceName value="hasNonUniqueConceptCodes" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-codeSystem-hasNonUniqueConceptCodes" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.url">
      <path value="CodeSystem.url" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.version">
      <path value="CodeSystem.version" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.name">
      <path value="CodeSystem.name" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.title">
      <path value="CodeSystem.title" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.status">
      <path value="CodeSystem.status" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.experimental">
      <path value="CodeSystem.experimental" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.publisher">
      <path value="CodeSystem.publisher" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.description">
      <path value="CodeSystem.description" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.caseSensitive">
      <path value="CodeSystem.caseSensitive" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.valueSet">
      <path value="CodeSystem.valueSet" />
      <requirements value="This element is mandatory in a CREATE transaction so that terminology server can create the corresponding &quot;Entire CodeSystem&quot; ValueSet with the correct canonical URL." />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.versionNeeded">
      <path value="CodeSystem.versionNeeded" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.content">
      <path value="CodeSystem.content" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Property" />
      </extension>
      <path value="CodeSystem.property" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <rules value="openAtEnd" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property.code">
      <path value="CodeSystem.property.code" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property.type">
      <path value="CodeSystem.property.type" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property:concept-status">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Property" />
      </extension>
      <path value="CodeSystem.property" />
      <sliceName value="concept-status" />
      <definition value="Conceives the status of the concept&#xD;&#xA;active | deleted" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property:concept-status.code">
      <path value="CodeSystem.property.code" />
      <fixedCode value="status" />
    </element>
    <element id="CodeSystem.property:concept-status.type">
      <path value="CodeSystem.property.type" />
      <fixedCode value="code" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property:concept-period-start">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Property" />
      </extension>
      <path value="CodeSystem.property" />
      <sliceName value="concept-period-start" />
      <requirements value="Defines the start of the effective validity period of the concept" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property:concept-period-start.code">
      <path value="CodeSystem.property.code" />
      <fixedCode value="period-start" />
    </element>
    <element id="CodeSystem.property:concept-period-start.type">
      <path value="CodeSystem.property.type" />
      <fixedCode value="dateTime" />
    </element>
    <element id="CodeSystem.property:concept-period-end">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Property" />
      </extension>
      <path value="CodeSystem.property" />
      <sliceName value="concept-period-end" />
      <requirements value="Defines the end of the effective validity period of the concept" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.property:concept-period-end.code">
      <path value="CodeSystem.property.code" />
      <fixedCode value="period-end" />
    </element>
    <element id="CodeSystem.property:concept-period-end.type">
      <path value="CodeSystem.property.type" />
      <fixedCode value="dateTime" />
    </element>
    <element id="CodeSystem.concept">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="ConceptDefinition" />
      </extension>
      <path value="CodeSystem.concept" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.concept.id">
      <path value="CodeSystem.concept.id" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.concept.code">
      <path value="CodeSystem.concept.code" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.concept.display">
      <path value="CodeSystem.concept.display" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.concept.designation">
      <path value="CodeSystem.concept.designation" />
      <mustSupport value="true" />
    </element>
    <element id="CodeSystem.concept.property">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="ConceptProperty" />
      </extension>
      <path value="CodeSystem.concept.property" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>