eHealth Infrastructure (v2020.8)

StructureDefinition: ehealth-careteam

Introduction

The CareTeam includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient. A CareTeam can be constructed for a single patient but typically handles more patients.

Scope and Usage

In the eHealth Infrastructure, a CareTeam has a lifecycle independent of Patients and consists of a group of Practitioners. Typically the group of Practitioners are affiliated with a real-world organizational unit such as a hospital department/care unit, but a CareTeam can also be representing a “virtual” unit comprised of
Practitioners from more sectors or several real-world organizational units.

The core FHIR CareTeam has subject and context which can reference a Patient and EpisodeOfCare, respectively, which when used ties a CareTeam to a Patient context. Similarly, use of element reasonReference would indirectly tie the CareTeam to a Patient. As this is not used in the eHealth Infrastructure and to prevent such tying, these elements have been set to 0..0.

Instead CareTeam is intended to be referenced from CarePlan and EpisodeOfCare. A CareTeam can be referenced from a single CarePlan but the typical scenario is that it is referenced by multiple CarePlan and/or EpisodeOfCare instances crossing multiple Patient instances.

Composition of CareTeams

In the eHealth Infrastructure, the possibility to add CareTeam participant members other than Practitioner is not used, but the other types (Organization, CareTeam etc) have been retained for possible future use.

There are currently no restrictions on the composition of CareTeams. The intended usage is to establish a few layers of CareTeams, but it is important to make sure that the CareTem member graph contains no cycles.

CareTeam Identifier

At least one identifier for the CareTeam shall use system set to urn:ietf:rfc:3986 and contain a value which is a UUID.

Condition types handled by the CareTeam

In order to ease selection of CareTeam appropriate for a given CarePlan, at least one Condition type handled by a CareTeam must be stated in reasonCode. This is used as criteria for suggesting CareTeams in the operation suggest-care-teams.

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careteam

This profile builds on CareTeam.

This profile was published on Thu Jan 07 13:26:31 UTC 2021 as a draft by ehealth.sundhed.dk.

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

This structure is derived from CareTeam

NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam 0..*CareTeamPeople and organizations who plan to participate in the coordination and delivery of care for a patient.
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-careteam-telecom 0..*ContactPointExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careteam-telecom
... status 1..1codeproposed | active | suspended | inactive | entered-in-error
... name 1..1stringName of the team, such as crisis assessment team
... subject 0..0
... context 0..0
... participant
.... role 1..1CodeableConceptType of involvement
Binding: CareTeam Participant Role (example)
.... member 1..1Reference(eHealth Practitioner | eHealth RelatedPerson | eHealth Patient | eHealth Organization | eHealth CareTeam) {r}Who is involved
.... onBehalfOf 0..1Reference(eHealth Organization) {r}Organization of the practitioner
... reasonCode 1..*CodeableConceptWhy the care team exists
Binding: Conditions (required)
... reasonReference 0..0
... managingOrganization 0..*Reference(eHealth Organization) {r}Organization responsible for the care team
... note
.... author[x] 0..1Individual responsible for the annotation
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring

doco Documentation for this format

This structure is derived from CareTeam

NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam 0..*CareTeamPeople and organizations who plan to participate in the coordination and delivery of care for a patient.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-careteam-telecom 0..*ContactPointExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careteam-telecom
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this team
... status ?!Σ1..1codeproposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.

... category Σ0..*CodeableConceptType of team
Binding: CareTeamCategory (example): Indicates the type of care team.


