記事
· 2024年5月21日 4m read

FHIR アダプターを使ってレガシーシステムに FHIR サービスを提供 - アーキテクチャ編

さて、FHIR アダプターの使用例に戻り、この記事では、IRIS インスタンスでの構成方法とインストールの結果を確認したいと思います。

プロジェクトの構成手順は公式ドキュメントで指示されているものと同じなので、直接こちらで確認できます。 では作業に移りましょう!

インストール

この記事に関連するプロジェクトでわかるように、IRIS インスタンスを Docker でデプロイしています。そのため最初の構成の主な部分は Dockerfile で行います。 Docker 構成については詳しく確認しないため、気にする必要はありません。

FHIR アダプターをインストールする手順は、たったこれだけです。

  1. 相互運用性機能を備えた IRIS インスタンスに ADAPTER というネームスペースを作成します。
  2. IRIS ターミナルで、そのネームスペースにアクセスして以下のコマンドを実行します。
set status = ##class(HS.FHIRServer.Installer).InteropAdapterConfig("/Adapter/r4")

ここでは、REST リクエストを受信する IRIS エンドポイントの URL を /Adapter/r4 と定義しました。

インストール結果

FHIR アダプターのインストールが完了したら、IRIS インスタンスで何が起きたかを確認できます。 これを行うには、まず Web アプリケーションメニュー(システム管理 -> セキュリティ -> アプリケーション -> Web アプリケーション)を確認します。

ご覧のように、新しい Web アプリケーションがリストに追加されており、ADAPTER ネームスペースに対応しているのがわかります。 では、これにアクセスしてその構成をさらに詳しく見てみましょう。

作成された Web アプリケーションでは REST 呼び出しの受信が有効になっており、これらの呼び出しを管理するクラスは HS.FHIRServer.HC.FHIRInteropAdapter となっています。 また、パスワード認証と認証なしの呼び出しの両方が有効になっているのもわかります。 この例では何も変更しいませんが、JWT 認証がすべての本番環境で有効になっていると興味深いでしょう。

本番のネームスペースで何か起きたか見てみましょう。

インストールによって、ビジネスサービス InteropService とビジネスオペレーション InteropOperation という 2 つの新しいコンポーネントが作成されてデプロイされました。 この例では、受信した FHIR メッセージを転送する InteropService のみを使用します。これはクラス HS.FHIRServer.Interop.Request であり、受信した情報の抽出で使用するものです。 InteropService が JSON レスポンスを返すために受信する必要のあるレスポンスのタイプは HS.FHIRServer.Interop.Response です。

「HIS」の構成

前回の記事で、理論上の HIS で相互運用性をシミュレーションすると述べました。このために、Docker には一連のテストテーブルを含む PostgreSQL インスタンスをデプロイしています。 この外部データベースにクエリを発行するために Java ゲートウェイを含めて構成したため、必要な JDBC 接続を確立できます。 また、PostgreSQL との接続に使用する JAVA ライブラリも含めました。

では、この接続を管理する本番コンポーネントを見てみましょう。

Docker にデプロイした Java 仮想マシンを指すように構成された Java ゲートウェイがあります。

ビジネスオペレーション FromAdapterToHIS によって、PostgreSQL へのクエリが処理されるため、その構成を確認しましょう。

ご覧のように、Adapter クラスとして EnsLib.SQL.OutboundAdapter を使用しているため、「HIS」のデータベースに直接接続することができます。 DSN 値は、Docker にデプロイされた PostgreSQL インスタンスへの接続文字列になります。

まとめると...

この記事で行ったことをもう一度確認しましょう。

  1. ネームスペースに FHIR アダプターをインストールし、FHIR メッセージの送信先となるエンドポイントがあることを確認しました。
  2. 本番ネームスペースにデフォルトで作成されたコンポーネント(InteropService と InteropOperation)を確認しました。
  3. 「HIS」データベースとやり取りするのに必要なコンポーネントを作成しました。

この手順により、JSON 形式で FHIR メッセージを受信し始める準備がすべて整いました。 次の記事では、受信したメッセージを処理するビジネスプロセスを作成し、PostgreSQL データベースの照会と書き込みに必要な様々な機能を実装します。

お読みいただきありがとうございました!

ディスカッション (0)0
続けるにはログインするか新規登録を行ってください