Alterar classe de armazenamento DICOM

Nesta página, descrevemos como alterar a classe de armazenamento para dados DICOM na API Cloud Healthcare.

Visão geral

A API Cloud Healthcare oferece as seguintes classes de armazenamento:

  • Standard
  • Nearline
  • Coldline
  • Archive

Essas classes de armazenamento são semelhantes às do Cloud Storage.

É possível alterar a classe de armazenamento do objeto DICOM como uma medida de economia de custos em cenários como os seguintes:

  • Mover uma série de imagens DICOM acessada com pouca frequência do armazenamento padrão para o armazenamento nearline ou coldline. Isso libera os buckets de armazenamento padrão para armazenar imagens que são acessadas com mais frequência.
  • Mover dados de pacientes do armazenamento padrão para o armazenamento de arquivos para arquivar dados que precisam ser retidos por motivos legais. O Archive Storage é a classe de armazenamento de menor custo e alta durabilidade.

Métodos para alterar a classe de armazenamento DICOM

Por padrão, uma instância DICOM tem uma classe de armazenamento padrão. É possível alterar a classe de armazenamento usando os seguintes métodos:

  • O método import: defina a classe de armazenamento ao importar uma instância DICOM de um bucket do Cloud Storage com o campo blobStorageSettings.
  • O método storeInstances: defina a classe de armazenamento ao armazenar uma instância DICOM de um caminho local.
  • O método setBlobStorageSettings: altere a classe de armazenamento de uma instância DICOM em um armazenamento DICOM no nível de instância, série ou estudo.

Antes de começar

Antes de alterar a classe de armazenamento das instâncias DICOM na API Cloud Healthcare, confira os seguintes detalhes de preços:

Alterar a classe de armazenamento de uma instância DICOM

Os exemplos a seguir mostram como alterar a classe de armazenamento de uma instância DICOM em um nível de instância, série ou estudo.

No nível da instância

Para alterar a classe de armazenamento de uma instância DICOM no nível da instância, conclua estas etapas:

REST

Use o método projects.locations.datasets.dicomStores.studies.series.instances.setBlobStorageSettings.

  1. Altere a classe de armazenamento da instância DICOM no nível da instância.

    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
    • STUDY_INSTANCE_UID: o identificador exclusivo da instância do estudo.
    • SERIES_INSTANCE_UID: o identificador exclusivo da instância da série.
    • INSTANCE_UID: o identificador exclusivo da instância.
    • STORAGE_CLASS: a classe de armazenamento para o objeto DICOM no repositório DICOM de STANDARD, NEARLINE, COLDLINE e ARCHIVE

    Solicitar corpo JSON:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    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'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instance/INSTANCE_UID:setBlobStorageSettings"

    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:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instance/INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    A saída é esta. 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. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.
  2. Veja 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;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se a operação de longa duração ainda estiver em execução, o servidor retornará uma resposta com o número de instâncias DICOM com alteração pendente de classe de armazenamento. Quando a LRO é concluída com sucesso, o servidor retorna uma resposta com o status da operação no formato JSON:

No nível da série

Para alterar a classe de armazenamento de uma instância DICOM no nível da série, siga estas etapas:

REST

Use o método projects.locations.datasets.dicomStores.studies.series.setBlobStorageSettings.

  1. Altere a classe de armazenamento da instância DICOM no nível da série.

    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
    • STUDY_INSTANCE_UID: o identificador exclusivo da instância do estudo.
    • SERIES_INSTANCE_UID: o identificador exclusivo da instância da série.
    • STORAGE_CLASS: a classe de armazenamento para o objeto DICOM no repositório DICOM de STANDARD, NEARLINE, COLDLINE e ARCHIVE

    Solicitar corpo JSON:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    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'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID:setBlobStorageSettings"

    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:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    A saída é esta. 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. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.
  2. Veja 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;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se a operação de longa duração ainda estiver em execução, o servidor retornará uma resposta com o número de instâncias DICOM com alteração pendente de classe de armazenamento. Quando a LRO é concluída com sucesso, o servidor retorna uma resposta com o status da operação no formato JSON:

No nível de estudo

Para alterar a classe de armazenamento de uma instância DICOM no nível de estudo, siga estas etapas:

REST

Use o método projects.locations.datasets.dicomStores.studies.setBlobStorageSettings.

  1. Altere a classe de armazenamento da instância DICOM no nível do estudo.

    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
    • STUDY_INSTANCE_UID: o identificador exclusivo da instância do estudo.
    • STORAGE_CLASS: a classe de armazenamento para o objeto DICOM no repositório DICOM de STANDARD, NEARLINE, COLDLINE e ARCHIVE

    Solicitar corpo JSON:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    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'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID:setBlobStorageSettings"

    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:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    A saída é esta. 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. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.
  2. Veja 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;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se a operação de longa duração ainda estiver em execução, o servidor retornará uma resposta com o número de instâncias DICOM com alteração pendente de classe de armazenamento. Quando a LRO é concluída com sucesso, o servidor retorna uma resposta com o status da operação no formato JSON:

Usar filtros

A seção a seguir mostra como filtrar instâncias específicas e alterar a classe de armazenamento delas no nível de estudo, série ou instância usando um arquivo de filtro.

Adicione o papel de Leitor de objetos do Storage à conta de serviço do Agente de serviço do Healthcare, que tem acesso ao bucket onde o arquivo de filtro está armazenado.

Configurar um arquivo de filtro

