臺灣核心實作指引(TW Core IG)
0.3.3 - Ci-Build Trial Use

臺灣核心實作指引(TW Core IG), published by 衛生福利部. This guide is not an authorized publication; it is the continuous build for version 0.3.3 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/MOHW-TWCoreIG/cctwFHIRterm/ and changes regularly. See the Directory of published versions

Resource Profile: TW Core CareTeam

Official URL: https://twcore.mohw.gov.tw/ig/twcore/StructureDefinition/CareTeam-twcore Version: 0.3.3
Active as of 2025-11-21 Computable Name: TWCoreCareTeam

此臺灣核心-照護團隊(TW Core CareTeam) Profile說明本IG如何進一步定義FHIR的CareTeam Resource以呈現照護團隊資料。

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..* CareTeam Planned participants in the coordination and delivery of care for a patient or group
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 0..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... encounter Σ 0..1 Reference(TW Core Encounter) Encounter created as part of
... participant SC 1..* BackboneElement Members of the team
Constraints: ctm-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... role SΣ 1..1 CodeableConcept Type of involvement
Binding: ParticipantRoles (extensible)
.... member SΣ 1..1 Reference(TW Core Practitioner S | TW Core Organization | TW Core Patient | TW Core PractitionerRole S | TW Core CareTeam | TW Core RelatedPerson S) Who is involved
.... onBehalfOf Σ 0..1 Reference(TW Core Organization) Organization of the practitioner
... reasonReference 0..* Reference(TW Core Condition) Why the care team exists
... managingOrganization Σ 0..* Reference(TW Core Organization) Organization responsible for the care team

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CareTeam.status Base required CareTeamStatus 📍4.0.1 FHIR Std.
CareTeam.participant.​role Base extensible Participant Roles 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ctm-1 error CareTeam.participant CareTeam.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-2 error CareTeam If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CareTeam If 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-4 error CareTeam If 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-5 error CareTeam If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CareTeam A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from CareTeam

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* CareTeam Planned participants in the coordination and delivery of care for a patient or group
... status S 0..1 code proposed | active | suspended | inactive | entered-in-error
... subject S 1..1 Reference(TW Core Patient S | Group) Who care team is for
... encounter 0..1 Reference(TW Core Encounter) Encounter created as part of
.... role S 1..1 CodeableConcept Type of involvement
Binding: ParticipantRoles (extensible)
.... member S 1..1 Reference(TW Core Practitioner S | TW Core Organization | TW Core Patient | TW Core PractitionerRole S | TW Core CareTeam | TW Core RelatedPerson S) Who is involved
.... onBehalfOf 0..1 Reference(TW Core Organization) Organization of the practitioner
... reasonReference 0..* Reference(TW Core Condition) Why the care team exists
... managingOrganization 0..* Reference(TW Core Organization) Organization responsible for the care team

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
CareTeam.participant.​role Base extensible Participant Roles 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* CareTeam Planned participants in the coordination and delivery of care for a patient or group
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this team
... status ?!SΣ 0..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... category Σ 0..* CodeableConcept Type of team
Binding: CareTeamCategory (example): Indicates the type of care team.
... name Σ 0..1 string Name of the team, such as crisis assessment team
... subject SΣ 1..1 Reference(TW Core Patient S | Group) Who care team is for
... encounter Σ 0..1 Reference(TW Core Encounter) Encounter created as part of
... period Σ 0..1 Period Time period team covers
... participant SC 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
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... role SΣ 1..1 CodeableConcept Type of involvement
Binding: ParticipantRoles (extensible)
.... member SΣ 1..1 Reference(TW Core Practitioner S | TW Core Organization | TW Core Patient | TW Core PractitionerRole S | TW Core CareTeam | TW Core RelatedPerson S) Who is involved
.... onBehalfOf Σ 0..1 Reference(TW Core Organization) Organization of the practitioner
.... period 0..1 Period Time period of participant
... reasonCode 0..* CodeableConcept Why the care team exists
Binding: SNOMEDCTClinicalFindings (example): Indicates the reason for the care team.
... reasonReference 0..* Reference(TW Core Condition) Why the care team exists
... managingOrganization Σ 0..* Reference(TW Core Organization) Organization responsible for the care team
... telecom 0..* ContactPoint A contact detail for the care team (that applies to all members)
... note 0..* Annotation Comments made about the CareTeam

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CareTeam.language Base preferred Common Languages 📍4.0.1 FHIR Std.
CareTeam.status Base required CareTeamStatus 📍4.0.1 FHIR Std.
CareTeam.category Base example Care Team category 📍4.0.1 FHIR Std.
CareTeam.participant.​role Base extensible Participant Roles 📦4.0.1 FHIR Std.
CareTeam.reasonCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ctm-1 error CareTeam.participant CareTeam.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-2 error CareTeam If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CareTeam If 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-4 error CareTeam If 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-5 error CareTeam If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CareTeam A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* CareTeam Planned participants in the coordination and delivery of care for a patient or group
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 0..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... encounter Σ 0..1 Reference(TW Core Encounter) Encounter created as part of
... participant SC 1..* BackboneElement Members of the team
Constraints: ctm-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... role SΣ 1..1 CodeableConcept Type of involvement
Binding: ParticipantRoles (extensible)
.... member SΣ 1..1 Reference(TW Core Practitioner S | TW Core Organization | TW Core Patient | TW Core PractitionerRole S | TW Core CareTeam | TW Core RelatedPerson S) Who is involved
.... onBehalfOf Σ 0..1 Reference(TW Core Organization) Organization of the practitioner
... reasonReference 0..* Reference(TW Core Condition) Why the care team exists
... managingOrganization Σ 0..* Reference(TW Core Organization) Organization responsible for the care team

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CareTeam.status Base required CareTeamStatus 📍4.0.1 FHIR Std.
CareTeam.participant.​role Base extensible Participant Roles 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ctm-1 error CareTeam.participant CareTeam.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-2 error CareTeam If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CareTeam If 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-4 error CareTeam If 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-5 error CareTeam If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CareTeam A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from CareTeam

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* CareTeam Planned participants in the coordination and delivery of care for a patient or group
... status S 0..1 code proposed | active | suspended | inactive | entered-in-error
... subject S 1..1 Reference(TW Core Patient S | Group) Who care team is for
... encounter 0..1 Reference(TW Core Encounter) Encounter created as part of
.... role S 1..1 CodeableConcept Type of involvement
Binding: ParticipantRoles (extensible)
.... member S 1..1 Reference(TW Core Practitioner S | TW Core Organization | TW Core Patient | TW Core PractitionerRole S | TW Core CareTeam | TW Core RelatedPerson S) Who is involved
.... onBehalfOf 0..1 Reference(TW Core Organization) Organization of the practitioner
... reasonReference 0..* Reference(TW Core Condition) Why the care team exists
... managingOrganization 0..* Reference(TW Core Organization) Organization responsible for the care team

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
CareTeam.participant.​role Base extensible Participant Roles 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CareTeam 0..* CareTeam Planned participants in the coordination and delivery of care for a patient or group
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this team
... status ?!SΣ 0..1 code proposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required): Indicates the status of the care team.
... category Σ 0..* CodeableConcept Type of team
Binding: CareTeamCategory (example): Indicates the type of care team.
... name Σ 0..1 string Name of the team, such as crisis assessment team
... subject SΣ 1..1 Reference(TW Core Patient S | Group) Who care team is for
... encounter Σ 0..1 Reference(TW Core Encounter) Encounter created as part of
... period Σ 0..1 Period Time period team covers
... participant SC 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
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... role SΣ 1..1 CodeableConcept Type of involvement
Binding: ParticipantRoles (extensible)
.... member SΣ 1..1 Reference(TW Core Practitioner S | TW Core Organization | TW Core Patient | TW Core PractitionerRole S | TW Core CareTeam | TW Core RelatedPerson S) Who is involved
.... onBehalfOf Σ 0..1 Reference(TW Core Organization) Organization of the practitioner
.... period 0..1 Period Time period of participant
... reasonCode 0..* CodeableConcept Why the care team exists
Binding: SNOMEDCTClinicalFindings (example): Indicates the reason for the care team.
... reasonReference 0..* Reference(TW Core Condition) Why the care team exists
... managingOrganization Σ 0..* Reference(TW Core Organization) Organization responsible for the care team
... telecom 0..* ContactPoint A contact detail for the care team (that applies to all members)
... note 0..* Annotation Comments made about the CareTeam

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CareTeam.language Base preferred Common Languages 📍4.0.1 FHIR Std.
CareTeam.status Base required CareTeamStatus 📍4.0.1 FHIR Std.
CareTeam.category Base example Care Team category 📍4.0.1 FHIR Std.
CareTeam.participant.​role Base extensible Participant Roles 📦4.0.1 FHIR Std.
CareTeam.reasonCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ctm-1 error CareTeam.participant CareTeam.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-2 error CareTeam If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CareTeam If 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-4 error CareTeam If 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-5 error CareTeam If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CareTeam A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

