KR Core Implementation Guide
2.0.0-ballot - STU2

KR Core Implementation Guide - Local Development build (v2.0.0-ballot) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Resource Profile: KR Core Encounter Profile

Official URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-encounter | Version: 2.0.0-ballot
Standards status: Trial-use | Computable Name: KRCore_Encounter

KR CDI V2 내원 정보 클래스에서 정의한 항목들과 주요 추가 정보를 FHIR Encounter 리소스를 기반으로 구조화하기 위해 정의한 Profile.

KR Core Encounter Profile은 KR Core Server와 KR Core Client가 진료정보를 교류할 때, 환자와 의사 간의 대면, 접촉, 만남, 혹은 의료 서비스 과정 전체에 대한 시간적·공간적 정보를 표현하는 데 사용되며, 이 경우 가능한 한(SHOULD) 본 Profile을 준수해야 한다. 진료 정보를 표현할 때 본 Profile을 적용하지 않을 수 있는 경우는 특수한 상황에 한정된다. 이 경우 반드시 해당 진료정보교류 도메인 내에서 사전 합의가 이루어져야 한다.

Usages:

- Refer to this Profile: KR Core Condition Profile for Chief Complaint and KR Core Condition Profile for Encounter Diagnosis
- Examples for this Profile: Encounter/krcore-encounter-example-01 and Encounter/krcore-encounter-example-02
- CapabilityStatements using this Profile: KR Core Client CapabilityStatement and KR Core Server CapabilityStatement

### KR CDI 관련항목

KR Core Encounter Profile은 KR CDI의 내원 정보 클래스에 대응됨.

KR CDI 내원 정보 클래스 항목 | KR Core Encounter Profile 관련 항목
--- | ---
진료구분 | Encounter.class
내원상태 | Encounter.status
내원기간:시작일자 | Encounter.period.start
내원기간:종료일자 | Encounter.period.end

KR Core Encounter Profile은 KR CDI의 환자 정보 클래스 중 일부에 대응됨.

KR CDI 환자 정보 클래스 항목 | KR Core Patient Profile 관련 항목
--- | ---
환자ID | Encounter.subject.reference KR Core Patient Profile 참고
성명 | Encounter.subject.reference KR Core Patient Profile 참고
생년월일 | Encounter.subject.reference KR Core Patient Profile 참고
성별 | Encounter.subject.reference KR Core Patient Profile 참고
연락처:전화번호 | Encounter.subject.reference KR Core Patient Profile 참고
연락처:이메일 | Encounter.subject.reference KR Core Patient Profile 참고
연락처:주소 | Encounter.subject.reference KR Core Patient Profile 참고
건강보험유형 | Encounter.extension.where(url = ‘http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insurancetypes’)

