機器手訓練實作指引 (RoboHand Training Implementation Guide)
0.1.0 - ci-build

機器手訓練實作指引 (RoboHand Training Implementation Guide), published by Kimsber. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Kimsber/Rehab-IG/ and changes regularly. See the Directory of published versions

## Resource Profile: PractitionerRole

Official URL: https://build.fhir.org/ig/Kimsber/Rehab-IG/StructureDefinition/PractitionerRole | Version: 0.1.0
Draft as of 2025-11-24 | Computable Name: PractitionerRole

健康照護服務提供者角色的標準化定義。

Usages:

- Examples for this Profile: PractitionerRole/PractitionerRoleExample

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | TWCorePractitionerRole | 健康照護服務提供者所關聯的角色/機構
implicitRules | ?!Σ | 0..1 | uri | 創建此內容所依據的一組規則
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | 與角色（role）/地點（location）相關的特定業務識別碼
active | S Σ | 1..1 | boolean | 此健康照護服務提供者角色紀錄是否有效
practitioner | S Σ | 1..1 | Reference(TW Core Practitioner) | 能夠為機構提供所定義服務的健康照護服務提供者
organization | S Σ | 1..1 | Reference(TW Core Organization) | 提供這此健康照護服務提供者角色的機構
code | S | 1..1 | CodeableConceptTW | 此健康照護服務提供者可能執行的角色 Binding: SNOMED CT + 臺灣醫事司醫事人員類別值集 (extensible): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
specialty | S | 0..* | CodeableConceptTW | 健康照護服務提供者的特定專業 Binding: PracticeSettingCodeValueSet (preferred): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
Slices for coding | S | 0..* | CodingTW | 由專門術語系統（terminology system）定義的代碼 Slice: Unordered, Open by pattern:system
coding:TWMedicalDepartmentSCT | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 對應至 SNOMED CT之就醫科別 + 診療科別值集 (required)
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: http://snomed.info/sct
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
coding:TWMedicalConsultationDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署就醫科別值集 (required)
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-consultation-department-tw
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
coding:TWMedicalTreatmentDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署診療科別值集 (required)
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-treatment-department-tw
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
text | S Σ | 0..1 | string | 概念的文字表示法
location | S Σ | 0..* | Reference(TW Core Location) | 此健康照護服務提供者提供照護的地點
telecom | S Σ | 0..* | ContactPoint | 與角色（role）/地點（location）/服務（service）相關的聯絡細節
system | S Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): 應填入所綁定值集中的其中一個代碼。
value | S Σ | 1..1 | string | 實際的聯絡方式之細節
use | ?!S Σ | 0..1 | code | home | work | temp | old | mobile－此聯絡方式的用途 Binding: ContactPointUse (required): 應填入所綁定值集中的其中一個代碼。
period | S Σ | 0..1 | Period | 此聯絡方式的使用效期
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.code | Base | extensible | SNOMED CT + 臺灣醫事司醫事人員類別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty.​coding:TWMedicalDepartmentSCT | Base | required | 對應至 SNOMED CT之就醫科別 + 診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalConsultationDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署就醫科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalTreatmentDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | 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 | PractitionerRole | 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 | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | 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 TWCorePractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | TWCorePractitionerRole | 健康照護服務提供者所關聯的角色/機構
active |  | 1..1 | boolean | 此健康照護服務提供者角色紀錄是否有效
practitioner |  | 1..1 | Reference(TW Core Practitioner) | 能夠為機構提供所定義服務的健康照護服務提供者
organization |  | 1..1 | Reference(TW Core Organization) | 提供這此健康照護服務提供者角色的機構
code |  | 1..1 | CodeableConceptTW | 此健康照護服務提供者可能執行的角色
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | TWCorePractitionerRole | 健康照護服務提供者所關聯的角色/機構
id | Σ | 0..1 | id | 不重複的ID用以識別儲存在特定FHIR Server中的PractitionerRole紀錄，通常又稱為邏輯性ID。
meta | Σ | 0..1 | Meta | 此PractitionerRole Resource的metadata
implicitRules | ?!Σ | 0..1 | uri | 創建此內容所依據的一組規則
language |  | 0..1 | code | 用以表述PractitionerRole Resource內容的語言。 Binding: CommonLanguages (preferred): 人類語言；鼓勵使用CommonLanguages代碼表中的代碼，但不強制一定要使用此代碼表，你也可使用其他代碼表的代碼或單純以文字表示。
Additional Bindings | Purpose
AllLanguages | Max Binding
Example Value: zh-TW
text |  | 0..1 | Narrative | PractitionerRole Resource之內容摘要以供人閱讀 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 | S Σ | 0..* | Identifier | 與角色（role）/地點（location）相關的特定業務識別碼
active | S Σ | 1..1 | boolean | 此健康照護服務提供者角色紀錄是否有效
period | Σ | 0..1 | Period | 健康照護服務提供者在這些角色裡被授權執行工作的時間範圍
practitioner | S Σ | 1..1 | Reference(TW Core Practitioner) | 能夠為機構提供所定義服務的健康照護服務提供者
organization | S Σ | 1..1 | Reference(TW Core Organization) | 提供這此健康照護服務提供者角色的機構
code | S | 1..1 | CodeableConceptTW | 此健康照護服務提供者可能執行的角色 Binding: SNOMED CT + 臺灣醫事司醫事人員類別值集 (extensible): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
specialty | S | 0..* | CodeableConceptTW | 健康照護服務提供者的特定專業 Binding: PracticeSettingCodeValueSet (preferred): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
Slices for coding | S | 0..* | CodingTW | 由專門術語系統（terminology system）定義的代碼 Slice: Unordered, Open by pattern:system
coding:TWMedicalDepartmentSCT | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 對應至 SNOMED CT之就醫科別 + 診療科別值集 (required)
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: http://snomed.info/sct
version | Σ | 0..1 | string | 系統的版本—如果相關的話
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
userSelected | Σ | 0..1 | boolean | 此編碼是否由使用者直接選擇？
coding:TWMedicalConsultationDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署就醫科別值集 (required)
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-consultation-department-tw
version | Σ | 0..1 | string | 系統的版本—如果相關的話
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
userSelected | Σ | 0..1 | boolean | 此編碼是否由使用者直接選擇？
coding:TWMedicalTreatmentDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署診療科別值集 (required)
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-treatment-department-tw
version | Σ | 0..1 | string | 系統的版本—如果相關的話
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
userSelected | Σ | 0..1 | boolean | 此編碼是否由使用者直接選擇？
text | S Σ | 0..1 | string | 概念的文字表示法
location | S Σ | 0..* | Reference(TW Core Location) | 此健康照護服務提供者提供照護的地點
healthcareService |  | 0..* | Reference(HealthcareService) | 此工作者為此角色的機構（Organizatoin）/地點（Location）提供的健康照護服務清單
telecom | S Σ | 0..* | ContactPoint | 與角色（role）/地點（location）/服務（service）相關的聯絡細節
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): 應填入所綁定值集中的其中一個代碼。
value | S Σ | 1..1 | string | 實際的聯絡方式之細節
use | ?!S Σ | 0..1 | code | home | work | temp | old | mobile－此聯絡方式的用途 Binding: ContactPointUse (required): 應填入所綁定值集中的其中一個代碼。
rank | Σ | 0..1 | positiveInt | 具體說明偏好的使用順序（1=最高優先順序）
period | S Σ | 0..1 | Period | 此聯絡方式的使用效期
availableTime |  | 0..* | BackboneElement | 服務地點可用的時間
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
daysOfWeek |  | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): 應填入所綁定值集中的其中一個代碼。
allDay |  | 0..1 | boolean | 隨時可用？ 例如：24 小時服務。
availableStartTime |  | 0..1 | time | 每天的開放時間（如果 allDay = true，則忽略。）
availableEndTime |  | 0..1 | time | 每天的關閉時間（如果 allDay = true，則忽略。）
notAvailable |  | 0..* | BackboneElement | 由於提供的原因，在此期間無法使用。
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
description |  | 1..1 | string | 向使用者說明為什麼此期間無法使用的原因
during |  | 0..1 | Period | 從這個日期起，服務將不再提供。
availabilityExceptions |  | 0..1 | string | 描述在特定情況下服務不可用的特例
endpoint |  | 0..* | Reference(Endpoint) | 提供用於此健康照護服務提供者角色運營服務的技術端點
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
PractitionerRole.code | Base | extensible | SNOMED CT + 臺灣醫事司醫事人員類別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty.​coding:TWMedicalDepartmentSCT | Base | required | 對應至 SNOMED CT之就醫科別 + 診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalConsultationDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署就醫科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalTreatmentDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
PractitionerRole.availableTime.​daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | 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 | PractitionerRole | 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 | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | 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 TWCorePractitionerRole

