--- title: 'FHIR 개요' tags: FHIR --- # FHIR 개요 ## 1. [HL7](https://www.hl7.org/fhir/) - HL7의 이름은 Open System Connectivity 7계층 모델을 기반으로 한 Health Level 7을 나타냅니다. - HL7은 보건의료 정보의 전자적 교환을 위한 표준을 개발하기 위해 1987년에 설립된 비영리 단체입니다. ![](https://i.imgur.com/W4jFE2U.png) <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 표준과 함께 사용할 수 있습니다. ![](https://i.imgur.com/URc33M4.png) <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 리소스의 역할 ![](https://i.imgur.com/JjpBasy.png) - [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)