Após a importação inicial de dados para o repositório de dados de saúde da Vertex AI para Pesquisa, você pode ter realizado uma das seguintes atualizações na loja FHIR de origem:
- Foram adicionados novos recursos FHIR
- Atualização dos recursos FHIR
- Recursos FHIR excluídos
Nesses casos, é possível conciliar as mudanças da sua origem do armazenamento FHIR no armazenamento de dados de saúde da Vertex AI para Pesquisa.
Visão geral da reconciliação
É possível reconciliar as mudanças de forma incremental ou completa. Os dois modos são comparados na tabela a seguir.
Alterações no armazenamento FHIR de origem | Modo incremental | Modo completo |
---|---|---|
Novos recursos do FHIR | Adiciona novos documentos ao repositório de dados da Vertex AI para Pesquisa | Adiciona novos documentos ao repositório de dados da Vertex AI para Pesquisa |
Recursos FHIR atualizados | Substitui os documentos existentes no repositório de dados da Vertex AI para Pesquisa, mantendo o ID do documento | Substitui os documentos existentes no repositório de dados da Vertex AI para Pesquisa, mantendo o ID do documento |
Recursos FHIR excluídos | Não é conciliada | Remove os documentos correspondentes do repositório de dados da Vertex AI para Pesquisa |
Antes de começar
Revise as cotas e os limites do seu projeto Google Cloud . O repositório de dados de saúde da Vertex AI para Pesquisa pode conter no máximo um milhão de documentos por projeto. Se essa cota for atingida durante a importação, o processo será interrompido.
Fazer uma importação incremental
O exemplo a seguir mostra como importar mudanças incrementais de um armazenamento FHIR da API Cloud Healthcare usando o método
documents.import
.
Permissões exigidas para a tarefa
Conceda as permissões a seguir
ou os seguintes papéis do Gerenciamento de identidade e acesso (IAM)
à conta de serviço
service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
.
- Para importação única de dados FHIR de armazenamentos FHIR na API Cloud Healthcare.
Permissões
bigquery.jobs.create
bigquery.datasets.create
bigquery.tables.export
healthcare.datasets.get
healthcare.datasets.list
healthcare.fhirStores.get
healthcare.fhirStores.list
healthcare.fhirStores.export
Papéis
- Para importação de streaming de dados FHIR de armazenamentos FHIR na API Cloud Healthcare (pré-lançamento).
Permissões
healthcare.datasets.get
healthcare.datasets.list
healthcare.fhirStores.get
healthcare.fhirStores.update
healthcare.fhirStores.list
healthcare.fhirStores.export
healthcare.fhirResources.get
Papéis
- Para personalizar o esquema ao criar um repositório de dados (pré-lançamento) e configurar a capacidade de indexação,
pesquisa e recuperação de recursos e elementos do FHIR.
Permissões
storage.objects.create
storage.objects.delete
storage.objects.list
Papéis
- Para importar dados FHIR que fazem referência a arquivos em Google Cloud. Elas são concedidas por padrão se
os arquivos referenciados estiverem no mesmo Google Cloud projeto do app de pesquisa da Vertex AI.
Permissões
storage.objects.get
storage.buckets.create
Papéis
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:
PROJECT_ID
: o ID do projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados da Vertex AI para Pesquisa.CLOUD_HEALTHCARE_DATASET_ID
: o ID do conjunto de dados da API Cloud Healthcare que contém o armazenamento FHIR de origem.CLOUD_HEALTHCARE_DATASET_LOCATION
: o local do conjunto de dados da API Cloud Healthcare que contém o armazenamento de FHIR de origem.FHIR_STORE_ID
: o ID da loja FHIR R4 da API Cloud Healthcare.
Resposta
Você receberá uma resposta JSON semelhante a seguinte. A resposta contém um identificador para uma operação de longa duração. Operações de longa duração são retornadas quando as chamadas de método podem demorar um tempo significativo para serem concluídas. Observe o valor de IMPORT_OPERATION_ID. Você precisa desse valor para verificar o status da importação.
{ "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" } }Verifique se a operação de importação de dados FHIR foi 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:
PROJECT_ID
: o ID do projeto Google Cloud .DATA_STORE_ID
: o ID do repositório de dados da Vertex AI para Pesquisa.IMPORT_OPERATION_ID
: o ID da operação de longa duração que é retornado quando você chama o métodoimport
.
Resposta
Você receberá uma resposta JSON semelhante a seguinte. A operação de importação é de longa duração. Enquanto a operação está em execução, a resposta contém os seguintes campos:
successCount
: indica o número de recursos FHIR importados até o momento.failureCount
: indica o número de recursos FHIR que não foram importados até o momento. Esse campo é exibido apenas se houver recursos do FHIR que não puderam ser importados.
Quando a operação for concluída, a resposta vai conter os seguintes campos:
successCount
: indica o número de recursos FHIR importados.failureCount
: indica o número de recursos FHIR que não foram importados. Esse campo é exibido apenas se houver recursos do FHIR que não puderam ser importados.totalCount
: indica o número de recursos FHIR presentes no armazenamento FHIR de origem. Esse campo é exibido apenas se houver recursos do FHIR que não puderam ser importados.done
: tem o valortrue
para indicar que a operação de importação foi concluídaerrorSamples
: fornece informações sobre os recursos que não foram importados. Esse campo é exibido apenas se houver recursos do FHIR que não puderam ser importados.errorConfig
: fornece um caminho para um local do Cloud Storage que contém o arquivo de registro de resumo de erros.
{ "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 " } } }
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.