KR Core Implementation Guide
2.0.0 - STU 2

This page is part of the KR Core Implementation Guide (v2.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

## Resource Profile: KR Core PractitionerRole Profile for Medical Doctor

Official URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medical-doctor-role | Version: 2.0.0
Standards status: Trial-use | Computable Name: KRCore_PractitionerRole_MedicalDoctor

KR CDI V2 진료의 정보 및 역할 정보 클래스에서 정의한 진료의의 역할 정보 관련 항목들과 주요 추가 정보를 구조화하기 위해 정의한 Profile.

KR Core PractitionerRole Profile for Medical Doctor는 KR Core Server와 KR Core Client가 진료정보를 교류할 때 진료의의 역할 정보를 표현하는 데 사용되며, 이 경우 반드시(SHALL) 본 Profile을 준수해야 한다. 본 Profile은 의료법에 따라 자격이 부여된 의사(Medical Doctor)의 역할을 표현하기 위해 KR Core PractitionerRole Profile을 상속하여 정의하였으며, 본 Profile을 만족하는 FHIR 리소스 인스턴스는 자동적으로 KR Core PractitionerRole Profile을 만족한다.

※ 주의사항

- KR Core PractitionerRole Profile은 반드시(SHALL) 의사 외 보건의료 서비스 관련자의 역할 정보를 표현하기 위한 목적으로만 한정하여 사용한다.

Usages:

- Refer to this Profile: KR Core Encounter Profile
- Examples for this Profile: PractitionerRole/krcore-medicaldoctorrole-example-01 and PractitionerRole/krcore-medicaldoctorrole-example-02
- CapabilityStatements using this Profile: KR Core Client CapabilityStatement and KR Core Server CapabilityStatement

You can also check for usages in the FHIR IG Statistics

### KR CDI 관련항목

KR Core PractitionerRole Profile for Medical Doctor은 KR CDI의 진료의 정보 및 역할 정보 클래스 중 일부에 대응됨.

KR CDI 진료의 정보 및 역할 정보 클래스 항목 | KR Core PractitionerRole Profile for Medical Doctor 관련 항목
--- | ---
진료의ID | PractitionerRole.practitioner KR Core Practitioner Profile for Medical Doctor 참고
성명 | PractitionerRole.practitioner KR Core Practitioner Profile for Medical Doctor 참고
진료과 | PractitionerRole.specialty

### Formal Views of Profile Content

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

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

This structure is derived from KRCore_PractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | KRCore_PractitionerRole | KR Core PractitionerRole Profile for Medical Doctor
practitioner |  | 0..1 | Reference(KR Core Practitioner Profile for Medical Doctor) | 진료의 인적사항
organization |  | 0..1 | Reference(KR Core Healthcare Organization Profile) | 진료의 소속 기관
Slices for code |  | 1..* | CodeableConcept | 진료의 역할 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): PractitionerRole (extensible): 개인이 기관을 대표하여 수행하는 역할.
code:MDRole |  | 1..1 | CodeableConcept | 보건의료 종사자 역할 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/practitioner-role
code |  | 1..1 | code | 코드 고정값: doctor
specialty | S | 1..* | CodeableConcept | KRCDI) 진료과 바인딩(Binding): KR Core Medical Department Codes (required)
coding | S | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
PractitionerRole.code | extensible | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.specialty | required | KR_Core_Medical_Department_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-medicaldepartment-codes` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | KRCore_PractitionerRole | KR Core PractitionerRole Profile for Medical Doctor
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
practitioner | Σ | 0..1 | Reference(KR Core Practitioner Profile for Medical Doctor) | 진료의 인적사항
organization | Σ | 0..1 | Reference(KR Core Healthcare Organization Profile) | 진료의 소속 기관
Slices for code | Σ | 1..* | CodeableConcept | 진료의 역할 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): PractitionerRole (extensible): 개인이 기관을 대표하여 수행하는 역할.
code:MDRole | Σ | 1..1 | CodeableConcept | 보건의료 종사자 역할 바인딩(Binding): PractitionerRole (example): 개인이 기관을 대표하여 수행하는 역할. 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/practitioner-role
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: doctor
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
specialty | S Σ | 1..* | CodeableConcept | 진료과 바인딩(Binding): KR Core Medical Department Codes (required)
coding | S Σ | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
PractitionerRole.code | extensible | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.code:MDRole | example | Pattern Value: doctor `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.specialty | required | KR_Core_Medical_Department_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-medicaldepartment-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | KRCore_PractitionerRole | KR Core PractitionerRole Profile for Medical Doctor
id | Σ | 0..1 | id | 본 리소스 인스턴스의 논리적 ID
meta | Σ | 0..1 | Meta | 리소스에 대한 메타데이터
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
language |  | 0..1 | code | 리소스 콘텐츠의 언어 바인딩(Binding): CommonLanguages (preferred): 국가별 언어.
추가 바인딩 | 목적
AllLanguages | Max Binding
text |  | 0..1 | Narrative | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 이 프로파일은 내러티브의 내용, 사용 언어, 또는 해당 내용이 데이터 요소에 얼마나 추적 가능한지에 대해 제한하지 않음
contained |  | 0..* | Resource | 포함된 리소스
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
identifier | Σ | 0..* | Identifier | 보건의료 종사자 역할 ID
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) 바인딩(Binding): IdentifierUse (required): 알려진 경우, 이 식별자의 목적을 식별함.
type | Σ | 0..1 | CodeableConcept | 식별자 설명 바인딩(Binding): Identifier Type Codes (extensible): 특정 목적에 사용할 식별자를 결정하는데 사용하는 식별자 코드유형.
system | Σ | 1..1 | uri | 식별 체계 일반 예시: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | 고유 식별자 일반 예시: 123456
period | Σ | 0..1 | Period | id 유효 기간
assigner | Σ | 0..1 | Reference(Organization) | id 발급 기관 (text 일 수 있음)
active | Σ | 0..1 | boolean | 본 의료인 역할 기록이 현재 사용 중인지 여부
period | Σ | 0..1 | Period | 의료인이 이러한 역할(들)을 수행할 수 있는 권한이 부여된 기간
practitioner | Σ | 0..1 | Reference(KR Core Practitioner Profile for Medical Doctor) | 진료의 인적사항
organization | Σ | 0..1 | Reference(KR Core Healthcare Organization Profile) | 진료의 소속 기관
Slices for code | Σ | 1..* | CodeableConcept | 진료의 역할 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): PractitionerRole (extensible): 개인이 기관을 대표하여 수행하는 역할.
code:All Slices |  |  |  | 모든 분할항목에 적용되는 내용/규칙
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | Σ | 1..1 | code | 코드
display | Σ | 0..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
code:MDRole | Σ | 1..1 | CodeableConcept | 보건의료 종사자 역할 바인딩(Binding): PractitionerRole (example): 개인이 기관을 대표하여 수행하는 역할. 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/practitioner-role
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: doctor
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | Σ | 1..1 | code | 코드
display | Σ | 0..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
specialty | S Σ | 1..* | CodeableConcept | 진료과 바인딩(Binding): KR Core Medical Department Codes (required)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | S Σ | 1..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | S Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | S Σ | 1..1 | code | 코드
display | Σ | 0..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
location | Σ | 0..* | Reference(Location) | 의료인이 의료서비스를 제공하는 장소(들)
healthcareService |  | 0..* | Reference(HealthcareService) | 이 근로자가 이 역할의 조직/위치(들)에 대해 제공하는 의료 서비스 목록
telecom | Σ | 0..* | ContactPoint | 역할/장소/서비스와 관련된 세부 연락처
availableTime |  | 0..* | BackboneElement | 서비스를 이용할 수 있는 시간
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
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 | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
description |  | 1..1 | string | 사용자에게 설명하는 이용불가 시간 이유
during |  | 0..1 | Period | 서비스 이용불가 기간
availabilityExceptions |  | 0..1 | string | 서비스 가용성 예외(예: 공휴일 가용성)에 대한 설명
endpoint |  | 0..* | Reference(Endpoint) | 이 역할을 가진 의료인을 위해 운영되는 서비스에 대한 액세스를 제공하는 기술적 endpoint
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
PractitionerRole.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
PractitionerRole.identifier.use | required | IdentifierUse `http://hl7.org/fhir/ValueSet/identifier-use|4.0.1` From the FHIR Standard
PractitionerRole.identifier.type | extensible | Identifier Type Codes `http://hl7.org/fhir/ValueSet/identifier-type` From the FHIR Standard
PractitionerRole.code | extensible | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.code:MDRole | example | Pattern Value: doctor `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.specialty | required | KR_Core_Medical_Department_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-medicaldepartment-codes` From this IG
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 KRCore_PractitionerRole

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Structures

