Koppeltaal 2.0 Implementation Guide (Full Documentation)
1.4.5-beta.002 - ci-build Netherlands flag

Koppeltaal 2.0 Implementation Guide (Full Documentation) - Local Development build (v1.4.5-beta.002) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: KT2_CareTeam

Official URL: http://koppeltaal.nl/fhir/StructureDefinition/KT2CareTeam Version: 1.4.5-beta.002
Draft as of 2023-01-24 Computable Name: KT2_CareTeam

Copyright/Legal: VZVZ

The care team of a patient that aids the patient in his/her treatment

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* NlcoreCareTeam CareTeam
Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... status ?!Σ 1..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... subject ΣC 1..1 Reference(KT2_Patient) Patient treated by this care team
Constraints: ref-1
... Slices for participant C 0..* BackboneElement Members of the team
Slice: Unordered, Open by profile:member.resolve()
Constraints: ctm-1
.... participant:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... participant:patient C 0..1 BackboneElement Members of the team
Constraints: ctm-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... member ΣC 1..1 Reference(KT2_Patient) CareTeamMember
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2contactperson C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... member ΣC 0..1 Reference(KT2_RelatedPerson) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2healthcareProfessional C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for role Σ 0..* CodeableConcept Type of involvement
Slice: Unordered, Open by value:$this
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
...... role:healthProfessionalRole Σ 0..1 CodeableConcept Type of involvement
Binding: ZorgverlenerRolCodelijst (required): The role the health professional fulfils in the healthcare process.
..... member ΣC 0..1 Reference(KT2_Practitioner) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
... managingOrganization ΣC 0..1 Reference(KT2_Organization) Organization responsible for the care team
Constraints: ref-1

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CareTeam.statusrequiredCareTeamStatus
http://hl7.org/fhir/ValueSet/care-team-status|4.0.1
From the FHIR Standard
CareTeam.participant:healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000
CareTeam.participant:kt2healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:kt2healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000

Constraints

