Cette page explique comment créer, modifier, afficher et supprimer des datastores DICOM (Digital Imaging and Communications in Medicine). Pour en savoir plus sur la conformité de l'API Cloud Healthcare à la norme DICOM, consultez la déclaration de conformité DICOM.
Créer un magasin DICOM
Pour pouvoir créer un datastore DICOM, vous devez d'abord créer un ensemble de données.
Les exemples suivants montrent comment créer un datastore DICOM :
Console
Pour créer un magasin DICOM, procédez comme suit :
- Dans Cloud Console, accédez à la page Ensembles de données.
- Ouvrez l'ensemble de données dans lequel vous souhaitez créer un magasin DICOM.
- Cliquez sur Créer un datastore.
- Saisissez un nom unique dans votre ensemble de données. Si le nom n'est pas unique, la création du magasin de données échoue.
- Sélectionnez DICOM comme type de magasin.
-
Si vous souhaitez configurer un sujet Pub/Sub pour le datastore, saisissez le nom du sujet.
Lorsque vous spécifiez un sujet Pub/Sub, saisissez l'URI qualifié du sujet, comme indiqué dans l'exemple suivant :
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- Cliquez sur Créer.
Le nouveau datastore apparaît dans la liste.
gcloud
Pour créer un magasin DICOM dans l'ensemble de données, exécutez la commande gcloud healthcare dicom-stores create
.
- L'ID du datastore DICOM doit être unique dans l'ensemble de données. Il peut s'agir d'une chaîne Unicode de 1 à 256 caractères composée de chiffres, de lettres, de traits de soulignement, de tirets et de points.
- Pour notifier les modifications du magasin DICOM dans un sujet Pub/Sub, spécifiez un nom de sujet Pub/Sub existant à l'aide de l'argument
--pubsub-topic
. Lorsque vous spécifiez un thème Pub/Sub, saisissez l'URI qualifié du thème, comme indiqué dans l'exemple suivant :projects/PROJECT_ID/topics/PUBSUB_TOPIC
L'exemple suivant montre comment créer un magasin DICOM :
gcloud healthcare dicom-stores create DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ [--pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC]
Si la requête aboutit, l'invite de commande affiche le message suivant :
Created dicomStore [DICOM_STORE_ID].
API
Pour créer un datastore DICOM, utilisez la méthode projects.locations.datasets.dicomStores.create
.
curl
Pour créer un datastore DICOM, envoyez une requête POST
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM. L'ID du magasin DICOM doit être unique dans son ensemble de données parent. Il peut s'agir d'une chaîne Unicode de 1 à 256 caractères composée de chiffres, de lettres, de traits de soulignement, de tirets et de points.
- Un jeton d'accès
- (Facultatif) Un sujet Pub/Sub existant auquel l'API Cloud Healthcare envoie des notifications de modification du magasin DICOM. Consultez la section Modifier un magasin DICOM pour en savoir plus sur la configuration du sujet Pub/Sub.
L'exemple suivant montre une requête POST
utilisant curl
:
curl -X POST \ --data "" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID"
Si la requête aboutit, le serveur affiche la réponse suivante au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
PowerShell
Pour créer un datastore DICOM, envoyez une requête POST
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM. L'ID du magasin DICOM doit être unique dans son ensemble de données parent. Il peut s'agir d'une chaîne Unicode de 1 à 256 caractères composée de chiffres, de lettres, de traits de soulignement, de tirets et de points.
- Un jeton d'accès
- (Facultatif) Un sujet Pub/Sub existant auquel l'API Cloud Healthcare envoie des notifications de modification du magasin DICOM. Consultez la section Modifier un magasin DICOM pour en savoir plus sur la configuration du sujet Pub/Sub.
L'exemple suivant montre une requête POST
utilisant Windows PowerShell :
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID" | Select-Object -Expand Content
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
Go
Java
Node.js
Python
Modifier un magasin DICOM
Les exemples suivants montrent comment apporter les modifications suivantes à un magasin DICOM :
- Modifiez le sujet Pub/Sub auquel l'API Cloud Healthcare envoie des notifications de modification du magasin DICOM.
- Modifiez les libellés. Les libellés sont des paires clé/valeur qui vous aident à organiser vos ressources Google Cloud.
projects/PROJECT_ID/topics/PUBSUB_TOPICPour que les notifications fonctionnent, vous devez accorder des autorisations supplémentaires au compte de service Agent de service Cloud Healthcare. Pour en savoir plus, consultez la section Autorisations Pub/Sub pour les magasins DICOM, FHIR et HL7v2.
Console
Cloud Console ne permet pas de modifier le sujet ou les libellés Pub/Sub. Utilisez plutôt curl
, Windows PowerShell ou le langage de votre choix.
gcloud
Pour mettre à jour le datastore DICOM, exécutez la commande gcloud healthcare dicom-stores update
.
L'exemple suivant montre comment mettre à jour le sujet Pub/Sub pour le magasin DICOM. L'outil gcloud
n'est pas compatible avec la modification des libellés.
gcloud healthcare dicom-stores update DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --pubsub-topic=projects/PROJECT_ID/topics/PUBSUB_TOPIC
Si la requête aboutit, l'invite de commande affiche les détails du datastore DICOM, y compris le nouveau nom du sujet :
Updated dicomStore [DICOM_STORE_ID]. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicom-stores/DICOM_STORE_ID notificationConfig: pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC
API
Pour modifier un datastore DICOM, utilisez la méthode projects.locations.datasets.dicomStores.patch
.
curl
Pour modifier un magasin DICOM, envoyez une requête PATCH
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM
- Les métadonnées à mettre à jour. Dans cet exemple, l'URI qualifié du sujet Pub/Sub et les libellés à mettre à jour en tant que liste de paires clé/valeur sont séparées par des virgules.
- Un masque de mise à jour
- Un jeton d'accès
L'exemple suivant montre une requête PATCH
utilisant curl
:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'notificationConfig': { 'pubsubTopic':'projects/PROJECT_ID/topics/PUBSUB_TOPIC' }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID?updateMask=notificationConfig,labels"
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID", "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }
PowerShell
Pour modifier un magasin DICOM, envoyez une requête PATCH
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM
- Les métadonnées à mettre à jour. Dans cet exemple, l'URI qualifié du sujet Pub/Sub et les libellés à mettre à jour en tant que liste de paires clé/valeur sont séparées par des virgules.
- Un masque de mise à jour
- Un jeton d'accès
L'exemple suivant montre une requête PATCH
utilisant Windows PowerShell :
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'notificationConfig': { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC' }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID?updateMask=notificationConfig,labels" | Select-Object -Expand Content
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID", "notificationConfig": { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC" }, 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }
Go
Java
Node.js
Python
Obtenir des détails sur un datastore DICOM
Les exemples suivants montrent comment obtenir des détails sur un datastore DICOM.
Console
Pour afficher les détails d'un magasin DICOM, procédez comme suit :
- Dans Cloud Console, accédez à la page Ensembles de données.
- Cliquez sur l'ID de l'ensemble de données contenant le magasin DICOM.
- Cliquez sur le nom du magasin DICOM.
gcloud
Pour afficher les détails d'un magasin DICOM, exécutez la commande gcloud healthcare dicom-stores describe
.
L'exemple suivant montre comment obtenir des détails sur un datastore DICOM.
gcloud healthcare dicom-stores describe DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Si la requête aboutit, l'invite de commande affiche les détails du magasin DICOM :
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicom-stores/DICOM_STORE_ID
API
Pour obtenir des détails sur un datastore DICOM, utilisez la méthode projects.locations.datasets.dicomStores.get
.
curl
Pour obtenir des détails sur un datastore DICOM, envoyez une requête GET
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant curl
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID"
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
Si vous avez configuré des champs dans la ressource DicomStore
, ils apparaissent également dans la réponse.
PowerShell
Pour obtenir des détails sur un datastore DICOM, envoyez une requête GET
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant Windows PowerShell :
$cred = gcloud auth application-default 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/dicomStores/DICOM_STORE_ID" | Select-Object -Expand Content
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }
Si vous avez configuré des champs dans la ressource DicomStore
, ils apparaissent également dans la réponse.
Go
Java
Node.js
Python
Répertorier les magasins DICOM d'un ensemble de données
Les exemples suivants montrent comment répertorier les datastores DICOM d'un ensemble de données.
Console
Pour afficher les datastores d'un ensemble de données, procédez comme suit :
- Dans Cloud Console, accédez à la page Ensembles de données.
- Cliquez sur l'ID de l'ensemble de données dont vous souhaitez afficher les datastores :
gcloud
Pour répertorier les magasins DICOM d'un ensemble de données, exécutez la commande gcloud healthcare dicom-stores list
.
gcloud healthcare dicom-stores list --dataset=DATASET_ID
Si la requête aboutit, l'invite de commande répertorie les magasins DICOM :
ID LOCATION TOPIC DICOM_STORE_ID LOCATION projects/PROJECT_ID/topics/PUBSUB_TOPIC
API
Pour répertorier les magasins DICOM d'un ensemble de données, utilisez la méthode projects.locations.datasets.dicomStores.list
.
curl
Pour répertorier les magasins DICOM dans un ensemble de données, envoyez une requête GET
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant curl
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores"
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "dicomStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }, { ... } ] }
Si vous avez configuré des champs dans la ressource DicomStore
, ils apparaissent également dans la réponse.
PowerShell
Pour répertorier les magasins DICOM dans un ensemble de données, envoyez une requête GET
et spécifiez les informations suivantes :
- Le nom de l'ensemble de données parent
- Un jeton d'accès
L'exemple suivant montre une requête GET
utilisant Windows PowerShell :
$cred = gcloud auth application-default 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/dicomStores" | Select-Object -Expand Content
Si la requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format JSON :
{ "dicomStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" }, { ... } ] }
Si vous avez configuré des champs dans la ressource DicomStore
, ils apparaissent également dans la réponse.
Go
Java
Node.js
Python
Supprimer un datastore DICOM
Les exemples suivants montrent comment supprimer un datastore DICOM.
Console
Pour supprimer un datastore, procédez comme suit :
- Dans Cloud Console, accédez à la page Ensembles de données.
- Ouvrez l'ensemble de données en cliquant sur son ID.
- Sélectionnez le datastore que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Pour confirmer, saisissez le nom du datastore, puis cliquez sur Supprimer.
gcloud
Pour supprimer un magasin DICOM, exécutez la commande gcloud healthcare dicom-stores delete
:
- Exécutez la commande
delete
.
gcloud healthcare dicom-stores delete DICOM_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
- Pour confirmer, saisissez Y.
Si la requête aboutit, l'invite de commande affiche la réponse suivante :
Deleted dicomStore [DICOM_STORE_ID].
API
Pour supprimer un datastore DICOM, utilisez la méthode projects.locations.datasets.dicomStores.delete
.
curl
Pour supprimer un datastore DICOM, envoyez une requête DELETE
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM à supprimer
- Un jeton d'accès
L'exemple suivant montre une requête DELETE
utilisant curl
:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID"
Si la requête aboutit, le serveur renvoie le corps de réponse vide au format JSON :
{}
PowerShell
Pour supprimer un datastore DICOM, envoyez une requête DELETE
et spécifiez les informations suivantes :
- Nom et emplacement de l'ensemble de données parent
- Le nom du magasin DICOM à supprimer
- Un jeton d'accès
L'exemple suivant montre une requête DELETE
utilisant Windows PowerShell :
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID" | Select-Object -Expand Content
Si la requête aboutit, le serveur renvoie le corps de réponse vide au format JSON :
{}