Summary

Mandatory: 4 elements

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | TWCorePractitionerRole | 健康照護服務提供者所關聯的角色/機構
implicitRules | ?!Σ | 0..1 | uri | 創建此內容所依據的一組規則
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | 與角色（role）/地點（location）相關的特定業務識別碼
active | S Σ | 1..1 | boolean | 此健康照護服務提供者角色紀錄是否有效
practitioner | S Σ | 1..1 | Reference(TW Core Practitioner) | 能夠為機構提供所定義服務的健康照護服務提供者
organization | S Σ | 1..1 | Reference(TW Core Organization) | 提供這此健康照護服務提供者角色的機構
code | S | 1..1 | CodeableConceptTW | 此健康照護服務提供者可能執行的角色 Binding: SNOMED CT + 臺灣醫事司醫事人員類別值集 (extensible): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
specialty | S | 0..* | CodeableConceptTW | 健康照護服務提供者的特定專業 Binding: PracticeSettingCodeValueSet (preferred): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
Slices for coding | S | 0..* | CodingTW | 由專門術語系統（terminology system）定義的代碼 Slice: Unordered, Open by pattern:system
coding:TWMedicalDepartmentSCT | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 對應至 SNOMED CT之就醫科別 + 診療科別值集 (required)
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: http://snomed.info/sct
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
coding:TWMedicalConsultationDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署就醫科別值集 (required)
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-consultation-department-tw
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
coding:TWMedicalTreatmentDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署診療科別值集 (required)
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-treatment-department-tw
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
text | S Σ | 0..1 | string | 概念的文字表示法
location | S Σ | 0..* | Reference(TW Core Location) | 此健康照護服務提供者提供照護的地點
telecom | S Σ | 0..* | ContactPoint | 與角色（role）/地點（location）/服務（service）相關的聯絡細節
system | S Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): 應填入所綁定值集中的其中一個代碼。
value | S Σ | 1..1 | string | 實際的聯絡方式之細節
use | ?!S Σ | 0..1 | code | home | work | temp | old | mobile－此聯絡方式的用途 Binding: ContactPointUse (required): 應填入所綁定值集中的其中一個代碼。
period | S Σ | 0..1 | Period | 此聯絡方式的使用效期
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.code | Base | extensible | SNOMED CT + 臺灣醫事司醫事人員類別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty.​coding:TWMedicalDepartmentSCT | Base | required | 對應至 SNOMED CT之就醫科別 + 診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalConsultationDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署就醫科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalTreatmentDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | 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 | PractitionerRole | 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 | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | 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 TWCorePractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | TWCorePractitionerRole | 健康照護服務提供者所關聯的角色/機構
active |  | 1..1 | boolean | 此健康照護服務提供者角色紀錄是否有效
practitioner |  | 1..1 | Reference(TW Core Practitioner) | 能夠為機構提供所定義服務的健康照護服務提供者
organization |  | 1..1 | Reference(TW Core Organization) | 提供這此健康照護服務提供者角色的機構
code |  | 1..1 | CodeableConceptTW | 此健康照護服務提供者可能執行的角色
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | TWCorePractitionerRole | 健康照護服務提供者所關聯的角色/機構
id | Σ | 0..1 | id | 不重複的ID用以識別儲存在特定FHIR Server中的PractitionerRole紀錄，通常又稱為邏輯性ID。
meta | Σ | 0..1 | Meta | 此PractitionerRole Resource的metadata
implicitRules | ?!Σ | 0..1 | uri | 創建此內容所依據的一組規則
language |  | 0..1 | code | 用以表述PractitionerRole Resource內容的語言。 Binding: CommonLanguages (preferred): 人類語言；鼓勵使用CommonLanguages代碼表中的代碼，但不強制一定要使用此代碼表，你也可使用其他代碼表的代碼或單純以文字表示。
Additional Bindings | Purpose
AllLanguages | Max Binding
Example Value: zh-TW
text |  | 0..1 | Narrative | PractitionerRole Resource之內容摘要以供人閱讀 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 | S Σ | 0..* | Identifier | 與角色（role）/地點（location）相關的特定業務識別碼
active | S Σ | 1..1 | boolean | 此健康照護服務提供者角色紀錄是否有效
period | Σ | 0..1 | Period | 健康照護服務提供者在這些角色裡被授權執行工作的時間範圍
practitioner | S Σ | 1..1 | Reference(TW Core Practitioner) | 能夠為機構提供所定義服務的健康照護服務提供者
organization | S Σ | 1..1 | Reference(TW Core Organization) | 提供這此健康照護服務提供者角色的機構
code | S | 1..1 | CodeableConceptTW | 此健康照護服務提供者可能執行的角色 Binding: SNOMED CT + 臺灣醫事司醫事人員類別值集 (extensible): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
specialty | S | 0..* | CodeableConceptTW | 健康照護服務提供者的特定專業 Binding: PracticeSettingCodeValueSet (preferred): 應填入所綁定值集中適合的代碼，確定無適合的代碼才可以使用其他值集的代碼來表示。
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
Slices for coding | S | 0..* | CodingTW | 由專門術語系統（terminology system）定義的代碼 Slice: Unordered, Open by pattern:system
coding:TWMedicalDepartmentSCT | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 對應至 SNOMED CT之就醫科別 + 診療科別值集 (required)
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: http://snomed.info/sct
version | Σ | 0..1 | string | 系統的版本—如果相關的話
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
userSelected | Σ | 0..1 | boolean | 此編碼是否由使用者直接選擇？
coding:TWMedicalConsultationDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署就醫科別值集 (required)
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-consultation-department-tw
version | Σ | 0..1 | string | 系統的版本—如果相關的話
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
userSelected | Σ | 0..1 | boolean | 此編碼是否由使用者直接選擇？
coding:TWMedicalTreatmentDepartment | S | 0..1 | CodingTW | 由專門術語系統（terminology system）定義的代碼 Binding: 無法對應至SNOMED CT之臺灣健保署診療科別值集 (required)
id |  | 0..1 | string | 唯一可識別ID，以供資料項目間相互參照。
extension |  | 0..* | Extension | 擴充的資料項目 Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | 專門術語系統（terminology system）的識別 Required Pattern: https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/medical-treatment-department-tw
version | Σ | 0..1 | string | 系統的版本—如果相關的話
code | S Σ | 0..1 | code | 系統定義的語法之符號
display | S Σ | 0..1 | string | 由系統定義的表示法
userSelected | Σ | 0..1 | boolean | 此編碼是否由使用者直接選擇？
text | S Σ | 0..1 | string | 概念的文字表示法
location | S Σ | 0..* | Reference(TW Core Location) | 此健康照護服務提供者提供照護的地點
healthcareService |  | 0..* | Reference(HealthcareService) | 此工作者為此角色的機構（Organizatoin）/地點（Location）提供的健康照護服務清單
telecom | S Σ | 0..* | ContactPoint | 與角色（role）/地點（location）/服務（service）相關的聯絡細節
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): 應填入所綁定值集中的其中一個代碼。
value | S Σ | 1..1 | string | 實際的聯絡方式之細節
use | ?!S Σ | 0..1 | code | home | work | temp | old | mobile－此聯絡方式的用途 Binding: ContactPointUse (required): 應填入所綁定值集中的其中一個代碼。
rank | Σ | 0..1 | positiveInt | 具體說明偏好的使用順序（1=最高優先順序）
period | S Σ | 0..1 | Period | 此聯絡方式的使用效期
availableTime |  | 0..* | BackboneElement | 服務地點可用的時間
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
daysOfWeek |  | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): 應填入所綁定值集中的其中一個代碼。
allDay |  | 0..1 | boolean | 隨時可用？ 例如：24 小時服務。
availableStartTime |  | 0..1 | time | 每天的開放時間（如果 allDay = true，則忽略。）
availableEndTime |  | 0..1 | time | 每天的關閉時間（如果 allDay = true，則忽略。）
notAvailable |  | 0..* | BackboneElement | 由於提供的原因，在此期間無法使用。
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
description |  | 1..1 | string | 向使用者說明為什麼此期間無法使用的原因
during |  | 0..1 | Period | 從這個日期起，服務將不再提供。
availabilityExceptions |  | 0..1 | string | 描述在特定情況下服務不可用的特例
endpoint |  | 0..* | Reference(Endpoint) | 提供用於此健康照護服務提供者角色運營服務的技術端點
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
PractitionerRole.code | Base | extensible | SNOMED CT + 臺灣醫事司醫事人員類別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty.​coding:TWMedicalDepartmentSCT | Base | required | 對應至 SNOMED CT之就醫科別 + 診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalConsultationDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署就醫科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.specialty.​coding:TWMedicalTreatmentDepartment | Base | required | 無法對應至SNOMED CT之臺灣健保署診療科別值集 | 📦0.3.0 | 臺灣核心實作指引 v0.3
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
PractitionerRole.availableTime.​daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | 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 | PractitionerRole | 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 | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | 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 TWCorePractitionerRole

Summary

Mandatory: 4 elements

Other representations of profile: CSV, Excel, Schematron