物理削除機能
FRUCtoSサーバは登録済みリソースの物理削除機能をサポートしています。
物理削除機能を用いることで一度登録したリソースの現在値と履歴をDB内から削除することができます。
物理削除済みリソースに割り当てられていたIDは欠番となります。新規に作成されるリソースのIDとして使われることはありません。
このIDを参照しているリソースはそのまま保持され、それらのリソースを利用したりメンテナンスしたりすることができます。
- そのリソースへの既存のリファレンスは影響を受けない
- Updateなどで削除済みリソースへのリファレンスを再作成することは可能
- そのリファレンスをたどる操作は実行されない
- 同じIDのリソースは再作成されることがない
warning
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."
}
]
}
物理削除後の検索操作
- リクエスト
GET [base]/Patient/1
- レスポンス(HTTP status: 404 NotFound)
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "not-found",
"details": {
"text": "The resource does not exist."
},
"diagnostics": "The resource does not exist."
}
]
}
物理削除済みリソースへの物理削除操作
- リクエスト
GET [base]/Patient/1/$physical-delete
- レスポンス(HTTP status: 404 NotFound)
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "not-found",
"details": {
"text": "The resource does not exist."
},
"diagnostics": "The resource does not exist."
}
]
}
FRUCtoSサーバ上存在しないリソースへの物理削除操作
以下、FRUCtoSサーバ上にタイプ: Patient, id: 2 のリソースが登録されていないとする。
- リクエスト
GET [base]/Patient/2/$physical-delete
- レスポンス(HTTP status: 404 NotFound)
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "fatal",
"code": "not-found",
"details": {
"text": "The resource does not exist."
},
"diagnostics": "The resource does not exist."
}
]
}
物理削除ダンプログ
物理削除済み操作を取り消すためのバックアップ用のダンプログです。
現状では物理削除ダンプログをインポートする機能が未実装のため利用できません。
利用方法
- 物理削除済み対象が正しいことが確認できた場合
- ダンプログを削除して下さい
- 物理削除対象が誤っていた場合
- ダンプログをインポートし、物理削除操作を取り消して下さい
(現状では物理削除ダンプログをインポートする機能が未実装のため物理削除操作を取り消すことはできません。)
- ダンプログをインポートし、物理削除操作を取り消して下さい
出力先
FRUCtoS_tomcat
コンテナ内の /usr/local/tomcat/physical_delete_dump
ディレクトリ
(構築手順 の通りにFRUCtoSサーバを起動している場合)
注意事項
- FRUCtoSのバージョンアップなど
FRUCtoS_tomcat
コンテナを再作成する場合- 新しく作成する
FRUCtoS_tomcat
コンテナにダンプログをコピーして移行しなければ
コンテナ再作成後に物理削除操作を取り消すことはできません
- 新しく作成する