This structure refers to these other structures:

- KR Core Practitioner Profile for Medical Doctor (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medical-doctor)
- KR Core Healthcare Organization Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-healthcare-organization)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PractitionerRole.code

Differential View

This structure is derived from KRCore_PractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | KRCore_PractitionerRole | KR Core PractitionerRole Profile for Medical Doctor
practitioner |  | 0..1 | Reference(KR Core Practitioner Profile for Medical Doctor) | 진료의 인적사항
organization |  | 0..1 | Reference(KR Core Healthcare Organization Profile) | 진료의 소속 기관
Slices for code |  | 1..* | CodeableConcept | 진료의 역할 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): PractitionerRole (extensible): 개인이 기관을 대표하여 수행하는 역할.
code:MDRole |  | 1..1 | CodeableConcept | 보건의료 종사자 역할 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/practitioner-role
code |  | 1..1 | code | 코드 고정값: doctor
specialty | S | 1..* | CodeableConcept | 진료과 바인딩(Binding): KR Core Medical Department Codes (required)
coding | S | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
PractitionerRole.code | extensible | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.specialty | required | KR_Core_Medical_Department_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-medicaldepartment-codes` From this IG

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | KRCore_PractitionerRole | KR Core PractitionerRole Profile for Medical Doctor
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
practitioner | Σ | 0..1 | Reference(KR Core Practitioner Profile for Medical Doctor) | 진료의 인적사항
organization | Σ | 0..1 | Reference(KR Core Healthcare Organization Profile) | 진료의 소속 기관
Slices for code | Σ | 1..* | CodeableConcept | 진료의 역할 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): PractitionerRole (extensible): 개인이 기관을 대표하여 수행하는 역할.
code:MDRole | Σ | 1..1 | CodeableConcept | 보건의료 종사자 역할 바인딩(Binding): PractitionerRole (example): 개인이 기관을 대표하여 수행하는 역할. 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/practitioner-role
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: doctor
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
specialty | S Σ | 1..* | CodeableConcept | 진료과 바인딩(Binding): KR Core Medical Department Codes (required)
coding | S Σ | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
PractitionerRole.code | extensible | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.code:MDRole | example | Pattern Value: doctor `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.specialty | required | KR_Core_Medical_Department_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-medicaldepartment-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | KRCore_PractitionerRole | KR Core PractitionerRole Profile for Medical Doctor
id | Σ | 0..1 | id | 본 리소스 인스턴스의 논리적 ID
meta | Σ | 0..1 | Meta | 리소스에 대한 메타데이터
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
language |  | 0..1 | code | 리소스 콘텐츠의 언어 바인딩(Binding): CommonLanguages (preferred): 국가별 언어.
추가 바인딩 | 목적
AllLanguages | Max Binding
text |  | 0..1 | Narrative | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 이 프로파일은 내러티브의 내용, 사용 언어, 또는 해당 내용이 데이터 요소에 얼마나 추적 가능한지에 대해 제한하지 않음
contained |  | 0..* | Resource | 포함된 리소스
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
identifier | Σ | 0..* | Identifier | 보건의료 종사자 역할 ID
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) 바인딩(Binding): IdentifierUse (required): 알려진 경우, 이 식별자의 목적을 식별함.
type | Σ | 0..1 | CodeableConcept | 식별자 설명 바인딩(Binding): Identifier Type Codes (extensible): 특정 목적에 사용할 식별자를 결정하는데 사용하는 식별자 코드유형.
system | Σ | 1..1 | uri | 식별 체계 일반 예시: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | 고유 식별자 일반 예시: 123456
period | Σ | 0..1 | Period | id 유효 기간
assigner | Σ | 0..1 | Reference(Organization) | id 발급 기관 (text 일 수 있음)
active | Σ | 0..1 | boolean | 본 의료인 역할 기록이 현재 사용 중인지 여부
period | Σ | 0..1 | Period | 의료인이 이러한 역할(들)을 수행할 수 있는 권한이 부여된 기간
practitioner | Σ | 0..1 | Reference(KR Core Practitioner Profile for Medical Doctor) | 진료의 인적사항
organization | Σ | 0..1 | Reference(KR Core Healthcare Organization Profile) | 진료의 소속 기관
Slices for code | Σ | 1..* | CodeableConcept | 진료의 역할 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): PractitionerRole (extensible): 개인이 기관을 대표하여 수행하는 역할.
code:All Slices |  |  |  | 모든 분할항목에 적용되는 내용/규칙
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | Σ | 1..1 | code | 코드
display | Σ | 0..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
code:MDRole | Σ | 1..1 | CodeableConcept | 보건의료 종사자 역할 바인딩(Binding): PractitionerRole (example): 개인이 기관을 대표하여 수행하는 역할. 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/practitioner-role
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: doctor
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | Σ | 1..1 | code | 코드
display | Σ | 0..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
specialty | S Σ | 1..* | CodeableConcept | 진료과 바인딩(Binding): KR Core Medical Department Codes (required)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | S Σ | 1..* | Coding | 코드체계에 의해 정의된 코드
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
system | S Σ | 1..1 | uri | 코드체계 식별자
version | Σ | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code | S Σ | 1..1 | code | 코드
display | Σ | 0..1 | string | 시스템에서 정의한 표현
userSelected | Σ | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
location | Σ | 0..* | Reference(Location) | 의료인이 의료서비스를 제공하는 장소(들)
healthcareService |  | 0..* | Reference(HealthcareService) | 이 근로자가 이 역할의 조직/위치(들)에 대해 제공하는 의료 서비스 목록
telecom | Σ | 0..* | ContactPoint | 역할/장소/서비스와 관련된 세부 연락처
availableTime |  | 0..* | BackboneElement | 서비스를 이용할 수 있는 시간
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
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 | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
description |  | 1..1 | string | 사용자에게 설명하는 이용불가 시간 이유
during |  | 0..1 | Period | 서비스 이용불가 기간
availabilityExceptions |  | 0..1 | string | 서비스 가용성 예외(예: 공휴일 가용성)에 대한 설명
endpoint |  | 0..* | Reference(Endpoint) | 이 역할을 가진 의료인을 위해 운영되는 서비스에 대한 액세스를 제공하는 기술적 endpoint
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
PractitionerRole.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
PractitionerRole.identifier.use | required | IdentifierUse `http://hl7.org/fhir/ValueSet/identifier-use|4.0.1` From the FHIR Standard
PractitionerRole.identifier.type | extensible | Identifier Type Codes `http://hl7.org/fhir/ValueSet/identifier-type` From the FHIR Standard
PractitionerRole.code | extensible | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.code:MDRole | example | Pattern Value: doctor `http://hl7.org/fhir/ValueSet/practitioner-role` From the FHIR Standard
PractitionerRole.specialty | required | KR_Core_Medical_Department_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-medicaldepartment-codes` From this IG
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 KRCore_PractitionerRole

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Structures

This structure refers to these other structures:

- KR Core Practitioner Profile for Medical Doctor (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-medical-doctor)
- KR Core Healthcare Organization Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-healthcare-organization)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PractitionerRole.code

Other representations of profile: CSV, Excel, Schematron

### Notes:

KR Core IG를 따르는 Server는 반드시(SHALL) `PractitionerRole Resource`를 지원하고, KR Core PractitionerRole Profile for Medical Doctor를 반드시(SHALL) 지원해야 한다.
KR Core IG를 따르는 Client는 가능한 한(SHOULD) `PractitionerRole Resource`를 지원하고, `PractitionerRole Resource`를 지원하는 경우, KR Core PractitionerRole Profile for Medical Doctor를 반드시(SHALL) 지원해야 한다.

### KR Core Search Parameters (derived)

PractitionerRole Resource를 검색하기 위해 기본 FHIR 사양을 기반으로 정의한 검색 파라미터.

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
organization | reference | 의료인 소속 기관 | PractitionerRole.organization | MAY
practitioner | reference | 의료인 인적사항 | PractitionerRole.practitioner | SHALL
role | token | 의료인 역할 | PractitionerRole.code | SHOULD
specialty | token | 의료인 진료과목 코드 | PractitionerRole.specialty | SHOULD

NOTE: 위 Search Parameter 목록은 아래 요소에 대한 구현 기대치를 정의함:

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

NOTE: 이 외 기본 FHIR 사양에서 정의하고 있는 Search Parameter들은 KR Core IG를 구현한 서버의 선택 사항에 따라 추가로 제공 가능.