<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="zib-Procedure-event" />
  <text>
    <status value="empty" />
    <div xmlns="http://www.w3.org/1999/xhtml">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div>
  </text>
  <url value="http://nictiz.nl/fhir/StructureDefinition/zib-Procedure-event" />
  <name value="ZibProcedureevent" />
  <title value="zib Procedure event" />
  <status value="draft" />
  <publisher value="Nictiz" />
  <contact>
    <name value="Nictiz" />
    <telecom>
      <system value="url" />
      <value value="https://www.nictiz.nl" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="Therapeutic or diagnostic procedure undergone by the patient (the complementary profile [zib-Procedure-request](http://nictiz.nl/fhir/StructureDefinition/zib-Procedure-request) can be used for therapeutic or diagnostic procedures that the patient will undergo). A procedure can be a simple blood pressure measurement, but also a complex heart surgery.&#xD;&#xA;In some care settings, the term treatment is used instead of the term procedure." />
  <purpose value="This Procedure resource represents the Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) Procedure v5.2 (2020)](https://zibs.nl/wiki/Procedure-v5.2(2020EN))." />
  <copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="zib-procedure-v5.2-2020EN" />
    <uri value="https://zibs.nl/wiki/Procedure-v5.2(2020EN)" />
    <name value="zib Procedure-v5.2(2020EN)" />
  </mapping>
  <mapping>
    <identity value="zib-textresult-v4.4-2020EN" />
    <uri value="https://zibs.nl/wiki/TextResult-v4.4(2020EN)" />
    <name value="zib TextResult-v4.4(2020EN)" />
  </mapping>
  <mapping>
    <identity value="zib-medicaldevice-v3.3.1-2020EN" />
    <uri value="https://zibs.nl/wiki/MedicalDevice-v3.3.1(2020EN)" />
    <name value="zib MedicalDevice-v3.3.1(2020EN)" />
  </mapping>
  <kind value="resource" />
  <abstract value="true" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure">
      <path value="Procedure" />
      <short value="Procedure" />
      <comment value="The zib Procedure is mapped both to this Procedure profile and a profile on ServiceRequest (&lt;http://nictiz.nl/fhir/StructureDefinition/zib-Procedure-request&gt;) to align with the intention of FHIR. All past procedures are covered using this Procedure resource, while all future procedures, including the advised procedures, are covered in the ServiceRequest resource. Both resources contain the zib mappings, with the exception of the Requester concept; this is not relevant for past procedures and has only been mapped to the ServiceRequest profile.&#xD;&#xA;&#xD;&#xA;The planned and performed procedures can be linked using `Procedure.basedOn`." />
      <alias value="Verrichting" />
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.1" />
        <comment value="Procedure" />
      </mapping>
    </element>
    <element id="Procedure.extension:procedureMethod">
      <path value="Procedure.extension" />
      <sliceName value="procedureMethod" />
      <type>
        <code value="Extension" />
        <profile value="http://nictiz.nl/fhir/StructureDefinition/ext-Procedure.ProcedureMethod" />
      </type>
    </element>
    <element id="Procedure.basedOn">
      <path value="Procedure.basedOn" />
      <comment value="The root element provides more information on the usage of `Procedure.basedOn` for the zib Procedure." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/CarePlan" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
        <targetProfile value="http://nictiz.nl/fhir/StructureDefinition/zib-Procedure-request" />
      </type>
    </element>
    <element id="Procedure.status">
      <path value="Procedure.status" />
      <definition value="This element is implictly mapped to the zib concepts ProcedureStartDate (NL-CM:14.1.2) and ProcedureEndDate (NL-CM:14.1.3). Unless the status is explicitly recorded, the following guidance applies:&#xD;&#xA;&#xD;&#xA;* When the ProcedureStartDate is in the future, `.status` will usually be set to _preparation_.&#xD;&#xA;* When ProcedureStartDate is in the past and ProcedureEndDate is in the future, `.status` will usually be set to _in-progress_.&#xD;&#xA;* When ProcedureEndDate is in the past, `.status` will usually be set to _completed_.&#xD;&#xA;* When ProcedureStartDate is in the past and ProcedureEndDate is missing, it may be assumed that the Procedure was recorded as a point in time and `.status` will usually be set to _completed_.&#xD;&#xA;* When a system is unable to infer the status from the ProcedureStartDate and ProcedureEndDate , `.status` will be set to _unknown_. The _unknown_ code is not to be used to convey other statuses. The _unknown_ code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the Procedure." />
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.2" />
        <comment value="ProcedureStartDate (implicit, main mapping is on Procedure.performedPeriod.start and Procedure.performedDateTime)" />
      </mapping>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.3" />
        <comment value="ProcedureEndDate (implicit, main mapping is on Procedure.performedPeriod.end)" />
      </mapping>
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <short value="ProcedureType" />
      <definition value="The name of the procedure. Choices are the DHD procedure thesaurus, the procedures file (CBV), the Care activities file (NZa), the Dutch Mental Health and Addiction Care procedures list (GGZ) and the procedures list of the Dutch College of General Practitioners (NHG)." />
      <alias value="VerrichtingType" />
      <binding>
        <strength value="required" />
        <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.19--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.4" />
        <comment value="ProcedureType" />
      </mapping>
    </element>
    <element id="Procedure.performed[x]">
      <path value="Procedure.performed[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.performed[x]:performedPeriod">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedPeriod" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Procedure.performed[x]:performedPeriod.start">
      <path value="Procedure.performed[x].start" />
      <short value="ProcedureStartDate" />
      <definition value="The start date (and if possible start time) of the procedure. A ‘vague’ date, such as only the year, is permitted. The element offers the option to indicate the start of the period of a series of related procedures." />
      <comment value="If the zib Procedure concerns a procedure performed over a period, `Procedure.performedPeriod.start` and `Procedure.performedPeriod.end` are used to represent zib concepts ProcedureStartDate and ProcedureEndDate. For instantaneous or very short lasting procedures, `Procedure.performedDateTime` is used for ProcedureStartDate (ProcedureEndDate doesn't have a meaning in this case; ProcedureStartDate is the moment the procedure is performed)." />
      <alias value="VerrichtingStartDatum" />
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.2" />
        <comment value="ProcedureStartDate" />
      </mapping>
    </element>
    <element id="Procedure.performed[x]:performedPeriod.end">
      <path value="Procedure.performed[x].end" />
      <short value="ProcedureEndDate" />
      <definition value="The end date (and if possible end time) of the procedure. A ‘vague’ date, such as only the year, is permitted. The element offers the option to indicate the end of the period of a series of related procedures. The end date element is only used for a procedures that takes some time and is then always applied. If the procedure still continues, the value is left empty." />
      <comment value="If the zib Procedure concerns a procedure performed over a period, `Procedure.performedPeriod.start` and `Procedure.performedPeriod.end` are used to represent zib concepts ProcedureStartDate and ProcedureEndDate. For instantaneous or very short lasting procedures, `Procedure.performedDateTime` is used for ProcedureStartDate (ProcedureEndDate doesn't have a meaning in this case; ProcedureStartDate is the moment the procedure is performed)." />
      <alias value="VerrichtingEindDatum" />
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.3" />
        <comment value="ProcedureEndDate" />
      </mapping>
    </element>
    <element id="Procedure.performed[x]:performedDateTime">
      <path value="Procedure.performed[x]" />
      <sliceName value="performedDateTime" />
      <short value="ProcedureStartDate" />
      <definition value="The (desired) start date (and if possible start time) of the procedure. A ‘vague’ date, such as only the year, is permitted. `performedDateTime` is used for instantaneous or very short lasting procedures." />
      <comment value="If the zib Procedure concerns a procedure performed over a period, `Procedure.performedPeriod.start` and `Procedure.performedPeriod.end` are used to represent zib concepts ProcedureStartDate and ProcedureEndDate. For instantaneous or very short lasting procedures, `Procedure.performedDateTime` is used for ProcedureStartDate (ProcedureEndDate doesn't have a meaning in this case; ProcedureStartDate is the moment the procedure is performed)." />
      <alias value="VerrichtingStartDatum" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.2" />
        <comment value="ProcedureStartDate" />
      </mapping>
    </element>
    <element id="Procedure.performer.actor">
      <path value="Procedure.performer.actor" />
      <short value="Performer" />
      <definition value="The healthcare provider who carried out or will carry out the procedure. In most cases, only the medical specialty is entered, and not the name of the healthcare provider." />
      <comment value="Each occurrence of the zib HealthProfessional is normally represented by _two_ FHIR resources: a PractitionerRole resource (instance of [zib-HealthProfessional-PractitionerRole](http://nictiz.nl/fhir/StructureDefinition/zib-HealthProfessional-PractitionerRole)) and a Practitioner resource (instance of [zib-HealthProfessional-Practitioner](http://nictiz.nl/fhir/StructureDefinition/zib-HealthProfessional-Practitioner)). The Practitioner resource is referenced from the PractitionerRole instance. For this reason, sending systems should fill the reference to the PractitionerRole instance here, and not the Practitioner resource. Receiving systems can then retrieve the reference to the Practitioner resource from that PractitionerRole instance.&#xD;&#xA;&#xD;&#xA;In rare circumstances, there is only a Practitioner instance, in which case it is that instance which will be referenced here. However, since this should be the exception, the zib-HealthProfessional-Practitioner profile is not explicitly mentioned as a target profile." />
      <alias value="Uitvoerder" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
        <targetProfile value="http://nictiz.nl/fhir/StructureDefinition/zib-HealthProfessional-PractitionerRole" />
      </type>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.6" />
        <comment value="Performer" />
      </mapping>
    </element>
    <element id="Procedure.location">
      <path value="Procedure.location" />
      <short value="Location" />
      <definition value="The healthcare center where the procedure was, is or or will be carried out." />
      <comment value="Please note that the zib concept Location::HealthcareProvider of zib MedicalDevice (NL-CM:10.1.8) is mapped onto this element, but it is also directly represented using a custom extension in the focal profile for that zib ([zib-MedicalDevice](http://nictiz.nl/fhir/StructureDefinition/zib-MedicalDevice)). The reason for this is that the Location concept from zib MedicalDevice aligns with the Location concept from zib Procedure, but only for the situation that the Procedure is about placing an implant which is described using the instance of zib MedicalDevice. In this situation, the extension in the zib-MedicalDevice profile is redundant and it is advised to only use the current element to represent the Location concept." />
      <alias value="Locatie" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
        <targetProfile value="http://nictiz.nl/fhir/StructureDefinition/zib-HealthcareProvider" />
      </type>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.5" />
        <comment value="Location" />
      </mapping>
      <mapping>
        <identity value="zib-medicaldevice-v3.3.1-2020EN" />
        <map value="NL-CM:10.1.8" />
        <comment value="Location (For specific situations only. See the comment on this element for more information.)" />
      </mapping>
    </element>
    <element id="Procedure.reasonReference">
      <path value="Procedure.reasonReference" />
      <short value="Indication" />
      <definition value="The indication is the reason for the procedure." />
      <alias value="Indicatie" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Condition" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Observation" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Procedure" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/DiagnosticReport" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/DocumentReference" />
        <targetProfile value="http://nictiz.nl/fhir/StructureDefinition/zib-Problem" />
      </type>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.9" />
        <comment value="Indication" />
      </mapping>
    </element>
    <element id="Procedure.bodySite">
      <path value="Procedure.bodySite" />
      <short value="Location / ProcedureAnatomicalLocation" />
      <definition value="Anatomical location which is the focus of the procedure." />
      <alias value="VerrichtingAnatomischeLocatie" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-procedure-v5.2-2020EN" />
        <map value="NL-CM:14.1.13" />
        <comment value="ProcedureAnatomicalLocation" />
      </mapping>
    </element>
    <element id="Procedure.report">
      <path value="Procedure.report" />
      <slicing>
        <discriminator>
          <type value="profile" />
          <path value="resolve()" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Procedure.report:textResult">
      <path value="Procedure.report" />
      <sliceName value="textResult" />
      <short value="TextResult" />
      <comment value="The direction of the reference between zibs TextResult and Procedure is reversed in FHIR. Therefore the concept Procedure (NL-CM:13.2.5) of zib TextResult is mapped to this element.&#xD;&#xA;&#xD;&#xA;Please note that on a functional level, zib TextResult references zib Procedure, but in FHIR this direction is reversed." />
      <alias value="TekstUitslag" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://nictiz.nl/fhir/StructureDefinition/zib-TextResult" />
      </type>
      <mapping>
        <identity value="zib-textresult-v4.4-2020EN" />
        <map value="NL-CM:13.2.5" />
        <comment value="Reversed reference for zib TextResult.Procedure" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>