你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

大容量删除操作

“$bulk-delete”允许异步删除 FHIR 服务器中的资源。 可在系统级别或单个资源类型执行批量删除操作。

  • 系统级别:在系统级别执行操作可跨 FHIR 服务器中的所有资源类型删除 FHIR 资源。

      DELETE  /$bulkDelete
    
  • 单个资源类型:对单个资源类型的操作的执行允许删除 FHIR 资源映射到 URL 中的指定资源类型。

      DELETE /<Resource Type>/$bulkDelete
    

注意

批量删除是一项谨慎使用的操作。 删除后,FHIR 服务中的资源无法还原。

批量删除操作目前以公共预览版提供。 查看免责声明以了解详细信息。

重要

预览版 API 和 SDK 在没有服务级别协议的情况下提供。 建议不要将它们用于生产工作负荷。 某些功能可能不受支持或者已受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

标头

大容量删除操作需要两个标头参数

  • 接受:application/fhir+json
  • 首选:respond-async

查询参数

查询参数允许筛选要删除的原始资源。 为了支持筛选,FHIR 服务查询参数为:

查询参数 默认值 说明
_hardDelete False 若要删除包括历史记录版本在内的资源,请传递值 true。
_purgeHistory False 允许删除与资源关联的历史记录版本。
FHIR 服务支持的搜索参数 允许指定与搜索条件匹配的搜索条件和资源将被删除。示例:address:contains=Meadow subject:Patient.birthdate=1987-02-20

所有查询参数都是可选的。

$bulk-delete 响应

发出批量删除 FHIR 资源的请求后,应收到内容位置标头,其中包含终结点的绝对 URL 作为后续状态请求,例如轮询终结点。

轮询终结点: 请求轮询终结点有四个结果之一,具体取决于批量删除作业的状态。 结果在 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 许可使用。