[3-J-3-02] JP Core実装ガイドを適応したHAPI-FHIR JPA Serverの構築
FHIR, JPA Server, JP Core IG, HAPI, Apache Camel
【背景・目的】FHIRの学習はクライアントでリソースを作成するところから始まり、サーバの構築に進んでいく。また、実運用時には実装ガイド(JP Core IG )で制約したリソースの作成とバリデーションの理解も必要となってくる。FHIRサーバには、既存の医療情報システムから情報を参照するファサード型のPlainサーバと、FHIRリポジトリとしてデータベースへ永続化するFHIR JPAサーバがある。JavaによるHL7のオープンソース参照実装プロジェクトであるHAPIでは両者をオープンソースとして公開している。FHIRリポジトリには商用のサービスもあるが、JP Core IGが初期設定されていないものあり、有料で学習環境として利用しがたい。そこで、ノートパソコンなどでも学べるように、JP Core IGが適用されたバリデーションも可能なJPAサーバをDockerに構築することを試みた。
【方法】HAPI-FHIR Starter Projectのコードを改変してバリデーションを設定、アプリケーション・プロパティの設定でJP-Core IGをインストールするようにしたDocker-Composeファイルを構成し、Docker上にサーバを稼働させた。次に、開発環境でJP Core Patientプロファイルに準じたサンプルリソースを用いてバリデーションの動作を確認後、電子カルテ(MIRAIS ©CSI)の参照系からJDBCで関連する情報を収集しPatientリソースに変換してサーバに登録するプログラムを作成して検証した。
【結果・考察・結語】Docker上にバリデーションも可能なHAPI JPAサーバを構築し、Patientリソースだけであるがバリデーションの動作も確認できた。Patientリソースの宗教、生誕地、人種、IDの種別、住所の用途などの要素は既存のシステムになかったが、一般的に必要とされる要素は網羅できた。Dockerによりサーバ環境と同様にノートパソコンでも稼働するため、FHIRを学習しやすくなり、その普及に寄与すると思われた。今後は他のリソースについても検証を進めていく予定である。
【倫理的配慮】院内倫理委員会の承認後、個人情報を含む作業を病院情報システム内で行い、検証後にコンテナごと削除した。
【方法】HAPI-FHIR Starter Projectのコードを改変してバリデーションを設定、アプリケーション・プロパティの設定でJP-Core IGをインストールするようにしたDocker-Composeファイルを構成し、Docker上にサーバを稼働させた。次に、開発環境でJP Core Patientプロファイルに準じたサンプルリソースを用いてバリデーションの動作を確認後、電子カルテ(MIRAIS ©CSI)の参照系からJDBCで関連する情報を収集しPatientリソースに変換してサーバに登録するプログラムを作成して検証した。
【結果・考察・結語】Docker上にバリデーションも可能なHAPI JPAサーバを構築し、Patientリソースだけであるがバリデーションの動作も確認できた。Patientリソースの宗教、生誕地、人種、IDの種別、住所の用途などの要素は既存のシステムになかったが、一般的に必要とされる要素は網羅できた。Dockerによりサーバ環境と同様にノートパソコンでも稼働するため、FHIRを学習しやすくなり、その普及に寄与すると思われた。今後は他のリソースについても検証を進めていく予定である。
【倫理的配慮】院内倫理委員会の承認後、個人情報を含む作業を病院情報システム内で行い、検証後にコンテナごと削除した。
