Exporter des métadonnées DICOM vers BigQuery

Cette page explique comment exporter des métadonnées DICOM vers BigQuery à des fins d'exploration et d'analyse. Pour en savoir plus sur le schéma BigQuery créé lors de l'exportation de métadonnées DICOM, consultez la page Comprendre le schéma DICOM BigQuery.

Définir des autorisations BigQuery

Avant d'exporter des métadonnées DICOM vers une table BigQuery, vous devez accorder des autorisations supplémentaires au compte de service de l'agent de service Cloud Healthcare. Pour en savoir plus, consultez la section Autorisations BigQuery pour les magasins DICOM.

Définir la destination BigQuery

Lorsque vous définissez la destination BigQuery, utilisez l'URI complet, comme suit :
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
Le comportement de l'opération d'exportation peut varier en fonction des conditions suivantes :
  • Si la table de destination existe déjà
  • Si vous avez défini le champ force (à l'aide de l'API) ou l'option --overwrite-table (à l'aide de Google Cloud CLI)
  • Si vous avez défini une valeur pour l'énumération writeDisposition. Si vous utilisez l'énumération writeDisposition, ne définissez pas le champ force.
Le comportement associé à chacun de ces cas est le suivant :
  • Si la table de destination existe déjà et que le champ force est défini sur true ou si l'option --overwrite-table est spécifiée, l'opération d'exportation écrase la table existante.
  • Si la table de destination existe déjà et que le champ force est défini sur false ou si l'option --overwrite-table n'est pas spécifiée, une erreur se produit.
  • Si la table de destination n'existe pas, une table est créée, que vous définissiez ou non le champ force ou l'option --overwrite-table.
  • Le comportement de writeDisposition est décrit dans sa documentation. L'énumération writeDisposition exécute un comportement similaire aux options lors de l'utilisation de force, avec l'exception suivante : si la table de destination existe déjà et qu'elle est vide, l'opération d'exportation se termine au lieu de renvoyer une erreur.

Exporter des métadonnées DICOM

Les exemples suivants montrent comment exporter des métadonnées DICOM vers une table BigQuery. Dans ces exemples, le magasin DICOM et la table BigQuery se trouvent dans le même projet. Pour exporter des métadonnées DICOM vers une table BigQuery dans un autre projet, consultez la section Exporter des métadonnées DICOM vers un autre projet.

Console

Pour exporter des métadonnées DICOM vers une table BigQuery, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Ensembles de données.

    Accéder à la page "Ensembles de données"

  2. Cliquez sur l'ensemble de données contenant le magasin DICOM dont vous exportez les métadonnées.

  3. Sur la même ligne que le magasin DICOM, ouvrez la liste Actions et sélectionnez Exporter.

  4. Sur la page Exporter un magasin DICOM qui s'affiche, sélectionnez Table BigQuery.

  5. Dans le champ Projet, cliquez sur Parcourir et sélectionnez votre projet.

  6. Dans la liste Ensemble de données, sélectionnez l'ensemble de données BigQuery vers lequel vous exportez les métadonnées DICOM.

  7. Dans le champ Table, saisissez un nouveau nom de table. BigQuery vérifie chaque sélection pour s'assurer que la table de destination est valide.

  8. Dans la section Disposition d'écriture de la table de destination, sélectionnez l'une des options suivantes : Ces options correspondent à l'énumération WriteDisposition.

    • N'exporter les données que si la table de destination est vide : équivalent à WRITE_EMPTY
    • Ajouter des données à la table de destination : équivalent à WRITE_APPEND
    • Effacer toutes les données existantes de la table de destination avant d'écrire les instances : équivalent à WRITE_TRUNCATE.
  9. Cliquez sur Exporter pour exporter les métadonnées DICOM vers la table BigQuery.

  10. Pour suivre l'état de l'opération, cliquez sur l'onglet Opérations. Une fois l'opération terminée, les indications suivantes s'affichent :
    • La section État de l'opération de longue durée est représentée par une coche verte sous l'en-tête OK.
    • La section Présentation comporte une coche verte et un indicateur OK sur la même ligne que l'ID de l'opération.
    Si vous rencontrez des erreurs, cliquez sur Actions, puis sur Afficher les détails dans Cloud Logging.