... name Σ1..1stringName of the team, such as crisis assessment team
... period Σ0..1PeriodTime period team covers
... participant I0..*BackboneElementMembers of the team
ctm-1: CareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ1..1CodeableConceptType of involvement
Binding: CareTeam Participant Role (example)
.... member Σ1..1Reference(eHealth Practitioner | eHealth RelatedPerson | eHealth Patient | eHealth Organization | eHealth CareTeam) {r}Who is involved
.... onBehalfOf Σ0..1Reference(eHealth Organization) {r}Organization of the practitioner
.... period 0..1PeriodTime period of participant
... reasonCode 1..*CodeableConceptWhy the care team exists
Binding: Conditions (required)
... managingOrganization Σ0..*Reference(eHealth Organization) {r}Organization responsible for the care team
... note 0..*AnnotationComments made about the CareTeam
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] Σ0..1Individual responsible for the annotation
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring
.... time Σ0..1dateTimeWhen the annotation was made
.... text 1..1stringThe annotation - text content

doco Documentation for this format

Differential View

This structure is derived from CareTeam

NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam 0..*CareTeamPeople and organizations who plan to participate in the coordination and delivery of care for a patient.
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-careteam-telecom 0..*ContactPointExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careteam-telecom
... status 1..1codeproposed | active | suspended | inactive | entered-in-error
... name 1..1stringName of the team, such as crisis assessment team
... subject 0..0
... context 0..0
... participant
.... role 1..1CodeableConceptType of involvement
Binding: CareTeam Participant Role (example)
.... member 1..1Reference(eHealth Practitioner | eHealth RelatedPerson | eHealth Patient | eHealth Organization | eHealth CareTeam) {r}Who is involved
.... onBehalfOf 0..1Reference(eHealth Organization) {r}Organization of the practitioner
... reasonCode 1..*CodeableConceptWhy the care team exists
Binding: Conditions (required)
... reasonReference 0..0
... managingOrganization 0..*Reference(eHealth Organization) {r}Organization responsible for the care team
... note
.... author[x] 0..1Individual responsible for the annotation
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam 0..*CareTeamPeople and organizations who plan to participate in the coordination and delivery of care for a patient.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-careteam-telecom 0..*ContactPointExtension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-careteam-telecom
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this team
... status ?!Σ1..1codeproposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.

... category Σ0..*CodeableConceptType of team
Binding: CareTeamCategory (example): Indicates the type of care team.


... name Σ1..1stringName of the team, such as crisis assessment team
... period Σ0..1PeriodTime period team covers
... participant I0..*BackboneElementMembers of the team
ctm-1: CareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ1..1CodeableConceptType of involvement
Binding: CareTeam Participant Role (example)
.... member Σ1..1Reference(eHealth Practitioner | eHealth RelatedPerson | eHealth Patient | eHealth Organization | eHealth CareTeam) {r}Who is involved
.... onBehalfOf Σ0..1Reference(eHealth Organization) {r}Organization of the practitioner
.... period 0..1PeriodTime period of participant
... reasonCode 1..*CodeableConceptWhy the care team exists
Binding: Conditions (required)
... managingOrganization Σ0..*Reference(eHealth Organization) {r}Organization responsible for the care team
... note 0..*AnnotationComments made about the CareTeam
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] Σ0..1Individual responsible for the annotation
..... authorReferenceReference(eHealth Practitioner | eHealth Patient | eHealth RelatedPerson)
..... authorStringstring
.... time Σ0..1dateTimeWhen the annotation was made
.... text 1..1stringThe annotation - text content

doco Documentation for this format

 

Terminology Bindings

PathConformanceValueSet
CareTeam.languageextensibleCommon Languages
Max Binding: All Languages
CareTeam.statusrequiredCareTeamStatus
CareTeam.categoryexampleCareTeamCategory
CareTeam.participant.roleexampleCareTeamParticipantRole
CareTeam.reasonCoderequiredConditions

Constraints

IdPathDetailsRequirements
dom-2CareTeamIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1CareTeamIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4CareTeamIf 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-3CareTeamIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1CareTeam.extension:telecomAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1CareTeam.extension:telecomMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1CareTeam.participantAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ctm-1CareTeam.participantCareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner
: onBehalfOf.exists() implies (member.resolve() is Practitioner)
.