KR Core Implementation Guide
2.0.0-ballot-final - STU 2

This page is part of the KR Core Implementation Guide (v2.0.0-ballot-final: STU 2 Ballot 3) based on FHIR (HL7® FHIR® Standard) R4. This version is a pre-release. The current official version is 1.0.2. For a full list of available versions, see the Directory of published versions

## Resource Profile: KR Core Condition Profile for Encounter Diagnosis

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

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

KR Core Condition Profile for Encounter Diagnosis는 KR Core Server와 KR Core Client가 진료정보를 교류할 때 진단 정보를 표현하는 데 사용되며, 이 경우 가능한 한(SHOULD) 본 Profile을 준수해야 한다. 진단 정보를 표현할 때 본 Profile을 적용하지 않을 수 있는 경우는 특수한 상황에 한정된다. 이 경우 반드시 해당 진료정보교류 도메인 내에서 사전 합의가 이루어져야 한다.

Usages:

- Examples for this Profile: Condition/krcore-condition-encounter-diagnosis-example-01 and Condition/krcore-condition-encounter-diagnosis-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 Condition Profile for Encounter Diagnosis은 KR CDI의 진단 및 주호소 정보 클래스 중 일부에 대응됨.

KR CDI 진단 및 주호소 정보 클래스 항목 | KR Core Condition Profile for Encounter Diagnosis 관련 항목
--- | ---
진단일자 | Condition.recordedDate
진단명 | Condition.code
진단 임상적 상태 | Condition.clinicalStatus
주호소 발생일자 | KR Core Condition Profile for Chief Complaint 참고
주호소명 | KR Core Condition Profile for Chief Complaint 참고
주호소 임상적 상태 | KR Core Condition Profile for Chief Complaint 참고

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Condition |  | 0..* | Condition | KR Core Condition Profile for Encounter Diagnosis
clinicalStatus | S | 0..1 | CodeableConcept | KRCDI) 진단 임상적 상태: active | recurrence | relapse | inactive | remission | resolved
Slices for category |  | 1..* | CodeableConcept | 진단 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
category:EnctrDiag |  | 1..1 | CodeableConcept | problem-list-item | encounter-diagnosis 바인딩(Binding): KR Core Condition Category Codes (extensible) 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://www.hl7korea.or.kr/fhir/krcore/CodeSystem/krcore-condition-category-types
code |  | 1..1 | code | 코드 고정값: 진단
code | S | 1..1 | CodeableConcept | KRCDI) 진단명 바인딩(Binding): KR Core KCD8 Codes (required)
coding | S | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
subject | S | 1..1 | Reference(KR Core Patient Profile) | 진단 대상 환자
encounter |  | 0..1 | Reference(KR Core Encounter Profile) | 진단 관련 내원 정보
recordedDate | S | 1..1 | dateTime | KRCDI) 진단 일자 진단 일시 및 최초 기록 일시
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet / Code | URI
Condition.category:EnctrDiag | extensible | Pattern Value: 진단 `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-condition-category-codes` From this IG
Condition.code | required | KR_Core_KCD8_Codes(a valid code from KOSTAT KCD-8) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-kcd8-codes` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Condition | C | 0..* | Condition | KR Core Condition Profile for Encounter Diagnosis Constraints: con-3, con-4, con-5
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
clinicalStatus | ?!S Σ C | 0..1 | CodeableConcept | 진단 임상적 상태: active | recurrence | relapse | inactive | remission | resolved 바인딩(Binding): ConditionClinicalStatusCodes (required): 상태 또는 진단의 임상 상태.
verificationStatus | ?!Σ C | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error 바인딩(Binding): ConditionVerificationStatus (required): 상태 또는 진단의 임상 상태를 지원하거나 거부하는 확인 상태.
Slices for category |  | 1..* | CodeableConcept | 진단 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ConditionCategoryCodes (extensible): 상태에 할당된 범주.
category:EnctrDiag |  | 1..1 | CodeableConcept | problem-list-item | encounter-diagnosis 바인딩(Binding): KR Core Condition Category Codes (extensible) 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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://www.hl7korea.or.kr/fhir/krcore/CodeSystem/krcore-condition-category-types
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: 진단
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 진단명 바인딩(Binding): KR Core KCD8 Codes (required)
coding | S Σ | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
subject | S Σ | 1..1 | Reference(KR Core Patient Profile) | 진단 대상 환자
encounter | Σ | 0..1 | Reference(KR Core Encounter Profile) | 진단 관련 내원 정보
recordedDate | S Σ | 1..1 | dateTime | 진단 일시 및 최초 기록 일시
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Condition.clinicalStatus | required | ConditionClinicalStatusCodes `http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1` From the FHIR Standard
Condition.verificationStatus | required | ConditionVerificationStatus `http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1` From the FHIR Standard
Condition.category | extensible | ConditionCategoryCodes `http://hl7.org/fhir/ValueSet/condition-category` From the FHIR Standard
Condition.category:EnctrDiag | extensible | Pattern Value: 진단 `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-condition-category-codes` From this IG
Condition.code | required | KR_Core_KCD8_Codes(a valid code from KOSTAT KCD-8) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-kcd8-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Condition | 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
--- | --- | --- | --- | ---
Condition | C | 0..* | Condition | KR Core Condition Profile for Encounter Diagnosis Constraints: con-3, con-4, con-5
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 | 본 상태에 대한 외부 식별자
clinicalStatus | ?!S Σ C | 0..1 | CodeableConcept | 진단 임상적 상태: active | recurrence | relapse | inactive | remission | resolved 바인딩(Binding): ConditionClinicalStatusCodes (required): 상태 또는 진단의 임상 상태.
verificationStatus | ?!Σ C | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error 바인딩(Binding): ConditionVerificationStatus (required): 상태 또는 진단의 임상 상태를 지원하거나 거부하는 확인 상태.
Slices for category |  | 1..* | CodeableConcept | 진단 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ConditionCategoryCodes (extensible): 상태에 할당된 범주.
category:EnctrDiag |  | 1..1 | CodeableConcept | problem-list-item | encounter-diagnosis 바인딩(Binding): KR Core Condition Category Codes (extensible) 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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://www.hl7korea.or.kr/fhir/krcore/CodeSystem/krcore-condition-category-types
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: 진단
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
severity |  | 0..1 | CodeableConcept | 상태의 주관적 심각도 바인딩(Binding): Condition/DiagnosisSeverity (preferred): 임상의가 평가한 상태의 심각도에 대한 주관적인 평가.
code | S Σ | 1..1 | CodeableConcept | 진단명 바인딩(Binding): KR Core KCD8 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 | 개념의 일반 텍스트 표현
bodySite | Σ | 0..* | CodeableConcept | 해부학적 위치 - 필요한 경우에 제공 바인딩(Binding): SNOMEDCTBodyStructures (example): 해부학적 위치를 설명하는 코드들. 좌/우를 포함할 수 있음.
subject | S Σ | 1..1 | Reference(KR Core Patient Profile) | 진단 대상 환자
encounter | Σ | 0..1 | Reference(KR Core Encounter Profile) | 진단 관련 내원 정보
onset[x] | Σ | 0..1 |  | 상태가 시작된 추정 또는 실제 날짜/일시/연령
onsetDateTime |  |  | dateTime |
onsetAge |  |  | Age |
onsetPeriod |  |  | Period |
onsetRange |  |  | Range |
onsetString |  |  | string |
abatement[x] | C | 0..1 |  | 해결 또는 차도를 보이는 경우
abatementDateTime |  |  | dateTime |
abatementAge |  |  | Age |
abatementPeriod |  |  | Period |
abatementRange |  |  | Range |
abatementString |  |  | string |
recordedDate | S Σ | 1..1 | dateTime | 진단 일시 및 최초 기록 일시
recorder | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | 상태를 기록한 사람
asserter | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | 상태를 확인한 사람
stage | C | 0..* | BackboneElement | 일반적으로 공식적으로 평가되는 단계/등급 Constraints: con-1
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
summary | C | 0..1 | CodeableConcept | 단순 요약 (특정 질병) 바인딩(Binding): ConditionStage (example): 상태 단계를 설명하는 코드 (예: 암 단계)
assessment | C | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | 평가의 공식 기록
type |  | 0..1 | CodeableConcept | 단계의 종류 바인딩(Binding): ConditionStageType (example): 상태 단계의 종류를 설명하는 코드 (예: 임상적 또는 병리학적)
evidence | C | 0..* | BackboneElement | 근거자료 Constraints: con-2
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | Σ C | 0..* | CodeableConcept | 징후/증상 바인딩(Binding): ManifestationAndSymptomCodes (example): 상태의 징후 또는 증상을 설명하는 코드.
detail | Σ C | 0..* | Reference(Resource) | 다른 곳에서 찾은 근거자료
note |  | 0..* | Annotation | 상태에 대한 추가적인 정보
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Condition.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Condition.clinicalStatus | required | ConditionClinicalStatusCodes `http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1` From the FHIR Standard
Condition.verificationStatus | required | ConditionVerificationStatus `http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1` From the FHIR Standard
Condition.category | extensible | ConditionCategoryCodes `http://hl7.org/fhir/ValueSet/condition-category` From the FHIR Standard
Condition.category:EnctrDiag | extensible | Pattern Value: 진단 `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-condition-category-codes` From this IG
Condition.severity | preferred | Condition/DiagnosisSeverity `http://hl7.org/fhir/ValueSet/condition-severity` From the FHIR Standard
Condition.code | required | KR_Core_KCD8_Codes(a valid code from KOSTAT KCD-8) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-kcd8-codes` From this IG
Condition.bodySite | example | SNOMEDCTBodyStructures `http://hl7.org/fhir/ValueSet/body-site` From the FHIR Standard
Condition.stage.summary | example | ConditionStage `http://hl7.org/fhir/ValueSet/condition-stage` From the FHIR Standard
Condition.stage.type | example | ConditionStageType `http://hl7.org/fhir/ValueSet/condition-stage-type` From the FHIR Standard
Condition.evidence.code | example | ManifestationAndSymptomCodes `http://hl7.org/fhir/ValueSet/manifestation-or-symptom` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
con-1 | error | Condition.stage | Stage SHALL have summary or assessment : summary.exists() or assessment.exists() |
con-2 | error | Condition.evidence | evidence SHALL have code or details : code.exists() or detail.exists() |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Condition | 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 Condition

