物理削除機能
FRUCtoSサーバは登録済みリソースの物理削除機能をサポートしています。
物理削除機能を用いることで一度登録したリソースの現在値と履歴をDB内から削除することができます。
物理削除済みリソースに割り当てられていたIDは欠番となります。新規に作成されるリソースのIDとして使われることはありません。
このIDを参照しているリソースはそのまま保持され、それらのリソースを利用したりメンテナンスしたりすることができます。
- そのリソースへの既存のリファレンスは影響を受けない
- Updateなどで削除済みリソースへのリファレンスを再作成することは可能
- そのリファレンスをたどる操作は実行されない
- 同じIDのリソースは再作成されることがない
危険
DB内から削除するという性質上、一度行うとデータを復旧させることができません。
物理削除対象が適切か十分に注意のうえで実行してください。
参考: delete インタラクションは論理削除であるため、DB内からデータは削除されません。
そのため、delete インタラクションによって削除されたリソースは以下のことができます。
- history インタラクションによってリソースの履歴を参照できる
- update インタラクションによって削除状態から復活(brought back to life)1させることができる
操作方法
API概要
指定したタイプ、idのリソースの現在値と履歴を物理削除します。
物理削除済みリソースに関して以下のようになります。
- 全てのインタラクションのレスポンスに含まれません
- DB内からリソースの現在値とその履歴が削除されます
- 物理削除済みリソースに割り当てられていたIDは欠番となります
RESTful インタラクション | HTTP status | Response Body |
---|---|---|
GET [base]/[type]/[id]/$physical-delete | 200 OK | OperationOutcome |
例
物理削除操作
- リクエスト
GET [base]/Patient/1/$physical-delete
- レスポンス(HTTP status: 200 OK)
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"details": {
"text": "Designated resource has been successfully physically deleted."
},
"diagnostics": "Designated resource has been successfully physically deleted."
}
]
}