FHIR 相互運用アダプタ
すべてのソリューションに、要求を内部リポジトリにルーティングする FHIR サーバが必要なわけではありません。例えば、実装で、インターシステムズ製品にペイロードを格納することなく、HL7® FHIR® 要求を受信して外部 FHIR サーバに転送する必要がある場合があります。FHIR サーバの内部リポジトリを活用せずに、FHIR 要求を処理する必要がある場合は、FHIR 相互運用アダプタを使用して要求を受信して相互運用プロダクションに取り込みます。リポジトリと共に FHIR サーバをインストールするライセンスがない Health Connect 実装の場合、受信 FHIR 要求は、FHIR 相互運用アダプタのインストールにより処理されます。
FHIR 相互運用アダプタをインストールすると、特殊なビジネス・ホストを使用して、プロダクションで FHIR 要求を処理する新しい相互運用 REST エンドポイントが作成されます。この相互運用 REST エンドポイントは、FHIR サーバ・エンドポイントと一緒に管理ポータルに表示されることはありません。
アダプタのインストール
FHIR 相互運用アダプタをインストールするには、次の手順に従います。
-
相互運用プロダクションを備えたネームスペースを作成します。
-
InterSystems ターミナルを開いて、作成したネームスペースに変更します。例えば、以下のように入力します。
set $namespace = "myFHIRNamespace"
-
以下のコマンドを実行し、相互運用 REST エンドポイントの URL を指定します。
set status = ##class(HS.FHIRServer.Installer).InteropAdapterConfig("/MyEndpoint/r5")
アダプタのエンドポイントの URL は スラッシュ (/) で始まる必要があります。
-
コマンドが正常に実行されたことを確認するには、以下を入力します。
write status
応答は 1 になります。
-
これがネームスペース用に作成された最初の FHIR 相互運用アダプタである場合は、[相互運用性]→[リスト]→[プロダクション] に移動し、プロダクションを開き、以下のいずれかを実行します。
-
[更新] ボタンが表示された場合は、これを選択します。
-
[更新] ボタンが表示されず、プロダクションをテストする準備ができている場合は、[開始] を選択して、プロダクションを開始します。
-
アダプタ・コンポーネント
FHIR 相互運用アダプタをインストールすると、以下が作成されます。
-
指定の URL を持つ Web アプリケーション。
-
InteropService という、相互運用プロダクションの新しいビジネス・サービス。複数のアダプタをインストールする場合、それらはすべて同じ InteropService ビジネス・サービスを使用します。アダプタで異なるビジネス・サービスを使用する場合は、"カスタム・ビジネス・サービスの使用法" を参照してください。
-
InteropOperation という、相互運用プロダクションの新しいビジネス・オペレーション。これは、ユース・ケースに応じて拡張または置き換えることができるプレースホルダのビジネス・オペレーションです。InteropOperation を変更してカスタム機能を実装するまで、FHIR 要求が新しい相互運用 REST エンドポイントによって受信されると、501 Unimplemented エラーが返されます。
Note:プロダクションを使用している場合は、HS.FHIRServer.Interop.ResponseOpens in a new tab の ContentTypeOpens in a new tab プロパティを明示的に設定して HTTP 応答の Content-Type ヘッダを作成する必要があります。HS.FHIRServer.API.Data.ResponseOpens in a new tab で ResponseFormatCode を設定するだけでは不十分です。
FHIR 相互運用アダプタと併用できるその他のプロダクション・コンポーネントの詳細は、"相互運用プロダクション" を参照してください。
カスタム・ビジネス・サービスの使用法
既定では、複数の FHIR 相互運用アダプタをインストールする場合、それらはすべて同じビジネス・サービス InteropService を共有します。アダプタ・エンドポイントで受信される要求がそれぞれ異なるビジネス・サービスにルーティングされるようにする場合は、REST ハンドラのサブクラスを作成し、これをアダプタの CSP アプリケーションのディスパッチ・クラスとして指定します。カスタム・ビジネス・サービスを使用するこのプロセスは、以下の手順で構成されます。
-
IDE を使用して、HS.FHIRServer.HC.FHIRInteropAdapterOpens in a new tab のサブクラスを作成します。
-
サブクラスの ServiceConfigName パラメータを使用して、FHIR 要求を受信するカスタム・ビジネス・サービスの名前を指定します。
-
管理ポータルで、[システム管理]→[セキュリティ]→[アプリケーション]→[ウェブ・アプリケーション] に移動します。
-
FHIR 相互運用アダプタの URL を選択します。
-
[一般] タブの [有効] フィールドを使用して、[ディスパッチ] テキスト・ボックスにサブクラスの名前を指定します。
-
[保存] を選択します。
セキュリティ
相互運用 REST エンドポイントのセキュリティは、FHIR 相互運用アダプタ用に作成された Web アプリケーションのセキュリティ設定に応じて異なります。例えば、FHIR 要求を行うユーザがインターシステムズのリソースに対する特権を持つことを求める Web アプリケーションを構成できます。Web アプリケーションのセキュリティ設定は、[システム管理]→[セキュリティ]→[アプリケーション]→[ウェブ・アプリケーション] に移動すると行うことができます。Web アプリケーションは相互運用 REST エンドポイントの URL で識別されます。セキュリティ設定の詳細は、"Web アプリケーションの編集" を参照してください。
FHIR 相互運用アダプタでは、OAuth 2.0 の広範なサポートは提供されません。このアダプタへの要求に OAuth 2.0 トークンが含まれる場合、そのトークンは基本的なテストで検証されます。このテストにより、トークンが Authorization ヘッダ内にあるか、空白以外であるか、および安全な接続上にあるかを判断します。FHIR サーバと異なり、スコープや患者コンテキスト値など、トークンの内容は検証されません。アダプタの基本的なテストに合格すると、トークンは要求メッセージの HS.FHIRServer.API.Data.RequestOpens in a new tab の AdditionalInfo プロパティに追加されます。