v1beta1 API로 업데이트

2020년 8월 26일부터 v1beta1의 수정 버전 업데이트가 시작되었습니다. 이 페이지에서 이 날짜 전의 v1beta1 버전은 '이전 v1beta1'이라고 부릅니다. 이 날짜 이후의 버전은 '새 v1beta1'이라고 합니다. 이전 v1beta1 동작이 더 이상 허용되지 않는 시간으로 예약된 완료 날짜는 2020년 9월 22일입니다.

이 페이지에서는 Cloud Healthcare API에 대한 요청 및 응답에서 필드 추가 및 삭제와 관련된 v1beta1 관련 업데이트에 대해 설명합니다. 이러한 변경사항을 구현하면 v1beta1과 v1 사이에 일반 메서드, 리소스, 응답, 요청 등이 조정됩니다. 이 섹션에서는 또한 이전 v1beta1에서 새로운 v1beta1로 전환하는 방법의 예시를 제공합니다.

주석 변경사항

주석 가져오기 및 내보내기

이전 v1beta1에서 annotationStores.importannotationStores.export에는 주석 저장소 식별을 위해 annotationStore 매개변수가 사용되었습니다. 새 v1beta1에서는 annotationStore 대신 name을 사용하여 주석 저장소를 식별합니다.

주석 저장소 평가

이전 v1beta1에서 annotationStores.evaluateevalStore 매개변수를 사용하여 골든 저장소 비교에 사용되는 주석 저장소를 식별했습니다. 새 v1beta1에서는 evalStore 대신 name을 사용하여 골든 저장소 비교에 사용되는 주석 저장소를 식별합니다.

ImportAnnotationsErrorDetails, ExportAnnotationsErrorDetails

ImportAnnotationsErrorDetailsExportAnnotationsErrorDetails 응답은 새 v1beta1에서 삭제되었습니다. 대신 Cloud Logging에서 오류에 대한 세부정보를 볼 수 있습니다.

ImportAnnotationsResponse, ExportAnnotationsResponse, EvaluateAnnotationStoreResponse

  • 가져오기 및 내보내기의 장기 실행 작업의 Operation.response 필드에 포함된 ImportAnnotationsResponseExportAnnotationsResponse는 더 이상 annotationStore필드 및 successCount 필드를 포함하지 않습니다. 그 대신 반환된 장기 실행 작업에서 반환된 Operation.metadata 필드에서 성공 및 실패 수를 볼 수 있습니다.
  • 해당 평가의 장기 실행 작업의 Operation.response 필드에 포함된 EvaluateAnnotationStoreResponse에 더 이상 evalStore, goldenStore, goldenCount, matchedCount 필드가 포함되지 않습니다. 대신 matchedCount 값을 찾으려면 Operation.metadatasuccess 필드를 확인합니다. goldenCount 값을 찾으려면 success 필드의 값과 failure 필드의 값을 Operation.metadata에 추가합니다.

데이터 익명화 변경사항

DeidentifyErrorDetails 삭제

DeidentifyErrorDetails 응답은 새 v1beta1에서 더 이상 사용할 수 없습니다. 대신 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 - 웹 서비스 표준에 맞춰 v1의 거래 내역 검색 메서드는 200 응답 코드 대신 204 응답 코드를 반환합니다. 빈 배열의 결과를 반환하는 대신 응답 본문이 반환되지 않습니다.

DICOMweb 삭제 방법

이전 v1beta1에서 다음 메서드는 성공적으로 실행되면 빈 응답 코드를 반환했습니다.

새 v1beta1에서 이 메서드는 장기 실행 작업을 반환합니다. 삭제가 완료되면 장기 실행 작업에 done: true가 포함됩니다.

Cloud Storage 응답에서 DICOM 데이터 가져오기

이전 v1beta1에서 projects.locations.datasets.dicomStores.import 메서드는 Operation.error.status.details 객체의 ImportDicomDataErrorDetails를 반환했습니다. 새 v1beta1에서는 메서드가 오류에 대해 이 응답을 반환하지 않습니다. 대신 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/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

ImportResourcesResponse, ExportResourcesResponse, ImportResourcesErrorDetails, ExportResourcesErrorDetails

이전 v1beta1에서는 projects.locations.datasets.fhirStores.importprojects.locations.datasets.fhirStores.exportOperation.response 필드에 ImportResourcesResponseExportResourcesResponse를 각각 포함하는 장기 실행 작업을 반환했습니다. 오류가 발생하면 Operation.error 필드에 ImportResourcesErrorDetails 또는 ExportResourcesErrorDetails가 반환되었습니다.

새 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 권한