Vertex AI Search 의료 데이터 스토어로 데이터를 처음 가져온 후 소스 FHIR 스토어에서 다음 업데이트를 수행했을 수 있습니다.
새 FHIR 리소스 추가
기존 FHIR 리소스 업데이트
FHIR 리소스 삭제
이 경우 소스 FHIR 스토어의 변경사항을 Vertex AI Search 의료 데이터 스토어로 조정 할 수 있습니다.
조정 개요
핵심 용어: Vertex AI Search 의료 데이터 스토어의 문서는 FHIR 스토어의 FHIR R4 리소스에 해당합니다.
변경사항을 점진적으로 또는 전체적으로 조정할 수 있습니다. 두 모드는 다음 표에 비교되어 있습니다.
소스 FHIR 스토어 변경사항
점진적 모드
전체 모드
새 FHIR 리소스
Vertex AI Search 데이터 스토어에 새 문서 추가
Vertex AI Search 데이터 스토어에 새 문서 추가
FHIR 리소스 업데이트
문서 ID를 유지하면서 Vertex AI Search 데이터 스토어의 기존 문서를 대체
문서 ID를 유지하면서 Vertex AI Search 데이터 스토어의 기존 문서를 대체
FHIR 리소스 삭제
조정되지 않음
Vertex AI Search 데이터 스토어에서 해당 문서를 삭제
시작하기 전에
Google Cloud 프로젝트의 할당량 및 한도 를 검토합니다.
Vertex AI Search 의료 데이터 스토어는 프로젝트당 최대 100만 개의 문서를 포함할 수 있습니다. 가져오기 중에 이 할당량에 도달하면 가져오기 프로세스가 중지됩니다.
다음 샘플은 documents.import
메서드를 사용하여 Cloud Healthcare API FHIR 스토어에서 점진적 변경사항을 가져오는 방법을 보여줍니다.
이 태스크에 필요한 권한
다음 권한 또는 다음 Identity and Access Management(IAM) 롤을 service-PROJECT_NUMBER @gcp-sa-discoveryengine.iam.gserviceaccount.com
서비스 계정에 부여합니다.
Cloud Healthcare API로 FHIR 스토어의 FHIR 데이터 일회성 가져오기
권한
bigquery.jobs.create
bigquery.datasets.create
bigquery.tables.export
healthcare.datasets.get
healthcare.datasets.list
healthcare.fhirStores.get
healthcare.fhirStores.list
healthcare.fhirStores.export
역할
Cloud Healthcare API(미리보기)로 FHIR 스토어의 FHIR 데이터 스트리밍 가져오기
권한
healthcare.datasets.get
healthcare.datasets.list
healthcare.fhirStores.get
healthcare.fhirStores.update
healthcare.fhirStores.list
healthcare.fhirStores.export
healthcare.fhirResources.get
역할
데이터 스토어를 만들 때 스키마를 맞춤설정하여(미리보기) FHIR 리소스 및 요소의 색인 생성 가능 여부, 검색 가능성, 가져오기 가능성을 구성합니다.
권한
storage.objects.create
storage.objects.delete
storage.objects.list
역할
Google Cloud의 파일을 참조하는 FHIR 데이터를 가져옵니다. 참조된 파일이 Vertex AI Search 앱과 동일한 Google Cloud 프로젝트에 있는 경우 기본적으로 부여됩니다.
권한
storage.objects.get
storage.buckets.create
역할
REST
증분 가져오기를 수행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: PROJECT_ID " \
"https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID /locations/us/dataStores/DATA_STORE_ID /branches/0/documents:import" \
-d '{
"reconciliation_mode": "INCREMENTAL",
"fhir_store_source": {"fhir_store": "projects/PROJECT_ID /locations/CLOUD_HEALTHCARE_DATASET_LOCATION /datasets/CLOUD_HEALTHCARE_DATASET_ID /fhirStores/FHIR_STORE_ID "}
}'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID
DATA_STORE_ID
: Vertex AI Search 데이터 스토어의 ID입니다.
CLOUD_HEALTHCARE_DATASET_ID
: 소스 FHIR 스토어가 포함된 Cloud Healthcare API 데이터 세트의 ID입니다.
CLOUD_HEALTHCARE_DATASET_LOCATION
: 소스 FHIR 스토어가 포함된 Cloud Healthcare API 데이터 세트의 위치입니다.
FHIR_STORE_ID
: Cloud Healthcare API FHIR R4 스토어의 ID입니다.
응답
다음과 비슷한 JSON 응답이 수신됩니다. 응답에는 장기 실행 작업의 식별자가 포함됩니다. 메서드 호출을 완료하는 데 상당한 시간이 걸릴 수 있는 경우 장기 실행 작업이 반환됩니다. IMPORT_OPERATION_ID 의 값을 확인합니다. 가져오기 상태를 확인 하려면 이 값이 필요합니다.
{
"name": "projects/PROJECT_ID /locations/us/collections/default_collection/dataStores/DATA_STORE_ID /branches/0/operations/IMPORT_OPERATION_ID ",
"metadata": {
"@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.ImportDocumentsMetadata"
}
}
FHIR 데이터 가져오기 작업이 완료되었는지 확인합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID /locations/us/collections/default_collection/dataStores/DATA_STORE_ID /branches/0/operations/IMPORT_OPERATION_ID "
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID
DATA_STORE_ID
: Vertex AI Search 데이터 스토어의 ID입니다.
IMPORT_OPERATION_ID
: import
메서드를 호출할 때 반환되는 장기 실행 작업의 작업 ID입니다.
응답
다음과 비슷한 JSON 응답이 수신됩니다.
가져오기 작업은 장기 실행 작업입니다. 작업이 실행되는 동안 응답에 다음 필드가 포함됩니다.
successCount
: 지금까지 성공적으로 가져온 FHIR 리소스 수를 나타냅니다.
failureCount
: 지금까지 가져오지 못한 FHIR 리소스 수를 나타냅니다. 이 필드는 가져오지 못한 FHIR 리소스가 있는 경우에만 표시됩니다.
작업이 완료되면 응답에 다음 필드가 포함됩니다.
successCount
: 성공적으로 가져온 FHIR 리소스 수를 나타냅니다.
failureCount
: 가져오지 못한 FHIR 리소스의 수를 나타냅니다. 이 필드는 가져오지 못한 FHIR 리소스가 있는 경우에만 표시됩니다.
totalCount
: 소스 FHIR 스토어에 있는 FHIR 리소스의 수를 나타냅니다. 이 필드는 가져오지 못한 FHIR 리소스가 있는 경우에만 표시됩니다.
done
: true
값이 있으면 가져오기 작업이 완료되었음을 나타냅니다.
errorSamples
: 가져오지 못한 리소스에 관한 정보를 제공합니다. 이 필드는 가져오지 못한 FHIR 리소스가 있는 경우에만 표시됩니다.
errorConfig
: 오류 요약 로그 파일이 포함된 Cloud Storage 위치에 대한 경로를 제공합니다.
{
"name": "projects/PROJECT_ID /locations/us/collections/default_collection/dataStores/DATA_STORE_ID /branches/0/operations/IMPORT_OPERATION_ID ",
"metadata": {
"@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.ImportDocumentsMetadata",
"createTime": "START_TIMESTAMP ",
"updateTime": "END_TIMESTAMP ",
"successCount": "SUCCESS_COUNT ",
"failureCount": "FAILURE_COUNT ",
"totalCount": "TOTAL_COUNT ",
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.ImportDocumentsResponse",
"errorSamples": [ERROR_SAMPLE ],
"errorConfig": {
"gcsPrefix": "LOG_FILE_LOCATION "
}
}
}