<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KT2CareTeam" />
  <language value="nl-NL" />
  <url value="http://koppeltaal.nl/fhir/StructureDefinition/KT2CareTeam" />
  <version value="0.9.0" />
  <name value="KT2_CareTeam" />
  <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 CareTeam resource represents a group of healthcare professionals and related persons who collaborate to provide coordinated care and treatment for a patient. It defines the roles and participants involved in delivering healthcare services 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="CareTeam" />
  <baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/nl-core-CareTeam" />
  <derivation value="constraint" />
  <differential>
    <element id="CareTeam.extension">
      <path value="CareTeam.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="CareTeam.extension:resource-origin">
      <path value="CareTeam.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="CareTeam.identifier">
      <path value="CareTeam.identifier" />
      <min value="1" />
    </element>
    <element id="CareTeam.status">
      <path value="CareTeam.status" />
      <min value="1" />
    </element>
    <element id="CareTeam.category">
      <path value="CareTeam.category" />
      <max value="0" />
    </element>
    <element id="CareTeam.subject">
      <path value="CareTeam.subject" />
      <short value="Patient treated by this care team" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Patient" />
      </type>
    </element>
    <element id="CareTeam.encounter">
      <path value="CareTeam.encounter" />
      <max value="0" />
    </element>
    <element id="CareTeam.participant">
      <path value="CareTeam.participant" />
      <comment value="WARNING: `allSlices` is a display bug in Simplifier.net. There is no `allSlices` slice. Firely is already notified of this bug." />
    </element>
    <element id="CareTeam.participant:contactPerson">
      <path value="CareTeam.participant" />
      <sliceName value="contactPerson" />
      <max value="0" />
    </element>
    <element id="CareTeam.participant:patient">
      <path value="CareTeam.participant" />
      <sliceName value="patient" />
      <comment value="This slice is not used in the context of Koppeltaal 2.0. The patient is always represented via CareTeam.subject, not as a participant member." />
      <max value="0" />
    </element>
    <element id="CareTeam.participant:healthcareProfessional">
      <path value="CareTeam.participant" />
      <sliceName value="healthcareProfessional" />
      <comment value="This slice is not used in the context of Koppeltaal 2.0" />
      <max value="0" />
    </element>
    <element id="CareTeam.participant:kt2contactperson">
      <path value="CareTeam.participant" />
      <sliceName value="kt2contactperson" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="CareTeam.participant:kt2contactperson.role">
      <path value="CareTeam.participant.role" />
      <definition value="The authorization role of the RelatedPerson within this CareTeam. Determines which actions this person may perform." />
      <comment value="The role defines the authorization level for this RelatedPerson within the CareTeam. See [RelatedPerson autorisaties](https://vzvznl.github.io/Koppeltaal-2.0-FHIR/autorisaties-relatedperson.html) for the permission matrix." />
      <binding>
        <strength value="extensible" />
        <description value="Koppeltaal authorization roles for RelatedPersons in a CareTeam." />
        <valueSet value="http://vzvz.nl/fhir/ValueSet/koppeltaal-relatedperson-role" />
      </binding>
    </element>
    <element id="CareTeam.participant:kt2contactperson.member">
      <path value="CareTeam.participant.member" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2RelatedPerson" />
      </type>
    </element>
    <element id="CareTeam.participant:kt2contactperson.onBehalfOf">
      <path value="CareTeam.participant.onBehalfOf" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="CareTeam.participant:kt2contactperson.period">
      <path value="CareTeam.participant.period" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="CareTeam.participant:kt2healthcareProfessional">
      <path value="CareTeam.participant" />
      <sliceName value="kt2healthcareProfessional" />
      <min value="0" />
      <max value="*" />
    </element>
    <element id="CareTeam.participant:kt2healthcareProfessional.role">
      <path value="CareTeam.participant.role" />
      <definition value="The authorization role of the Practitioner within this CareTeam. Determines which actions this person may perform. This ValueSet extends the ZorgverlenerRolCodelijst with SNOMED CT codes for authorization roles." />
      <comment value="The role defines the authorization level for this Practitioner within the CareTeam. There are two authorization levels: 405623001 (Assigned practitioner/behandelaar) and zorgondersteuner (224608005 Administrative healthcare staff or 768821004 Care team coordinator). The ZorgverlenerRolCodelijst codes are included for backwards compatibility. See [Rol Code Mapping](https://vzvznl.github.io/Koppeltaal-2.0-FHIR/autorisaties-rol-code-mapping.html) and [Practitioner autorisaties](https://vzvznl.github.io/Koppeltaal-2.0-FHIR/autorisaties-practitioner.html) for more information." />
      <alias value="KoppeltaalPractitionerRole" />
      <binding>
        <strength value="extensible" />
        <description value="SNOMED CT authorization roles for Practitioners in a CareTeam (extends ZorgverlenerRolCodelijst)." />
        <valueSet value="http://vzvz.nl/fhir/ValueSet/koppeltaal-practitioner-role" />
      </binding>
    </element>
    <element id="CareTeam.participant:kt2healthcareProfessional.member">
      <path value="CareTeam.participant.member" />
      <comment value="This element is used in Koppeltaal 2.0 to refer to the Practitioner who is member of the team" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Practitioner" />
      </type>
    </element>
    <element id="CareTeam.participant:kt2healthcareProfessional.onBehalfOf">
      <path value="CareTeam.participant.onBehalfOf" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="CareTeam.participant:kt2healthcareProfessional.period">
      <path value="CareTeam.participant.period" />
      <comment value="This element is not used in the context of Koppeltaal 2.0" />
    </element>
    <element id="CareTeam.reasonCode">
      <path value="CareTeam.reasonCode" />
      <max value="0" />
    </element>
    <element id="CareTeam.reasonReference">
      <path value="CareTeam.reasonReference" />
      <max value="0" />
    </element>
    <element id="CareTeam.managingOrganization">
      <path value="CareTeam.managingOrganization" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://koppeltaal.nl/fhir/StructureDefinition/KT2Organization" />
      </type>
    </element>
    <element id="CareTeam.telecom">
      <path value="CareTeam.telecom" />
      <max value="0" />
    </element>
    <element id="CareTeam.note">
      <path value="CareTeam.note" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>