### 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 Encounter

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | KR Core Encounter Profile
Slices for extension |  | 0..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-insuranceTypes |  | 0..1 | CodeableConcept | KRCDI) 건강보험유형 KR Core Insurance Types Extension URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes 바인딩(Binding): KR Core Insurance Types Codes (required)
status | S | 1..1 | code | KRCDI) 내원 상태 진료 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled + 선호값: finished
class | S | 1..1 | Coding | KRCDI) 진료 구분: AMB | EMER | IMP + 바인딩(Binding): ActEncounterCode (required): 수진의 분류.
system | S | 1..1 | uri | 진료 구분 코드체계 식별자
code | S | 1..1 | code | 진료 구분 코드
subject |  | 0..1 | Reference(KR Core Patient Profile) | 진료 대상 환자
participant |  | 0..* | BackboneElement | 진료 참여 의료인
individual |  | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson) | 진료 참여 의료인 인적사항 또는 역할
period | S | 0..1 | Period | KRCDI) 내원 기간 진료 기간
start | S | 0..1 | dateTime | KRCDI) 시작 일자 시작 일시
end | S | 0..1 | dateTime | KRCDI) 종료 일자 종료 일시
serviceProvider |  | 0..1 | Reference(Organization | KR Core Healthcare Organization Profile) | 진료 기관
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Encounter.class | required | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | KR Core Encounter Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
Slices for extension |  | 0..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-insuranceTypes |  | 0..1 | CodeableConcept | KR Core Insurance Types Extension URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes 바인딩(Binding): KR Core Insurance Types Codes (required)
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 진료 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled + 바인딩(Binding): EncounterStatus (required): 수진의 현재 상태. 선호값: finished
class | S Σ | 1..1 | Coding | 진료 구분: AMB | EMER | IMP + 바인딩(Binding): ActEncounterCode (required): 수진의 분류.
system | S Σ | 1..1 | uri | 진료 구분 코드체계 식별자
code | S Σ | 1..1 | code | 진료 구분 코드
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 진료 대상 환자
participant | Σ | 0..* | BackboneElement | 진료 참여 의료인
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
individual | Σ | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson) | 진료 참여 의료인 인적사항 또는 역할
period | S | 0..1 | Period | 진료 기간
start | S Σ C | 0..1 | dateTime | 시작 일시
end | S Σ C | 0..1 | dateTime | 종료 일시
serviceProvider |  | 0..1 | Reference(Organization | KR Core Healthcare Organization Profile) | 진료 기관
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|4.0.1` From the FHIR Standard
Encounter.class | required | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Encounter | 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
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | KR Core Encounter Profile
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 | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | 포함된 리소스
Slices for extension |  | 0..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-insuranceTypes |  | 0..1 | CodeableConcept | KR Core Insurance Types Extension URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes 바인딩(Binding): KR Core Insurance Types Codes (required)
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
identifier | Σ | 0..* | Identifier | 본 수진의 식별자
status | ?!S Σ | 1..1 | code | 진료 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled + 바인딩(Binding): EncounterStatus (required): 수진의 현재 상태. 선호값: finished
statusHistory |  | 0..* | BackboneElement | 수진의 과거 상태 목록
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
status |  | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + 바인딩(Binding): EncounterStatus (required): 수진의 현재 상태.
period |  | 1..1 | Period | 에피소드 상태 지속 기간.
class | S Σ | 1..1 | Coding | 진료 구분: AMB | EMER | IMP + 바인딩(Binding): ActEncounterCode (required): 수진의 분류.
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | 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을 사용자가 직접 선택한 경우
classHistory |  | 0..* | BackboneElement | 수진의 과거 분류 목록
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
class |  | 1..1 | Coding | inpatient | outpatient | ambulatory | emergency + 바인딩(Binding): ActEncounterCode (extensible): 수진의 분류.
period |  | 1..1 | Period | 에피소드가 지정된 분류에 있었던 기간
type | Σ | 0..* | CodeableConcept | 수진의 특정 유형 바인딩(Binding): EncounterType (example): 수진의 유형.
serviceType | Σ | 0..1 | CodeableConcept | 수진의 특정 서비스 바인딩(Binding): ServiceType (example): 제공될 서비스에 대한 넓은 범위의 분류.
priority |  | 0..1 | CodeableConcept | 수진의 긴급성을 표시 바인딩(Binding): ActPriority (example): 수진의 긴급성을 표시.
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 진료 대상 환자
episodeOfCare | Σ | 0..* | Reference(EpisodeOfCare) | 본 수진이 속한 EpisodeOfCare
basedOn |  | 0..* | Reference(ServiceRequest) | 본 수진을 시작한 ServiceRequest
participant | Σ | 0..* | BackboneElement | 진료 참여 의료인
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
type | Σ | 0..* | CodeableConcept | 수진에서 내원 참여 의료인의 역할 바인딩(Binding): ParticipantType (extensible): 수진에서 내원 참여 의료인의 역할.
period |  | 0..1 | Period | 수진 중 내원 참여 의료인이 참여한 기간
individual | Σ | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson) | 진료 참여 의료인 인적사항 또는 역할
appointment | Σ | 0..* | Reference(Appointment) | 본 수진을 예약한 Appointment
period | S | 0..1 | Period | 진료 기간
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
start | S Σ C | 0..1 | dateTime | 시작 일시
end | S Σ C | 0..1 | dateTime | 종료 일시
length |  | 0..1 | Duration | 수진이 지속된 시간 (부재 시간 제외)
reasonCode | Σ | 0..* | CodeableConcept | 수진이 발생한 이유에 대한 코드 바인딩(Binding): EncounterReasonCodes (preferred): 수진이 발생한 이유.
reasonReference | Σ | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | 수진이 발생한 이유 (참조)
diagnosis | Σ | 0..* | BackboneElement | 본 수진과 관련된 진단
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
condition | Σ | 1..1 | Reference(Condition | Procedure) | 수진과 관련된 진단 또는 수술 및 처치
use |  | 0..1 | CodeableConcept | 본 진단이 수진에서 갖는 역할 (예: 등록, 청구, 퇴원...) 바인딩(Binding): DiagnosisRole (preferred): 본 상태가 나타내는 진단 유형.
rank |  | 0..1 | positiveInt | 진단 순위 (각 역할 유형 별)
account |  | 0..* | Reference(Account) | 본 수진의 대금 청구에 사용할 수 있는 계좌 집합
hospitalization |  | 0..1 | BackboneElement | 헬스케어 서비스 입원에 대한 세부사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
preAdmissionIdentifier |  | 0..1 | Identifier | 사전 등록 식별자
origin |  | 0..1 | Reference(Location | Organization) | 환자가 입원하기 전에 왔던 장소/기관
admitSource |  | 0..1 | CodeableConcept | 환자가 입원한 장소/상황 (의사 소개, 이송) 바인딩(Binding): AdmitSource (preferred): 환자가 입원한 장소/상황
reAdmission |  | 0..1 | CodeableConcept | 환자가 병원에 재입원 한 경우, 재입원 유형. 값이 존재하지 않는 경우, 재입원으로 식별되지 않음을 의미. 바인딩(Binding): hl7VS-re-admissionIndicator (example): 본 입원 관련 수진의 재입원 이유.
dietPreference |  | 0..* | CodeableConcept | 환자가 보고한 식단 선호도 바인딩(Binding): Diet (example): 배식 요구사항에 도움이 되는 의학적, 문화적 또는 윤리적 음식 선호도.
specialCourtesy |  | 0..* | CodeableConcept | 특별 대우 (VIP, 이사회 일원) 바인딩(Binding): SpecialCourtesy (preferred): 특별 대우.
specialArrangement |  | 0..* | CodeableConcept | 휠체어, 통역사, 들것 등. 바인딩(Binding): SpecialArrangements (preferred): 특별 준비.
destination |  | 0..1 | Reference(Location | Organization) | 환자가 퇴원하는 장소/기관
dischargeDisposition |  | 0..1 | CodeableConcept | 퇴원 후 장소의 범주 또는 종류 바인딩(Binding): DischargeDisposition (example): 퇴원 처분
location |  | 0..* | BackboneElement | 환자가 있었던 위치 목록
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
location |  | 1..1 | Reference(Location) | 수진이 이루어지는 장소
status |  | 0..1 | code | planned | active | reserved | completed 바인딩(Binding): EncounterLocationStatus (required): 장소의 상태
physicalType |  | 0..1 | CodeableConcept | 장소의 물리적 유형 (일반적으로 위치 계층 구조의 수준 - 병상 병실 병동 등) 바인딩(Binding): LocationType (example): 장소의 물리적 형태
period |  | 0..1 | Period | 환자가 해당 장소에 있었던 기간
serviceProvider |  | 0..1 | Reference(Organization | KR Core Healthcare Organization Profile) | 진료 기관
partOf |  | 0..1 | Reference(Encounter) | 본 수진이 속한 다른 수진
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|4.0.1` From the FHIR Standard
Encounter.statusHistory.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|4.0.1` From the FHIR Standard
Encounter.class | required | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`
Encounter.classHistory.class | extensible | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`
Encounter.type | example | EncounterType `http://hl7.org/fhir/ValueSet/encounter-type` From the FHIR Standard
Encounter.serviceType | example | ServiceType `http://hl7.org/fhir/ValueSet/service-type` From the FHIR Standard
Encounter.priority | example | ActPriority `http://terminology.hl7.org/ValueSet/v3-ActPriority`
Encounter.participant.type | extensible | ParticipantType `http://hl7.org/fhir/ValueSet/encounter-participant-type` From the FHIR Standard
Encounter.reasonCode | preferred | EncounterReasonCodes `http://hl7.org/fhir/ValueSet/encounter-reason` From the FHIR Standard
Encounter.diagnosis.use | preferred | DiagnosisRole `http://hl7.org/fhir/ValueSet/diagnosis-role` From the FHIR Standard
Encounter.hospitalization.admitSource | preferred | AdmitSource `http://hl7.org/fhir/ValueSet/encounter-admit-source` From the FHIR Standard
Encounter.hospitalization.reAdmission | example | Hl7VSReAdmissionIndicator `http://terminology.hl7.org/ValueSet/v2-0092`
Encounter.hospitalization.dietPreference | example | Diet `http://hl7.org/fhir/ValueSet/encounter-diet` From the FHIR Standard
Encounter.hospitalization.specialCourtesy | preferred | SpecialCourtesy `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` From the FHIR Standard
Encounter.hospitalization.specialArrangement | preferred | SpecialArrangements `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` From the FHIR Standard
Encounter.hospitalization.dischargeDisposition | example | DischargeDisposition `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` From the FHIR Standard
Encounter.location.status | required | EncounterLocationStatus `http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.1` From the FHIR Standard
Encounter.location.physicalType | example | LocationType `http://hl7.org/fhir/ValueSet/location-physical-type` From the FHIR Standard

