v1 API로 전환

이 페이지에서는 Cloud Healthcare API의 v1beta1과 v1의 주요 차이점을 설명합니다. 또한 v1beta1에서 v1로 전환하는 방법의 예시를 제공합니다.

REST 경로

Cloud Healthcare API에 대한 모든 REST 경로는 이제 v1beta1 대신 v1를 사용합니다. 예:

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 - 웹 서비스 표준에 맞춰 v1의 거래 내역 검색 메서드는 200 응답 코드 대신 204 응답 코드를 반환합니다.

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 기능

v1에서는 FHIR 조건부 메서드를 사용할 수 없으므로 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를 익명화하지 못한 리소스를 볼 수 있습니다.