Como exportar metadados de DICOM para o BigQuery

Nesta página, explicamos como exportar metadados do DICOM para o BigQuery para exploração e análise. Para informações sobre o esquema do BigQuery criado ao exportar metadados do DICOM, consulte Noções básicas sobre o esquema DICOM do BigQuery.

Como configurar permissões do BigQuery

Antes de exportar metadados DICOM para uma tabela do BigQuery, conceda permissões extras à conta de serviço do Agente de serviço do Cloud Healthcare. Para mais informações, consulte Permissões do BigQuery para armazenar DICOM.

Como configurar o destino do BigQuery

Ao definir o destino do BigQuery, use o URI totalmente qualificado, da seguinte forma:
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
O comportamento da operação de exportação pode variar dependendo destes fatores:
  • Se a tabela de destino já existe
  • se você definiu o campo force (usando a API) ou a sinalização --overwrite-table (usando a Google Cloud CLI);
  • Se você definiu um valor para o enum writeDisposition. Se você usar a enumeração writeDisposition, não defina o campo force.
O comportamento em cada um desses casos é o seguinte:
  • Se a tabela de destino já existir e force estiver definida como true ou a sinalização --overwrite-table for especificada, a operação de exportação substituirá a tabela atual.
  • Se a tabela de destino já existir e force estiver definida como false ou a sinalização --overwrite-table não for especificada, ocorrerá um erro.
  • Se a tabela de destino ainda não existir, uma nova tabela será criada, independentemente de você especificar o campo force ou a sinalização --overwrite-table.
  • O comportamento de writeDisposition está descrito na documentação. O enum writeDisposition executa um comportamento semelhante ao das opções ao usar force, com a seguinte exceção: se a tabela de destino já existir e estiver vazia, a operação de exportação será concluída em vez de retornar um erro.

Como exportar metadados DICOM

Nas amostras a seguir, veja como exportar metadados DICOM para uma tabela do BigQuery. Nestas amostras, o armazenamento DICOM e a tabela do BigQuery estão no mesmo projeto. Para exportar metadados DICOM para uma tabela do BigQuery em outro projeto, consulte Como exportar metadados DICOM para um projeto diferente.

Console

Para exportar metadados do DICOM para uma tabela do BigQuery, siga estas etapas:

  1. No console do Google Cloud, acesse a página Conjuntos de dados.

    Acessar conjuntos de dados

  2. Clique no conjunto de dados que tem o repositório DICOM com os metadados que você está exportando.

  3. Na mesma linha do armazenamento DICOM, abra a lista Ações e selecione Exportar.

  4. Na página Exportar repositório DICOM que é exibida, selecione Tabela do BigQuery.

  5. No campo Project, clique em Browse e selecione o projeto.

  6. Na lista Conjunto de dados, selecione o conjunto de dados do BigQuery para onde você está exportando metadados DICOM.

  7. No campo Tabela, insira um nome para a tabela. O BigQuery verifica cada seleção para garantir que a tabela de destino seja válida.

  8. Na seção Disposição de gravação na tabela de destino, selecione uma das seguintes opções. Essas opções correspondem ao tipo enumerado WriteDisposition.

    • Exportar dados apenas se a tabela de destino estiver vazia: equivalente a WRITE_EMPTY
    • Anexar dados à tabela de destino: equivalente a WRITE_APPEND
    • Apagar todos os dados na tabela de destino antes de gravar as instâncias: equivalente a WRITE_TRUNCATE.
  9. Clique em Exportar para exportar os metadados DICOM para a tabela do BigQuery.

  10. Para acompanhar o status da operação, clique na guia Operações. Após a conclusão da operação, as seguintes indicações serão exibidas:
    • A seção Status da operação de longa duração tem uma marca de seleção verde no cabeçalho OK.
    • A seção Visão geral tem uma marca de seleção verde e um indicador OK na mesma linha do ID da operação.
    Se você encontrar erros, clique em Ações e depois em Ver detalhes no Cloud Logging.

gcloud

