Document Bundleの分解登録
FHIR仕様に基づき、Document BundleをベースURLにPOSTした際に、分解して個々のリソースを登録する機能です。
内部動作説明
-
POSTされたDocument BundleからFRUCtoS内部でTransaction Bundleを生成します。
-
Transaction Bundleを内部で生成する際、request要素には同一インスタンスの複数登録を防ぐために、Conditional update(PUTリクエスト)を指定しています。
例)PUT Patient?identifier=http:/example.org/fhir/ids|456456 -
Conditional updateの仕様により、サーバにidentifierが一致するインスタンスがなければcreate、一つだけ存在する場合はupdateとなり、同一インスタンスの複数登録を防いでいます。
-
なお、identifierが一致するインスタンスがサーバに複数存在する場合はエラーとなります。
-
-
FRUCtoS内部でtransactionインタラクションを実行します。
注意
- Bundleの個々のリソースにidentifierがなかった場合はcreateされます。
- conditional updateの場合、バージョン・更新日が変更されます。
- サーバー側にDocument Bundleを分解する機能があるのかどうかはCapabilityStatementで判断できません。
例
リクエスト(Document Bundle)
POST [base] {?_format=[mime-type]}