FHIR Tips:FHIRリポジトリの「条件付き削除結果の最大数」について(ConditionalDeleteOverflow のエラーが出た場合の対応について)
IRIS for HealthのFHIRリポジトリには、「条件付き削除結果の最大数」がデフォルトで3件に設定されています。
そのため、条件指定のDELETE要求で4件以上が対象となる場合、以下のエラーが発生します。
例えば、あるcodeで条件指定したリソースが5件あるとします。
.png)
これをDELETE要求に変えて実行すると、以下のようにHTTPステータス412が戻り、「Conditional delete search found more than maximum allowed number of 3 results」のエラーが発生します。
.png)
HTTP応答を確認すると、ConditionalDeleteOverflowのエラーが発生しています。
これは、条件付き削除の最大値が3件で設定されているため、発生しています。
ということで、FHIR Configuration画面を開き、設定を確認します。
管理ポータル > [Health] > ネームスペース選択 > [FHIR Configuration] > [Server Configuration]
対象のエンドポイントを選択すると以下の設定画面が表示されます。
.png)
Max Conditional Delete Results の項目に 3 と設定されています。
図例のGET要求では削除対象リソースが5件あったので、Max Conditional Delete Results を 5 に変更してみます。
設定画面は画面下にある「Edit」ボタンを押すまで編集ができませんので、画面下にある「Edit」ボタンを押してください。
.png)
Max Conditional Delete Results を 5に変更して、Updateボタンを押します。
.png)
設定変更はこれで完了です。
では、再度DELETE要求を実行します。
.png)
Status 200 OKが返り、DELETEが成功しました!
HTTP応答には、”severity”:"information" として OperationOutcomeリソースが返送され、削除したリソース情報が確認できるようになっています。