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 Observation Profile for Laboratory Result

Official URL: http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-observation-laboratory-result | Version: 2.0.0-ballot-final
Standards status: Trial-use | Computable Name: KRCore_Observation_LaboratoryResult

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

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

※ 참고
본 Profile은 KR CDI V2 병리검사 정보를 직접적으로 다루고 있지는 않지만, FHIR Observation 리소스를 사용해 병리검사 세부 결과를 표현할 경우, Observation.category 값을 일반적으로 `laboratory`로 설정한다. 이에 따라 본 Profile은 병리검사 세부 결과 표현 시 구조적 참고 자료로 활용할 수 있다.

Usages:

- Refer to this Profile: KR Core DiagnosticReport Profile for Laboratory Results
- Examples for this Profile: Observation/krcore-observation-laboratory-result-example-01, Observation/krcore-observation-laboratory-result-example-02 and Observation/krcore-observation-laboratory-result-example-03
- 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 Observation Profile for Laboratory Result은 KR CDI의 진단검사 클래스 중 일부에 대응됨.

KR CDI 진단검사 클래스 항목 | KR Core Observation Profile for Laboratory Result 관련 항목
--- | ---
진단검사명 | Observation.code Observation.componenet.code KR Core DiagnosticReport Profile for Laboratory Results 참고
검체 종류 | DiagnosticReport.specimen KR Core Specimen Profile 참고
진단검사 결과 | Observation.value Observation.component.value
진단검사 보고일시 | Observation.issued
참고 구간 | Observation.referenceRange Observation.component.referenceRange
결과 판독 | KR Core DiagnosticReport Profile for Laboratory Results 참고
진단검사 상태 | KR Core DiagnosticReport Profile for Laboratory Results 참고

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | KR Core Observation Profile for Laboratory Result
status |  | 1..1 | code | 진단검사 측정 상태: registered | preliminary | final | amended +
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Laboratory |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | 코드 고정값: laboratory
code | S | 1..1 | CodeableConcept | KRCDI) 진단검사명 진단검사 측정 항목 정보 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
subject | S | 0..1 | Reference(KR Core Patient Profile) | 진단검사 대상 환자
effective[x] |  | 0..1 | dateTime, Period, Timing, instant | 진단검사 일시
issued | S | 1..1 | instant | KRCDI) 진단검사 보고일시
performer |  | 0..* | Reference(KR Core Practitioner Profile | KR Core PractitionerRole Profile | KR Core Organization Profile | CareTeam | KR Core Patient Profile | RelatedPerson) | 검사 책임자
value[x] | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | KRCDI) 진단검사 결과 진단검사 측정 결과
specimen |  | 0..1 | Reference(KR Core Specimen Profile) | KRCDI) 검체 종류 검체 정보 참조
referenceRange | S | 0..* | BackboneElement | KRCDI) 참고 구간 진단검사 측정 결과 참고 구간
component | S | 0..* | BackboneElement | 세부 진단검사 측정 정보
code | S | 1..1 | CodeableConcept | KRCDI) 진단검사명 세부 진단검사 측정 항목명 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
value[x] | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | KRCDI) 진단검사 결과 세부 진단검사 측정 결과
referenceRange | S | 0..* |  | KRCDI) 참고 구간 세부 진단검사 측정 결과 참고 구간
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Observation.category | required | ObservationCategoryCodes `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.component.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | KR Core Observation Profile for Laboratory Result Constraints: obs-6, obs-7
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
status | ?!Σ | 1..1 | code | 진단검사 측정 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Laboratory |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: laboratory
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 진단검사 측정 항목 정보 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
subject | S Σ | 0..1 | Reference(KR Core Patient Profile) | 진단검사 대상 환자
effective[x] | Σ | 0..1 |  | 진단검사 일시
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | S Σ | 1..1 | instant | 진단검사 보고일시
performer | Σ | 0..* | Reference(KR Core Practitioner Profile | KR Core PractitionerRole Profile | KR Core Organization Profile | CareTeam | KR Core Patient Profile | RelatedPerson) | 검사 책임자
value[x] | S Σ C | 0..1 |  | 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
specimen |  | 0..1 | Reference(KR Core Specimen Profile) | 검체 정보 참조
referenceRange | S C | 0..* | BackboneElement | 진단검사 측정 결과 참고 구간 Constraints: obs-3
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
component | S Σ | 0..* | BackboneElement | 세부 진단검사 측정 정보
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | S Σ | 1..1 | CodeableConcept | 세부 진단검사 측정 항목명 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
value[x] | S Σ | 0..1 |  | 세부 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
referenceRange | S | 0..* | See referenceRange (Observation) | 세부 진단검사 측정 결과 참고 구간
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Observation.status | required | ObservationStatus `http://hl7.org/fhir/ValueSet/observation-status|4.0.1` From the FHIR Standard
Observation.category | required | ObservationCategoryCodes `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.category:Laboratory | preferred | Pattern Value: laboratory `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.component.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Observation | 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 | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Observation | 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() |
obs-3 | error | Observation.referenceRange | low, high, text 중 반드시 하나 이상 사용 : low.exists() or high.exists() or text.exists() |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | KR Core Observation Profile for Laboratory Result Constraints: obs-6, obs-7
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 | 관찰을 위한 비즈니스 식별자 (현실에서 사용되는 식별자)
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | 본 관찰이 이행/충족한 계획, 제안 또는 주문
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | 본 관찰이 속한 이벤트 참조
status | ?!Σ | 1..1 | code | 진단검사 측정 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Laboratory |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: laboratory
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 진단검사 측정 항목 정보 바인딩(Binding): KR Core Laboratory Codes (extensible)
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 | 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 | 개념의 일반 텍스트 표현
subject | S Σ | 0..1 | Reference(KR Core Patient Profile) | 진단검사 대상 환자
focus | Σ | 0..* | Reference(Resource) | 기록이 관찰 대상에 관한 것이 아닌 경우, 실제 관찰의 대상
encounter | Σ | 0..1 | Reference(Encounter) | 본 관찰이 수행되는 헬스케어 이벤트
effective[x] | Σ | 0..1 |  | 진단검사 일시
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | S Σ | 1..1 | instant | 진단검사 보고일시
performer | Σ | 0..* | Reference(KR Core Practitioner Profile | KR Core PractitionerRole Profile | KR Core Organization Profile | CareTeam | KR Core Patient Profile | RelatedPerson) | 검사 책임자
value[x] | S Σ C | 0..1 |  | 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | 결과 부재 이유 바인딩(Binding): DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) 결과 부재 이유에 대한 코드들.
interpretation |  | 0..* | CodeableConcept | high, low, normal, 등. 바인딩(Binding): ObservationInterpretationCodes (extensible): 관찰의 해석을 식별하기 위한 코드들.
note |  | 0..* | Annotation | 관찰에 대한 의견
bodySite |  | 0..1 | CodeableConcept | 관찰한 신체 부위 바인딩(Binding): SNOMEDCTBodyStructures (example): 해부학적 위치를 설명하는 코드들. 좌/우를 포함할 수 있음.
method |  | 0..1 | CodeableConcept | 관찰 방법 바인딩(Binding): ObservationMethods (example): 단순 관찰을 위한 방법.
specimen |  | 0..1 | Reference(KR Core Specimen Profile) | 검체 정보 참조
device |  | 0..1 | Reference(Device | DeviceMetric) | (측정) 기기
referenceRange | S C | 0..* | BackboneElement | 진단검사 측정 결과 참고 구간 Constraints: obs-3
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
low | C | 0..1 | SimpleQuantity | 참조 범위의 하한값 - 필요한 경우에 제공
high | C | 0..1 | SimpleQuantity | 참조 범위의 상한값 - 필요한 경우에 제공
type |  | 0..1 | CodeableConcept | 참조 범위 한정자 바인딩(Binding): ObservationReferenceRangeMeaningCodes (preferred): 참조 범위 의미를 위한 코드들.
appliesTo |  | 0..* | CodeableConcept | 참조 범위 모집단 바인딩(Binding): ObservationReferenceRangeAppliesToCodes (example): 참조 범위가 적용되는 모집단을 위한 코드들.
age |  | 0..1 | Range | 적용 가능한 연령 범위 - 필요한 경우에 제공
text |  | 0..1 | string | 관찰의 텍스트 기반 참조 범위
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | 동일 관찰 그룹에 속하는 관련 리소스
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | 관찰이 이루어진 관련 측정
component | S Σ | 0..* | BackboneElement | 세부 진단검사 측정 정보
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | S Σ | 1..1 | CodeableConcept | 세부 진단검사 측정 항목명 바인딩(Binding): KR Core Laboratory Codes (extensible)
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 | 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 | 개념의 일반 텍스트 표현
value[x] | S Σ | 0..1 |  | 세부 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | 세부 결과 부재 이유 바인딩(Binding): DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) 결과 부재 이유에 대한 코드들.
interpretation |  | 0..* | CodeableConcept | high, low, normal, 등. 바인딩(Binding): ObservationInterpretationCodes (extensible): 관찰의 해석을 식별하기 위한 코드들.
referenceRange | S | 0..* | See referenceRange (Observation) | 세부 진단검사 측정 결과 참고 구간
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Observation.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Observation.status | required | ObservationStatus `http://hl7.org/fhir/ValueSet/observation-status|4.0.1` From the FHIR Standard
Observation.category | required | ObservationCategoryCodes `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.category:Laboratory | preferred | Pattern Value: laboratory `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.dataAbsentReason | extensible | DataAbsentReason `http://hl7.org/fhir/ValueSet/data-absent-reason` From the FHIR Standard
Observation.interpretation | extensible | ObservationInterpretationCodes `http://hl7.org/fhir/ValueSet/observation-interpretation` From the FHIR Standard
Observation.bodySite | example | SNOMEDCTBodyStructures `http://hl7.org/fhir/ValueSet/body-site` From the FHIR Standard
Observation.method | example | ObservationMethods `http://hl7.org/fhir/ValueSet/observation-methods` From the FHIR Standard
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes `http://hl7.org/fhir/ValueSet/referencerange-meaning` From the FHIR Standard
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes `http://hl7.org/fhir/ValueSet/referencerange-appliesto` From the FHIR Standard
Observation.component.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.component.dataAbsentReason | extensible | DataAbsentReason `http://hl7.org/fhir/ValueSet/data-absent-reason` From the FHIR Standard
Observation.component.interpretation | extensible | ObservationInterpretationCodes `http://hl7.org/fhir/ValueSet/observation-interpretation` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Observation | 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 | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Observation | 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() |
obs-3 | error | Observation.referenceRange | low, high, text 중 반드시 하나 이상 사용 : low.exists() or high.exists() or text.exists() |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |

