FHIR 仕様の RESTful アーキテクチャ内で、FHIR クライアントは相互作用を通じてサーバ上のリソースを操作します。インターシステムズのテクノロジによって開発された FHIR クライアントには、これらの相互作用に対応するメソッドが用意されており、ObjectScript コードで単一のメソッド呼び出しとの相互作用を行うことを可能にしています。
FHIR クライアントは、各相互作用に 1 つ以上のメソッドを提供しますが、ある 1 つのメソッドを、FHIR サーバで実行されているオペレーションに関係なく提供します。このメソッドを起動してオペレーションを実行する方法の詳細は、クラス・リファレンスで Operation( )Opens in a new tab を参照してください。
相互作用メソッドの呼び出し
FHIR クライアントが update などの相互作用を使用してサーバに書き込みを行う場合は、SetRequestFormat メソッドを使用して、サーバに書き込まれるペイロードの形式を指定する必要があります。使用可能な形式は、JSON、XML、Form、XPatch、および Jpatch です。同様に、FHIR クライアントは SetResponseFormat を使用して、FHIR サーバから返されるリソースの適切な形式を指定できます。
使用可能な形式は、JSON と XML です。
要求および応答の形式が個々の相互作用に合わせて変更されない限り、アプリケーションは要求や応答を一度設定すると、すべての相互作用メソッドに適用できます。例えば、要求を HTTP 経由で FHIR サーバに送信するスタンドアロンの FHIR クライアントは、クライアントのインスタンス化後すぐに、要求と応答の形式を設定できます。
Set clientObj = ##class(HS.FHIRServer.RestClient.HTTP).CreateInstance("MyFHIR.HTTP.Service")
Do clientObj.SetRequestFormat("JSON")
Do clientObj.SetResponseFormat("JSON")
FHIR クライアント・クラスがインスタンス化され、要求と応答の形式が設定されると、アプリケーションはサーバ上で実行したい FHIR 相互作用に対応するメソッドを呼び出すことができます。シグニチャなど、FHIR クライアントで利用可能な FHIR 相互作用メソッドを確認するには、クラス・リファレンスで HS.FHIRServer.RestClient.BaseOpens in a new tab を参照してください。条件付きのアクションを許可する FHIR 相互作用には、2 つの異なるメソッドがあります。例えば、update 相互作用が条件付きであるかどうかに応じて、アプリケーションでは Update または ConditionalUpdate を呼び出すことができます。
引数として渡されるペイロードのデータ型は、インスタンス化された FHIR クライアントのタイプによって決まります。
以下に、FHIR クライアントをインスタンス化し、外部 FHIR サーバ上で read 相互作用を実行する例を示します。
Set clientObj = ##class(HS.FHIRServer.RestClient.HTTP).CreateInstance("MyFHIR.HTTP.Service")
Do clientObj.SetResponseFormat("JSON")
Set clientResponseObj = clientObj.Read("GET", "Patient", "123")