接口描述
用于删除指定资源 ID 对应的资源实例。该接口遵循标准 FHIR
Delete 操作,客户端通过 HTTP DELETE 方法向指定资源地址发起请求。删除操作通常为逻辑删除,即资源会被标记为已删除,不再出现在常规检索结果中,但资源历史版本仍然保留。逻辑删除通常具有以下语义:
资源被标记为已删除,不再出现在搜索结果中。
资源版本号会递增,并生成一个新的删除版本。
历史版本通常不会被物理删除。
在满足业务规则的前提下,资源后续可通过更新方式重新激活。
输入参数
参数名称 | 类型 | 是否必填 | 说明 |
HTTP Method | String | 是 | 固定为 DELETE。 |
URL | String | 是 | 资源删除地址,格式为 [baseUrl]/[resourceType]/[id]。 |
Authorization | String | 是 | 身份认证令牌,格式为 Bearer <AccessToken>,AccessToken 通过 调用方式 中的 GetAccessToken 接口获取(实例控制台场景可通过 GetWebAccessToken 接口获取)。 |
路径参数说明:
字段 | 类型 | 是否必填 | 说明 |
resourceType | String | 是 | FHIR 资源类型,例如 Patient、Observation、MedicationRequest 等。当前实例实际支持的全部资源类型,请通过 GET /INSTANCE_ID/fhir/metadata 调用 CapabilityStatement 接口,在返回的 rest[].resource[].type 中查看(实例支持的资源类型可在创建时通过 supported_resource_types 配置裁剪,不同实例可能不同)。各资源类型的字段定义可参见 FHIR Resource Types。 |
id | String | 是 | 要删除的资源唯一 ID。为服务端创建资源时自动分配的逻辑 ID,可通过以下方式获取: 调用 创建接口(POST)创建资源,从响应头 Content-Location 或响应体 id 字段获取。调用 搜索接口(GET /[resourceType]?_id= 或 /[resourceType]?identifier=)查询已有资源 ID。 |
请求 URL 示例:
https://HOSTNAME/INSTANCE_ID/fhir/Patient/199963
输出参数
接口调用成功后,通常返回 HTTP 状态码
200 OK,并在响应头中返回最新版本信息。响应体一般为 OperationOutcome 资源,用于描述删除执行结果。响应头示例说明:
参数名称 | 类型 | 说明 |
Status Code | Integer | 成功时返回 200 OK。 |
Content-Location | String | 删除后资源对应的历史版本地址,格式为 [baseUrl]/[resourceType]/[id]/_history/[versionId]。 |
响应体主要字段说明:
字段 | 类型 | 说明 |
resourceType | String | 返回资源类型,通常为 OperationOutcome。 |
issue | Array | 执行结果明细。 |
issue[].severity | String | 结果级别,如 information。 |
issue[].code | String | 结果代码,如 informational。 |
issue[].diagnostics | String | 删除结果描述信息,例如 Successfully deleted 1 resource(s). Took 17ms. |
issue[].details | Object | 结构化详细信息( CodeableConcept 类型),包含 coding 等子字段,用于表达机器可读的错误详情。 |
示例
请求示例
DELETE /INSTANCE_ID/fhir/Patient/199963 HTTP/1.1Host: HOSTNAMEAuthorization: Bearer YOUR_JWT_TOKEN
响应示例
HTTP/1.1 200 OKContent-Location: https://HOSTNAME/INSTANCE_ID/fhir/Patient/199963/_history/3
{"resourceType": "OperationOutcome","issue": [{"severity": "information","code": "informational","details": {"coding": [{"system": "https://hapifhir.io/fhir/CodeSystem/hapi-fhir-storage-response-code","code": "SUCCESSFUL_DELETE","display": "Delete succeeded."}]},"diagnostics": "Successfully deleted 1 resource(s). Took 17ms."}]}
错误码
错误码 | 说明 |
400 Bad Request | 请求格式错误或资源 ID 非法 |
401 Unauthorized | 未认证,缺少有效身份凭证 |
403 Forbidden | 已认证但无删除该资源的权限 |
404 Not Found | 指定资源不存在 |
409 Conflict | 当前资源状态不允许删除(如存在版本冲突导致无法删除) |
410 Gone | 资源已被逻辑删除或不可访问 |
422 Unprocessable Entity | 资源违反业务规则或 FHIR 规范,无法删除 |
500 Internal Server Error | 服务端内部处理异常 |