gcloud

Pour exporter des métadonnées DICOM vers une table BigQuery, exécutez la commande gcloud healthcare dicom-stores export bq.

  1. Exportez les métadonnées DICOM.

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • LOCATION : emplacement de l'ensemble de données
    • DATASET_ID : ensemble de données parent du magasin DICOM
    • DICOM_STORE_ID : ID du magasin DICOM
    • BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant vers lequel vous exportez les métadonnées DICOM
    • BIGQUERY_TABLE_ID : nom d'une table nouvelle ou existante dans l'ensemble de données BigQuery. Si l'opération d'exportation crée une nouvelle table, consultez la section Dénomination des tables pour connaître les exigences concernant les noms de table.
    • WRITE_DISPOSITION : valeur pour l'énumération WriteDisposition. Utilisez l'une des valeurs suivantes :
      • write-empty: n'exporter les données que si la table BigQuery est vide
      • write-truncate: effacer toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.
      • write-append: ajouter les données à la table BigQuery.

    Exécutez la commande suivante :

    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
    La réponse est la suivante. La réponse contient un identifiant pour une opération de longue durée. Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre un temps considérable. La commande interroge l'opération de longue durée, puis imprime le nom de l'opération dans le champ name une fois l'exportation terminée. Notez la valeur de OPERATION_ID. Vous en aurez besoin à l'étape suivante.

    Réponse

    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. Pour afficher plus de détails sur l'opération, exécutez la commande gcloud healthcare operations describe et fournissez la valeur OPERATION_ID de la réponse :

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • DATASET_ID : ID de l'ensemble de données
    • LOCATION : emplacement de l'ensemble de données
    • OPERATION_ID : ID renvoyé par l'opération de longue durée

    Exécutez la commande suivante :

    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

    Vous devriez obtenir un résultat semblable à celui-ci :

    Réponse

    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

Pour exporter des métadonnées DICOM vers une table BigQuery, utilisez la méthode projects.locations.datasets.dicomStores.export.

  1. Exportez les métadonnées DICOM.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • LOCATION : emplacement de l'ensemble de données
    • DATASET_ID : ensemble de données parent du magasin DICOM
    • DICOM_STORE_ID : ID du magasin DICOM
    • BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant vers lequel vous exportez les métadonnées DICOM
    • BIGQUERY_TABLE_ID : nom d'une table nouvelle ou existante dans l'ensemble de données BigQuery. Si l'opération d'exportation crée une nouvelle table, consultez la section Dénomination des tables pour connaître les exigences concernant les noms de table.
    • WRITE_DISPOSITION : valeur pour l'énumération WriteDisposition. Utilisez l'une des valeurs suivantes :
      • WRITE_EMPTY: n'exporter les données que si la table BigQuery est vide
      • WRITE_TRUNCATE: effacer toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.
      • WRITE_APPEND: ajouter les données à la table BigQuery.

    Corps JSON de la requête :

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

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

    Exécutez ensuite la commande suivante pour envoyer votre requête 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

    Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

    Exécutez ensuite la commande suivante pour envoyer votre requête 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

    API Explorer

    Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).

    Le résultat est le suivant. La réponse contient un identifiant pour une opération de longue durée (LRO). Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre davantage de temps. Notez la valeur de OPERATION_ID. Vous en aurez besoin à l'étape suivante.

  2. Utilisez la méthode projects.locations.datasets.operations.get pour obtenir l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • DATASET_ID : ID de l'ensemble de données
    • LOCATION : emplacement de l'ensemble de données
    • OPERATION_ID : ID renvoyé par l'opération de longue durée

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Exécutez la commande suivante :

    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

    Exécutez la commande suivante :

    $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

    API Explorer

    Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).

    Le résultat est le suivant. Lorsque la réponse contient "done": true, l'opération de longue durée est terminée.

