GET リソース
ObjectScript アプリケーションは、サーバのサービスを使用して、リソースを取得できます。例えば、178.16.235.12 がインターシステムズ・サーバの IP アドレス、52783 がスーパーサーバ・ポートであるとした場合、REST 呼び出しは以下のようになります。
GET http://178.16.235.12:52783/fhirapp/namespace/fhir/r4/patient/1
ObjectScript を使用した同一のエンドポイントへのアクセスは、以下のようになります。
set url = "/fhirapp/namespace/fhir/r4"
set fhirService = ##class(HS.FHIRServer.Service).EnsureInstance(url)
set request = ##class(HS.FHIRServer.API.Data.Request).%New()
set request.RequestPath = "/Patient/1"
set request.RequestMethod = "GET"
do fhirService.DispatchRequest(request, .response)
この例では、応答は、ダイナミック・オブジェクトに表される JSON 応答を使用したデータ・オブジェクト (HS.FHIRServer.API.Data.ResponseOpens in a new tab) になります。
Note:
サーバに対する最初の要求で、EnsureInstance メソッドを呼び出して、FHIR サービスをインスタンス化する必要があります。要求の前に毎回この呼び出しを実行しても問題は発生しませんが、サービスが変更されているかどうかをチェックするのにごくわずかな時間がかかります。
POST リソース
プログラムによって FHIR サーバにデータを送信することもできます。以下の例では、アプリケーションで、ファイル MyPatient.json の JSON オブジェクトに記述される Patient リソースを作成するとします。ObjectScript コードは以下のようになります。
set url = "/csp/fhirapp/namespace/fhir/r4/"
set fhirService = ##class(HS.FHIRServer.Service).EnsureInstance(url)
set request = ##class(HS.FHIRServer.API.Data.Request).%New()
set request.RequestPath = "/Patient"
set request.RequestMethod = "POST"
set request.Json = {}.%FromJSON("c:\resources\MyPatient.json")
do fhirService.DispatchRequest(request, .response)
この例では、要求に格納されている JSON のソースは、外部ファイルではなくアプリケーション内のダイナミック・オブジェクトから取得された可能性があります。