<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Procedure-uv-ips" />
  <meta>
    <lastUpdated value="2018-02-20T11:54:56.053+00:00" />
  </meta>
  <text>
    <status value="generated" />
    <div xmlns="http://www.w3.org/1999/xhtml">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.</div>
  </text>
  <url value="http://hl7.org/fhir/uv/ips/StructureDefinition/Procedure-uv-ips" />
  <version value="0.2.0" />
  <name value="Procedure_uv_ips" />
  <title value="Procedure (IPS)" />
  <status value="draft" />
  <date value="2017-10-27T11:43:30+00: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." />
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm" />
      <code value="001" />
      <display value="World" />
    </coding>
  </jurisdiction>
  <fhirVersion value="4.0.0" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <snapshot />
  <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.meta">
      <path value="Procedure.meta" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.meta.profile">
      <path value="Procedure.meta.profile" />
      <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="value" />
          <path value="coding.system" />
        </discriminator>
        <description value="Discriminated by code system" />
        <rules value="open" />
      </slicing>
      <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>
      <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.code:absentOrUnknownProcedure.coding">
      <path value="Procedure.code.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Procedure.code:absentOrUnknownProcedure.coding.system">
      <path value="Procedure.code.coding.system" />
      <min value="1" />
      <max value="1" />
      <fixedUri value="http://hl7.org/fhir/uv/ips/CodeSystem/absent-unknown-uv-ips" />
      <mustSupport value="true" />
    </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].extension: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>