Exporter des métadonnées DICOM vers un autre projet

Pour exporter des métadonnées DICOM depuis un magasin DICOM d'un projet vers un ensemble de données BigQuery dans un autre projet, consultez d'abord la section Autorisations permettant d'exporter des métadonnées DICOM vers un autre projet pour savoir comment définir les autorisations IAM dans le projet de destination.

gcloud

Pour exporter des métadonnées DICOM d'un magasin DICOM d'un seul projet vers une table BigQuery dans un autre projet, exécutez la commande gcloud healthcare dicom-stores export bq.

  1. Exportez les métadonnées DICOM.

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • SOURCE_PROJECT_ID : ID du projet Google Cloud source
    • SOURCE_LOCATION : emplacement de l'ensemble de données source
    • SOURCE_DATASET_ID : ensemble de données parent du magasin DICOM
    • SOURCE_DICOM_STORE_ID : ID du magasin DICOM source
    • DESTINATION_PROJECT_ID : ID de l'autre projet
    • DESTINATION_BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant dans le projet de destination vers lequel vous exportez les métadonnées DICOM
    • DESTINATION_BIGQUERY_TABLE_ID : nom d'une table nouvelle ou existante dans l'ensemble de données BigQuery. Si l'opération d'exportation crée une nouvelle table, consultez la section Dénomination des tables pour connaître les exigences concernant les noms de table.
    • WRITE_DISPOSITION : valeur pour l'énumération WriteDisposition. Utilisez l'une des valeurs suivantes :
      • write-empty: n'exporter les données que si la table BigQuery est vide
      • write-truncate: effacer toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.
      • write-append: ajouter les données à la table BigQuery.

    Exécutez la commande suivante :

    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
    La réponse est la suivante. La réponse contient un identifiant pour une opération de longue durée. Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre un temps considérable. La commande interroge l'opération de longue durée, puis imprime le nom de l'opération dans le champ name une fois l'exportation terminée. Notez la valeur de OPERATION_ID. Vous en aurez besoin à l'étape suivante.

    Réponse

    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. Pour afficher plus de détails sur l'opération, exécutez la commande gcloud healthcare operations describe et fournissez la valeur OPERATION_ID de la réponse :

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • SOURCE_PROJECT_ID : ID du projet Google Cloud source
    • SOURCE_LOCATION : emplacement de l'ensemble de données source
    • SOURCE_DATASET_ID : ID de l'ensemble de données source
    • OPERATION_ID : ID renvoyé par l'opération de longue durée

    Exécutez la commande suivante :

    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

    Vous devriez obtenir un résultat semblable à celui-ci :

    Réponse

    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

