<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="GEM-ERPCHRG-PR-PAR-Patch-ChargeItem-Input" />
  <url value="https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_PAR_Patch_ChargeItem_Input" />
  <version value="1.1.0" />
  <name value="GEM_ERPCHRG_PR_PAR_Patch_ChargeItem_Input" />
  <title value="GEM ERPCHRG PR PAR Patch ChargeItem Input Parameter" />
  <status value="active" />
  <experimental value="false" />
  <date value="2025-04-10" />
  <publisher value="gematik GmbH" />
  <description value="This profile defines the parameters for changing Information for the ChargeItem." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Parameters" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Parameters" />
  <derivation value="constraint" />
  <differential>
    <element id="Parameters.meta">
      <path value="Parameters.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.meta.profile">
      <path value="Parameters.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <description value="Slicing for meta profile" />
        <ordered value="false" />
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.meta.profile:erpchrgProfile">
      <path value="Parameters.meta.profile" />
      <sliceName value="erpchrgProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_PAR_Patch_ChargeItem_Input|1.1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter">
      <path value="Parameters.parameter" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="name" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:markingFlag">
      <path value="Parameters.parameter" />
      <sliceName value="markingFlag" />
      <min value="1" />
      <max value="1" />
      <constraint>
        <key value="erpcharge-parameters-patch-chargeitem-part" />
        <severity value="error" />
        <human value="At least one Part must be present." />
        <expression value="part.exists()" />
        <source value="https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_PAR_Patch_ChargeItem_Input" />
      </constraint>
    </element>
    <element id="Parameters.parameter:markingFlag.name">
      <path value="Parameters.parameter.name" />
      <patternString value="markingFlag" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:markingFlag.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.resource">
      <path value="Parameters.parameter.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.part">
      <path value="Parameters.parameter.part" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="name" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:insuranceProvider">
      <path value="Parameters.parameter.part" />
      <sliceName value="insuranceProvider" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Parameters.parameter:markingFlag.part:insuranceProvider.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="insuranceProvider" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:insuranceProvider.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Parameters.parameter:markingFlag.part:insuranceProvider.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:insuranceProvider.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:subsidy">
      <path value="Parameters.parameter.part" />
      <sliceName value="subsidy" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Parameters.parameter:markingFlag.part:subsidy.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="subsidy" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:subsidy.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Parameters.parameter:markingFlag.part:subsidy.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:subsidy.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:taxOffice">
      <path value="Parameters.parameter.part" />
      <sliceName value="taxOffice" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Parameters.parameter:markingFlag.part:taxOffice.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="taxOffice" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:taxOffice.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Parameters.parameter:markingFlag.part:taxOffice.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:markingFlag.part:taxOffice.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>