IdGradePath(s)DetailsRequirements
ctm-1errorCareTeam.participant, CareTeam.participant:patient, CareTeam.participant:kt2contactperson, CareTeam.participant:kt2healthcareProfessionalCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
: onBehalfOf.exists() implies (member.resolve().iif(empty(), true, ofType(Practitioner).exists()))
dom-2errorCareTeamIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCareTeamIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCareTeamA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorCareTeam.participant:patient.period, CareTeam.participant:kt2contactperson.period, CareTeam.participant:kt2healthcareProfessional.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorCareTeam.subject, CareTeam.participant:contactPerson.member, CareTeam.participant:patient.member, CareTeam.participant:patient.onBehalfOf, CareTeam.participant:healthcareProfessional.member, CareTeam.participant:kt2contactperson.member, CareTeam.participant:kt2contactperson.onBehalfOf, CareTeam.participant:kt2healthcareProfessional.member, CareTeam.participant:kt2healthcareProfessional.onBehalfOf, CareTeam.managingOrganizationSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NlcoreCareTeam

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* NlcoreCareTeam CareTeam
... Slices for extension Content/Rules for all slices
.... extension:resource-origin 0..* Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... identifier 1..* Identifier External Ids for this team
... status 1..1 code proposed | active | suspended | inactive | entered-in-error
... subject 1..1 Reference(KT2_Patient) Patient treated by this care team
... encounter 0..0
... participant 0..* BackboneElement Members of the team
... Slices for participant Content/Rules for all slices
.... participant:contactPerson 0..0
.... participant:patient 0..1 BackboneElement Members of the team
..... member 1..1 Reference(KT2_Patient) CareTeamMember
..... onBehalfOf 0..1 Reference(Organization) Organization of the practitioner
..... period 0..1 Period Time period of participant
.... participant:healthcareProfessional 0..0
.... participant:kt2contactperson 0..* BackboneElement Members of the team
..... member 0..1 Reference(KT2_RelatedPerson) Who is involved
..... onBehalfOf 0..1 Reference(Organization) Organization of the practitioner
..... period 0..1 Period Time period of participant
.... participant:kt2healthcareProfessional 0..* BackboneElement Members of the team
..... Slices for role 0..* CodeableConcept Type of involvement
Slice: Unordered, Open by value:$this
...... role:healthProfessionalRole 0..1 CodeableConcept Type of involvement
Binding: ZorgverlenerRolCodelijst (required): The role the health professional fulfils in the healthcare process.
..... member 0..1 Reference(KT2_Practitioner) Who is involved
..... onBehalfOf 0..1 Reference(Organization) Organization of the practitioner
..... period 0..1 Period Time period of participant
... reasonCode 0..0
... reasonReference 0..0
... managingOrganization 0..1 Reference(KT2_Organization) Organization responsible for the care team
... telecom 0..0
... note 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
CareTeam.participant:kt2healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* NlcoreCareTeam CareTeam
Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier Σ 1..* Identifier External Ids for this team
... status ?!Σ 1..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... name Σ 0..1 string CareTeamName
... subject ΣC 1..1 Reference(KT2_Patient) Patient treated by this care team
Constraints: ref-1
... period ΣC 0..1 Period Time period team covers
Constraints: per-1
... Slices for participant C 0..* BackboneElement Members of the team
Slice: Unordered, Open by profile:member.resolve()
Constraints: ctm-1
.... participant:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role ΣN 0..* CodeableConcept Type of involvement
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
..... member ΣCN 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Organization | CareTeam) Who is involved
Constraints: ref-1
..... onBehalfOf ΣCN 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period CN 0..1 Period Time period of participant
Constraints: per-1
.... participant:patient C 0..1 BackboneElement Members of the team
Constraints: ctm-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role Σ 0..* CodeableConcept Type of involvement
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
..... member ΣC 1..1 Reference(KT2_Patient) CareTeamMember
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2contactperson C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role Σ 0..* CodeableConcept Type of involvement
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
..... member ΣC 0..1 Reference(KT2_RelatedPerson) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2healthcareProfessional C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for role Σ 0..* CodeableConcept Type of involvement
Slice: Unordered, Open by value:$this
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
...... role:healthProfessionalRole Σ 0..1 CodeableConcept Type of involvement
Binding: ZorgverlenerRolCodelijst (required): The role the health professional fulfils in the healthcare process.
..... member ΣC 0..1 Reference(KT2_Practitioner) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
... managingOrganization ΣC 0..1 Reference(KT2_Organization) Organization responsible for the care team
Constraints: ref-1

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CareTeam.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
CareTeam.statusrequiredCareTeamStatus
http://hl7.org/fhir/ValueSet/care-team-status|4.0.1
From the FHIR Standard
CareTeam.participant.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:contactPerson.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:patient.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000
CareTeam.participant:kt2contactperson.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:kt2healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:kt2healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000

Constraints

IdGradePath(s)DetailsRequirements
ctm-1errorCareTeam.participant, CareTeam.participant:patient, CareTeam.participant:kt2contactperson, CareTeam.participant:kt2healthcareProfessionalCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
: onBehalfOf.exists() implies (member.resolve().iif(empty(), true, ofType(Practitioner).exists()))
dom-2errorCareTeamIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCareTeamIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCareTeamA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorCareTeam.period, CareTeam.participant.period, CareTeam.participant:contactPerson.period, CareTeam.participant:patient.period, CareTeam.participant:healthcareProfessional.period, CareTeam.participant:kt2contactperson.period, CareTeam.participant:kt2healthcareProfessional.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorCareTeam.subject, CareTeam.participant.member, CareTeam.participant.onBehalfOf, CareTeam.participant:contactPerson.member, CareTeam.participant:contactPerson.onBehalfOf, CareTeam.participant:patient.member, CareTeam.participant:patient.onBehalfOf, CareTeam.participant:healthcareProfessional.member, CareTeam.participant:healthcareProfessional.onBehalfOf, CareTeam.participant:kt2contactperson.member, CareTeam.participant:kt2contactperson.onBehalfOf, CareTeam.participant:kt2healthcareProfessional.member, CareTeam.participant:kt2healthcareProfessional.onBehalfOf, CareTeam.managingOrganizationSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NlcoreCareTeam

Summary