#### Constraints

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

Summary

Mandatory: 2 elements
Must-Support: 7 elements

Structures

This structure refers to these other structures:

- KR Core Patient Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-patient)
- KR Core Healthcare Organization Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-healthcare-organization)

Extensions

This structure refers to these extensions:

- http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes

Differential View

This structure is derived from Encounter

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | KR Core Encounter Profile
Slices for extension |  | 0..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-insuranceTypes |  | 0..1 | CodeableConcept | KR Core Insurance Types Extension URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes 바인딩(Binding): KR Core Insurance Types Codes (required)
status | S | 1..1 | code | 진료 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled + 선호값: finished
class | S | 1..1 | Coding | 진료 구분: AMB | EMER | IMP + 바인딩(Binding): ActEncounterCode (required): 수진의 분류.
system | S | 1..1 | uri | 진료 구분 코드체계 식별자
code | S | 1..1 | code | 진료 구분 코드
subject |  | 0..1 | Reference(KR Core Patient Profile) | 진료 대상 환자
participant |  | 0..* | BackboneElement | 진료 참여 의료인
individual |  | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson) | 진료 참여 의료인 인적사항 또는 역할
period | S | 0..1 | Period | 진료 기간
start | S | 0..1 | dateTime | 시작 일시
end | S | 0..1 | dateTime | 종료 일시
serviceProvider |  | 0..1 | Reference(Organization | KR Core Healthcare Organization Profile) | 진료 기관
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Encounter.class | required | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | KR Core Encounter Profile
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
Slices for extension |  | 0..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-insuranceTypes |  | 0..1 | CodeableConcept | KR Core Insurance Types Extension URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes 바인딩(Binding): KR Core Insurance Types Codes (required)
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 진료 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled + 바인딩(Binding): EncounterStatus (required): 수진의 현재 상태. 선호값: finished
class | S Σ | 1..1 | Coding | 진료 구분: AMB | EMER | IMP + 바인딩(Binding): ActEncounterCode (required): 수진의 분류.
system | S Σ | 1..1 | uri | 진료 구분 코드체계 식별자
code | S Σ | 1..1 | code | 진료 구분 코드
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 진료 대상 환자
participant | Σ | 0..* | BackboneElement | 진료 참여 의료인
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
individual | Σ | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson) | 진료 참여 의료인 인적사항 또는 역할
period | S | 0..1 | Period | 진료 기간
start | S Σ C | 0..1 | dateTime | 시작 일시
end | S Σ C | 0..1 | dateTime | 종료 일시
serviceProvider |  | 0..1 | Reference(Organization | KR Core Healthcare Organization Profile) | 진료 기관
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|4.0.1` From the FHIR Standard
Encounter.class | required | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Encounter | 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
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | KR Core Encounter Profile
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 | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | 포함된 리소스
Slices for extension |  | 0..* | Extension | Extension 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
extension:krcore-insuranceTypes |  | 0..1 | CodeableConcept | KR Core Insurance Types Extension URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes 바인딩(Binding): KR Core Insurance Types Codes (required)
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
identifier | Σ | 0..* | Identifier | 본 수진의 식별자
status | ?!S Σ | 1..1 | code | 진료 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled + 바인딩(Binding): EncounterStatus (required): 수진의 현재 상태. 선호값: finished
statusHistory |  | 0..* | BackboneElement | 수진의 과거 상태 목록
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
status |  | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + 바인딩(Binding): EncounterStatus (required): 수진의 현재 상태.
period |  | 1..1 | Period | 에피소드 상태 지속 기간.
class | S Σ | 1..1 | Coding | 진료 구분: AMB | EMER | IMP + 바인딩(Binding): ActEncounterCode (required): 수진의 분류.
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | 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을 사용자가 직접 선택한 경우
classHistory |  | 0..* | BackboneElement | 수진의 과거 분류 목록
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
class |  | 1..1 | Coding | inpatient | outpatient | ambulatory | emergency + 바인딩(Binding): ActEncounterCode (extensible): 수진의 분류.
period |  | 1..1 | Period | 에피소드가 지정된 분류에 있었던 기간
type | Σ | 0..* | CodeableConcept | 수진의 특정 유형 바인딩(Binding): EncounterType (example): 수진의 유형.
serviceType | Σ | 0..1 | CodeableConcept | 수진의 특정 서비스 바인딩(Binding): ServiceType (example): 제공될 서비스에 대한 넓은 범위의 분류.
priority |  | 0..1 | CodeableConcept | 수진의 긴급성을 표시 바인딩(Binding): ActPriority (example): 수진의 긴급성을 표시.
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 진료 대상 환자
episodeOfCare | Σ | 0..* | Reference(EpisodeOfCare) | 본 수진이 속한 EpisodeOfCare
basedOn |  | 0..* | Reference(ServiceRequest) | 본 수진을 시작한 ServiceRequest
participant | Σ | 0..* | BackboneElement | 진료 참여 의료인
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
type | Σ | 0..* | CodeableConcept | 수진에서 내원 참여 의료인의 역할 바인딩(Binding): ParticipantType (extensible): 수진에서 내원 참여 의료인의 역할.
period |  | 0..1 | Period | 수진 중 내원 참여 의료인이 참여한 기간
individual | Σ | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson) | 진료 참여 의료인 인적사항 또는 역할
appointment | Σ | 0..* | Reference(Appointment) | 본 수진을 예약한 Appointment
period | S | 0..1 | Period | 진료 기간
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
start | S Σ C | 0..1 | dateTime | 시작 일시
end | S Σ C | 0..1 | dateTime | 종료 일시
length |  | 0..1 | Duration | 수진이 지속된 시간 (부재 시간 제외)
reasonCode | Σ | 0..* | CodeableConcept | 수진이 발생한 이유에 대한 코드 바인딩(Binding): EncounterReasonCodes (preferred): 수진이 발생한 이유.
reasonReference | Σ | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | 수진이 발생한 이유 (참조)
diagnosis | Σ | 0..* | BackboneElement | 본 수진과 관련된 진단
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
condition | Σ | 1..1 | Reference(Condition | Procedure) | 수진과 관련된 진단 또는 수술 및 처치
use |  | 0..1 | CodeableConcept | 본 진단이 수진에서 갖는 역할 (예: 등록, 청구, 퇴원...) 바인딩(Binding): DiagnosisRole (preferred): 본 상태가 나타내는 진단 유형.
rank |  | 0..1 | positiveInt | 진단 순위 (각 역할 유형 별)
account |  | 0..* | Reference(Account) | 본 수진의 대금 청구에 사용할 수 있는 계좌 집합
hospitalization |  | 0..1 | BackboneElement | 헬스케어 서비스 입원에 대한 세부사항
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
preAdmissionIdentifier |  | 0..1 | Identifier | 사전 등록 식별자
origin |  | 0..1 | Reference(Location | Organization) | 환자가 입원하기 전에 왔던 장소/기관
admitSource |  | 0..1 | CodeableConcept | 환자가 입원한 장소/상황 (의사 소개, 이송) 바인딩(Binding): AdmitSource (preferred): 환자가 입원한 장소/상황
reAdmission |  | 0..1 | CodeableConcept | 환자가 병원에 재입원 한 경우, 재입원 유형. 값이 존재하지 않는 경우, 재입원으로 식별되지 않음을 의미. 바인딩(Binding): hl7VS-re-admissionIndicator (example): 본 입원 관련 수진의 재입원 이유.
dietPreference |  | 0..* | CodeableConcept | 환자가 보고한 식단 선호도 바인딩(Binding): Diet (example): 배식 요구사항에 도움이 되는 의학적, 문화적 또는 윤리적 음식 선호도.
specialCourtesy |  | 0..* | CodeableConcept | 특별 대우 (VIP, 이사회 일원) 바인딩(Binding): SpecialCourtesy (preferred): 특별 대우.
specialArrangement |  | 0..* | CodeableConcept | 휠체어, 통역사, 들것 등. 바인딩(Binding): SpecialArrangements (preferred): 특별 준비.
destination |  | 0..1 | Reference(Location | Organization) | 환자가 퇴원하는 장소/기관
dischargeDisposition |  | 0..1 | CodeableConcept | 퇴원 후 장소의 범주 또는 종류 바인딩(Binding): DischargeDisposition (example): 퇴원 처분
location |  | 0..* | BackboneElement | 환자가 있었던 위치 목록
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
location |  | 1..1 | Reference(Location) | 수진이 이루어지는 장소
status |  | 0..1 | code | planned | active | reserved | completed 바인딩(Binding): EncounterLocationStatus (required): 장소의 상태
physicalType |  | 0..1 | CodeableConcept | 장소의 물리적 유형 (일반적으로 위치 계층 구조의 수준 - 병상 병실 병동 등) 바인딩(Binding): LocationType (example): 장소의 물리적 형태
period |  | 0..1 | Period | 환자가 해당 장소에 있었던 기간
serviceProvider |  | 0..1 | Reference(Organization | KR Core Healthcare Organization Profile) | 진료 기관
partOf |  | 0..1 | Reference(Encounter) | 본 수진이 속한 다른 수진
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|4.0.1` From the FHIR Standard
Encounter.statusHistory.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|4.0.1` From the FHIR Standard
Encounter.class | required | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`
Encounter.classHistory.class | extensible | ActEncounterCode `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode`
Encounter.type | example | EncounterType `http://hl7.org/fhir/ValueSet/encounter-type` From the FHIR Standard
Encounter.serviceType | example | ServiceType `http://hl7.org/fhir/ValueSet/service-type` From the FHIR Standard
Encounter.priority | example | ActPriority `http://terminology.hl7.org/ValueSet/v3-ActPriority`
Encounter.participant.type | extensible | ParticipantType `http://hl7.org/fhir/ValueSet/encounter-participant-type` From the FHIR Standard
Encounter.reasonCode | preferred | EncounterReasonCodes `http://hl7.org/fhir/ValueSet/encounter-reason` From the FHIR Standard
Encounter.diagnosis.use | preferred | DiagnosisRole `http://hl7.org/fhir/ValueSet/diagnosis-role` From the FHIR Standard
Encounter.hospitalization.admitSource | preferred | AdmitSource `http://hl7.org/fhir/ValueSet/encounter-admit-source` From the FHIR Standard
Encounter.hospitalization.reAdmission | example | Hl7VSReAdmissionIndicator `http://terminology.hl7.org/ValueSet/v2-0092`
Encounter.hospitalization.dietPreference | example | Diet `http://hl7.org/fhir/ValueSet/encounter-diet` From the FHIR Standard
Encounter.hospitalization.specialCourtesy | preferred | SpecialCourtesy `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` From the FHIR Standard
Encounter.hospitalization.specialArrangement | preferred | SpecialArrangements `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` From the FHIR Standard
Encounter.hospitalization.dischargeDisposition | example | DischargeDisposition `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` From the FHIR Standard
Encounter.location.status | required | EncounterLocationStatus `http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.1` From the FHIR Standard
Encounter.location.physicalType | example | LocationType `http://hl7.org/fhir/ValueSet/location-physical-type` From the FHIR Standard

#### Constraints

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

Summary

Mandatory: 2 elements
Must-Support: 7 elements

Structures

This structure refers to these other structures:

- KR Core Patient Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-patient)
- KR Core Healthcare Organization Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-healthcare-organization)

Extensions

This structure refers to these extensions:

- http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes

Other representations of profile: CSV, Excel, Schematron

### Notes:

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

### KR Core Search Parameters (defined)

Encounter Resource를 검색하기 위해 KR Core에서 추가로 정의한 검색 파라미터.

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
insurance-type | token | 환자의 건강보험유형 | Encounter.extension(‘http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-insuranceTypes’).value.ofType(CodeableConcept) | MAY

### KR Core Search Parameters (derived)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
class | token | 진료 구분 | Encounter.class | MAY
date | datetime | 내원 기간 내 날짜 | Encounter.period | MAY
participant | reference | 내원 참여 의료인 | Encounter.participant.individual | MAY
patient | reference | 내원 환자 | Encounter.subject.where(resolve() is Patient) | SHALL
service-provider | reference | 내원 기관 | Encounter.serviceProvider | MAY
status | token | 내원 상태: planned | arrived | triaged | in-progress | onleave | finished | cancelled \+ | Encounter.status | MAY

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

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

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