Pour exporter des métadonnées DICOM d'un magasin DICOM dans un projet vers une table BigQuery dans un autre projet, exécutez la commande projects.locations.datasets.dicomStores.export.

  1. Exportez les métadonnées DICOM.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • SOURCE_PROJECT_ID : ID du projet Google Cloud source
    • SOURCE_LOCATION : emplacement de l'ensemble de données source
    • SOURCE_DATASET_ID : ensemble de données parent du magasin DICOM
    • SOURCE_DICOM_STORE_ID : ID du magasin DICOM source
    • DESTINATION_PROJECT_ID : ID de l'autre projet
    • DESTINATION_BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant dans le projet de destination vers lequel vous exportez les métadonnées DICOM
    • DESTINATION_BIGQUERY_TABLE_ID : nom d'une table nouvelle ou existante dans l'ensemble de données BigQuery. Si l'opération d'exportation crée une nouvelle table, consultez la section Dénomination des tables pour connaître les exigences concernant les noms de table.
    • WRITE_DISPOSITION : valeur pour l'énumération WriteDisposition. Utilisez l'une des valeurs suivantes :
      • WRITE_EMPTY: n'exporter les données que si la table BigQuery est vide
      • WRITE_TRUNCATE: effacer toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.
      • WRITE_APPEND: ajouter les données à la table BigQuery.

    Corps JSON de la requête :

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

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

    Exécutez ensuite la commande suivante pour envoyer votre requête 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

    Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

    Exécutez ensuite la commande suivante pour envoyer votre requête 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

    API Explorer

    Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).

    Le résultat est le suivant. La réponse contient un identifiant pour une opération de longue durée (LRO). Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre davantage de temps. Notez la valeur de OPERATION_ID. Vous en aurez besoin à l'étape suivante.

  2. Utilisez la méthode projects.locations.datasets.operations.get pour obtenir l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • SOURCE_PROJECT_ID : ID du projet Google Cloud source
    • SOURCE_LOCATION : emplacement de l'ensemble de données source
    • SOURCE_DATASET_ID : ID de l'ensemble de données source
    • OPERATION_ID : ID renvoyé par l'opération de longue durée

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Exécutez la commande suivante :

    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

    Exécutez la commande suivante :

    $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

    API Explorer

    Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).

    Le résultat est le suivant. Lorsque la réponse contient "done": true, l'opération de longue durée est terminée.

Exporter des métadonnées DICOM à l'aide de filtres

Par défaut, lorsque vous exportez des fichiers DICOM vers Cloud Storage, tous les fichiers DICOM du magasin DICOM spécifié sont exportés. De même, lorsque vous exportez des métadonnées DICOM vers BigQuery, les métadonnées de toutes les données DICOM du magasin DICOM spécifié sont exportées.

Vous pouvez exporter un sous-ensemble de données ou de métadonnées DICOM à l'aide d'un filtre. Vous définissez le filtre dans un fichier de filtre.

Configurer des fichiers de filtre

Un fichier de filtre définit les fichiers DICOM à exporter vers Cloud Storage ou BigQuery. Vous pouvez configurer les fichiers de filtre aux niveaux suivants :

  • Au niveau de l'étude
  • Au niveau de la série
  • Au niveau de l'instance

Le fichier de filtre est constitué de plusieurs lignes, chaque ligne définissant l'étude, la série ou l'instance que vous souhaitez exporter. Chaque ligne utilise le format /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]].

Si une étude, une série ou une instance n'est pas spécifiée dans le fichier de filtre lorsque vous transmettez le fichier, cette étude, cette série ou cette instance n'est pas exportée.

Seule la partie /studies/STUDY_UID du chemin est obligatoire. Vous pouvez exporter une étude entière en spécifiant /studies/STUDY_UID, ou exporter une série entière en spécifiant /studies/STUDY_UID/series/SERIES_UID.

Prenons l'exemple du fichier de filtre suivant : Le fichier de filtre génère l'exportation d'une étude, de deux séries et de trois instances individuelles :

/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

Créer un fichier de filtre à l'aide de BigQuery

Vous créez généralement un fichier de filtre en commençant par exporter les métadonnées d'un magasin DICOM vers BigQuery. Cela vous permet d'utiliser BigQuery pour afficher les UID d'étude, de série et d'instance des données DICOM dans votre magasin DICOM. Vous pouvez ensuite effectuer les étapes suivantes :

  1. Demander les UID d'étude, de série et d'instance qui vous intéressent. Par exemple, après avoir exporté des métadonnées DICOM vers BigQuery, vous pouvez exécuter la requête suivante pour concaténer les UID d'étude, de série et d'instance dans un format compatible avec les exigences du fichier de filtre :
    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
  2. Si la requête renvoie un grand ensemble de résultats, vous pouvez matérialiser une nouvelle table en enregistrant les résultats de la requête dans une table de destination dans BigQuery.
  3. Si vous avez enregistré les résultats de la requête dans une table de destination, vous pouvez enregistrer le contenu de celle-ci dans un fichier et l'exporter vers Cloud Storage. Pour obtenir des instructions sur la procédure à suivre, consultez la page Exporter des données de table. Le fichier exporté est votre fichier de filtre. Vous utiliserez l'emplacement du fichier de filtre dans Cloud Storage lors de la spécification du filtre dans l'opération d'exportation.

