---
title: 'FHIR 개요'
tags: FHIR
---
# FHIR 개요
## 1. [HL7](https://www.hl7.org/fhir/)
- HL7의 이름은 Open System Connectivity 7계층 모델을 기반으로 한 Health Level 7을 나타냅니다.
- HL7은 보건의료 정보의 전자적 교환을 위한 표준을 개발하기 위해 1987년에 설립된 비영리 단체입니다.

<div style='text-align: center'>Figure 1.HL7 웹사이트</div>
## 2. FHIR의 개요
### 2.1 FHIR란?
- FHIR는 Fast Healthcare Interoperability Resource ‘퐈이어, [faɪə(r)]’로 발음.
- FHIR은 HL7에서 개발한 최신 표준으로, RESTful API 및 JSON 데이터 형식과 같은 최신 웹 기술을 사용합니다.
- FHIR 리소스는 모듈식입니다. 즉, 환자의 건강 정보의 다른 부분에 독립적으로 접근할 수 있으며 OAuth 및 OpenID과 같은 다른 보건 IT 표준과 함께 사용할 수 있습니다.

<div style='text-align: center'>Figure 1. Structure</div>
- FHIR 기술 표준의 핵심은 Reference Implementation이며 FHIR 컴포넌트, 라이브러, 서버 등은 이 기반에서 개발된다.
- Reference Implementation은 다음의 항묵을 표함하고 있다.
- [표준 Profile](https://www.hl7.org/fhir/profilelist.html)
- [FHIR 개발 도구 및 프로그래밍 언어](http://hl7.org/fhir/downloads.html)
- [FHIR Restful API 스펙](http://hl7.org/fhir/operationslist.html)
### 2.2 Resource (리소스)
- FHIR 솔루션은 "리소스"라는 모듈식 구성 요소 집합으로 구축됩니다.
- 리소스 인스턴스(Resource Instance)는 XML, JSON 또는 RDF로 표시되며 리소스 타입 (Resource Type)으로 추상화된 데이터 모델로 정의되며 157여 개의 표준 리소스 타입이 제공되고 있다.
- FHIR 리소스의 역할

- [Reource Type 리스트](https://www.hl7.org/fhir/resourcelist.html)
- General jSON type
```json
{
"resourceType" : "[Resource Type]",
// from Source: property0
"property1" : "<[primitive]>", // short description
"property2" : { [Datatype] }, // short description
"property3" : { // Short Description
"propertyA" : { CodeableConcept }, // Short Description (Example)
},
"property4" : [{ // Short Description
"propertyB" : { Reference(ResourceType) } // R! Short Description
}]
}
```
- **Patient** JSON type
```json
{
"resourceType" : "Patient",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // An identifier for this patient
"active" : <boolean>, // Whether this patient's record is in active use
"name" : [{ HumanName }], // A name associated with the patient
"telecom" : [{ ContactPoint }], // A contact detail for the individual
"gender" : "<code>", // male | female | other | unknown
"birthDate" : "<date>", // The date of birth for the individual
// deceased[x]: Indicates if the individual is deceased or not. One of these 2:
"deceasedBoolean" : <boolean>,
"deceasedDateTime" : "<dateTime>",
"address" : [{ Address }], // An address for the individual
"maritalStatus" : { CodeableConcept }, // Marital (civil) status of a patient
// multipleBirth[x]: Whether patient is part of a multiple birth. One of these 2:
"multipleBirthBoolean" : <boolean>,
"multipleBirthInteger" : <integer>,
"photo" : [{ Attachment }], // Image of the patient
"contact" : [{ // A contact party (e.g. guardian, partner, friend) for the patient
"relationship" : [{ CodeableConcept }], // The kind of relationship
"name" : { HumanName }, // I A name associated with the contact person
"telecom" : [{ ContactPoint }], // I A contact detail for the person
"address" : { Address }, // I Address for the contact person
"gender" : "<code>", // male | female | other | unknown
"organization" : { Reference(Organization) }, // I Organization that is associated with the contact
"period" : { Period } // The period during which this contact person or organization is valid to be contacted relating to this patient
}],
"communication" : [{ // A language which may be used to communicate with the patient about his or her health
"language" : { CodeableConcept }, // R! The language which can be used to communicate with the patient about his or her health
"preferred" : <boolean> // Language preference indicator
}],
"generalPractitioner" : [{ Reference(Organization|Practitioner|
PractitionerRole) }], // Patient's nominated primary care provider
"managingOrganization" : { Reference(Organization) }, // Organization that is the custodian of the patient record
"link" : [{ // Link to a Patient or RelatedPerson resource that concerns the same actual individual
"other" : { Reference(Patient|RelatedPerson) }, // R! The other patient or related person resource that the link refers to
"type" : "<code>" // R! replaced-by | replaces | refer | seealso
}]
}
```
### 2.3 왜 FHIR 필요할까?
- 도입 효과 및 주요 특징 FHIR는 기존 프레임워크의 문제점을 보완하고 아래와 같은 다양한 장점을 제공합니다.
1. 쉽고 빠른 의료기스템 구현 가능
2. 웹 기반 기술로 사용 환경이 편리하다( XML, JSON, HTTP, Atom, OAuth, etc.)
3. 메시징, 문서 교환 등 기존 페러다임에 유연한 아키텍처를 지원합니다.
### 2.4 대체 기술
- [openEHR](https://www.openehr.org/)
## 참고 문서
- [박선희](https://cntechsystems.tistory.com/98)
- [KHIS](https://www.k-his.or.kr/menu.es?mid=a10203020000)