Esta página descreve como configurar um arquivo DICOM para exportar metadados de instâncias DICOM para uma tabela do BigQuery sempre que ocorrer uma das seguintes situações:
- Armazena uma instância DICOM através da transação de armazenamento ou da importação de objetos DICOM de um contentor do Cloud Storage.
- Elimina uma instância DICOM através de um pedido de eliminação.
- Altera a classe de armazenamento de uma instância DICOM.
A transmissão de metadados DICOM para uma tabela do BigQuery sincroniza a tabela com os seus dados DICOM para que possa executar consultas complexas na versão mais recente do seu arquivo DICOM.
Antes de começar
Antes de configurar o seu arquivo DICOM, conclua o seguinte
Defina as autorizações do BigQuery
Antes de transmitir metadados DICOM para o BigQuery, tem de conceder as autorizações necessárias à conta de serviço do agente do Cloud Healthcare . Para mais informações, consulte as autorizações do BigQuery para o arquivo DICOM.
Saiba como exportar metadados DICOM para o BigQuery
Antes de configurar o streaming, compreenda como exportar metadados DICOM para o BigQuery.
Configure o arquivo DICOM
Para ativar o streaming para o BigQuery, configure o objeto StreamConfig
na sua loja DICOM. No objeto StreamConfig
, defina o objeto BigQueryDestination
como um URI de tabela do BigQuery totalmente qualificado como destino de metadados de instância DICOM.
Pode especificar até cinco destinos do BigQuery como objetos JSON separados por vírgulas.
A eliminação de instâncias DICOM num arquivo DICOM não elimina as linhas do BigQuery que contêm os metadados dessas instâncias.
Consola
Para atualizar um arquivo DICOM para ativar o streaming do BigQuery, conclua os seguintes passos:
- Na Google Cloud consola, aceda à página Conjuntos de dados.
Aceder a conjuntos de dados - Selecione o conjunto de dados que contém o arquivo DICOM que quer editar.
- Selecione o armazenamento DICOM para o qual está a adicionar uma configuração de streaming.
- No separador Vista geral da página Detalhes do arquivo de dados, clique em Adicionar nova configuração de streaming.
- No campo Nova configuração de streaming, clique em Procurar.
- No painel Selecionar tabela, selecione uma tabela do BigQuery.
- Clique em Selecionar.
- Clique em Concluído.
REST
Os exemplos seguintes mostram como atualizar um arquivo DICOM para ativar o streaming do BigQuery. Nestes exemplos, o armazenamento DICOM e a tabela do BigQuery estão no mesmo projeto. Para exportar metadados DICOM para outro projeto, consulte o artigo Exportar metadados DICOM para um projeto diferente.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do arquivo DICOM
- DICOM_STORE_ID: o ID da loja DICOM
- BIGQUERY_DATASET_ID: o nome de um conjunto de dados do BigQuery existente
- BIGQUERY_TABLE_ID: um nome único para uma tabela no conjunto de dados do BigQuery. Consulte o artigo Nomenclatura de tabelas para ver os requisitos de nomenclatura. O conjunto de dados do BigQuery tem de existir, mas a Cloud Healthcare API pode atualizar uma tabela existente ou criar uma nova.
Corpo JSON do pedido:
{ 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID?updateMask=streamConfigs"
PowerShell
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID?updateMask=streamConfigs" | Select-Object -Expand Content
Explorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Metadados de eliminação
Nas versões anteriores da Cloud Healthcare API, os metadados de instâncias DICOM só eram exportados para o BigQuery quando uma instância DICOM era inserida num arquivo DICOM. Quando a gravação de metadados para eliminações foi adicionada, foram adicionadas duas novas colunas, denominadas Type
e LastUpdated
, à tabela gerada que contém os metadados DICOM.
Todos os metadados na tabela que existiam antes da introdução dos metadados de eliminação têm um valor NULL
para estas colunas. Um NULL
é o valor mais baixo e
aparece por último quando a ordenação é feita por ordem descendente.
Visualização do BigQuery gerada
Quando insere ou elimina uma instância DICOM num arquivo DICOM, a tabela do BigQuery configurada é atualizada.
Se não existir uma vista da tabela, a vista é criada. Caso contrário, a visualização de propriedade é atualizada.
Limitações e comportamento adicional
Podem faltar algumas etiquetas DICOM nos metadados exportados. Se for o caso, as etiquetas em falta são adicionadas a uma coluna separada denominada DroppedTags.TagName
na tabela do BigQuery de destino.
As etiquetas estão em falta por um dos seguintes motivos:
- A etiqueta DICOM é um VR não suportado listado em VRs excluídos.
- A etiqueta DICOM excede aproximadamente 1 MB.
- O número de colunas na tabela do BigQuery de destino excede o número máximo de colunas.
Quando a exportação de metadados DICOM para uma tabela do BigQuery excede o limite de colunas, as etiquetas DICOM que não correspondem a uma coluna existente são adicionadas à coluna
DroppedTags.Name
. Se não for possível adicionar a colunaDroppedTags
, as etiquetas DICOM são ignoradas sem uma notificação e é gerado um registo de aviso. Para mais informações, consulte o artigo Resolução de problemas de pedidos de streaming DICOM para ver registos.
Incorpore metadados de eliminação numa tabela existente
O comportamento da vista gerada depende se a respetiva tabela base contém metadados adicionados antes da introdução da funcionalidade de metadados de eliminação.
Suponhamos que uma tabela do BigQuery contém metadados DICOM de antes de os metadados de eliminação serem suportados e, em seguida, ocorre o seguinte:
- Inserir uma instância DICOM num arquivo DICOM.
- Elimina a instância DICOM da loja DICOM.
- Edita as etiquetas da instância DICOM original e insere a instância DICOM modificada no arquivo DICOM.
Uma vez que a tabela do BigQuery continha os metadados originais antes de os metadados de eliminação serem suportados, a instância DICOM original e a respetiva versão editada têm os mesmos identificadores únicos (UID) de estudos, séries e instâncias. A vista gerada pode conter a instância DICOM original ou a instância DICOM mais recente. Sem a coluna LastUpdated
, a vista não consegue identificar qual instância DICOM é mais recente.
Para garantir que está a consultar os metadados da instância DICOM mais recentes, faça uma das seguintes ações:
- Consulte a tabela base em vez da vista. Certifique-se de que a consulta pesquisa as etiquetas atualizadas na instância DICOM editada.
Elimine a tabela existente que contém metadados DICOM e, em seguida, recrie-a exportando manualmente os metadados DICOM para o BigQuery. A tabela recriada contém a coluna
LastUpdated
.Esta opção remove os metadados de streaming do histórico, mas garante que a tabela contém a coluna
LastUpdated
com valores válidos.
Resolva problemas de pedidos de streaming DICOM
Se ocorrerem erros durante um pedido de metadados de exportação DICOM para o BigQuery, os erros são registados no Cloud Logging. Para mais informações, consulte Ver registos de erros nos Registos na nuvem.
Para filtrar os registos de erros de metadados DICOM de streaming na Google Cloud consola, conclua os seguintes passos:
Aceda à página Explorador de registos.
No campo Consulta, introduza a seguinte consulta:
logName="healthcare.googleapis.com%2Fdicom_stream"
Clique em Executar consulta.
Todos os registos de erros são apresentados na secção Resultados da consulta.