Modifier la classe de stockage DICOM

Cette page explique comment modifier la classe de stockage des données DICOM dans l'API Cloud Healthcare.

Présentation

L'API Cloud Healthcare propose les classes de stockage suivantes:

  • Standard
  • Nearline
  • Coldline
  • Archiver

Ces classes de stockage sont semblables à celles disponibles dans Cloud Storage.

Vous pouvez modifier la classe de stockage de votre objet DICOM comme mesure d'économie dans les scénarios suivants:

  • Déplacement d'une série d'images DICOM peu consultée, du stockage standard vers le stockage Nearline ou Coldline. Cela libère les buckets de stockage standards pour stocker les images les plus fréquemment consultées.
  • Déplacement des données des patients du stockage standard vers le stockage d'archives, vers l'archivage des données devant être conservées pour des raisons juridiques. Le stockage Archive est la classe de stockage la plus économique et offrant une grande durabilité.

Méthodes pour modifier la classe de stockage DICOM

Par défaut, une instance DICOM possède une classe de stockage standard. Vous pouvez modifier la classe de stockage à l'aide des méthodes suivantes:

  • Méthode import: définissez la classe de stockage lorsque vous importez une instance DICOM à partir d'un bucket Cloud Storage avec le champ blobStorageSettings.
  • Méthode storeInstances: définissez la classe de stockage lorsque vous stockez une instance DICOM à partir d'un chemin d'accès local.
  • La méthode setBlobStorageSettings: modifier la classe de stockage d'une instance DICOM dans un magasin DICOM au niveau de l'instance, de la série ou de l'étude.

Avant de commencer

Avant de modifier la classe de stockage de vos instances DICOM dans l'API Cloud Healthcare, consultez les conditions tarifaires suivantes:

Modifier la classe de stockage d'une instance DICOM

Les exemples suivants montrent comment modifier la classe de stockage d'une instance DICOM au niveau d'une instance, d'une série ou d'une étude.

Au niveau de l'instance

Pour modifier la classe de stockage d'une instance DICOM au niveau de l'instance, procédez comme suit:

REST

Exécutez la méthode projects.locations.datasets.dicomStores.studies.series.instances.setBlobStorageSettings.

  1. Modifiez la classe de stockage de l'instance DICOM au niveau de l'instance.

    Avant d'utiliser les données de requête, 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
    • STUDY_INSTANCE_UID: identifiant unique de l'instance d'étude
    • SERIES_INSTANCE_UID: identifiant unique de l'instance de la série
    • INSTANCE_UID: identifiant unique de l'instance
    • STORAGE_CLASS: classe de stockage de l'objet DICOM dans le store DICOM à partir de STANDARD, NEARLINE, COLDLINE et ARCHIVE

    Corps JSON de la requête :

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

    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'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -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

    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 :

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -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
    Le résultat est le suivant. 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. Notez la valeur de OPERATION_ID. Vous aurez besoin de cette valeur à l'étape suivante.
  2. Obtenez l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête, 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
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Si l'opération de longue durée est toujours en cours d'exécution, le serveur renvoie une réponse indiquant le nombre d'instances DICOM en attente de modification de la classe de stockage. Une fois l'opération de longue durée terminée, le serveur renvoie une réponse indiquant l'état de l'opération au format JSON :

Au niveau de la série

Pour modifier la classe de stockage d'une instance DICOM au niveau de la série, procédez comme suit:

REST

Exécutez la méthode projects.locations.datasets.dicomStores.studies.series.setBlobStorageSettings.

  1. Modifiez la classe de stockage de l'instance DICOM au niveau de la série.

    Avant d'utiliser les données de requête, 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
    • STUDY_INSTANCE_UID: identifiant unique de l'instance d'étude
    • SERIES_INSTANCE_UID: identifiant unique de l'instance de la série
    • STORAGE_CLASS: classe de stockage de l'objet DICOM dans le store DICOM à partir de STANDARD, NEARLINE, COLDLINE et ARCHIVE

    Corps JSON de la requête :

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

    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'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -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

    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 :

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -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
    Le résultat est le suivant. 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. Notez la valeur de OPERATION_ID. Vous aurez besoin de cette valeur à l'étape suivante.
  2. Obtenez l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête, 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
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Si l'opération de longue durée est toujours en cours d'exécution, le serveur renvoie une réponse indiquant le nombre d'instances DICOM en attente de modification de la classe de stockage. Une fois l'opération de longue durée terminée, le serveur renvoie une réponse indiquant l'état de l'opération au format JSON :

Au niveau de l'étude

Pour modifier la classe de stockage d'une instance DICOM au niveau d'une étude, procédez comme suit:

REST

Exécutez la méthode projects.locations.datasets.dicomStores.studies.setBlobStorageSettings.

  1. Modifiez la classe de stockage de l'instance DICOM au niveau de l'étude.

    Avant d'utiliser les données de requête, 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
    • STUDY_INSTANCE_UID: identifiant unique de l'instance d'étude
    • STORAGE_CLASS: classe de stockage de l'objet DICOM dans le store DICOM à partir de STANDARD, NEARLINE, COLDLINE et ARCHIVE

    Corps JSON de la requête :

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

    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'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    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" \
    -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

    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 :

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -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
    Le résultat est le suivant. 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. Notez la valeur de OPERATION_ID. Vous aurez besoin de cette valeur à l'étape suivante.
  2. Obtenez l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête, 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
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Si l'opération de longue durée est toujours en cours d'exécution, le serveur renvoie une réponse indiquant le nombre d'instances DICOM en attente de modification de la classe de stockage. Une fois l'opération de longue durée terminée, le serveur renvoie une réponse indiquant l'état de l'opération au format JSON :

Utiliser des filtres

