Atualize os dados de cuidados de saúde

Após a importação inicial de dados para o seu arquivo de dados de cuidados de saúde do Vertex AI Search, pode ter feito qualquer uma das seguintes atualizações no seu arquivo FHIR de origem:

  • Foram adicionados novos recursos FHIR
  • Recursos FHIR existentes atualizados
  • Recursos FHIR eliminados

Nestes casos, pode conciliar as alterações da sua origem FHIR store na Vertex AI Search healthcare data store.

Vista geral da conciliação

Pode conciliar as alterações de forma incremental ou total. Os dois modos são comparados na tabela seguinte.

Alterações à loja FHIR de origem Modo incremental Modo completo
Novos recursos FHIR Adiciona novos documentos ao repositório de dados do Vertex AI Search Adiciona novos documentos ao repositório de dados do Vertex AI Search
Recursos FHIR atualizados Substitui os documentos existentes no arquivo de dados do Vertex AI Search, mantendo o ID do documento Substitui os documentos existentes no arquivo de dados do Vertex AI Search, mantendo o ID do documento
Recursos FHIR eliminados Não reconcilia Remove os documentos correspondentes do seu repositório de dados do Vertex AI Search

Antes de começar

Reveja as quotas e os limites do seu Google Cloud projeto. O seu arquivo de dados de cuidados de saúde do Vertex AI Search pode conter um máximo de 1 milhão de documentos por projeto. Se esta quota for atingida durante a importação, o processo de importação é interrompido.

Faça uma importação incremental

O exemplo seguinte mostra como importar alterações incrementais de uma loja FHIR da API Cloud Healthcare através do método documents.import.

REST

  1. Faça uma importação incremental.

    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"}
    }'
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • DATA_STORE_ID: o ID do arquivo de dados do Vertex AI Search.
    • CLOUD_HEALTHCARE_DATASET_ID: o ID do conjunto de dados da Cloud Healthcare API que contém o FHIR store de origem.
    • CLOUD_HEALTHCARE_DATASET_LOCATION: a localização do conjunto de dados da Cloud Healthcare API que contém o FHIR store de origem.
    • FHIR_STORE_ID: o ID do arquivo FHIR R4 da Cloud Healthcare API.
  2. Verifique se a operação de importação de dados FHIR está concluída.

    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"
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • DATA_STORE_ID: o ID do arquivo de dados do Vertex AI Search.
    • IMPORT_OPERATION_ID: o ID da operação de longa duração devolvido quando chama o método import.

Python

Para mais informações, consulte a documentação de referência da API Python de aplicações de IA.

Para se autenticar em aplicações de IA, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "us"
# data_store_id = "YOUR_DATA_STORE_ID"
# healthcare_project_id = "YOUR_HEALTHCARE_PROJECT_ID"
# healthcare_location = "YOUR_HEALTHCARE_LOCATION"
# healthcare_dataset_id = "YOUR_HEALTHCARE_DATASET_ID"
# healthcare_fihr_store_id = "YOUR_HEALTHCARE_FHIR_STORE_ID"

#  For more information, refer to:
# https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
client_options = (
    ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
    if location != "global"
    else None
)

# Create a client
client = discoveryengine.DocumentServiceClient(client_options=client_options)

# The full resource name of the search engine branch.
# e.g. projects/{project}/locations/{location}/dataStores/{data_store_id}/branches/{branch}
parent = client.branch_path(
    project=project_id,
    location=location,
    data_store=data_store_id,
    branch="default_branch",
)

request = discoveryengine.ImportDocumentsRequest(
    parent=parent,
    fhir_store_source=discoveryengine.FhirStoreSource(
        fhir_store=client.fhir_store_path(
            healthcare_project_id,
            healthcare_location,
            healthcare_dataset_id,
            healthcare_fihr_store_id,
        ),
    ),
    # Options: `FULL`, `INCREMENTAL`
    reconciliation_mode=discoveryengine.ImportDocumentsRequest.ReconciliationMode.INCREMENTAL,
)

# Make the request
operation = client.import_documents(request=request)

print(f"Waiting for operation to complete: {operation.operation.name}")
response = operation.result()

# After the operation is complete,
# get information from operation metadata
metadata = discoveryengine.ImportDocumentsMetadata(operation.metadata)

# Handle the response
print(response)
print(metadata)