本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新 FHIR 资源
FHIR update 交互为现有资源创建新的当前版本,如果给定id资源尚不存在任何资源,则创建初始版本。有关更多信息,请参阅 FHIR R4 RESTful API 文档update
更新 FHIR 资源
-
收集 HealthLake
region和datastoreId价值。有关更多信息,请参阅 获取数据存储属性。 -
确定
Resource要更新的 FHIR 类型并收集关联id值。有关更多信息,请参阅 资源类型。 -
使用收集到的 HealthLake
region和值为请求构造一个 URLdatastoreId。还要包括 FHIRResource类型及其关联id的。要查看以下示例中的整个 URL 路径,请滚动到 “复制” 按钮。PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id -
为请求构造
JSON正文,指定要进行的 FHIR 数据更新。出于本过程的目的,请将文件另存为update-patient.json。{ "id": "2de04858-ba65-44c1-8af1-f2fe69a977d9", "resourceType": "Patient", "active": true, "name": [ { "use": "official", "family": "Doe", "given": [ "Jane" ] }, { "use": "usual", "given": [ "Jane" ] } ], "gender": "female", "birthDate": "1985-12-31" } -
发送 请求。FHIR
update交互在 FHIR 授权上使用AWS 签名版本 4 或 SMART 的PUT请求。以下curl示例更新了中的Patient资源 HealthLake。要查看整个示例,请滚动到 “复制” 按钮。
根据条件更新 FHIR 资源
条件更新允许您根据某些标识搜索条件而不是逻辑 FHIR id 更新现有资源。当服务器处理更新时,它会使用其标准搜索功能对资源类型执行搜索,目标是解析请求id的单个逻辑。
服务器采取的操作取决于它找到的匹配项数量:
-
没有匹配项,请求正文中未
id提供匹配项:服务器创建 FHIR 资源。 -
未
id提供匹配项,且资源尚不存在id:服务器将交互视为 “更新即创建” 交互。 -
没有匹配项,已
id提供且已存在:服务器以409 Conflict错误拒绝更新。 -
One Match,未提供任何资源 OR(
id提供的资源并且它与找到的资源相匹配):服务器对匹配的资源执行更新,如上所述,如果资源已更新,则服务器应返回 a200 OK。id -
One Match,已
id提供资源但与找到的资源不匹配:服务器返回409 Conflict错误,表明客户端 ID 规范有问题,最好是OperationOutcome -
多个匹配项:服务器返回一个
412 Precondition Failed错误,表明客户端的标准选择性不够好,最好是 OperationOutcome
以下示例更新了一个名为 peter、出生日期为 2000 年 1 月 1 日、电话号码为 1234567890 的Patient资源。
PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?name=peter&birthdate=2000-01-01&phone=1234567890
为资源更新配置验证级别
更新 FHIR 资源时,您可以选择指定 x-amzn-healthlake-fhir-validation-level HTTP 标头来配置资源的验证级别。 AWS HealthLake 目前支持以下验证级别:
-
strict:根据资源的配置文件元素对资源进行验证,如果不存在配置文件,则根据R4规格进行验证。这是的默认验证级别 AWS HealthLake。 -
structure-only:根据 R4 对资源进行验证,忽略任何引用的配置文件。 -
minimal:资源经过最低限度的验证,忽略了某些 R4 规则。未通过所需的结构检查的资源 search/analytics 将进行更新,以包括审计警告。
尽管搜索索引需要验证失败,但使用最低验证级别更新的资源仍可能会被提取到数据存储中。在这种情况下,将更新资源,以包括专门用于记录上述故障的 Healthlake 扩展程序:
{ "url": "http://healthlake.amazonaws.com/fhir/StructureDefinition/validation-issue", "valueString": "{\"resourceType\":\"OperationOutcome\",\"issue\":[{\"severity\":\"error\",\"code\":\"processing\",\"details\":{\"text\":\"FHIR resource in payload failed FHIR validation rules.\"},\"diagnostics\":\"FHIR resource in payload failed FHIR validation rules.\"}]}" }
此外,将包含以下 HTTP 响应标头,其值为 “true”:
x-amzn-healthlake-validation-issues : true
注意
请注意,如果存在这些错误,则根据 R4 规范提取的数据可能无法按预期进行搜索。