Créer un fichier de filtre manuellement

Vous pouvez créer un fichier de filtre avec du contenu personnalisé et l'importer dans un bucket Cloud Storage. Vous utiliserez l'emplacement du fichier de filtre dans Cloud Storage lors de la spécification du filtre dans l'opération d'exportation. L'exemple suivant montre comment importer un fichier de filtre dans un bucket Cloud Storage à l'aide de la commande gcloud storage cp :
gcloud storage cp FILTER_FILE gs://BUCKET

Transmettre le fichier de filtre

Après avoir créé un fichier de filtre, vous pouvez appeler l'opération d'exportation DICOM et transmettre le fichier de filtre à l'aide de l'API REST. Les exemples suivants montrent comment exporter des métadonnées DICOM à l'aide d'un filtre.

gcloud

Pour exporter des métadonnées DICOM vers une table BigQuery à l'aide d'un filtre, exécutez la commande gcloud beta healthcare dicom-stores export bq.

  1. Exportez les métadonnées DICOM.

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • LOCATION : emplacement de l'ensemble de données
    • DATASET_ID : ensemble de données parent du magasin DICOM
    • DICOM_STORE_ID : ID du magasin DICOM
    • BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant vers lequel vous exportez les métadonnées DICOM
    • BIGQUERY_TABLE_ID : nom d'une table nouvelle ou existante dans l'ensemble de données BigQuery. Si l'opération d'exportation crée une nouvelle table, consultez la section Dénomination des tables pour connaître les exigences concernant les noms de table.
    • BUCKET : nom du bucket Cloud Storage contenant le fichier de filtre. Si le fichier de filtre se trouve dans un répertoire, incluez le répertoire dans le chemin d'accès.
    • FILTER_FILE : emplacement et nom du fichier de filtre dans un bucket Cloud Storage
    • WRITE_DISPOSITION : valeur pour l'énumération WriteDisposition. Utilisez l'une des valeurs suivantes :
      • write-empty: n'exporter les données que si la table BigQuery est vide
      • write-truncate: effacer toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.
      • write-append: ajouter les données à la table BigQuery.

    Exécutez la commande suivante :

    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
    La réponse est la suivante. La réponse contient un identifiant pour une opération de longue durée. Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre un temps considérable. La commande interroge l'opération de longue durée, puis imprime le nom de l'opération dans le champ name une fois l'exportation terminée. Notez la valeur de OPERATION_ID. Vous en aurez besoin à l'étape suivante.

    Réponse

    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. Pour afficher plus de détails sur l'opération, exécutez la commande gcloud healthcare operations describe et fournissez la valeur OPERATION_ID de la réponse :

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • DATASET_ID : ID de l'ensemble de données
    • LOCATION : emplacement de l'ensemble de données
    • OPERATION_ID : ID renvoyé par l'opération de longue durée

    Exécutez la commande suivante :

    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

    Vous devriez obtenir un résultat semblable à celui-ci :

    Réponse

    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