Usando um arquivo de filtro, é possível definir a lista de arquivos DICOM cuja classe de armazenamento precisa ser alterada.

Cada linha no arquivo de filtro define o estudo, a série ou a instância e usa o formato /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID.

Você pode truncar uma linha para especificar o nível em que o filtro funciona. Por exemplo, é possível mudar a classe de armazenamento de um estudo inteiro especificando /studies/STUDY_INSTANCE_UID ou a classe de armazenamento de uma série inteira especificando /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID.

Considere o seguinte arquivo de filtro:

/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

Esse arquivo de filtro resulta na filtragem do seguinte:

  • O estudo inteiro com o UID da instância do estudo como 1.123.456.789
  • Duas séries separadas com UIDs de instância de série como 123.456 e 567.890 no estudo 1.666.333.111
  • Três instâncias individuais com IDs de instância como 111, 222 e 333 no estudo 1.888.999.222 e da série 123.456

Criar um arquivo de filtro usando o BigQuery

Para criar um arquivo de filtro usando o BigQuery, você precisa exportar os metadados do repositório DICOM para o BigQuery. Os metadados exportados mostram os UIDs de estudo, série e instância dos dados DICOM no repositório DICOM.

Depois de exportar, siga estas etapas:

  1. Consulte os UIDs de estudo, série e instância necessários.

    Por exemplo, depois de exportar metadados DICOM para o BigQuery, execute a seguinte consulta para concatenar os UIDs de estudo, série e instância para corresponder aos requisitos de formato de arquivo do filtro:

    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
    
  2. Opcional: se a consulta retornar um grande conjunto de resultados que exceda o tamanho máximo da resposta, salve os resultados em uma nova tabela de destino no BigQuery.

  3. Salve os resultados da consulta em um arquivo e exporte-o para o Cloud Storage. Se você salvou os resultados da consulta em uma nova tabela de destino na etapa 2, consulte Como exportar os dados da tabela para exportar o conteúdo da tabela para o Cloud Storage.

  4. Edite o arquivo exportado conforme necessário e use-o como o arquivo de filtro. O local do arquivo de filtro no Cloud Storage é necessário no método setBlobStorageSettings.

Criar um arquivo de filtro manualmente

Para criar um arquivo de filtro com conteúdo personalizado e fazer upload dele para um bucket do Cloud Storage, siga estas etapas:

  1. Crie um arquivo de filtro contendo uma lista de instâncias cuja classe de armazenamento precisa ser alterada na máquina local. Use o formato descrito na seção Configurar arquivo de filtro.

  2. Faça upload do arquivo de texto do filtro em um local do Cloud Storage.

    gsutil cp PATH_TO_FILTER_FILE/FILTER_FILE_NAME.txt gs://BUCKET/DIRECTORY
    

    Substitua:

    • PATH_TO_FILTER_FILE: o caminho para o arquivo de filtro na máquina local
    • FILTER_FILE_NAME: o nome do arquivo de filtro
    • BUCKET/DIRECTORY: o caminho para o local do Cloud Storage

    Exemplo:

    gsutil cp my-local-folder/archive-filters.txt gs://my-bucket/my-directory
    

Transmitir o arquivo de filtro

REST

  1. Use o método projects.locations.datasets.dicomStores.studies.setBlobStorageSettings para alterar a classe de armazenamento de todas as instâncias no arquivo de filtro em um nível de armazenamento 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
    • STORAGE_CLASS: a classe de armazenamento para o objeto DICOM no repositório DICOM de STANDARD, NEARLINE, COLDLINE e ARCHIVE
    • BUCKET/DIRECTORY

    Solicitar corpo JSON:

    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    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'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setBlobStorageSettings"

    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:

    @'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setBlobStorageSettings" | Select-Object -Expand Content
    A saída é esta. 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. Anote o valor de OPERATION_ID. Você vai precisar desse valor na próxima etapa.

  2. Veja 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;
    • LOCATION: o local do conjunto de dados;
    • DATASET_ID: o conjunto de dados pai do armazenamento DICOM
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se a operação de longa duração ainda estiver em execução, o servidor retornará uma resposta com o número de instâncias DICOM com alteração pendente de classe de armazenamento. Quando a LRO é concluída com sucesso, o servidor retorna uma resposta com o status da operação no formato JSON:

Verificar a classe de armazenamento de uma instância DICOM

Usar o método getStorageInfo.

Os exemplos a seguir mostram como exibir a classe de armazenamento de uma instância DICOM.

REST

Use o método projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo.

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
  • STUDY_INSTANCE_UID: o identificador exclusivo da instância do estudo.
  • SERIES_INSTANCE_UID: o identificador exclusivo da instância da série.
  • INSTANCE_UID: o identificador exclusivo da instância.

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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID:getStorageInfo"

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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID:getStorageInfo" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

Consultar metadados DICOM exportados no BigQuery

Também é possível exportar metadados DICOM para o BigQuery e consultar o conjunto de dados do BigQuery para visualizar as classes de armazenamento de instâncias DICOM.

Por exemplo, é possível executar a consulta a seguir para visualizar o UID da instância de estudo, o UID da instância em série, o UID da instância, o tamanho do armazenamento de blobs e a classe de armazenamento de blobs de todas as instâncias no seu conjunto de dados do BigQuery:

SELECT StudyInstanceUID,SeriesInstanceUID,SOPInstanceUID,BlobStorageSize,StorageClass FROM PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE LIMIT 1000