Para exportar metadados DICOM para uma tabela do BigQuery, execute o comando gcloud healthcare dicom-stores export bq.

  1. Exportar os metadados DICOM.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • DICOM_STORE_ID: o ID do repositório DICOM
    • BIGQUERY_DATASET_ID: o nome de um conjunto de dados atual do BigQuery para o qual você está exportando metadados DICOM
    • BIGQUERY_TABLE_ID: o nome de uma tabela nova ou atual no conjunto de dados do BigQuery. Se a operação de exportação estiver criando uma nova tabela, consulte os requisitos de nome em Nomenclatura da tabela.
    • WRITE_DISPOSITION: um valor para o tipo enumerado WriteDisposition. Use um dos seguintes valores:
      • write-empty: só exporta dados se a tabela do BigQuery estiver vazia.
      • write-truncate: apaga todos os dados atuais na tabela do BigQuery antes de gravar as instâncias DICOM.
      • write-append: anexar dados à tabela do BigQuery.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud healthcare dicom-stores export bq DICOM_STORE_ID \
      --location=LOCATION \
      --dataset=DATASET_ID \
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID \
      --write-disposition=WRITE_DISPOSITION
    

    Windows (PowerShell)

    gcloud healthcare dicom-stores export bq DICOM_STORE_ID `
      --location=LOCATION `
      --dataset=DATASET_ID `
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID `
      --write-disposition=WRITE_DISPOSITION
    

    Windows (cmd.exe)

    gcloud healthcare dicom-stores export bq DICOM_STORE_ID ^
      --location=LOCATION ^
      --dataset=DATASET_ID ^
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID ^
      --write-disposition=WRITE_DISPOSITION
    
    A resposta é 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. O comando pesquisa a operação de longa duração e imprime o nome da operação no campo name após a conclusão da exportação. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

    Resposta

    Request issued for: [DICOM_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
    

  2. Para mais detalhes sobre a operação, execute o comando gcloud healthcare operations describe e forneça o OPERATION_ID da resposta:

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • DATASET_ID: o ID do conjunto de dados;
    • LOCATION: o local do conjunto de dados;
    • OPERATION_ID: o ID retornado da operação de longa duração.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud healthcare operations describe OPERATION_ID \
        --project=PROJECT_ID \
        --dataset=DATASET_ID \
        --location=LOCATION
    

    Windows (PowerShell)

    gcloud healthcare operations describe OPERATION_ID `
        --project=PROJECT_ID `
        --dataset=DATASET_ID `
        --location=LOCATION
    

    Windows (cmd.exe)

    gcloud healthcare operations describe OPERATION_ID ^
        --project=PROJECT_ID ^
        --dataset=DATASET_ID ^
        --location=LOCATION
    

    Você receberá uma resposta semelhante a esta:

    Resposta

    done: true
    // If there were any errors, an `error` field displays instead of a `response` field.
    // See Troubleshooting long-running operations for a list of response codes.
    error: ERROR
      code: ERROR_CODE
      message: DESCRIPTION
    metadata:
      '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata'
      apiMethodName: 'google.cloud.healthcare.v1.dicom.DicomService.ExportDicomData_bq'
      counter:
        success: 'SUCCESS_COUNT'
        // If there were any failures, they display in the `failure` field.
        failure: 'FAILURE_COUNT'
      createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
    // The `response` field only displays if there were no errors.
    response:
      '@type': 'type.googleapis.com/google.protobuf.Empty'
    

REST

Para exportar metadados do DICOM para uma tabela do BigQuery, use o método projects.locations.datasets.dicomStores.export.

  1. Exportar os metadados DICOM.

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • DICOM_STORE_ID: o ID do repositório DICOM
    • BIGQUERY_DATASET_ID: o nome de um conjunto de dados atual do BigQuery para o qual você está exportando metadados DICOM
    • BIGQUERY_TABLE_ID: o nome de uma tabela nova ou atual no conjunto de dados do BigQuery. Se a operação de exportação estiver criando uma nova tabela, consulte os requisitos de nome em Nomenclatura da tabela.
    • WRITE_DISPOSITION: um valor para o tipo enumerado WriteDisposition. Use um dos seguintes valores:
      • WRITE_EMPTY: só exporta dados se a tabela do BigQuery estiver vazia.
      • WRITE_TRUNCATE: apaga todos os dados atuais na tabela do BigQuery antes de gravar as instâncias DICOM.
      • WRITE_APPEND: anexar dados à tabela do BigQuery.

    Solicitar corpo JSON:

    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo chamado request.json. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:

    cat > request.json << 'EOF'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    EOF

    Depois execute o comando a seguir para enviar a solicitação REST:

    curl -X POST \
    -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:export"

    PowerShell

    Salve o corpo da solicitação em um arquivo chamado request.json. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:

    @'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Depois execute o comando a seguir para enviar a solicitação REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -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:export" | Select-Object -Expand Content

    APIs Explorer

    Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.

    A saída é esta. A resposta contém um identificador para uma operação de longa duração (LRO, na sigla em inglês). Operações de longa duração são retornadas quando as chamadas de método podem levar mais tempo para serem concluídas. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

  2. Use o método projects.locations.datasets.operations.get para ver o status da operação de longa duração.

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • DATASET_ID: o ID do conjunto de dados;
    • LOCATION: o local do conjunto de dados;
    • OPERATION_ID: o ID retornado da operação de longa duração.

    Para enviar a solicitação, escolha uma destas opções:

    curl

    execute o seguinte comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.

    A saída é esta. Quando a resposta contiver "done": true, a operação de longa duração será concluída.

Como exportar metadados DICOM para um projeto diferente

Para exportar metadados DICOM de um repositório DICOM em um projeto para um conjunto de dados do BigQuery em outro projeto, consulte Como exportar metadados DICOM para outras permissões de projeto para informações sobre como definir permissões do IAM no projeto de destino.

gcloud

Para exportar metadados DICOM de um armazenamento DICOM em um projeto para uma tabela do BigQuery em outro projeto, use o comando gcloud healthcare dicom-stores export bq.

  1. Exportar os metadados DICOM.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • SOURCE_PROJECT_ID: o ID do projeto de origem do Google Cloud.
    • SOURCE_LOCATION: o local do conjunto de dados de origem.
    • SOURCE_DATASET_ID: o conjunto de dados pai do repositório DICOM de origem
    • SOURCE_DICOM_STORE_ID: o ID do repositório DICOM de origem
    • DESTINATION_PROJECT_ID: o ID do projeto diferente.
    • DESTINATION_BIGQUERY_DATASET_ID: o nome de um conjunto de dados atual do BigQuery no projeto de destino para onde você está exportando metadados DICOM
    • DESTINATION_BIGQUERY_TABLE_ID: o nome de uma tabela nova ou atual no conjunto de dados do BigQuery. Se a operação de exportação estiver criando uma nova tabela, consulte os requisitos de nome em Nomenclatura da tabela.
    • WRITE_DISPOSITION: um valor para o tipo enumerado WriteDisposition. Use um dos seguintes valores:
      • write-empty: só exporta dados se a tabela do BigQuery estiver vazia.
      • write-truncate: apaga todos os dados atuais na tabela do BigQuery antes de gravar as instâncias DICOM.
      • write-append: anexar dados à tabela do BigQuery.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud healthcare dicom-stores export bq SOURCE_DICOM_STORE_ID \
      --project=SOURCE_PROJECT_ID \
      --location=SOURCE_LOCATION \
      --dataset=SOURCE_DATASET_ID \
      --bq-table=bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID \
      --write-disposition=WRITE_DISPOSITION
    

    Windows (PowerShell)

    gcloud healthcare dicom-stores export bq SOURCE_DICOM_STORE_ID `
      --project=SOURCE_PROJECT_ID `
      --location=SOURCE_LOCATION `
      --dataset=SOURCE_DATASET_ID `
      --bq-table=bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID `
      --write-disposition=WRITE_DISPOSITION
    

    Windows (cmd.exe)

    gcloud healthcare dicom-stores export bq SOURCE_DICOM_STORE_ID ^
      --project=SOURCE_PROJECT_ID ^
      --location=SOURCE_LOCATION ^
      --dataset=SOURCE_DATASET_ID ^
      --bq-table=bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID ^
      --write-disposition=WRITE_DISPOSITION
    
    A resposta é 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. O comando pesquisa a operação de longa duração e imprime o nome da operação no campo name após a conclusão da exportação. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

    Resposta

    Request issued for: [SOURCE_DICOM_STORE_ID]
    Waiting for operation [projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID] to complete...⠏
    name: projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
    

  2. Para mais detalhes sobre a operação, execute o comando gcloud healthcare operations describe e forneça o OPERATION_ID da resposta:

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • SOURCE_PROJECT_ID: o ID do projeto de origem do Google Cloud.
    • SOURCE_LOCATION: o local do conjunto de dados de origem.
    • SOURCE_DATASET_ID: o ID do conjunto de dados de origem.
    • OPERATION_ID: o ID retornado da operação de longa duração.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud healthcare operations describe OPERATION_ID \
        --project=SOURCE_PROJECT_ID \
        --dataset=SOURCE_DATASET_ID \
        --location=SOURCE_LOCATION
    

    Windows (PowerShell)

    gcloud healthcare operations describe OPERATION_ID `
        --project=SOURCE_PROJECT_ID `
        --dataset=SOURCE_DATASET_ID `
        --location=SOURCE_LOCATION
    

    Windows (cmd.exe)

    gcloud healthcare operations describe OPERATION_ID ^
        --project=SOURCE_PROJECT_ID ^
        --dataset=SOURCE_DATASET_ID ^
        --location=SOURCE_LOCATION
    

    Você receberá uma resposta semelhante a esta:

    Resposta

    done: true
    // If there were any errors, an `error` field displays instead of a `response` field.
    // See Troubleshooting long-running operations for a list of response codes.
    error: ERROR
      code: ERROR_CODE
      message: DESCRIPTION
    metadata:
      '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata'
      apiMethodName: 'google.cloud.healthcare.v1.dicom.DicomService.ExportDicomData_bq'
      counter:
        success: 'SUCCESS_COUNT'
        // If there were any failures, they display in the `failure` field.
        failure: 'FAILURE_COUNT'
      createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL
    name: projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
    // The `response` field only displays if there were no errors.
    response:
      '@type': 'type.googleapis.com/google.protobuf.Empty'
    

REST

Para exportar metadados DICOM de um armazenamento DICOM em um projeto para uma tabela do BigQuery em outro, use o método projects.locations.datasets.dicomStores.export.

  1. Exportar os metadados DICOM.

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • SOURCE_PROJECT_ID: o ID do projeto de origem do Google Cloud.
    • SOURCE_LOCATION: o local do conjunto de dados de origem.
    • SOURCE_DATASET_ID: o conjunto de dados pai do repositório DICOM de origem
    • SOURCE_DICOM_STORE_ID: o ID do repositório DICOM de origem
    • DESTINATION_PROJECT_ID: o ID do projeto diferente.
    • DESTINATION_BIGQUERY_DATASET_ID: o nome de um conjunto de dados atual do BigQuery no projeto de destino para onde você está exportando metadados DICOM
    • DESTINATION_BIGQUERY_TABLE_ID: o nome de uma tabela nova ou atual no conjunto de dados do BigQuery. Se a operação de exportação estiver criando uma nova tabela, consulte os requisitos de nome em Nomenclatura da tabela.
    • WRITE_DISPOSITION: um valor para o tipo enumerado WriteDisposition. Use um dos seguintes valores:
      • WRITE_EMPTY: só exporta dados se a tabela do BigQuery estiver vazia.
      • WRITE_TRUNCATE: apaga todos os dados atuais na tabela do BigQuery antes de gravar as instâncias DICOM.
      • WRITE_APPEND: anexar dados à tabela do BigQuery.

    Solicitar corpo JSON:

    {
      "bigqueryDestination": {
          "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo chamado request.json. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:

    cat > request.json << 'EOF'
    {
      "bigqueryDestination": {
          "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    EOF

    Depois execute o comando a seguir para enviar a solicitação REST:

    curl -X POST \
    -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/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:export"

    PowerShell

    Salve o corpo da solicitação em um arquivo chamado request.json. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:

    @'
    {
      "bigqueryDestination": {
          "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Depois execute o comando a seguir para enviar a solicitação REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:export" | Select-Object -Expand Content

    APIs Explorer

    Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.

    A saída é esta. A resposta contém um identificador para uma operação de longa duração (LRO, na sigla em inglês). Operações de longa duração são retornadas quando as chamadas de método podem levar mais tempo para serem concluídas. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

  2. Use o método projects.locations.datasets.operations.get para ver o status da operação de longa duração.

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • SOURCE_PROJECT_ID: o ID do projeto de origem do Google Cloud.
    • SOURCE_LOCATION: o local do conjunto de dados de origem.
    • SOURCE_DATASET_ID: o ID do conjunto de dados de origem.
    • OPERATION_ID: o ID retornado da operação de longa duração.

    Para enviar a solicitação, escolha uma destas opções:

    curl

    execute o seguinte comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.

    A saída é esta. Quando a resposta contiver "done": true, a operação de longa duração será concluída.

Como exportar metadados do DICOM usando filtros

Por padrão, quando você exporta arquivos DICOM para o Cloud Storage, todos os arquivos DICOM no armazenamento DICOM especificado são exportados. Da mesma forma, ao exportar metadados DICOM para o BigQuery, os metadados de todos os dados DICOM no armazenamento DICOM especificado são exportados.

É possível exportar um subconjunto de dados ou metadados DICOM usando um filtro. O filtro é definido em um arquivo de filtro.

Como configurar arquivos de filtro

Um arquivo de filtro define quais arquivos DICOM devem ser exportados para o Cloud Storage ou o BigQuery. É possível filtrar arquivos nos seguintes níveis:

  • No nível do estudo
  • No nível da série
  • No nível da instância

O arquivo de filtro é composto de várias linhas, cada uma definindo o estudo, a série ou a instância que você quer exportar. Cada linha usa o formato /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]].

Se um estudo, uma série ou uma instância não estiver especificado no arquivo de filtro ao usar o arquivo de filtro, esse estudo, série ou instância não vai ser exportado.

Apenas a parte /studies/STUDY_UID do caminho é obrigatória. É possível exportar um estudo inteiro especificando /studies/STUDY_UID. Você também pode exportar uma série inteira especificando /studies/STUDY_UID/series/SERIES_UID.

Considere o arquivo de filtro a seguir. O arquivo de filtro vai resultar na exportação de um estudo, duas séries e três instâncias individuais:

/studies/1.123.456.789
/studies/1.666.333.111/series/123.456
/studies/1.666.333.111/series/567.890
/studies/1.888.999.222/series/123.456/instances/111
/studies/1.888.999.222/series/123.456/instances/222
/studies/1.888.999.222/series/123.456/instances/333

Como criar um arquivo de filtro usando o BigQuery

Normalmente, você cria um arquivo de filtro exportando os metadados de um armazenamento DICOM para o BigQuery. Isso permite que você use o BigQuery para ver os UIDs de estudo, série e instância dos dados DICOM no seu armazenamento DICOM. Depois, siga estas etapas:

  1. Consultar os UIDs de estudo, série e instância que você tem interesse. Por exemplo, depois de exportar os metadados DICOM para o BigQuery, execute a consulta a seguir para concatenar os UIDs de estudo, série e instância em um formato aceito pelos requisitos do arquivo de filtro:
    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
    
  2. Se a consulta retornar um grande conjunto de resultados, é possível materializar uma nova tabela salvando os resultados da consulta em uma tabela de destino no BigQuery.
  3. Se você salvou os resultados da consulta em uma tabela de destino, é possível salvar o conteúdo dela em um arquivo e exportá-lo para o Cloud Storage. Para ver as etapas de como fazer isso, consulte Como exportar dados da tabela. O arquivo exportado é seu arquivo de filtro. Use o local do arquivo de filtro no Cloud Storage ao especificar o filtro na operação de exportação.

Como criar um arquivo de filtro manualmente

É possível criar um arquivo de filtro com conteúdo personalizado e fazer o upload dele para um bucket do Cloud Storage. Use o local do arquivo de filtro no Cloud Storage ao especificar o filtro na operação de exportação. Na amostra a seguir, você verá como fazer upload de um arquivo de filtro para um bucket do Cloud Storage usando o comando gsutil cp:
gsutil cp FILTER_FILE gs://BUCKET

Passar no arquivo de filtros

Depois de criar um arquivo de filtro, você pode chamar a operação de exportação DICOM e transmiti-lo usando a API REST. Veja nas amostras a seguir como exportar metadados DICOM usando um filtro.

gcloud

Para exportar metadados DICOM para uma tabela do BigQuery usando um filtro, execute o comando gcloud beta healthcare dicom-stores export bq.

  1. Exportar os metadados DICOM.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • DICOM_STORE_ID: o ID do repositório DICOM
    • BIGQUERY_DATASET_ID: o nome de um conjunto de dados atual do BigQuery para o qual você está exportando metadados DICOM
    • BIGQUERY_TABLE_ID: o nome de uma tabela nova ou atual no conjunto de dados do BigQuery. Se a operação de exportação estiver criando uma nova tabela, consulte os requisitos de nome em Nomenclatura da tabela.
    • BUCKET: o nome do bucket do Cloud Storage que contém o arquivo do filtro. Se o arquivo de filtro estiver em um diretório, inclua o diretório no caminho.
    • FILTER_FILE: o local e o nome do arquivo de filtro em um bucket do Cloud Storage
    • WRITE_DISPOSITION: um valor para o tipo enumerado WriteDisposition. Use um dos seguintes valores:
      • write-empty: só exporta dados se a tabela do BigQuery estiver vazia.
      • write-truncate: apaga todos os dados atuais na tabela do BigQuery antes de gravar as instâncias DICOM.
      • write-append: anexar dados à tabela do BigQuery.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud beta healthcare dicom-stores export bq DICOM_STORE_ID \
      --location=LOCATION \
      --dataset=DATASET_ID \
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID \
      --filter-config-gcs-uri=gs://BUCKET/FILTER_FILE \
      --write-disposition=WRITE_DISPOSITION
    

    Windows (PowerShell)

    gcloud beta healthcare dicom-stores export bq DICOM_STORE_ID `
      --location=LOCATION `
      --dataset=DATASET_ID `
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID `
      --filter-config-gcs-uri=gs://BUCKET/FILTER_FILE `
      --write-disposition=WRITE_DISPOSITION
    

    Windows (cmd.exe)

    gcloud beta healthcare dicom-stores export bq DICOM_STORE_ID ^
      --location=LOCATION ^
      --dataset=DATASET_ID ^
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID ^
      --filter-config-gcs-uri=gs://BUCKET/FILTER_FILE ^
      --write-disposition=WRITE_DISPOSITION
    
    A resposta é 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. O comando pesquisa a operação de longa duração e imprime o nome da operação no campo name após a conclusão da exportação. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

    Resposta

    Request issued for: [DICOM_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
    

  2. Para mais detalhes sobre a operação, execute o comando gcloud healthcare operations describe e forneça o OPERATION_ID da resposta:

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • DATASET_ID: o ID do conjunto de dados;
    • LOCATION: o local do conjunto de dados;
    • OPERATION_ID: o ID retornado da operação de longa duração.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud healthcare operations describe OPERATION_ID \
        --project=PROJECT_ID \
        --dataset=DATASET_ID \
        --location=LOCATION
    

    Windows (PowerShell)

    gcloud healthcare operations describe OPERATION_ID `
        --project=PROJECT_ID `
        --dataset=DATASET_ID `
        --location=LOCATION
    

    Windows (cmd.exe)

    gcloud healthcare operations describe OPERATION_ID ^
        --project=PROJECT_ID ^
        --dataset=DATASET_ID ^
        --location=LOCATION
    

    Você receberá uma resposta semelhante a esta:

    Resposta

    done: true
    // If there were any errors, an `error` field displays instead of a `response` field.
    // See Troubleshooting long-running operations for a list of response codes.
    error: ERROR
      code: ERROR_CODE
      message: DESCRIPTION
    metadata:
      '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata'
      apiMethodName: 'google.cloud.healthcare.v1.dicom.DicomService.ExportDicomData_bq'
      counter:
        success: 'SUCCESS_COUNT'
        // If there were any failures, they display in the `failure` field.
        failure: 'FAILURE_COUNT'
      createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL
    name: projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
    // The `response` field only displays if there were no errors.
    response:
      '@type': 'type.googleapis.com/google.protobuf.Empty'
    

REST

Para exportar metadados do DICOM para uma tabela do BigQuery usando um filtro, use o método projects.locations.datasets.dicomStores.export.

  1. Exportar os metadados DICOM.

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • DICOM_STORE_ID: o ID do repositório DICOM
    • BIGQUERY_DATASET_ID: o nome de um conjunto de dados atual do BigQuery para o qual você está exportando metadados DICOM
    • BIGQUERY_TABLE_ID: o nome de uma tabela nova ou atual no conjunto de dados do BigQuery. Se a operação de exportação estiver criando uma nova tabela, consulte os requisitos de nome em Nomenclatura da tabela.
    • BUCKET: o nome do bucket do Cloud Storage que contém o arquivo do filtro. Se o arquivo de filtro estiver em um diretório, inclua o diretório no caminho.
    • FILTER_FILE: o local e o nome do arquivo de filtro em um bucket do Cloud Storage
    • WRITE_DISPOSITION: um valor para o tipo enumerado WriteDisposition. Use um dos seguintes valores:
      • WRITE_EMPTY: só exporta dados se a tabela do BigQuery estiver vazia.
      • WRITE_TRUNCATE: apaga todos os dados atuais na tabela do BigQuery antes de gravar as instâncias DICOM.
      • WRITE_APPEND: anexar dados à tabela do BigQuery.

    Solicitar corpo JSON:

    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      },
      "filterConfig": {
          "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE"
      }
    }
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo chamado request.json. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:

    cat > request.json << 'EOF'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      },
      "filterConfig": {
          "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE"
      }
    }
    EOF

    Depois execute o comando a seguir para enviar a solicitação REST:

    curl -X POST \
    -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:export"

    PowerShell

    Salve o corpo da solicitação em um arquivo chamado request.json. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:

    @'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      },
      "filterConfig": {
          "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Depois execute o comando a seguir para enviar a solicitação REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -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:export" | Select-Object -Expand Content

    APIs Explorer

    Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.

    A saída é esta. A resposta contém um identificador para uma operação de longa duração (LRO, na sigla em inglês). Operações de longa duração são retornadas quando as chamadas de método podem levar mais tempo para serem concluídas. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

  2. Use o método projects.locations.datasets.operations.get para ver o status da operação de longa duração.

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • PROJECT_ID: o ID do seu projeto do Google Cloud;
    • DATASET_ID: o ID do conjunto de dados;
    • LOCATION: o local do conjunto de dados;
    • OPERATION_ID: o ID retornado da operação de longa duração.

    Para enviar a solicitação, escolha uma destas opções:

    curl

    execute o seguinte comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    APIs Explorer

    Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.

    A saída é esta. Quando a resposta contiver "done": true, a operação de longa duração será concluída.

Como consultar e analisar dados DICOM no BigQuery

Depois de exportar os metadados DICOM para uma tabela do BigQuery, é possível executar consultas de amostra para receber mais detalhes sobre os metadados. Os exemplos a seguir mostram como executar consultas em alguns casos de uso comuns.

Como pesquisar em metadados

Suponha que você queira pesquisar uma grande quantidade de metadados difíceis de pesquisar em outros sistemas, como um sistema de comunicação e arquivamento de imagem (PACS, na sigla em inglês) ou um arquivo neutro de fornecedor (VNA, na sigla em inglês). A consulta a seguir mostra como consultar o valor PatientID de um paciente e usar o caminho DICOMweb para recuperar instâncias de imagem específicas. A amostra usa a tabela chc-nih-chest-xray.nih_chest_xray.nih_chest_xray do conjunto de dados NIH Chest X-ray.

#standardSQL
SELECT CONCAT('/dicomWeb/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID) as DICOMwebPath
FROM `chc-nih-chest-xray.nih_chest_xray.nih_chest_xray`
WHERE PatientID = '19045';

A consulta retorna os estudos associados ao paciente. A resposta a seguir usa a formatação JSON:

[
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.169629990647803559688464142879817265366193/series/1.3.6.1.4.1.11129.5.5.141990184899344268273968625887396932057061/instances/1.3.6.1.4.1.11129.5.5.162448513493627342869165322873398445570578"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.114160532832901355654444239008681456919023/series/1.3.6.1.4.1.11129.5.5.178361108150351071908200174504411112440700/instances/1.3.6.1.4.1.11129.5.5.145959606905209488520697484018030440952428"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.177801331756958922168115732894519725643007/series/1.3.6.1.4.1.11129.5.5.134128639331055702643451404466208677561042/instances/1.3.6.1.4.1.11129.5.5.148534317486838863760908141408862094292875"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.119570482687494886334491471870663517807852/series/1.3.6.1.4.1.11129.5.5.148050768676645373034111775531663876425927/instances/1.3.6.1.4.1.11129.5.5.111153708388576066195389700503245704293300"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.144704399171290022427247626928443085419319/series/1.3.6.1.4.1.11129.5.5.190285793344339390593165731988543561416633/instances/1.3.6.1.4.1.11129.5.5.110245902713751842026864359179754889505217"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.172276126220388966649736649950361623806435/series/1.3.6.1.4.1.11129.5.5.171512371498506519035489729484464872160452/instances/1.3.6.1.4.1.11129.5.5.111721417729733087384317002785068394901165"
  }
]

Como consultar os estudos mais recentes

Suponha que você queira preencher uma lista de trabalho de leitura PACS com os estudos mais recentes do seu conjunto de dados.

A consulta a seguir mostra como recuperar e exibir os estudos mais recentes com as contagens de instâncias e os metadados relacionados. Ela usa a tabela bigquery-public-data.idc_v5.dicom_metadata do conjunto de dados TCIA.

#standardSQL
SELECT
  MIN(CONCAT(StudyDate, ' ', StudyTime)) as StudyDateTime, MIN(PatientID) as PatientID, StudyInstanceUID, COUNT(*) as InstanceCount
FROM
 `bigquery-public-data.idc_v5.dicom_metadata` AS dicom
GROUP BY StudyInstanceUID
ORDER BY StudyDateTime DESC
LIMIT 10;

A consulta retorna as seguintes informações:

  • Os 10 estudos mais recentes que entraram no sistema e quando entraram nele
  • O paciente associado a cada estudo
  • O UID do estudo
  • O número de instâncias associadas ao estudo

A resposta a seguir usa a formatação JSON:

[
  {
    "StudyDateTime": "2021-07-11 00:38:22",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2466232160.763753303.1625963902816.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 23:52:10",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2463459463.1074873794.1625961130119.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 23:31:13",
    "PatientID": "C3L-02513",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2462202516.1453336368.1625959873172.3.0",
    "InstanceCount": "7"
  }, {
    "StudyDateTime": "2021-07-10 23:25:17",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2461846936.496969835.1625959517592.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 22:35:16",
    "PatientID": "C3L-02515",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2458845347.1905567435.1625956516003.3.0",
    "InstanceCount": "6"
  }, {
    "StudyDateTime": "2021-07-10 21:49:46",
    "PatientID": "C3L-02515",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2456116127.1264613559.1625953786783.3.0",
    "InstanceCount": "7"
  }, {
    "StudyDateTime": "2021-07-10 21:46:04",
    "PatientID": "C3L-02513",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2455894080.1705479047.1625953564736.3.0",
    "InstanceCount": "6"
  }, {
    "StudyDateTime": "2021-07-10 21:13:30",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2453939652.2052768474.1625951610308.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 21:10:17",
    "PatientID": "C3L-02515",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2453746219.164669562.1625951416875.3.0",
    "InstanceCount": "6"
  }, {
    "StudyDateTime": "2021-07-10 20:05:48",
    "PatientID": "C3L-02513",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2449877792.1996682667.1625947548448.3.0",
    "InstanceCount": "6"
  }
]

Limitações e comportamento adicional

Se a tag DICOM não tiver um tipo compatível no BigQuery (listado em RVs excluídas), ela será listada em uma coluna separada (chamada DroppedTags.TagName) na tabela de destino do BigQuery.

Solução de problemas de solicitações de exportação do DICOM

Se ocorrerem erros durante uma solicitação de exportação do DICOM para o BigQuery, eles serão registrados no Cloud Logging. Para mais informações, consulte Como visualizar registros de erros no Cloud Logging.