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 Observation Profile for Functional Test

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

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

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

Usages:

- Refer to this Profile: KR Core DiagnosticReport Profile for Functional Tests
- Examples for this Profile: Observation/krcore-observation-function-test-example-01
- CapabilityStatements using this Profile: KR Core Client CapabilityStatement and KR Core Server CapabilityStatement

### KR CDI 관련항목

KR Core Observation Profile for Functional Test는 KR CDI의 기능검사 클래스 중 일부에 대응됨.

KR CDI 진단검사 클래스 항목 | KR Core Observation Profile for Functional Test 관련 항목
--- | ---
기능검사명 | Observation.code KR Core DiagnosticReport Profile for Functional Tests 참고
기능검사 결과 | Observation.value
기능검사 일자 | KR Core DiagnosticReport Profile for Functional Tests 참고
기능검사 상태 | KR Core DiagnosticReport Profile for Functional Tests 참고

### 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 Functional Test
status | S | 1..1 | code | KRCDI) 기능검사 상태: registered | preliminary | final | amended +
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Exam |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | 코드 고정값: exam
code | S | 1..1 | CodeableConcept | KRCDI) 기능검사명 기능검사 측정 항목 정보 바인딩(Binding): KR Core EDI Procedure Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
subject |  | 0..1 | Reference(KR Core Patient Profile) | 기능검사 대상 환자
effective[x] | S | 1..1 |  | KRCDI) 기능검사 일자 기능검사 측정 일시
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | 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 | 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_EDI_Procedure_Codes(a valid code from HIRA EDI Procedure) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-procedure-codes` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | KR Core Observation Profile for Functional Test Constraints: obs-6, obs-7
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 기능검사 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Exam |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: exam
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 기능검사 측정 항목 정보 바인딩(Binding): KR Core EDI Procedure Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 기능검사 대상 환자
effective[x] | S Σ | 1..1 |  | 기능검사 측정 일시
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | 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 |
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:Exam | preferred | Pattern Value: exam `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_EDI_Procedure_Codes(a valid code from HIRA EDI Procedure) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-procedure-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-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 Functional Test 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 | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | 포함된 리소스
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
identifier | Σ | 0..* | Identifier | 관찰을 위한 비즈니스 식별자 (현실에서 사용되는 식별자)
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | 본 관찰이 이행/충족한 계획, 제안 또는 주문
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | 본 관찰이 속한 이벤트 참조
status | ?!S Σ | 1..1 | code | 기능검사 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Exam |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: exam
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 기능검사 측정 항목 정보 바인딩(Binding): KR Core EDI Procedure Codes (extensible)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
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을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 기능검사 대상 환자
focus | Σ | 0..* | Reference(Resource) | 기록이 관찰 대상에 관한 것이 아닌 경우, 실제 관찰의 대상
encounter | Σ | 0..1 | Reference(Encounter) | 본 관찰이 수행되는 헬스케어 이벤트
effective[x] | S Σ | 1..1 |  | 기능검사 측정 일시
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | Σ | 0..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(Specimen) | 관찰에 사용한 검체.
device |  | 0..1 | Reference(Device | DeviceMetric) | (측정) 기기
referenceRange | C | 0..* | BackboneElement | 해석을 위한 지침을 제공 Constraints: obs-3
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | 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 | Σ | 0..* | BackboneElement | 세부 결과
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
code | Σ | 1..1 | CodeableConcept | 세부 관찰 및 측정 유형 (코드/유형) 바인딩(Binding): LOINCCodes (example): 단순 관찰 및 측정의 이름을 식별하는 코드.
value[x] | Σ | 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 |  | 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:Exam | preferred | Pattern Value: exam `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_EDI_Procedure_Codes(a valid code from HIRA EDI Procedure) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-procedure-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 | example | LOINCCodes(a valid code from LOINC) `http://hl7.org/fhir/ValueSet/observation-codes` From the FHIR Standard
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(2 nested mandatory elements)
Must-Support: 6 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)

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 Functional Test
status | S | 1..1 | code | 기능검사 상태: registered | preliminary | final | amended +
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Exam |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (complex)
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | 코드 고정값: exam
code | S | 1..1 | CodeableConcept | 기능검사 측정 항목 정보 바인딩(Binding): KR Core EDI Procedure Codes (extensible)
coding |  |  |  |
system | S | 1..1 | uri | 코드체계 식별자
code | S | 1..1 | code | 코드
subject |  | 0..1 | Reference(KR Core Patient Profile) | 기능검사 대상 환자
effective[x] | S | 1..1 |  | 기능검사 측정 일시
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | 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 | 기능검사 측정 결과
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_EDI_Procedure_Codes(a valid code from HIRA EDI Procedure) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-procedure-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 Functional Test Constraints: obs-6, obs-7
implicitRules | ?!Σ | 0..1 | uri | 이 콘텐츠 생성 시 따른 규칙들의 집합
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
status | ?!S Σ | 1..1 | code | 기능검사 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Exam |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: exam
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 기능검사 측정 항목 정보 바인딩(Binding): KR Core EDI Procedure Codes (extensible)
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
system | S Σ | 1..1 | uri | 코드체계 식별자
code | S Σ | 1..1 | code | 코드
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 기능검사 대상 환자
effective[x] | S Σ | 1..1 |  | 기능검사 측정 일시
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | 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 |
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:Exam | preferred | Pattern Value: exam `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_EDI_Procedure_Codes(a valid code from HIRA EDI Procedure) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-procedure-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-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 Functional Test 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 | 사람이 이해할 수 있도록 작성된 리소스 인스턴스의 요약 텍스트 This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | 포함된 리소스
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?! | 0..* | Extension | 반드시 지원해야 하는 확장들
identifier | Σ | 0..* | Identifier | 관찰을 위한 비즈니스 식별자 (현실에서 사용되는 식별자)
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | 본 관찰이 이행/충족한 계획, 제안 또는 주문
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | 본 관찰이 속한 이벤트 참조
status | ?!S Σ | 1..1 | code | 기능검사 상태: registered | preliminary | final | amended + 바인딩(Binding): ObservationStatus (required): 관찰의 상태를 제공하는 코드집합
Slices for category |  | 1..* | CodeableConcept | 관찰 및 측정 범주 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:$this 바인딩(Binding): ObservationCategoryCodes (required): 높은 수준의 관찰 범주에 대한 코드집합
category:Exam |  | 1..1 | CodeableConcept | 관찰 및 측정 유형의 분류 바인딩(Binding): ObservationCategoryCodes (preferred): 높은 수준의 관찰 범주에 대한 코드집합 분할항목 인정 조건: 최소한 다음 값들을 만족해야 함
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
coding |  | 1..* | Coding | 코드체계에 의해 정의된 코드 고정값: (complex)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
system |  | 1..1 | uri | 코드체계 식별자 고정값: http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..1 | string | 시스템의 버전 - 필요한 경우에 제공
code |  | 1..1 | code | 코드 고정값: exam
display |  | 0..1 | string | 시스템에서 정의한 표현
userSelected |  | 0..1 | boolean | 이 coding을 사용자가 직접 선택한 경우
text |  | 0..1 | string | 개념의 일반 텍스트 표현
code | S Σ | 1..1 | CodeableConcept | 기능검사 측정 항목 정보 바인딩(Binding): KR Core EDI Procedure Codes (extensible)
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보 분할항목(Slice): 순서 없음, 다음 요소의 값이 다른 임의의 분할항목을 허용:url
coding | Σ | 0..* | Coding | 코드체계에 의해 정의된 코드
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을 사용자가 직접 선택한 경우
text | Σ | 0..1 | string | 개념의 일반 텍스트 표현
subject | Σ | 0..1 | Reference(KR Core Patient Profile) | 기능검사 대상 환자
focus | Σ | 0..* | Reference(Resource) | 기록이 관찰 대상에 관한 것이 아닌 경우, 실제 관찰의 대상
encounter | Σ | 0..1 | Reference(Encounter) | 본 관찰이 수행되는 헬스케어 이벤트
effective[x] | S Σ | 1..1 |  | 기능검사 측정 일시
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | Σ | 0..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(Specimen) | 관찰에 사용한 검체.
device |  | 0..1 | Reference(Device | DeviceMetric) | (측정) 기기
referenceRange | C | 0..* | BackboneElement | 해석을 위한 지침을 제공 Constraints: obs-3
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | 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 | Σ | 0..* | BackboneElement | 세부 결과
id |  | 0..1 | string | 요소 간 참조를 위한 고유 ID
extension |  | 0..* | Extension | 구현 주체에 의해 정의된 추가 정보
modifierExtension | ?!Σ | 0..* | Extension | 인식할 수 없는 상황에서도 반드시 지원해야 하는 확장들
code | Σ | 1..1 | CodeableConcept | 세부 관찰 및 측정 유형 (코드/유형) 바인딩(Binding): LOINCCodes (example): 단순 관찰 및 측정의 이름을 식별하는 코드.
value[x] | Σ | 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 |  | 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:Exam | preferred | Pattern Value: exam `http://hl7.org/fhir/ValueSet/observation-category` From the FHIR Standard
Observation.code | extensible | KR_Core_EDI_Procedure_Codes(a valid code from HIRA EDI Procedure) `http://www.hl7korea.or.kr/fhir/krcore/ValueSet/krcore-edi-procedure-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 | example | LOINCCodes(a valid code from LOINC) `http://hl7.org/fhir/ValueSet/observation-codes` From the FHIR Standard
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(2 nested mandatory elements)
Must-Support: 6 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)

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 Functional Test를 반드시(SHALL) 지원해야 한다.
KR Core IG를 따르는 Client는 가능한 한(SHOULD) `Observation Resource`를 지원하고, `Observation Resource`를 지원하는 경우, KR Core Observation Profile for Functional Test를 반드시(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를 구현한 서버의 선택 사항에 따라 추가로 제공 가능.