Mandatory: 3 elements
Prohibited: 8 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of CareTeam.participant.role

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* NlcoreCareTeam CareTeam
Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... status ?!Σ 1..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... subject ΣC 1..1 Reference(KT2_Patient) Patient treated by this care team
Constraints: ref-1
... Slices for participant C 0..* BackboneElement Members of the team
Slice: Unordered, Open by profile:member.resolve()
Constraints: ctm-1
.... participant:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... participant:patient C 0..1 BackboneElement Members of the team
Constraints: ctm-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... member ΣC 1..1 Reference(KT2_Patient) CareTeamMember
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2contactperson C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... member ΣC 0..1 Reference(KT2_RelatedPerson) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2healthcareProfessional C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for role Σ 0..* CodeableConcept Type of involvement
Slice: Unordered, Open by value:$this
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
...... role:healthProfessionalRole Σ 0..1 CodeableConcept Type of involvement
Binding: ZorgverlenerRolCodelijst (required): The role the health professional fulfils in the healthcare process.
..... member ΣC 0..1 Reference(KT2_Practitioner) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
... managingOrganization ΣC 0..1 Reference(KT2_Organization) Organization responsible for the care team
Constraints: ref-1

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CareTeam.statusrequiredCareTeamStatus
http://hl7.org/fhir/ValueSet/care-team-status|4.0.1
From the FHIR Standard
CareTeam.participant:healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000
CareTeam.participant:kt2healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:kt2healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000

Constraints

IdGradePath(s)DetailsRequirements
ctm-1errorCareTeam.participant, CareTeam.participant:patient, CareTeam.participant:kt2contactperson, CareTeam.participant:kt2healthcareProfessionalCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
: onBehalfOf.exists() implies (member.resolve().iif(empty(), true, ofType(Practitioner).exists()))
dom-2errorCareTeamIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCareTeamIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCareTeamA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorCareTeam.participant:patient.period, CareTeam.participant:kt2contactperson.period, CareTeam.participant:kt2healthcareProfessional.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorCareTeam.subject, CareTeam.participant:contactPerson.member, CareTeam.participant:patient.member, CareTeam.participant:patient.onBehalfOf, CareTeam.participant:healthcareProfessional.member, CareTeam.participant:kt2contactperson.member, CareTeam.participant:kt2contactperson.onBehalfOf, CareTeam.participant:kt2healthcareProfessional.member, CareTeam.participant:kt2healthcareProfessional.onBehalfOf, CareTeam.managingOrganizationSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

Differential View

This structure is derived from NlcoreCareTeam

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* NlcoreCareTeam CareTeam
... Slices for extension Content/Rules for all slices
.... extension:resource-origin 0..* Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... identifier 1..* Identifier External Ids for this team
... status 1..1 code proposed | active | suspended | inactive | entered-in-error
... subject 1..1 Reference(KT2_Patient) Patient treated by this care team
... encounter 0..0
... participant 0..* BackboneElement Members of the team
... Slices for participant Content/Rules for all slices
.... participant:contactPerson 0..0
.... participant:patient 0..1 BackboneElement Members of the team
..... member 1..1 Reference(KT2_Patient) CareTeamMember
..... onBehalfOf 0..1 Reference(Organization) Organization of the practitioner
..... period 0..1 Period Time period of participant
.... participant:healthcareProfessional 0..0
.... participant:kt2contactperson 0..* BackboneElement Members of the team
..... member 0..1 Reference(KT2_RelatedPerson) Who is involved
..... onBehalfOf 0..1 Reference(Organization) Organization of the practitioner
..... period 0..1 Period Time period of participant
.... participant:kt2healthcareProfessional 0..* BackboneElement Members of the team
..... Slices for role 0..* CodeableConcept Type of involvement
Slice: Unordered, Open by value:$this
...... role:healthProfessionalRole 0..1 CodeableConcept Type of involvement
Binding: ZorgverlenerRolCodelijst (required): The role the health professional fulfils in the healthcare process.
..... member 0..1 Reference(KT2_Practitioner) Who is involved
..... onBehalfOf 0..1 Reference(Organization) Organization of the practitioner
..... period 0..1 Period Time period of participant
... reasonCode 0..0
... reasonReference 0..0
... managingOrganization 0..1 Reference(KT2_Organization) Organization responsible for the care team
... telecom 0..0
... note 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
CareTeam.participant:kt2healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* NlcoreCareTeam CareTeam
Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier Σ 1..* Identifier External Ids for this team
... status ?!Σ 1..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... name Σ 0..1 string CareTeamName
... subject ΣC 1..1 Reference(KT2_Patient) Patient treated by this care team
Constraints: ref-1
... period ΣC 0..1 Period Time period team covers
Constraints: per-1
... Slices for participant C 0..* BackboneElement Members of the team
Slice: Unordered, Open by profile:member.resolve()
Constraints: ctm-1
.... participant:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role ΣN 0..* CodeableConcept Type of involvement
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
..... member ΣCN 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Organization | CareTeam) Who is involved
Constraints: ref-1
..... onBehalfOf ΣCN 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period CN 0..1 Period Time period of participant
Constraints: per-1
.... participant:patient C 0..1 BackboneElement Members of the team
Constraints: ctm-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role Σ 0..* CodeableConcept Type of involvement
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
..... member ΣC 1..1 Reference(KT2_Patient) CareTeamMember
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2contactperson C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role Σ 0..* CodeableConcept Type of involvement
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
..... member ΣC 0..1 Reference(KT2_RelatedPerson) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
.... participant:kt2healthcareProfessional C 0..* BackboneElement Members of the team
Constraints: ctm-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for role Σ 0..* CodeableConcept Type of involvement
Slice: Unordered, Open by value:$this
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
...... role:healthProfessionalRole Σ 0..1 CodeableConcept Type of involvement
Binding: ZorgverlenerRolCodelijst (required): The role the health professional fulfils in the healthcare process.
..... member ΣC 0..1 Reference(KT2_Practitioner) Who is involved
Constraints: ref-1
..... onBehalfOf ΣC 0..1 Reference(Organization) Organization of the practitioner
Constraints: ref-1
..... period C 0..1 Period Time period of participant
Constraints: per-1
... managingOrganization ΣC 0..1 Reference(KT2_Organization) Organization responsible for the care team
Constraints: ref-1

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CareTeam.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
CareTeam.statusrequiredCareTeamStatus
http://hl7.org/fhir/ValueSet/care-team-status|4.0.1
From the FHIR Standard
CareTeam.participant.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:contactPerson.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:patient.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000
CareTeam.participant:kt2contactperson.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:kt2healthcareProfessional.roleexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
From the FHIR Standard
CareTeam.participant:kt2healthcareProfessional.role:healthProfessionalRolerequiredZorgverlenerRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.17.1.5--20200901000000