Pour exporter des métadonnées DICOM vers une table BigQuery à l'aide d'un filtre, utilisez la méthode projects.locations.datasets.dicomStores.export.

  1. Exportez les métadonnées DICOM.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • LOCATION : emplacement de l'ensemble de données
    • DATASET_ID : ensemble de données parent du magasin DICOM
    • DICOM_STORE_ID : ID du magasin DICOM
    • BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant vers lequel vous exportez les métadonnées DICOM
    • BIGQUERY_TABLE_ID : nom d'une table nouvelle ou existante dans l'ensemble de données BigQuery. Si l'opération d'exportation crée une nouvelle table, consultez la section Dénomination des tables pour connaître les exigences concernant les noms de table.
    • BUCKET : nom du bucket Cloud Storage contenant le fichier de filtre. Si le fichier de filtre se trouve dans un répertoire, incluez le répertoire dans le chemin d'accès.
    • FILTER_FILE : emplacement et nom du fichier de filtre dans un bucket Cloud Storage
    • WRITE_DISPOSITION : valeur pour l'énumération WriteDisposition. Utilisez l'une des valeurs suivantes :
      • WRITE_EMPTY: n'exporter les données que si la table BigQuery est vide
      • WRITE_TRUNCATE: effacer toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.
      • WRITE_APPEND: ajouter les données à la table BigQuery.

    Corps JSON de la requête :

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

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

    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

    Exécutez ensuite la commande suivante pour envoyer votre requête 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

    Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

    @'
    {
      "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

    Exécutez ensuite la commande suivante pour envoyer votre requête 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

    API Explorer

    Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).

    Le résultat est le suivant. La réponse contient un identifiant pour une opération de longue durée (LRO). Les opérations de longue durée sont renvoyées lorsque les appels de méthode peuvent prendre davantage de temps. Notez la valeur de OPERATION_ID. Vous en aurez besoin à l'étape suivante.

  2. Utilisez la méthode projects.locations.datasets.operations.get pour obtenir l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • DATASET_ID : ID de l'ensemble de données
    • LOCATION : emplacement de l'ensemble de données
    • OPERATION_ID : ID renvoyé par l'opération de longue durée

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Exécutez la commande suivante :

    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

    Exécutez la commande suivante :

    $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

    API Explorer

    Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).

    Le résultat est le suivant. Lorsque la réponse contient "done": true, l'opération de longue durée est terminée.

Interroger et analyser des données DICOM dans BigQuery

Après avoir exporté les métadonnées DICOM vers une table BigQuery, vous pouvez exécuter des exemples de requêtes pour obtenir plus de détails sur les métadonnées. Les exemples suivants montrent comment exécuter des requêtes pour certains cas d'utilisation courants.

Rechercher dans les métadonnées

Supposons que vous souhaitiez effectuer une recherche sur une grande quantité de métadonnées difficiles à rechercher dans d'autres systèmes, telles qu'un système d'archivage et de transmission d'images (PACS, Picture Archiving and Communication System) ou une archive fournisseur neutre (VNA, Vendor Neutral Archive). La requête suivante montre comment interroger la valeur PatientID d'un patient et utiliser le chemin DICOMweb pour récupérer des instances d'image spécifiques. L'exemple utilise la table chc-nih-chest-xray.nih_chest_xray.nih_chest_xray de l'ensemble de données radiographiques du thorax du NIH.

#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';

La requête renvoie les études associées au patient. La réponse suivante utilise le format 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"
  }
]

Interroger les dernières études

Supposons que vous souhaitiez remplir une liste de travail de lecture PACS avec les dernières études de votre ensemble de données.

La requête suivante montre comment extraire et afficher les dernières études, ainsi que le nombre d'instances et les métadonnées environnantes. L'exemple utilise la table bigquery-public-data.idc_v5.dicom_metadata de l'ensemble de données 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;

La requête renvoie les informations suivantes :

  • Les 10 dernières études qui ont été entrées dans le système et la date à laquelle elles ont été entrées
  • Le patient associé à chaque étude
  • L'UID de l'étude
  • Le nombre d'instances associées à l'étude

La réponse suivante utilise le format 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"
  }
]

Restrictions et comportements supplémentaires

Si le tag DICOM n'est pas d'un type compatible dans BigQuery (répertorié dans VR exclues), il est répertorié dans une colonne distincte (appelée DroppedTags.TagName) dans la table BigQuery de destination.

Résoudre les problèmes liés aux requêtes d'exportation DICOM

Si des erreurs se produisent lors d'une requête d'exportation de métadonnées DICOM vers BigQuery, elles sont consignées dans Cloud Logging. Pour en savoir plus, consultez la page Afficher les journaux d'erreurs dans Cloud Logging.