FRUCtoSアダプタ開発ガイド
最終更新日 2022年11月30日
本ガイドの目的
本ガイドは、HL7 FHIR標準(以下、FHIR)に準拠したFRUCtoSのRESTful APIを通じて、電子カルテシステムなどのデータを読み出すことのできる「アダプタ」を開発するための手順を記載しています。
現在は、ア ダプタ開発の最初のステップとして、主に電子カルテシステムの患者データをFHIRのPatientリソースとして取得するまでの手順を記載しています。
本ガイドは、以下に関する基本的な知識を有するシステム開発者を対象としています。
- FHIR
- 電子カルテシステムのDBスキーマ
- Java 11
- Apache Maven
- Spring Framework(以下、Spring)
- Lombok
- Docker
- Docker Compose
例としてDockerを実行環境とする場合を記載しています。 他のDocker互換のコンテナ実行環境をお使いの方は、適宜読み替えてください。 設定ファイルも適宜書き換えてください。
アダプタ開発に必要なソフトウェア
アダプタの開発作業を行うPCに、以下のソフトウェアがインストールされている必要があります。
- IDE(統合開発環境)※Pleiades All in One(Eclipse)またはIntelliJ IDEAを推奨
- Apache Maven 3.6.3
- Lombok 1.18.16 以降
アダプタの概要
FRUCtoSは、以下の3つの層から構成されており、各層の境界インターフェイスは、Springコンポーネントとして実装されています。
- インターフェイス層 - RESTful APIの提供など
- サービス層 - データバリデーションなど
- リポジトリ層 - データ検索処理やO/Rマッピングなど
アダプタは、このリポジトリ層のSpringコンポーネントを置き換える形で動作します。
具体的には、アダプタプロジェクトをビルドして作成したjarファイルを、FRUCtoSのWebアプリケーションに組み込むことで、リポジトリ層のSpringコンポーネントを置き換えます。
FRUCtoSのインターフェイス層およびサービス層の機能については、アダプタ側で特に意識することなくそのまま利用できます。
またアダプタでは、電子カルテシステムDBの値を保持するクラスと、FHIRリソースのマッピングをサポートするための各種アノテーションや、アダプタ用のコード生成ツールなどを利用できます。
アダプタ開発資源の入手
まずはFRUCtoS 公式サイトにて、製品版FRUCtoSのご利用をお申し込みください。アダプタサンプルプロジェクトを含む製品版FRUCtoSのご利用に必要な諸手続きについて、担当者よりご案内させていただきます。
アダプタサンプルプロジェクトを含む、製品版FRUCtoSのご利用の際には ソフトウェア利用許諾契約 の締結が必要となります。
アダプタプロジェクトの作成
- ダウンロードしたアダプタサンプルプロジェクトの圧縮ファイル
repository-adapter-sample.zip
を解凍します。 - 解凍したファイル内のフォルダ(
repository-adapter-sample
)を任意の名称に変更します。
例:repository-adapter-xxx(xxxは電子カルテ製品名やベンダー名など)
プロジェクトのインポート
Pleiades All in One(Eclipse)やIntelliJ IDEAなどのIDE(統合開発環境)でLombokを利用可能な状態にした後、アダプタプロジェクトをMavenプロジェクトとしてインポートします。