This structure is derived from Observation

Summary

Mandatory: 3 elements(4 nested mandatory elements)
Must-Support: 13 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 Practitioner Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-practitioner)
- KR Core PractitionerRole Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-practitioner-role)
- KR Core Organization Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-organization)
- KR Core Specimen Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-specimen)

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from Observation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation |  | 0..* | Observation | KR Core Observation Profile for Laboratory Result
status |  | 1..1 | code | 진단검사 측정 상태: registered | preliminary | final | amended +
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Laboratory |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (Complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | 코드 고정값: laboratory
code | S | 1..1 | CodeableConcept | 진단검사 측정 항목 정보 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
subject | S | 0..1 | Reference(KR Core Patient Profile) | 진단검사 대상 환자
effective[x] |  | 0..1 | dateTime, Period, Timing, instant | 진단검사 일시
issued | S | 1..1 | instant | 진단검사 보고일시
performer |  | 0..* | Reference(KR Core Practitioner Profile | KR Core PractitionerRole Profile | KR Core Organization Profile | CareTeam | KR Core Patient Profile | RelatedPerson) | 검사 책임자
value[x] | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | 진단검사 측정 결과
specimen |  | 0..1 | Reference(KR Core Specimen Profile) | 검체 정보 참조
referenceRange | S | 0..* | BackboneElement | 진단검사 측정 결과 참고 구간
component | S | 0..* | BackboneElement | 세부 진단검사 측정 정보
code | S | 1..1 | CodeableConcept | 세부 진단검사 측정 항목명 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
value[x] | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | 세부 진단검사 측정 결과
referenceRange | S | 0..* |  | 세부 진단검사 측정 결과 참고 구간
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Observation.category | required | ObservationCategoryCodes `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.component.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | KR Core Observation Profile for Laboratory Result Constraints: obs-6, obs-7
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
status | ?!Σ | 1..1 | code | 진단검사 측정 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Laboratory |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: laboratory
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 진단검사 측정 항목 정보 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
subject | S Σ | 0..1 | Reference(KR Core Patient Profile) | 진단검사 대상 환자
effective[x] | Σ | 0..1 |  | 진단검사 일시
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | S Σ | 1..1 | instant | 진단검사 보고일시
performer | Σ | 0..* | Reference(KR Core Practitioner Profile | KR Core PractitionerRole Profile | KR Core Organization Profile | CareTeam | KR Core Patient Profile | RelatedPerson) | 검사 책임자
value[x] | S Σ C | 0..1 |  | 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
specimen |  | 0..1 | Reference(KR Core Specimen Profile) | 검체 정보 참조
referenceRange | S C | 0..* | BackboneElement | 진단검사 측정 결과 참고 구간 Constraints: obs-3
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
component | S Σ | 0..* | BackboneElement | 세부 진단검사 측정 정보
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | S Σ | 1..1 | CodeableConcept | 세부 진단검사 측정 항목명 바인딩(Binding): KR Core Laboratory Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
value[x] | S Σ | 0..1 |  | 세부 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
referenceRange | S | 0..* | See referenceRange (Observation) | 세부 진단검사 측정 결과 참고 구간
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Observation.status | required | ObservationStatus `http://hl7.org/fhir/ValueSet/observation-status|4.0.1` From the FHIR Standard
Observation.category | required | ObservationCategoryCodes `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.category:Laboratory | preferred | Pattern Value: laboratory `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.component.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Observation | 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 | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Observation | 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() |
obs-3 | error | Observation.referenceRange | low, high, text 중 반드시 하나 이상 사용 : low.exists() or high.exists() or text.exists() |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | KR Core Observation Profile for Laboratory Result Constraints: obs-6, obs-7
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 | 관찰을 위한 비즈니스 식별자 (현실에서 사용되는 식별자)
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | 본 관찰이 이행/충족한 계획, 제안 또는 주문
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | 본 관찰이 속한 이벤트 참조
status | ?!Σ | 1..1 | code | 진단검사 측정 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Laboratory |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
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/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: laboratory
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 진단검사 측정 항목 정보 바인딩(Binding): KR Core Laboratory Codes (extensible)
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 | 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 | 개념의 일반 텍스트 표현
subject | S Σ | 0..1 | Reference(KR Core Patient Profile) | 진단검사 대상 환자
focus | Σ | 0..* | Reference(Resource) | 기록이 관찰 대상에 관한 것이 아닌 경우, 실제 관찰의 대상
encounter | Σ | 0..1 | Reference(Encounter) | 본 관찰이 수행되는 헬스케어 이벤트
effective[x] | Σ | 0..1 |  | 진단검사 일시
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | S Σ | 1..1 | instant | 진단검사 보고일시
performer | Σ | 0..* | Reference(KR Core Practitioner Profile | KR Core PractitionerRole Profile | KR Core Organization Profile | CareTeam | KR Core Patient Profile | RelatedPerson) | 검사 책임자
value[x] | S Σ C | 0..1 |  | 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | 결과 부재 이유 바인딩(Binding): DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) 결과 부재 이유에 대한 코드들.
interpretation |  | 0..* | CodeableConcept | high, low, normal, 등. 바인딩(Binding): ObservationInterpretationCodes (extensible): 관찰의 해석을 식별하기 위한 코드들.
note |  | 0..* | Annotation | 관찰에 대한 의견
bodySite |  | 0..1 | CodeableConcept | 관찰한 신체 부위 바인딩(Binding): SNOMEDCTBodyStructures (example): 해부학적 위치를 설명하는 코드들. 좌/우를 포함할 수 있음.
method |  | 0..1 | CodeableConcept | 관찰 방법 바인딩(Binding): ObservationMethods (example): 단순 관찰을 위한 방법.
specimen |  | 0..1 | Reference(KR Core Specimen Profile) | 검체 정보 참조
device |  | 0..1 | Reference(Device | DeviceMetric) | (측정) 기기
referenceRange | S C | 0..* | BackboneElement | 진단검사 측정 결과 참고 구간 Constraints: obs-3
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
low | C | 0..1 | SimpleQuantity | 참조 범위의 하한값 - 필요한 경우에 제공
high | C | 0..1 | SimpleQuantity | 참조 범위의 상한값 - 필요한 경우에 제공
type |  | 0..1 | CodeableConcept | 참조 범위 한정자 바인딩(Binding): ObservationReferenceRangeMeaningCodes (preferred): 참조 범위 의미를 위한 코드들.
appliesTo |  | 0..* | CodeableConcept | 참조 범위 모집단 바인딩(Binding): ObservationReferenceRangeAppliesToCodes (example): 참조 범위가 적용되는 모집단을 위한 코드들.
age |  | 0..1 | Range | 적용 가능한 연령 범위 - 필요한 경우에 제공
text |  | 0..1 | string | 관찰의 텍스트 기반 참조 범위
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | 동일 관찰 그룹에 속하는 관련 리소스
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | 관찰이 이루어진 관련 측정
component | S Σ | 0..* | BackboneElement | 세부 진단검사 측정 정보
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 추가 정보를 제공하기 위해 정의한 확장(Extension) 목록
modifierExtension | ?!Σ | 0..* | Extension | 의미나 해석을 변경하기 위해 정의한 확장(Extension) 목록
code | S Σ | 1..1 | CodeableConcept | 세부 진단검사 측정 항목명 바인딩(Binding): KR Core Laboratory Codes (extensible)
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 | 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 | 개념의 일반 텍스트 표현
value[x] | S Σ | 0..1 |  | 세부 진단검사 측정 결과
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | 세부 결과 부재 이유 바인딩(Binding): DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) 결과 부재 이유에 대한 코드들.
interpretation |  | 0..* | CodeableConcept | high, low, normal, 등. 바인딩(Binding): ObservationInterpretationCodes (extensible): 관찰의 해석을 식별하기 위한 코드들.
referenceRange | S | 0..* | See referenceRange (Observation) | 세부 진단검사 측정 결과 참고 구간
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Observation.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
추가 바인딩 | 목적
AllLanguages | Max Binding
Observation.status | required | ObservationStatus `http://hl7.org/fhir/ValueSet/observation-status|4.0.1` From the FHIR Standard
Observation.category | required | ObservationCategoryCodes `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.category:Laboratory | preferred | Pattern Value: laboratory `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.dataAbsentReason | extensible | DataAbsentReason `http://hl7.org/fhir/ValueSet/data-absent-reason` From the FHIR Standard
Observation.interpretation | extensible | ObservationInterpretationCodes `http://hl7.org/fhir/ValueSet/observation-interpretation` From the FHIR Standard
Observation.bodySite | example | SNOMEDCTBodyStructures `http://hl7.org/fhir/ValueSet/body-site` From the FHIR Standard
Observation.method | example | ObservationMethods `http://hl7.org/fhir/ValueSet/observation-methods` From the FHIR Standard
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes `http://hl7.org/fhir/ValueSet/referencerange-meaning` From the FHIR Standard
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes `http://hl7.org/fhir/ValueSet/referencerange-appliesto` From the FHIR Standard
Observation.component.code | extensible | KR_Core_Laboratory_Codes `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-laboratory-codes` From this IG
Observation.component.dataAbsentReason | extensible | DataAbsentReason `http://hl7.org/fhir/ValueSet/data-absent-reason` From the FHIR Standard
Observation.component.interpretation | extensible | ObservationInterpretationCodes `http://hl7.org/fhir/ValueSet/observation-interpretation` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Observation | 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 | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Observation | 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() |
obs-3 | error | Observation.referenceRange | low, high, text 중 반드시 하나 이상 사용 : low.exists() or high.exists() or text.exists() |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |

This structure is derived from Observation

Summary

Mandatory: 3 elements(4 nested mandatory elements)
Must-Support: 13 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 Practitioner Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-practitioner)
- KR Core PractitionerRole Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-practitioner-role)
- KR Core Organization Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-organization)
- KR Core Specimen Profile (http://www.hl7korea.or.kr/fhir/krcore/StructureDefinition/krcore-specimen)

Slices

This structure defines the following Slices:

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

Other representations of profile: CSV, Excel, Schematron

### Notes:

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

### KR Core Search Parameters (defined)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
issued | datetime | 관찰 및 측정 보고 일시 | Observation.issued | SHOULD

### KR Core Search Parameters (derived)

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

Name | Type | Description | Expression | Expectations
--- | --- | --- | --- | ---
category | token | 관찰 및 측정 범주 | Observation.category | SHOULD
code | token | 관찰 및 측정의 유형 | Observation.code | MAY
code-value-concept | composite | 관찰 및 측정의 유형과 CodeableConcept 자료형으로 표현된 측정값 쌍 | On Observation: code: code value-concept: value.ofType(CodeableConcept) | MAY
code-value-date | composite | 관찰 및 측정의 유형과 date/time 자료형으로 표현된 측정값 쌍 | On Observation: code: code value-date: value.ofType(DateTime) | value.ofType(Period) | MAY
code-value-quantity | composite | 관찰 및 측정의 유형과 quantity 자료형으로 표현된 측정값 쌍 | On Observation: code: code value-quantity: value.ofType(Quantity) | MAY
code-value-string | composite | 관찰 및 측정의 유형과 string 자료형으로 표현된 측정값 쌍 | On Observation: code: code value-string: value.ofType(string) | MAY
component-code | token | 세부 관찰 및 측정의 유형 | Observation.component.code | MAY
component-code-value-concept | composite | 세부 관찰 및 측정의 유형과 CodeableConcept 자료형으로 표현된 세부 관찰 및 측정값 쌍 | On Observation.component: component-code: code component-value-concept: value.ofType(CodeableConcept) | MAY
component-code-value-quantity | composite | 세부 관찰 및 측정의 유형과 Quantity 자료형으로 표현된 세부 관찰 및 측정값 쌍 | On Observation.component: component-code: code component-value-quantity: value.ofType(Quantity) | MAY
component-data-absent-reason | token | 세부 관찰 및 측정 결과(Observation.component.value[x]) 부재 사유 | Observation.component.dataAbsentReason | MAY
component-value-concept | token | CodeableConcept 자료형으로 표현된 세부 관찰 및 측정값 | Observation.component.value.ofType(CodeableConcept) | MAY
component-value-quantity | quantity | Quantity 또는 SampledData 자료형으로 표현된 세부 관찰 및 측정값 | Observation.component.value.ofType(Quantity) | Observation.component.value.ofType(SampledData) | MAY
data-absent-reason | token | 관찰 및 측정 결과(Observation.value[x]) 부재 사유 | Observation.dataAbsentReason | MAY
date | datetime | 관찰 및 측정 일시 | Observation.effective | MAY
patient | reference | 관찰 및 측정 대상 환자 | Observation.subject.where(resolve() is Patient) | SHALL
performer | reference | 관찰 및 측정 책임자 | Observation.performer | SHOULD
specimen | reference | 본 관찰 및 측정에 사용된 검체 | Observation.specimen | MAY
status | token | 관찰 및 측정 진행 상태 | Observation.status | MAY
value-concept | token | CodeableConcept 자료형으로 표현된 측정값 | Observation.value.ofType(CodeableConcept) | MAY
value-date | datetime | dateTime 또는 Period 자료형으로 표현된 측정값 | Observation.value.ofType(dateTime) | Observation.value.ofType(Period) | MAY
value-quantity | quantity | Quantity 또는 SampledData 자료형으로 표현된 측정값 | Observation.value.ofType(Quantity) | Observation.value.ofType(SampledData) | MAY
value-string | string | string 자료형 또는 CodeableConcept 자료형 내 text로 표현된 측정값 | Observation.value.ofType(string) | Observation.value.ofType(CodeableConcept).text | MAY

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

- multipleAnd
- multipleOr
- comparator
- modifier
- chain

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