안녕하세요 씨앤텍 시스템즈 최홍준 연구원입니다.
이번 포스트는 FHIR Restful API Server와 Client에 대한
차이점에 대해서 설명하겠습니다.
[1. FHIR Server]
FHIR Server의 기능은 대표적으로 2가지가 있습니다.
1. Restful API
2. Repository
첫 번째 Restful API 기능은 FHIR 통신을 Restful을 이용하여 통신합니다.
* Restful API란 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어입니다.
HTTP 통신에서는 GET / POST / PUT / DELETE 방식으로 통신을 하는데 해당 통신 방식을
REST에서 다음과 같은 형태로 동작합니다.
GET = Select
POST = Create
PUT = Update
DELETE = Delete
예시로 FHIR REST API에서 GET 방식은 다음과 같은 형태입니다.
GET [base]/[type]/[id] {?_format=[mime-type]}
위 사진과 같이 통신 형태 Server URI / Resource / Resource ID로 나눠져 있습니다.
이러한 방식을 해석을 한다면 Server URI에 해당 Resource에 특정 Resource ID 데이터를 Select 한다라는 의미입니다.
만약 Resource에 모든 데이터를 Select 할 경우 id부분을 빼고 입력하시면 됩니다.
더 자세한 기능은 아래 홈페이지에 적혀있습니다.
https://www.hl7.org/fhir/R4/http.html
두 번째는 Repository 기능을 제공합니다.
위 사진을 보면 EHR 데이터를 FHIR Server로 보내면 해당 Resource 별로 각각 데이터를 저장합니다.
그리고 FHIR API와 연결되어 있는 Mobile / Portal / Internal Apps / Partner Apps에 각각 연결되어 있습니다.
해당 서비스에 FHIR Server로 데이터 요청 시 FHIR API를 통해 해당 데이터를 불러오게 되는 구조입니다.
[1. FHIR Client]
FHIR Client는 한마디로 FHIR Server를 사용할 수 있는 사람입니다.
위 사진은 C# simplifier 모듈을 이용하여 FHIR 데이터 생성하는 코드입니다.
이러한 코드를 만들어 Server에 보내거나
저장되어 있는 데이터를 Restful API를 이용하여 데이터를 가져오는 방식을 Client라고 부릅니다.
FHIR 프로젝트를 시작한다면 FHIR Server / Client를 준비를 해야 합니다.
FHIR Server에서는 EHR에 만들어진 데이터를 Resource별로 Repository에 저장하고
Client는 그 데이터를 저장 및 요청을 하는 기능을 만들어야 합니다.
만약 EHR Data를 별도로 저장할 필요가 없다면 Client 부분만 만들어서 사용하시면 되는데 해당 기능은 다음과 같이
구현하면 됩니다.
매개변수로 FHIR 데이터를 받고 해당 Data를 FhirParser로 각 리소스 별로 뽑아오는 형태입니다.
감사합니다.
'Health Information > FHIR' 카테고리의 다른 글
Vonk FHIR Server 구축 (0) | 2020.09.17 |
---|---|
FHIR란? (1) | 2020.08.25 |
FHIR as a Meta Model to Integrate CDM: Development of a Tool and Quantitative Validation Study (0) | 2020.05.15 |
SMART on FHIR - CDS Hooks - HAPI FHIR 연동 (0) | 2019.10.29 |
CDS Hooks Sandbox (0) | 2019.08.07 |