一括削除​​

`$bulk-delete' を使用すると、FHIR サーバーから非同期的にリソースを削除できます。 一括削除操作は、システム レベルで実行することも、個々のリソースの種類に対して実行することもできます。

  • システム レベル: システム レベルでこの操作を実行すると、FHIR サーバー内のすべてのリソースの種類の FHIR リソースを削除できます。

      DELETE  /$bulkDelete
    
  • 個々のリソースの種類: 個々のリソースの種類で操作を実行すると、URL 内の指定したリソースの種類にマッピングされている FHIR リソースを削除できます。

      DELETE /<Resource Type>/$bulkDelete
    

Note

一括削除は、注意して使用する必要がある操作です。 FHIR サービス内のリソースを削除すると、元に戻すことはできません。

一括削除操作は現在パブリック プレビュー段階にあります。 詳細については、免責事項を参照してください。

重要

プレビューの API と SDK は、サービス レベル アグリーメントなしに提供されます。 運用環境のワークロードには使用しないことをお勧めします。 一部の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「Microsoft Azure プレビューの追加利用規約」を確認してください。

ヘッダー

bulk-delete 操作には 2 つのヘッダー パラメーターが必要です

  • Accept: application/fhir+json
  • Prefer: respond-async

クエリ パラメーター

クエリ パラメーターを使用すると、削除する未加工リソースをフィルター処理することができます。 フィルター処理をサポートするための FHIR サービスのクエリ パラメーターは次のとおりです。

Query parameter (クエリ パラメーター) Default value 説明
_hardDelete いいえ 履歴バージョンを含めてリソースを削除する場合は、値 true を渡します。
_purgeHistory いいえ リソースに関連付けられている履歴バージョンを削除します。
FHIR サービスでサポートされている検索パラメーター 検索条件を指定でき、検索条件に一致するリソースが削除されます。例: address:contains=Meadow subject:Patient.birthdate=1987-02-20

クエリ パラメーターはすべて任意です。

$bulk-delete の応答

FHIR リソースを一括削除する要求を行うと、応答として Content-Location ヘッダーを受け取ります。これには、ポーリングエンドポイントなど、以降の状態を要求するためのエンドポイントの絶対 URL が含まれます。

ポーリング エンドポイント: ポーリング エンドポイントに要求を行うと、一括削除ジョブの状態に応じて、4 つの結果のいずれかが返されます。 結果は、FHIR 応答の OperationOutcome 内で提供されます

  1. 進行中のジョブ: この結果は、ジョブが進行中であることを示します。 状態コード 202
  2. 完了: この結果は、ジョブが正常に完了したことを示します。 完了すると、削除されたリソースの数に関する情報が、個々のリソースの種類のレベルで提供されます。 状態コード 200
  3. キャンセル済み: この結果は、ジョブがユーザーによって取り消されたことを示し、個々のリソースの種類のレベルで削除されるリソースの数に関する情報が提供されます。 状態コード 200
  4. 失敗: この結果は、ジョブが失敗したことを示します。 状態コードは、失敗の種類によって異なります。

状態を判定する要求についての要求と応答のサンプル:

{{fhir_url}}/_operations/bulk-delete/<id>

正常に完了した削除ジョブの応答のサンプル。

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "ResourceDeletedCount",
            "part": [
                {
                    "name": "Practitioner",
                    "valueDecimal": 10.0
                },
                {
                    "name": "Specimen",
                    "valueDecimal": 7.0
                },
                {
                    "name": "Device",
                    "valueDecimal": 3.0
                }
            ]
        }
    ]
}

次のステップ

この記事では、FHIR サービス内のリソースを一括削除する方法について説明しました。 サポートされている FHIR 機能については、次の記事をご覧ください

FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。