Skip to main content

FHIR の要求、応答、およびペイロード

Note:

このトピックでは、プロダクションが使用されていない場合に FHIR サーバで使用される要求と応答について説明します。

プロダクション以外の FHIR サーバの要求と応答

相互運用プロダクションを使用しない FHIR サーバの場合は、以下のようになります。

FHIR ペイロードへのアクセス

既定では、REST ハンドラで FHIR 要求を受信すると、FHIR ペイロードが Request オブジェクト (HS.FHIRServer.API.Data.RequestOpens in a new tab) の Json プロパティに保存されます。これにより、JSON 構造がダイナミック・オブジェクトに自動的に取り込まれます。XML が含まれる FHIR 要求は、JSON に変換された後に、Json プロパティのダイナミック・オブジェクトとして表されます。FHIR サーバからの応答 (HS.FHIRServer.API.Data.ResponseOpens in a new tab) にも FHIR データの Json プロパティは含まれます。

FHIR データを操作するには、まず、要求または応答の Json プロパティにアクセスします。FHIR ペイロードを入手したら、それをダイナミック・オブジェクトとして操作できます。例については、"FHIR データ" を参照してください。

ObjectScript アプリケーションを使用した FHIR リソースの取得

ObjectScript アプリケーションがリソース・リポジトリからリソースを取得する必要がある場合は、プロダクション以外の要求オブジェクト (HS.FHIRServer.API.Data.RequestOpens in a new tab) を構築してから、それをエンドポイントのサービスにディスパッチできます。アプリケーションでデータを取得する場合は、データはプロダクション以外の応答オブジェクト (HS.FHIRServer.API.Data.ResponseOpens in a new tab) として返されます。詳細は、"DispatchRequest の直接呼び出し" を参照してください。

クライアントに見える URL の設定

場合によっては (特に要求がプロキシ経由で FHIR エンドポイントに転送される場合)、FHIR サーバが要求を受信した URL が、元々 REST クライアントによって要求された URL と異なることがあります。

そのような場合、FHIR サーバの REST ハンドラは、要求オブジェクトの FORWARDED または X-FORWARDED HTTP ヘッダのコンテンツから、クライアントに見えるベース URL を判断します。このロジックは、HS.FHIRServer.Util.BaseURLOpens in a new tab クラスの GetBaseURL()Opens in a new tab クラス・メソッドにより実装できます。

FHIR サーバでクライアントに見える URL を異なるロジックに従って構築する必要がある場合は、HS.Local.FHIRServer.Util.BaseURLOpens in a new tab クラスでカスタムの GetBaseURL() を定義します。このクラスに定義されたメソッドは、元のメソッドをオーバーライドします。

FeedbackOpens in a new tab