v1 API로 전환

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

2020년 8월 26일부터 v1beta1의 수정 버전 업데이트가 시작되었습니다. 이 페이지에서 이 날짜 전의 v1beta1 버전은 '이전 v1beta1'이라고 부릅니다. 이 날짜 이후의 버전은 '새 v1beta1'이라고 합니다.

사용 중인 v1beta1 API 버전에 따라 다음 경로 중 하나를 완료합니다.

이전 v1beta1에서 v1로 전환

이 섹션에서는 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 데이터 가져오기

이전 v1beta1에서 projects.locations.datasets.dicomStores.import 메서드는 Operation.error.status.details 객체의 ImportDicomDataErrorDetails를 반환했습니다. v1에서는 메서드가 오류에 대해 이 응답을 반환하지 않습니다. 대신 URL이 Operation.metadata에 채워져 Cloud Logging으로 저장되며, 여기에서 오류에 대한 세부정보를 볼 수 있습니다.

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 조건부 메서드

v1beta1의 이전 버전과 새 버전에서는 FHIR 조건부 메서드를 사용할 수 있지만 v1에서는 사용할 수 없습니다. FHIR 조건부 메서드는 다음과 같습니다.

executeBundle 기능

v1에서 FHIR 조건부 메서드를 사용할 수 없으므로 projects.locations.datasets.fhirStores.fhir.executeBundle을 호출할 때 번들의 FHIR 조건부 메서드를 호출할 수 없습니다. 번들을 실행할 때 FHIR 조건부 메서드를 사용하려면 새로운 v1beta1을 사용하세요.

데이터 익명화 변경사항

DeidentifyErrorDetails 삭제

v1에서는 DeidentifyErrorDetails 응답이 더 이상 사용되지 않습니다. 대신 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가 익명화할 수 없는 리소스를 볼 수 있습니다.

새 v1beta1에서 v1로 전환

이 섹션에서는 새로운 v1beta1에서 v1로 전환하는 방법을 설명합니다. 또한 새 v1beta1에서 v1로 전환하는 방법에 대한 예시도 제공합니다. 이미 v1beta1 업데이트를 완료한 경우 대부분의 전환 작업은 이미 완료되었지만 다음 섹션을 참조하여 새 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

FHIR 변경사항

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에서 LOSSLESSSCHEMA_TYPE_UNSPECIFIED 스키마 유형은 더 이상 사용할 수 없습니다. 이러한 스키마 유형 중 하나를 지정하거나 schemaType 필드를 설정하지 않은 상태로 두면 Cloud Healthcare API가 오류를 반환합니다.

FHIR 조건부 메서드

FHIR 조건부 메서드는 이전 및 새로운 v1beta1에서 사용할 수 있지만 v1에서는 사용할 수 없습니다. FHIR 조건부 메서드는 다음과 같습니다.

executeBundle 기능

v1에서 FHIR 조건부 메서드를 사용할 수 없으므로 projects.locations.datasets.fhirStores.fhir.executeBundle을 호출할 때 번들의 FHIR 조건부 메서드를 호출할 수 없습니다. 번들을 실행할 때 FHIR 조건부 메서드를 사용하려면 새로운 v1beta1을 사용하세요.