Summary

Mandatory: 7 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 Encounter Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-encounter)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Condition.category

Differential View

This structure is derived from Condition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Condition |  | 0..* | Condition | KR Core Condition Profile for Encounter Diagnosis
clinicalStatus | S | 0..1 | CodeableConcept | 진단 임상적 상태: active | recurrence | relapse | inactive | remission | resolved
Slices for category |  | 1..* | CodeableConcept | 진단 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this
category:EnctrDiag |  | 1..1 | CodeableConcept | problem-list-item | encounter-diagnosis 바인딩(Binding): KR Core Condition Category Codes (extensible) 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://www.hl7korea.or.kr/fhir/krcore/CodeSystem/krcore-condition-category-types
code |  | 1..1 | code | 코드 고정값: 진단
code | S | 1..1 | CodeableConcept | 진단명 바인딩(Binding): KR Core KCD8 Codes (required)
coding | S | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
subject | S | 1..1 | Reference(KR Core Patient Profile) | 진단 대상 환자
encounter |  | 0..1 | Reference(KR Core Encounter Profile) | 진단 관련 내원 정보
recordedDate | S | 1..1 | dateTime | 진단 일시 및 최초 기록 일시
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet / Code | URI
Condition.category:EnctrDiag | extensible | Pattern Value: 진단 `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-condition-category-codes` From this IG
Condition.code | required | KR_Core_KCD8_Codes(a valid code from KOSTAT KCD-8) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-kcd8-codes` From this IG

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Condition | C | 0..* | Condition | KR Core Condition Profile for Encounter Diagnosis Constraints: con-3, con-4, con-5
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
clinicalStatus | ?!S Σ C | 0..1 | CodeableConcept | 진단 임상적 상태: active | recurrence | relapse | inactive | remission | resolved 바인딩(Binding): ConditionClinicalStatusCodes (required): 상태 또는 진단의 임상 상태.
verificationStatus | ?!Σ C | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error 바인딩(Binding): ConditionVerificationStatus (required): 상태 또는 진단의 임상 상태를 지원하거나 거부하는 확인 상태.
Slices for category |  | 1..* | CodeableConcept | 진단 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ConditionCategoryCodes (extensible): 상태에 할당된 범주.
category:EnctrDiag |  | 1..1 | CodeableConcept | problem-list-item | encounter-diagnosis 바인딩(Binding): KR Core Condition Category Codes (extensible) 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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://www.hl7korea.or.kr/fhir/krcore/CodeSystem/krcore-condition-category-types
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: 진단
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 진단명 바인딩(Binding): KR Core KCD8 Codes (required)
coding | S Σ | 1..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
subject | S Σ | 1..1 | Reference(KR Core Patient Profile) | 진단 대상 환자
encounter | Σ | 0..1 | Reference(KR Core Encounter Profile) | 진단 관련 내원 정보
recordedDate | S Σ | 1..1 | dateTime | 진단 일시 및 최초 기록 일시
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Condition.clinicalStatus | required | ConditionClinicalStatusCodes `http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1` From the FHIR Standard
Condition.verificationStatus | required | ConditionVerificationStatus `http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1` From the FHIR Standard
Condition.category | extensible | ConditionCategoryCodes `http://hl7.org/fhir/ValueSet/condition-category` From the FHIR Standard
Condition.category:EnctrDiag | extensible | Pattern Value: 진단 `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-condition-category-codes` From this IG
Condition.code | required | KR_Core_KCD8_Codes(a valid code from KOSTAT KCD-8) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-kcd8-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Condition | 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
--- | --- | --- | --- | ---
Condition | C | 0..* | Condition | KR Core Condition Profile for Encounter Diagnosis Constraints: con-3, con-4, con-5
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 | 본 상태에 대한 외부 식별자
clinicalStatus | ?!S Σ C | 0..1 | CodeableConcept | 진단 임상적 상태: active | recurrence | relapse | inactive | remission | resolved 바인딩(Binding): ConditionClinicalStatusCodes (required): 상태 또는 진단의 임상 상태.
verificationStatus | ?!Σ C | 0..1 | CodeableConcept | unconfirmed | provisional | differential | confirmed | refuted | entered-in-error 바인딩(Binding): ConditionVerificationStatus (required): 상태 또는 진단의 임상 상태를 지원하거나 거부하는 확인 상태.
Slices for category |  | 1..* | CodeableConcept | 진단 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ConditionCategoryCodes (extensible): 상태에 할당된 범주.
category:EnctrDiag |  | 1..1 | CodeableConcept | problem-list-item | encounter-diagnosis 바인딩(Binding): KR Core Condition Category Codes (extensible) 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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://www.hl7korea.or.kr/fhir/krcore/CodeSystem/krcore-condition-category-types
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: 진단
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
severity |  | 0..1 | CodeableConcept | 상태의 주관적 심각도 바인딩(Binding): Condition/DiagnosisSeverity (preferred): 임상의가 평가한 상태의 심각도에 대한 주관적인 평가.
code | S Σ | 1..1 | CodeableConcept | 진단명 바인딩(Binding): KR Core KCD8 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 | 개념의 일반 텍스트 표현
bodySite | Σ | 0..* | CodeableConcept | 해부학적 위치 - 필요한 경우에 제공 바인딩(Binding): SNOMEDCTBodyStructures (example): 해부학적 위치를 설명하는 코드들. 좌/우를 포함할 수 있음.
subject | S Σ | 1..1 | Reference(KR Core Patient Profile) | 진단 대상 환자
encounter | Σ | 0..1 | Reference(KR Core Encounter Profile) | 진단 관련 내원 정보
onset[x] | Σ | 0..1 |  | 상태가 시작된 추정 또는 실제 날짜/일시/연령
onsetDateTime |  |  | dateTime |
onsetAge |  |  | Age |
onsetPeriod |  |  | Period |
onsetRange |  |  | Range |
onsetString |  |  | string |
abatement[x] | C | 0..1 |  | 해결 또는 차도를 보이는 경우
abatementDateTime |  |  | dateTime |
abatementAge |  |  | Age |
abatementPeriod |  |  | Period |
abatementRange |  |  | Range |
abatementString |  |  | string |
recordedDate | S Σ | 1..1 | dateTime | 진단 일시 및 최초 기록 일시
recorder | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | 상태를 기록한 사람
asserter | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | 상태를 확인한 사람
stage | C | 0..* | BackboneElement | 일반적으로 공식적으로 평가되는 단계/등급 Constraints: con-1
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
summary | C | 0..1 | CodeableConcept | 단순 요약 (특정 질병) 바인딩(Binding): ConditionStage (example): 상태 단계를 설명하는 코드 (예: 암 단계)
assessment | C | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) | 평가의 공식 기록
type |  | 0..1 | CodeableConcept | 단계의 종류 바인딩(Binding): ConditionStageType (example): 상태 단계의 종류를 설명하는 코드 (예: 임상적 또는 병리학적)
evidence | C | 0..* | BackboneElement | 근거자료 Constraints: con-2
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | Σ C | 0..* | CodeableConcept | 징후/증상 바인딩(Binding): ManifestationAndSymptomCodes (example): 상태의 징후 또는 증상을 설명하는 코드.
detail | Σ C | 0..* | Reference(Resource) | 다른 곳에서 찾은 근거자료
note |  | 0..* | Annotation | 상태에 대한 추가적인 정보
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Condition.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Condition.clinicalStatus | required | ConditionClinicalStatusCodes `http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1` From the FHIR Standard
Condition.verificationStatus | required | ConditionVerificationStatus `http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1` From the FHIR Standard
Condition.category | extensible | ConditionCategoryCodes `http://hl7.org/fhir/ValueSet/condition-category` From the FHIR Standard
Condition.category:EnctrDiag | extensible | Pattern Value: 진단 `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-condition-category-codes` From this IG
Condition.severity | preferred | Condition/DiagnosisSeverity `http://hl7.org/fhir/ValueSet/condition-severity` From the FHIR Standard
Condition.code | required | KR_Core_KCD8_Codes(a valid code from KOSTAT KCD-8) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-kcd8-codes` From this IG
Condition.bodySite | example | SNOMEDCTBodyStructures `http://hl7.org/fhir/ValueSet/body-site` From the FHIR Standard
Condition.stage.summary | example | ConditionStage `http://hl7.org/fhir/ValueSet/condition-stage` From the FHIR Standard
Condition.stage.type | example | ConditionStageType `http://hl7.org/fhir/ValueSet/condition-stage-type` From the FHIR Standard
Condition.evidence.code | example | ManifestationAndSymptomCodes `http://hl7.org/fhir/ValueSet/manifestation-or-symptom` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
con-1 | error | Condition.stage | Stage SHALL have summary or assessment : summary.exists() or assessment.exists() |
con-2 | error | Condition.evidence | evidence SHALL have code or details : code.exists() or detail.exists() |
con-3 | best practice | Condition | Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item : clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty() |
con-4 | error | Condition | If condition is abated, then clinicalStatus must be either inactive, resolved, or remission : abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists() |
con-5 | error | Condition | Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error : verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty() |
dom-2 | error | Condition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Condition | 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 | Condition | 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 | Condition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Condition | 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 Condition

Summary

Mandatory: 7 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 Encounter Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-encounter)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Condition.category

Other representations of profile: CSV, Excel, Schematron

### Notes:

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

### KR Core Search Parameters (derived)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
category | token | 진단 및 주호소 범주 | Condition.category | MAY
clinical-status | token | 진단 및 주호소 임상적 상태: active | recurrence | relapse | inactive | remission | resolved | Condition.clinicalStatus | MAY
code | token | 진단 및 주호소 상태를 식별하는 코드 | Condition.code | SHALL
encounter | reference | 진단 및 주호소 상태가 속한 수진 | Condition.encounter | MAY
onset-date | datetime | 진단 및 주호소 발생일자 | Condition.onset.ofType(dateTime) | Condition.onset.ofType(Period) | MAY
patient | reference | 진단 및 주호소 상태의 대상 | Condition.subject.where(resolve() is Patient) | SHALL
recorded-date | datetime | 진단 및 주호소 최초 기록일자 또는 진단일자 | Condition.recordedDate | MAY

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

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

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