<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Procedure" />
  <url value="https://fhir.centraxx.de/StructureDefinition/SurgeryComponent" />
  <version value="2025.4.0" />
  <name value="SurgeryComponent" />
  <status value="active" />
  <publisher value="Kairos an IQVIA business" />
  <description value="Represents a HDRP Surgery Component." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure.meta">
      <path value="Procedure.meta" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.meta.profile">
      <path value="Procedure.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://fhir.centraxx.de/StructureDefinition/surgeryComponent" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.meta.tag">
      <path value="Procedure.meta.tag" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.meta.tag.system">
      <path value="Procedure.meta.tag.system" />
      <min value="1" />
      <max value="1" />
      <fixedString value="https://fhir.centraxx.de/system/cxxEntity" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.meta.tag.code">
      <path value="Procedure.meta.tag.code" />
      <min value="1" />
      <max value="1" />
      <fixedString value="SurgeryComponent" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension">
      <path value="Procedure.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="2" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension:updateWithOverwrite">
      <path value="Procedure.extension" />
      <sliceName value="updateWithOverwrite" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/updateWithOverwrite" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.extension:complications">
      <path value="Procedure.extension" />
      <sliceName value="complications" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/surgeryComponent/complications" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier">
      <path value="Procedure.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="3" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:tumorMammaDiagnosisId">
      <path value="Procedure.identifier" />
      <sliceName value="tumorMammaDiagnosisId" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:tumorMammaDiagnosisId.system">
      <path value="Procedure.identifier.system" />
      <min value="1" />
      <max value="1" />
      <fixedString value="https://fhir.centraxx.de/system/surgeryComponent/surgeryComponentId" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:tumorMammaDiagnosisId.value">
      <path value="Procedure.identifier.value" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:cxxSurgeryComponentId">
      <path value="Procedure.identifier" />
      <sliceName value="cxxSurgeryComponentId" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:cxxSurgeryComponentId.system">
      <path value="Procedure.identifier.system" />
      <min value="1" />
      <max value="1" />
      <fixedString value="https://fhir.centraxx.de/system/surgeryComponent/cxxSurgeryComponentId" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:cxxSurgeryComponentId.value">
      <path value="Procedure.identifier.value" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:xmlId">
      <path value="Procedure.identifier" />
      <sliceName value="xmlId" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:xmlId.system">
      <path value="Procedure.identifier.system" />
      <min value="1" />
      <max value="1" />
      <fixedString value="https://fhir.centraxx.de/system/surgeryComponent/xmlId" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.identifier:xmlId.value">
      <path value="Procedure.identifier.value" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.partOf">
      <path value="Procedure.partOf" />
      <slicing>
        <discriminator>
          <type value="profile" />
          <path value="reference.resolve()" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.partOf:medProcedure">
      <path value="Procedure.partOf" />
      <sliceName value="medProcedure" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/Procedure" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.partOf:surgery">
      <path value="Procedure.partOf" />
      <sliceName value="surgery" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/surgeryComponent" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.status">
      <path value="Procedure.status" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding">
      <path value="Procedure.code.coding" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding.system">
      <path value="Procedure.code.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.coding.code">
      <path value="Procedure.code.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code.text">
      <path value="Procedure.code.text" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/Patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performed[x]">
      <path value="Procedure.performed[x]" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>