<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Meta-ForCommonConformance" />
  <name value="Meta-ForCommonConformance" />
  <status value="active" />
  <experimental value="false" />
  <fhirVersion value="3.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <type value="Meta" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Meta" />
  <derivation value="constraint" />
  <differential>
    <element id="Meta">
      <path value="Meta" />
      <mustSupport value="true" />
    </element>
    <element id="Meta.versionId">
      <path value="Meta.versionId" />
      <mustSupport value="true" />
    </element>
    <element id="Meta.lastUpdated">
      <path value="Meta.lastUpdated" />
      <mustSupport value="true" />
    </element>
    <element id="Meta.profile">
      <path value="Meta.profile" />
      <requirements value="Each API Framework resource shall declare conformance to at least its relative FHIR profile: e.g. a ProcedureRequest used in the Order Management Scenario shall declare conformance to ProcedureRequest-ForORD)" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Meta.tag">
      <path value="Meta.tag" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Meta.tag:createdBy">
      <path value="Meta.tag" />
      <sliceName value="createdBy" />
      <definition value="Component ID of the component that created this resource instance." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Meta.tag:createdBy.system">
      <path value="Meta.tag.system" />
      <min value="1" />
      <fixedUri value="http://apiframework.dedalus.eu/tag/createdBy" />
    </element>
    <element id="Meta.tag:createdBy.code">
      <path value="Meta.tag.code" />
      <requirements value="Component ID of the component that created the resource instance" />
      <min value="1" />
    </element>
    <element id="Meta.tag:lastUpdatedBy">
      <path value="Meta.tag" />
      <sliceName value="lastUpdatedBy" />
      <definition value="Component ID of the component that lat updated this resource instance." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Meta.tag:lastUpdatedBy.system">
      <path value="Meta.tag.system" />
      <min value="1" />
      <fixedUri value="http://apiframework.dedalus.eu/tag/lastUpdatedBy" />
    </element>
    <element id="Meta.tag:lastUpdatedBy.code">
      <path value="Meta.tag.code" />
      <min value="1" />
    </element>
    <element id="Meta.tag:currentTransaction">
      <path value="Meta.tag" />
      <sliceName value="currentTransaction" />
      <definition value="Identifier of the last transaction under whose scope the last update of this resource has been performed." />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="extensible" />
        <valueSetReference>
          <reference value="http://apiframework.dedalus.eu/fhir/ValueSet/DFourTransaction-ForWorkflow" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Meta.tag:currentTransaction.system">
      <path value="Meta.tag.system" />
      <min value="1" />
      <fixedUri value="http://apiframework.dedalus.eu/fhir/CodeSystem/DFourTransaction-ForWorkflow" />
    </element>
    <element id="Meta.tag:currentTransaction.code">
      <path value="Meta.tag.code" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>