以下概述了此Profile所需的RESTful FHIR互動功能。有關TW Core IG支援的RESTful互動功能的完整清單,請參閱TW Core Server能力聲明

必須支援以下查詢參數:

  1. 必須(SHALL) 支援透過查詢參數 patientstatus 查詢所有CareTeam:
    • 包含支援透過以下_include參數:CareTeam:participant:PractitionerRole,CareTeam:participant:Practitioner,CareTeam:participant:Patient,CareTeam:participant:RelatedPerson
      (如何透過reference查詢)
      (如何透過token查詢)
      GET [base]/CareTeam?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}

    例子:
    (1) GET [base]/CareTeam?patient=Patient/pat-example&status=active
    (1) GET [base]/CareTeam?patient=Patient/pat-example&status=active&_include=CareTeam:participant:RelatedPerson&_include=CareTeam:participant:Patient&_include=CareTeam:participant:Practitioner&_include=CareTeam:participant:PractitionerRole

建議應該支援以下查詢參數:

  1. 建議應該(SHOULD) 支援透過查詢參數 patientrole 查詢所有CareTeam:
    • 包含支援透過以下_include參數:CareTeam:participant:PractitionerRole,CareTeam:participant:Practitioner,CareTeam:participant:Patient,CareTeam:participant:RelatedPerson
      (如何透過reference查詢)
      (如何透過token查詢)
      GET [base]/CareTeam?patient={Type/}[id]&role={system|}[code]{,{system|}[code],...}

    例子:
    (1) GET [base]/CareTeam?patient=Patient/pat-example&role=http://snomed.info/sct|17561000