본문으로 바로가기

HAPI FHIR 서버 구축

category Health Information/FHIR 2019. 6. 21. 17:16

안녕하세요 씨앤텍 시스템즈 김준형입니다.

이번 포스트는 HAPI FHIR 서버 구축 과정에 대해서 정리해 보았습니다. 

 

HAPI는 (HL7 application programming interface)를 말합니다.

프로그램은  이클립스 STS(Spring Tool Suite) 3.9.7 버전을 기준으로 설치했습니다.

설치 매뉴얼은 https://github.com/hapifhir/hapi-fhir-jpaserver-starter 를 참고했습니다.

 

먼저 HAPI FHIR 서버 구축 과정은 3가지로 나눌 수 있습니다.


1. hapi-fhir-jpaserver-starter 프로젝트 등록

2. MySQL 설치 및 설정

3. Tomcat9 설치 및 설정

4.  서버 구동



1.  hapi-fhir-jpaserver-starter 프로젝트 등록입니다.

 1-1. github에서 내려받은 프로젝트파일을 압축을 풀어줍니다.
 1-2. 이클립스에서 File - Open Projects from File System... 에 들어가서 그림과 같이 프로젝트를 등록 합니다.

 1-3. 그럼 그림과 같은 프로젝트를 확인하실 수 있습니다.

 1-4. hapi.properties 파일에서 서버 설정을 합니다.

   - fhir_version을 설정합니다. fhir 홈페이지 예제가 DSTU3버전이라 버전을 DSTU3으로 지정하였습니다.

   - 리소스를 관리 할 server_address를 지정합니다. 8080포트는 사용중이라 8888로 변경했습니다. 

 

2.  MySQL 설치 및 설정

 


* HAPI의 기본 DB는 Derby를 사용하고 있지만, 더 좋은 관리를 위해 이 설명서에는 MySQL을 사용합니다.


 

 2-1. https://dev.mysql.com/downloads/installer/ MySQL 홈페이지로 가서 MySQL 8.0 버전을 설치 합니다.

 2-2. 데이터베이스와 사용자를 생성하고 설정합니다.

   - CREATE DATABASE dbhapi DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
   - USE dbhapi;
   - CREATE USER 'fhirman' IDENTIFIED BY '****';
   - GRANT ALL ON dbhapi TO fhirman;
   - FLUSH PRIVILEGES;
   - ALTER USER 'fhirman'@'localhost' IDENTIFIED WITH mysql_native_password BY '****';

 2-3. 이클립스로 돌아가 hapi.properties 파일에서 DB 설정을 합니다.

  - datasource.driver=com.mysql.jdbc.Driver

  - datasource.url=jdbc:mysql://localhost:3306/dbhapi?useSSL=false&serverTimezone=UTC
  - datasource.username=fhirman
  - datasource.password=****
  - hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

 

 

 2-4. C:\ProgramData\MySQL\MySQL Server 8.0 경로에 my.ini 파일을 수정합니다.

    - default-time-zone = '+00:00'

 

3. Tomcat9 설치 및 설정

 3-1 https://tomcat.apache.org/download-90.cgi 경로에 홈페이지로 가서 Tomcat9을 설치합니다.

 3-2 이클립스 하단 Server탭에서 우클릭 후 new탭을 눌러 Tomcat9을 선택합니다.

 

 3-3 Tomcat 9.0을 오른쪽 클릭해서 Add and Remove 탭에서 프로젝트를 선택합니다.

 3-4 Tomcat 9.0을 더블클릭하여 port 와 Timeouts을 올려서 설정합니다. ( 구동시 Time 제한 에러 발생 예방 )

4. 서버 구동

  4-1 프로젝트를 우클릭 하여 Run As탭에 Maven Clean을 눌러 진행합니다.

  4-2 프로젝트를 우클릭 하여 Maven탭에 Update Project을 눌러 진행합니다.

  4-3 프로젝트를 우클릭 하여 Run As탭에 Maven install을 눌러 진행합니다.


   % javac, java 경로 관련해서 오류가 나올 수 있습니다.  %
         1. 프로젝트 우클릭 - Properties - Java Build Path 에 들어가서 JRE System Library를 더블클릭 하여 jre -> jdk로 변경합니다.


 

 


% TESTS 관련 오류가 날 수 있습니다.  %

         1. 프로젝트 우클릭 Rus As탭으로 가서 Maven Build...를 눌러 Goals 부분에 clean install -DskipTests를 입력하여 실행합니다.


  4-4 BUILD SUCCESS가 나왔으면 프로젝트 target 폴더에 .war파일이 생성됩니다.

 4-5 .war 파일을 프로젝트의 src - main - webapp 폴더안에 넣습니다.

 

 4-6 프로젝트 우클릭 Run As - Run on Server 에 들어가 tomcat9을 선택하고 실행합니다.

 

감사합니다.


댓글을 달아 주세요

  1. 로코 2020.08.10 19:28

    이렇게 구축하면 송수신이 가능한 건가요? 프로토콜 송수신 가능한 서버를 구축해보려고 합니다만..

    • Favicon of https://cntechsystems.tistory.com 사용자 씨앤텍 2020.08.18 09:51 신고

      안녕하세요 씨앤텍시스템즈의 김준형입니다.
      답변이 늦어져서 죄송합니다.
      HAPI FHIR 구축 시 RESTful API로 통신 가능합니다.
      서버와 HAPI FHIR가 통신하는 과정을 정리하여 게시하도록 하겠습니다.

  2. 로코 2020.08.18 18:45

    혹시 메일이나 연락처 알려주실 수 있나요? oramast@다음 입니다.