La section suivante montre comment filtrer des instances spécifiques et modifier leur classe de stockage au niveau d'une étude, d'une série ou d'une instance à l'aide d'un fichier de filtre.

Vous devez ajouter le rôle Lecteur des objets Storage au compte de service Agent de service de santé, qui a accès au bucket dans lequel le fichier de filtre est stocké.

Configurer un fichier de filtre

À l'aide d'un fichier de filtre, vous pouvez définir la liste des fichiers DICOM dont la classe de stockage doit être modifiée.

Chaque ligne du fichier de filtre définit l'étude, la série ou l'instance et utilise le format /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID.

Vous pouvez tronquer une ligne pour indiquer le niveau auquel le filtre fonctionne. Par exemple, vous pouvez modifier la classe de stockage de l'ensemble d'une étude en spécifiant /studies/STUDY_INSTANCE_UID ou la classe de stockage d'une série entière en spécifiant /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID.

Examinez le fichier de filtre suivant:

/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

Ce fichier de filtre permet de filtrer les éléments suivants:

  • L'étude entière avec l'UID de l'instance d'étude en tant que 1.123.456.789
  • Deux séries distinctes avec des UID d'instance de série 123.456 et 567.890 dans l'étude 1.666.333.111
  • Trois instances individuelles avec des ID d'instance tels que 111, 222 et 333 dans l'étude 1.888.999.222 et la série 123.456

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

Pour créer un fichier de filtre à l'aide de BigQuery, vous devez exporter les métadonnées de votre magasin DICOM vers BigQuery. Les métadonnées exportées vous indiquent les UID d'étude, de série et d'instance des données DICOM dans votre magasin DICOM.

Une fois l'exportation terminée, procédez comme suit:

  1. Interrogez les UID d'étude, de série et d'instance requis.

    Par exemple, après avoir exporté les métadonnées DICOM vers BigQuery, exécutez la requête suivante pour concaténer les UID d'étude, de série et d'instance afin qu'elles correspondent aux exigences du format de fichier de filtre:

    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
    
  2. Facultatif: si la requête renvoie un ensemble de résultats volumineux qui dépasse la taille maximale de réponse, enregistrez les résultats de la requête dans une nouvelle table de destination dans BigQuery.

  3. Enregistrez les résultats de la requête dans un fichier et exportez-le vers Cloud Storage. Si vous avez enregistré les résultats de votre requête dans une nouvelle table de destination à l'étape 2, consultez la section Exporter les données de table pour exporter le contenu de la table vers Cloud Storage.

  4. Modifiez le fichier exporté si nécessaire et utilisez-le comme fichier de filtre. L'emplacement du fichier de filtre dans Cloud Storage est requis dans la méthode setBlobStorageSettings.

Créer un fichier de filtre manuellement

Pour créer un fichier de filtre avec du contenu personnalisé et l'importer dans un bucket Cloud Storage, procédez comme suit:

  1. Créez un fichier de filtre contenant la liste des instances dont la classe de stockage doit être modifiée sur votre ordinateur local. Utilisez le format décrit dans la section Configurer le fichier de filtre.

  2. Importez le fichier texte du filtre vers un emplacement Cloud Storage.

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

    Remplacez les éléments suivants :

    • PATH_TO_FILTER_FILE: chemin d'accès au fichier de filtre sur votre ordinateur local
    • FILTER_FILE_NAME: nom du fichier de filtre
    • BUCKET/DIRECTORY: chemin d'accès à l'emplacement Cloud Storage

    Par exemple :

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

Transmettre le fichier de filtre

REST

  1. Utilisez la méthode projects.locations.datasets.dicomStores.studies.setBlobStorageSettings pour modifier la classe de stockage de toutes les instances du fichier de filtre au niveau d'un magasin DICOM.

    Avant d'utiliser les données de requête, 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
    • STORAGE_CLASS: classe de stockage de l'objet DICOM dans le store DICOM à partir de STANDARD, NEARLINE, COLDLINE et ARCHIVE
    • BUCKET/DIRECTORY

    Corps JSON de la requête :

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

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

    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 :

    @'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | 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" `
    -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
    Le résultat est le suivant. 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. Notez la valeur de OPERATION_ID. Vous aurez besoin de cette valeur à l'étape suivante.

  2. Obtenez l'état de l'opération de longue durée.

    Avant d'utiliser les données de requête, 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
    • 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Si l'opération de longue durée est toujours en cours d'exécution, le serveur renvoie une réponse indiquant le nombre d'instances DICOM en attente de modification de la classe de stockage. Une fois l'opération de longue durée terminée, le serveur renvoie une réponse indiquant l'état de l'opération au format JSON :

Vérifier la classe de stockage d'une instance DICOM

Utiliser la méthode getStorageInfo

Les exemples suivants montrent comment afficher la classe de stockage d'une instance DICOM.

REST

Utilisez la méthode projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo.

Avant d'utiliser les données de requête, 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
  • STUDY_INSTANCE_UID: identifiant unique de l'instance d'étude
  • SERIES_INSTANCE_UID: identifiant unique de l'instance de la série
  • INSTANCE_UID: identifiant unique de l'instance

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/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

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/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

Vous devriez recevoir une réponse JSON de ce type :

Interroger les métadonnées DICOM exportées dans BigQuery

Vous pouvez également exporter les métadonnées DICOM vers BigQuery et interroger l'ensemble de données BigQuery pour afficher les classes de stockage des instances DICOM.

Par exemple, vous pouvez exécuter la requête suivante pour afficher l'UID de l'instance d'étude, l'UID de l'instance de série, l'UID de l'instance, la taille de stockage d'objet blob et la classe de stockage d'objet blob de toutes les instances de votre ensemble de données BigQuery:

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