<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KT2Task" />
  <language value="nl-NL" />
  <url value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Task" />
  <version value="0.8.1" />
  <name value="KT2_Task" />
  <status value="draft" />
  <date value="2023-01-24" />
  <publisher value="VZVZ" />
  <contact>
    <name value="VZVZ" />
    <telecom>
      <system value="email" />
      <value value="standaardisatie@vzvz.nl" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="The Task resource represents an eHealth activity that has been assigned to a specific patient. It tracks the lifecycle of patient assignments, from initial creation through completion, and may include subtasks for complex multi-step interventions. Tasks are created based on ActivityDefinition resources and managed throughout their execution within the Koppeltaal ecosystem." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="NL" />
      <display value="Netherlands" />
    </coding>
  </jurisdiction>
  <copyright value="VZVZ" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Task" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Task" />
  <derivation value="constraint" />
  <differential>
    <element id="Task">
      <path value="Task" />
      <definition value="An eHealth activity assigned to a patient." />
    </element>
    <element id="Task.extension">
      <path value="Task.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Task.extension:resource-origin">
      <path value="Task.extension" />
      <sliceName value="resource-origin" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://koppeltaal.nl/fhir/StructureDefinition/resource-origin" />
      </type>
    </element>
    <element id="Task.extension:instantiates">
      <path value="Task.extension" />
      <sliceName value="instantiates" />
      <short value="Reference to ActivityDefinition" />
      <definition value="Reference to the ActivityDefinition, which conforms to the KT2_ActivityDefinition profile." />
      <comment value="Use this extension to refer to the ActivityDefinition it instantiates." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://vzvz.nl/fhir/StructureDefinition/instantiates" />
      </type>
    </element>
    <element id="Task.identifier">
      <path value="Task.identifier" />
      <min value="1" />
    </element>
    <element id="Task.instantiatesCanonical">
      <path value="Task.instantiatesCanonical" />
      <comment value="As of 2023-11-02 this element is no longer used in Koppeltaal 2.0. Use the extension `instantiates` instead." />
      <type>
        <code value="canonical" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2ActivityDefinition" />
      </type>
    </element>
    <element id="Task.instantiatesUri">
      <path value="Task.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="Task.basedOn">
      <path value="Task.basedOn" />
      <max value="0" />
    </element>
    <element id="Task.groupIdentifier">
      <path value="Task.groupIdentifier" />
      <max value="0" />
    </element>
    <element id="Task.partOf">
      <path value="Task.partOf" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Task" />
      </type>
    </element>
    <element id="Task.statusReason">
      <path value="Task.statusReason" />
      <max value="0" />
    </element>
    <element id="Task.businessStatus">
      <path value="Task.businessStatus" />
      <max value="0" />
    </element>
    <element id="Task.priority">
      <path value="Task.priority" />
      <fixedCode value="routine" />
    </element>
    <element id="Task.code">
      <path value="Task.code" />
      <comment value="See [Koppeltaal Implementation Guide](https://simplifier.net/guide/koppeltaal/Home/Profile-Specific-Notes/Task.page.md?version=current) for more information on the ValueSet" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://vzvz.nl/fhir/ValueSet/koppeltaal-task-code" />
      </binding>
    </element>
    <element id="Task.focus">
      <path value="Task.focus" />
      <max value="0" />
    </element>
    <element id="Task.for">
      <path value="Task.for" />
      <definition value="The patient who benefits from the performance of the service specified in the task." />
      <comment value="In Koppeltaal this element always refers to the patient for whom the task is intended." />
      <requirements value="Used to track tasks outstanding for a beneficiary.  Do not use to track the task owner or creator (see owner and creator respectively).  This _can_ also affect access control." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Patient" />
      </type>
    </element>
    <element id="Task.encounter">
      <path value="Task.encounter" />
      <max value="0" />
    </element>
    <element id="Task.requester">
      <path value="Task.requester" />
      <definition value="In Koppeltaal this element contains a reference to the person requesting the eHealth Task" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Practitioner" />
      </type>
    </element>
    <element id="Task.performerType">
      <path value="Task.performerType" />
      <max value="0" />
    </element>
    <element id="Task.owner">
      <path value="Task.owner" />
      <definition value="Practitioner, CareTeam, RelatedPerson or Patient currently responsible for task execution." />
      <comment value="In Koppeltaal the patient is usually the person who executes the task.&#xD;&#xA;&#xD;&#xA;Note, this element is not intended to be used for access restriction. That is left to the relevant applications." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2CareTeam" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Patient" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Practitioner" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2RelatedPerson" />
      </type>
    </element>
    <element id="Task.location">
      <path value="Task.location" />
      <max value="0" />
    </element>
    <element id="Task.reasonCode">
      <path value="Task.reasonCode" />
      <max value="0" />
    </element>
    <element id="Task.reasonReference">
      <path value="Task.reasonReference" />
      <max value="0" />
    </element>
    <element id="Task.insurance">
      <path value="Task.insurance" />
      <max value="0" />
    </element>
    <element id="Task.note">
      <path value="Task.note" />
      <max value="0" />
    </element>
    <element id="Task.relevantHistory">
      <path value="Task.relevantHistory" />
      <max value="0" />
    </element>
    <element id="Task.restriction">
      <path value="Task.restriction" />
      <max value="0" />
    </element>
    <element id="Task.input">
      <path value="Task.input" />
      <max value="0" />
    </element>
    <element id="Task.output">
      <path value="Task.output" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>