Constraints

IdGradePath(s)DetailsRequirements
ctm-1errorCareTeam.participant, CareTeam.participant:patient, CareTeam.participant:kt2contactperson, CareTeam.participant:kt2healthcareProfessionalCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
: onBehalfOf.exists() implies (member.resolve().iif(empty(), true, ofType(Practitioner).exists()))
dom-2errorCareTeamIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCareTeamIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCareTeamIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCareTeamA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorCareTeam.period, CareTeam.participant.period, CareTeam.participant:contactPerson.period, CareTeam.participant:patient.period, CareTeam.participant:healthcareProfessional.period, CareTeam.participant:kt2contactperson.period, CareTeam.participant:kt2healthcareProfessional.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorCareTeam.subject, CareTeam.participant.member, CareTeam.participant.onBehalfOf, CareTeam.participant:contactPerson.member, CareTeam.participant:contactPerson.onBehalfOf, CareTeam.participant:patient.member, CareTeam.participant:patient.onBehalfOf, CareTeam.participant:healthcareProfessional.member, CareTeam.participant:healthcareProfessional.onBehalfOf, CareTeam.participant:kt2contactperson.member, CareTeam.participant:kt2contactperson.onBehalfOf, CareTeam.participant:kt2healthcareProfessional.member, CareTeam.participant:kt2healthcareProfessional.onBehalfOf, CareTeam.managingOrganizationSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NlcoreCareTeam

Summary

Mandatory: 3 elements
Prohibited: 8 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of CareTeam.participant.role

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Subject element

If the CareTeam is involved in the care of a specific patient, the subject element MUST contain a reference to indicate that specific patient.

Otherwise the subject element remains absent.

Participant Role

For a healthcare professional the only applicable slice of CareTeam.participant is the slice kt2healthcareProfessional This means the reference to the Practitioner should comply with the KT2_Practitioner profile.

For a RelatedPerson the applicable slice of CareTeam.participant' is the slice 'kt2contactperson' This means the reference to the RelatedPerson should comply with the 'KT2_RelatedPerson' profile.

The practitioner.role should comply to the codes defined in the ValueSet ZorgverlenerRolCodelijst.