KR Core Implementation Guide
1.0.2 - STU1
KR Core Implementation Guide - Local Development build (v1.0.2) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
본 페이지에서는 KR Core Implementation Guide에 사용된 공통적인 주요 요구 사항을 설명한다. 이 가이드에서 사용된 적합성 관련 표현인 반드시(SHALL), 가능한 한(SHOULD), 선택적(MAY)은 FHIR 적합성 규칙(FHIR Conformance Rules)에 정의되어 있다.
Profiles and Extensions 페이지는 본 KR Core Implementation Guide를 위해 정의한 KR Core Profiles를 나열하고있다. KR Core Profiles의 StructureDefinition은 Profile을 사용하기 위해 반드시(SHALL) 있어야 하는 최소한의 요소(element)와 확장(extension), 용어들(vocabularies) 그리고 용어 값 집합(value set)을 정의하고 있다.
각 Profile의 요소는 의무(Mandatory) 요소와 필수 지원(Must Support) 요소로 구성된다. 의무 요소는 최소 사용 횟수가 1인 요소를 의미한다. 기본 FHIR 명세에서는 필수 지원으로 표시된 요소의 의미를 명확하게 정의하도록 요구하고 있다(참고). Mandatory and Must Support 페이지에는 의무 또는 필수 지원에 해당하는 요소들이 요청자(Requestor)와 응답자(Responder)에 의해 어떻게 해석되어야 하는지에 대한 규칙을 정의한다.
특정 데이터 요소에 대한 정보가 누락되었으나 시스템은 데이터가 누락된 이유를 알 수 없는 상황이 발생할 수 있다. 최소 사용 횟수가 0인 요소에 대한 데이터가 없는 경우, 해당 요소가 필수 지원(Must Support)으로 표시(S)되었다고 하더라도, 시스템은 해당 요소를 리소스 인스턴스에서 반드시(SHALL) 생략해야 한다. 데이터 요소가 의무 요소(Mandatory Element)인 경우, 즉 최소 사용 횟수가 1 이상인 경우, 시스템은 데이터가 없는 경우에도 해당 요소가 반드시(SHALL) 존재해야 한다. KR Core는 이 상황에서 수행해야 할 작업에 대한 지침을 아래와 같이 제공한다.
unknown
코드 사용 - 값이 존재할 것으로 예상되나, 알 수 없는 이유로 누락.
KR Core Implementation Guide에는 위 상황에 해당하는 예시가 존재하지 않는다.
CodeableConcept
또는 Coding
데이터유형에 ValueSet
이 example, preferred 또는 extensible 강도로 묶여있는 경우:
Coding
데이터유형의 경우, 텍스트는 display
요소로 표현된다.ValueSet
에 적합한 “unknown” 개념의 코드가 존재한다면, 해당 코드를 사용한다.ValueSet
에 적합한 “unknown” 개념의 코드가 존재하지 않는다면, DataAbsentReason Code System의 unknown
코드를 사용한다.CodeableConcept
또는 code
데이터유형에 ValueSet
이 required 강도로 묶여있는 경우:
ValueSet
에 적합한 “unknown” 개념의 코드가 존재한다면, 해당 코드를 사용한다.ValueSet
에 적합한 “unknown” 개념의 코드가 존재하지 않는다면, 해당 ValueSet
에 있는 개념 중 하나를 반드시 사용해야 하며, 그렇지 않은 경우 리소스 인스턴스가 적합성을 준수하고 있지 않다는 의미이다.
사례: KR Core DiagnosticReport Profile for Diagnostic Imaging을 준수하는 DiagnosticReport 리소스 중 code 요소로 표현할 적합한 텍스트나 코드화된 데이터가 모두 없는 경우
<DiagnosticReport xmlns="http://hl7.org/fhir">
<!-- 생략 -->
<code>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/data-absent-reason"/>
<code value="unknown"/>
<display value="unknown"/>
</coding>
</code>
<!-- 생략 -->
</DiagnosticReport>
FHIR RESTful Search API는 검색을 지원하는 서버는 반드시(SHALL) http POST 기반의 검색을 지원할 것은 요구한다. 이에 더하여, KR Core Implementation Guide에서 지원되는 모든 검색 상호작용에 대해, 서버는 반드시(SHALL) GET 기반의 검색도 지원해야 한다.
token
유형의 검색 매개변수를 사용해 검색하는 경우(참고):
code
값을 반드시(SHALL) 제공해야 하며, 선택적(MAY)으로 system
과 code
값을 모두 제공할 수 있다.system
과 code
값을 모두 지원해야 한다.reference
유형의 검색 매개변수를 사용해 검색하는 경우(참고):
id
값을 반드시(SHALL) 제공해야 하며, 선택적(MAY)으로 Type
과 id
값을 모두 제공할 수 있다.Type
과 id
값을 모두 지원해야 한다.date
유형의 검색 매개변수를 사용해 검색하는 경우(참고):
date
데이터유형의 요소에 대해 반드시(SHALL) day 수준의 정확도를 가지는 값을 제공해야 하며, dateTime
데이터유형의 요소에 대해 second + time offset 수준의 정확도를 가지는 값을 제공해야 한다.date
데이터유형의 요소에 대해 반드시(SHALL) day 수준의 정확도를 가지는 값을 지원해야 하며, dateTime
데이터유형의 요소에 대해 second + time offset 수준의 정확도를 가지는 값을 지원해야 한다.
아래의 표는 날짜 정확도를 요약한다:
검색 매개변수 | 요소의 데이터유형 | 최소날짜 정확도 | 예 |
---|---|---|---|
date | date | day | GET [base]/Patient?name=김환자&birthdate=2001-01-01 |
date | dateTime, Period | second + time offset | GET [base]Observation?patient=krcore-patient-example-01&category=vital-signs&date=ge2021-01-01T00:00:00+09:00 |