<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Procedure-uv-ips" />
  <meta>
    <lastUpdated value="2018-02-20T12:54:56.053+01:00" />
  </meta>
  <url value="http://hl7.org/fhir/uv/ips/StructureDefinition/Procedure-uv-ips" />
  <name value="ProcedureUvIps" />
  <title value="Procedure (IPS)" />
  <status value="active" />
  <date value="2017-10-27T13:43:30.381+02:00" />
  <description value="This profile represents the constraints applied to the Procedure resource by the IPS project, which specifies an entry of the History of Procedure for the international patient summary based on the FHIR standard R4." />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure">
      <path value="Procedure" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.id">
      <path value="Procedure.id" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.status">
      <path value="Procedure.status" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <description value="Discriminated by the bound value set" />
        <rules value="open" />
      </slicing>
      <definition value="Identification of the procedure or recording of &quot;absence of relevant procedures&quot; or of &quot;procedures unknown&quot;." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <mustSupport value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ProcedureCode" />
        </extension>
        <strength value="preferred" />
        <valueSet value="http://hl7.org/fhir/uv/ips/ValueSet/procedures-uv-ips" />
      </binding>
    </element>
    <element id="Procedure.code:absentOrUnknownProcedure">
      <path value="Procedure.code" />
      <sliceName value="absentOrUnknownProcedure" />
      <short value="Code for absent problem or for unknown procedure" />
      <definition value="Code representing the statement &quot;absent problem&quot; or the statement &quot;procedures unknown&quot;" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="absentOrUnknownProcedure" />
        </extension>
        <strength value="required" />
        <description value="A code to identify absent or unknown procedures" />
        <valueSet value="http://hl7.org/fhir/uv/ips/ValueSet/absent-or-unknown-procedures-uv-ips" />
      </binding>
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <definition value="The person on which the procedure was performed." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.subject.reference">
      <path value="Procedure.subject.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performed[x]">
      <path value="Procedure.performed[x]" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.performed[x]:data-absent-reason">
      <path value="Procedure.performed[x].extension" />
      <sliceName value="data-absent-reason" />
      <short value="performed[x] absence reason" />
      <definition value="Provides a reason why the performed is missing." />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/data-absent-reason" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Procedure.asserter">
      <path value="Procedure.asserter" />
      <mustSupport value="false" />
    </element>
    <element id="Procedure.performer">
      <path value="Procedure.performer" />
      <mustSupport value="false" />
    </element>
    <element id="Procedure.performer.actor">
      <path value="Procedure.performer.actor" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Device-observer-uv-ips" />
        <targetProfile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Practitioner-uv-ips" />
        <targetProfile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Organization-observation-uv-ips" />
      </type>
      <mustSupport value="false" />
    </element>
    <element id="Procedure.performer.onBehalfOf">
      <path value="Procedure.performer.onBehalfOf" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/uv/ips/StructureDefinition/Organization-observation-uv-ips" />
      </type>
      <mustSupport value="false" />
    </element>
    <element id="Procedure.bodySite">
      <path value="Procedure.bodySite" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips" />
      </type>
      <mustSupport value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="BodySite" />
        </extension>
        <strength value="example" />
        <valueSet value="http://hl7.org/fhir/ValueSet/body-site" />
      </binding>
    </element>
  </differential>
</StructureDefinition>