v1beta1 API 更新

从 2020 年 8 月 26 日开始,v1beta1 开始更新到修订版。在本页面中,该日期之前的 v1beta1 版本称为“旧版 v1beta1”。此日期之后的版本称为“新版 v1beta1”。不再接受旧版 v1beta1 行为的预定日期为 2020 年 9 月 22 日。

本页面介绍对 v1beta1 的更新,主要涉及 Cloud Healthcare API 的请求和响应中弃用和增加的字段。实施这些更改可确保 v1beta1 与 v1 之间的常用方法、资源、响应、请求等保持一致。本部分还提供了从旧版 v1beta1 转换到新版 v1beta1 的示例。

注释更改

导入和导出注释

在旧版 v1beta1 中,annotationStores.importannotationStores.export 使用 annotationStore 参数来标识注解存储区。在新版 v1beta1 中,使用 name 而不是 annotationStore 来标识注解存储区。

评估注解存储区

在旧版 v1beta1 中,annotationStores.evaluate 使用 evalStore 参数来标识用于与黄金存储区进行比较的注解存储区。在新版 v1beta1 中,使用 name 而不是 evalStore 来标识用于与黄金存储区进行比较的注解存储区。

ImportAnnotationsErrorDetailsExportAnnotationsErrorDetails

新版 v1beta1 中已移除 ImportAnnotationsErrorDetailsExportAnnotationsErrorDetails 响应。相反,您可以在 Cloud Logging 中查看有关任何错误的详细信息。

ImportAnnotationsResponseExportAnnotationsResponseEvaluateAnnotationStoreResponse

  • ImportAnnotationsResponseExportAnnotationsResponse(包含在长时间运行的导入或导出操作的 Operation.response 字段中)不再包含 annotationStore 字段或 successCount 字段。相反,在返回的长时间运行的操作中,您可以在返回的 Operation.metadata 字段中查看成功和失败计数。
  • EvaluateAnnotationStoreResponse(包含在长时间运行的评估操作的 Operation.response 字段中)不再包含 evalStoregoldenStoregoldenCountmatchedCount 字段。如需查找 matchedCount 值,请查看 Operation.metadata 中的 success 字段。如需查找 goldenCount 值,请在 Operation.metadata 中添加 success 字段的值和 failure 字段的值。

数据去标识化更改

DeidentifyErrorDetails 移除

新版 v1beta1 不再支持 DeidentifyErrorDetails 响应。相反,您可以在 Cloud Logging 中查看有关任何错误的详细信息。

SuccessResourceCount 移除

在旧版 v1beta1 中,以下响应包含一个 SuccessResourceCount 字段:

在新版 v1beta1 中,这些响应不再包含 SuccessResourceCount 字段。相反,您可以在长时间运行的操作响应的 progress_counter.success 字段中查看 Cloud Healthcare API 成功去标识化的资源。

SuccessStoreCountFailureStoreCount 移除

在旧版 v1beta1 中,以下响应包含一个 SuccessStoreCount 字段:

DeidentifyErrorDetails 也包含一个 FailureStoreCount 字段。

在新版 v1beta1 中,这些响应不再包含 SuccessStoreCount 字段或 FailureStoreCount字段。

FailureResourceCount 移除

在旧版 v1beta1 中,以下响应包含一个 FailureResourceCount 字段:

在新版 v1beta1 中,这些响应不再包含 FailureResourceCount 字段。相反,您可以在长时间运行的操作响应的 progress_counter.failure 字段中查看 Cloud Healthcare API 无法去标识化的资源。

DICOM 更改

搜索事务

在旧版 v1beta1 中,如果搜索成功,但没有与查询匹配的结果,则搜索事务方法会返回 200 响应代码。响应正文还包含一个空的结果数组。

为了符合 DICOM PS3.18 - Web 服务标准,新版 v1beta1 中的搜索事务方法会返回 204 响应代码,而不是 200 响应代码。系统不会返回空的结果数组,而是不返回响应正文。

DICOMweb 删除方法

在旧版 v1beta1 中,以下方法会在成功执行时返回空的响应代码:

在新版 v1beta1 中,这些方法会返回长时间运行的操作。删除操作完成时,长时间运行的操作会包含 done: true

从 Cloud Storage 响应导入 DICOM 数据

在旧版 v1beta1 中,projects.locations.datasets.dicomStores.import 方法在 Operation.error.status.details 对象中返回 ImportDicomDataErrorDetails。在新版 v1beta1 中,该方法不会针对错误返回此响应。相反,Cloud LoggingOperation.metadata 中会填充一个网址,您可以通过它查看任何错误的详细信息。

FHIR 更改

FHIR 存储区创建

创建 FHIR 存储区时,必须为该存储区指定 FHIR 版本(DSTU2、STU3 或 R4)。如果未指定版本,则 Cloud Healthcare API 将返回错误。

例如:

gcloud

以下示例展示了如何创建 FHIR 存储区。

gcloud beta healthcare fhir-stores create FHIR_STORE_ID \
  --dataset=DATASET_ID \
  --location=LOCATION \
  --version={DSTU2|STU3|R4}

API

curl

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'version': 'FHIR_STORE_VERSION'
    }" "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID"

PowerShell

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
      'version': 'FHIR_STORE_VERSION'
  }" `
  
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID" | Select-Object -Expand Content

ImportResourcesResponseExportResourcesResponseImportResourcesErrorDetailsExportResourcesErrorDetails

在旧版 v1beta1 中,projects.locations.datasets.fhirStores.importprojects.locations.datasets.fhirStores.exportOperation.response 中返回的长时间运行的操作,分别包含 ImportResourcesResponseExportResourcesResponse。如果出现了任何错误,则 Operation.error 字段中返回 ImportResourcesErrorDetailsExportResourcesErrorDetails

在新版 v1beta1 中,这些响应将在 Operation.metadata 字段中以成功和失败计数的形式返回。

导出到 BigQuery 时的架构

在旧版 v1beta1 中,将 FHIR 资源导出到 BigQuery 时,可以在 projects.locations.datasets.fhirStores.export 方法中指定以下架构类型:

  • SCHEMA_TYPE_UNSPECIFIED:未指定架构类型。与 LOSSLESS 相同。
  • LOSSLESS 从要导出的 FHIR 数据中的字段所生成的数据驱动型架构,无需进一步简化。
  • ANALYTICS:由 FHIR 社区定义的分析架构。请参阅 https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md

在新版 v1beta1 中,SCHEMA_TYPE_UNSPECIFIED 架构类型不再可用。如果指定 SCHEMA_TYPE_UNSPECIFIED 或不设置 schemaType 字段,则 Cloud Healthcare API 会返回错误。

位置更改

projects.locations.getprojects.locations.list 方法现在要求以下权限:

  • locations.get:对请求位置的 healthcare.locations.get 权限。
  • locations.list:对父级 Google Cloud 项目的 healthcare.locations.list 权限。