转换到 v1 API

本页面介绍了 Cloud Healthcare API v1beta1 和 v1 之间的主要区别。还提供了有关如何从 v1beta1 转换为 v1 的示例。

REST 路径

所有指向 Cloud Healthcare API 的 REST 路径现在都使用 v1 而不是 v1beta1。例如:

v1beta1

GET https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID

v1

GET https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID

DICOM 更改

搜索事务

在 v1beta1 中,如果搜索成功,但没有与查询匹配的结果,则搜索事务方法会返回 200 响应代码。

为了符合 DICOM PS3.18 - Web 服务标准,v1 中的搜索事务方法会返回 204 响应代码,而不是 200响 应代码。

DICOMweb 删除方法

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

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

从 Cloud Storage 响应导入 DICOM 数据

调用 projects.locations.datasets.dicomStores.import 的响应有两个变化:

  • 在 v1beta1 中,projects.locations.datasets.dicomStores.import 方法返回了ImportDicomDataErrorDetails 响应。在 v1 中,该方法不会返回此响应。相反,您可以在 Cloud Logging 中查看有关任何错误的详细信息。
  • 在 v1beta1 中,projects.locations.datasets.dicomStores.import 方法在响应的 type 字段中返回了包含 "type.googleapis.com/google.protobuf.Empty" 的长时间运行的操作。在 v1 中,长时间运行的操作在响应的 type 字段中包含 "type.googleapis.com/google.cloud.healthcare.v1beta1.dicom.ImportDicomDataResponse"。例如:

    Cloud Healthcare API v1beta1Cloud Healthcare API v1
    
    "response": {
      "@type": "type.googleapis.com/google.protobuf.Empty"
    }
    
    "response": {
      "@type": "type.googleapis.com/google.cloud.healthcare.v1.dicom.ImportDicomDataResponse"
    }

将 DICOM 数据导出到 Cloud Storage 和 BigQuery 响应

在 v1beta1 中,projects.locations.datasets.dicomStores.export 方法在响应的 type 字段中返回了包含 "type.googleapis.com/google.protobuf.Empty" 的长时间运行的操作。在 v1 中,长时间运行的操作在响应的 type 字段中包含 "type.googleapis.com/google.cloud.healthcare.v1beta1.dicom.ImportDicomDataResponse"。例如:

Cloud Healthcare API v1beta1Cloud Healthcare API v1

"response": {
  "@type": "type.googleapis.com/google.protobuf.Empty"
}

"response": {
  "@type": "type.googleapis.com/google.cloud.healthcare.v1.dicom.ExportDicomDataResponse"
}

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/v1/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/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID" | Select-Object -Expand Content

导出到 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

在 v1 中,SCHEMA_TYPE_UNSPECIFIEDLOSSLESS 架构类型不再可用。不再有默认的架构类型值;如果不指定 ANALYTICS 架构类型,则 Cloud Healthcare API 会返回错误。

FHIR 条件方法

FHIR 条件方法在 v1beta1 中可用,但在 v1 中不可用。FHIR 条件方法包括:

executeBundle 功能

由于 FHIR 条件方法在 v1 中不可用,因此在调用 projects.locations.datasets.fhirStores.fhir.executeBundle 时无法在软件包中调用 FHIR 条件方法。要在执行软件包时使用 FHIR 条件方法,请使用 v1beta1 API。

数据去标识化更改

DeidentifyErrorDetails 移除

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

SuccessResourceCount 移除

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

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

SuccessStoreCountFailureStoreCount 移除

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

DeidentifyErrorDetails 也包含一个 FailureStoreCount 字段。

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

FailureResourceCount 移除

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

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