Cette page explique comment configurer un magasin DICOM à exporter des métadonnées d'instance DICOM vers une table BigQuery chaque fois que l'une des se produit:
- Vous stockez une instance DICOM à l'aide de la méthode Transaction en magasin ou par Importer des objets DICOM à partir d'un bucket Cloud Storage
- Vous pouvez supprimer une instance DICOM à l'aide d'une requête Deletion (Suppression).
- Vous modifiez la classe de stockage d'une instance DICOM.
Diffuser des métadonnées DICOM vers une table BigQuery synchronise la table avec vos données DICOM afin de pouvoir exécuter des requêtes complexes sur la dernière version de dans votre magasin DICOM.
Avant de commencer
Avant de configurer votre store DICOM, procédez comme suit :
Définir les autorisations BigQuery
Avant de diffuser des métadonnées DICOM vers BigQuery, vous devez accorder Les autorisations requises pour l'agent de service Cloud Healthcare compte de service. Pour en savoir plus, consultez la section Autorisations BigQuery pour les magasins DICOM.
Découvrir comment exporter des métadonnées DICOM vers BigQuery
Avant de configurer le streaming, apprenez à Exporter les métadonnées DICOM vers BigQuery
Configurer le store DICOM
Pour activer la diffusion vers BigQuery, configurez l'objet StreamConfig
dans votre magasin DICOM. Dans l'objet StreamConfig
, définissez
BigQueryDestination
vers un URI de table BigQuery complet en tant que fichier DICOM
la destination des métadonnées de l'instance.
Vous pouvez spécifier jusqu'à cinq destinations BigQuery des objets JSON séparés par une virgule.
La suppression d'instances DICOM dans un magasin DICOM ne supprime pas l'instance BigQuery des lignes contenant les métadonnées de ces instances.
Console
Pour mettre à jour un store DICOM afin d'activer le streaming BigQuery, procédez comme suit :
- Dans la console Google Cloud, accédez à la page Ensembles de données.
Accéder à la page "Ensembles de données" - Sélectionnez l'ensemble de données contenant le magasin DICOM que vous souhaitez modifier.
- Sélectionnez le store DICOM pour lequel vous ajoutez une configuration de streaming.
- Dans l'onglet Présentation de la page Informations sur Datastore, Cliquez sur Add new streaming configuration (Ajouter une configuration de streaming).
- Dans le champ Nouvelle configuration de streaming, cliquez sur Parcourir.
- Dans le volet Sélectionner une table, sélectionnez une table BigQuery.
- Cliquez sur Sélectionner.
- Cliquez sur OK.
REST
Les exemples suivants montrent comment mettre à jour un magasin DICOM pour activer la diffusion 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 un autre projet, consultez Exporter des métadonnées DICOM vers un autre projet.
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 store DICOM
- BIGQUERY_DATASET_ID : nom d'un ensemble de données BigQuery existant
- BIGQUERY_TABLE_ID : nom unique d'une table dans l'ensemble de données BigQuery. Pour connaître les règles de dénomination des tables, consultez la section Nommer les tables. L'ensemble de données BigQuery doit exister, mais l'API Cloud Healthcare peut mettre à jour une table existante ou en créer une.
Corps JSON de la requête :
{ 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] }
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' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
curl -X PATCH \
-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?updateMask=streamConfigs"
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 :
@' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } '@ | 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 PATCH `
-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?updateMask=streamConfigs" | 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).
Vous devriez recevoir une réponse JSON de ce type :
Métadonnées de suppression
Dans les versions précédentes de l'API Cloud Healthcare, les métadonnées d'instance DICOM n'étaient exportées que vers BigQuery lorsqu'une instance DICOM était insérée dans un store DICOM. Lorsque l'écriture de métadonnées pour les suppressions a été ajoutée, deux nouvelles colonnes, nommées Type
et LastUpdated
, ont été ajoutées à la table générée contenant les métadonnées DICOM.
Toutes les métadonnées de la table qui existaient avant l'introduction de la suppression
Les métadonnées comportent une valeur NULL
pour ces colonnes. NULL
est la valeur la plus faible.
apparaît en dernier lors du tri par ordre décroissant.
Vue BigQuery générée
Lorsque vous insérez ou supprimez une instance DICOM dans un magasin DICOM, le paramètre La table BigQuery est mise à jour.
Si aucune vue de la table n'existe, la vue est créée. Sinon, la vue est mise à jour.
Restrictions et comportements supplémentaires
Il est possible que certains tags DICOM soient absents des métadonnées exportées. Si c'est le cas, les
sont ajoutés à une colonne distincte nommée DroppedTags.TagName
dans la section
dans la table BigQuery de destination.
Des balises seront manquantes pour l'une des raisons suivantes:
- La balise DICOM est une RV non compatible répertoriée dans la section RV exclues.
- La taille du tag DICOM dépasse environ 1 Mo.
- Le nombre de colonnes dans la table BigQuery de destination dépasse la
nombre maximal de colonnes.
Lors de l'exportation de métadonnées DICOM vers une table BigQuery, la valeur
limite de colonnes, les tags DICOM qui ne correspondent pas à une colonne existante sont ajoutés à
la colonne
DroppedTags.Name
. Si la colonneDroppedTags
ne peut pas être ajoutée, les tags DICOM sont supprimés sans notification et un journal d'avertissement est générées. Pour en savoir plus, consultez Dépannez les requêtes de streaming DICOM pour l'affichage des journaux.
Intégrer des métadonnées de suppression dans une table existante
Le comportement de la vue générée varie selon que sa base Le tableau contient les métadonnées ajoutées avant les métadonnées de suppression a été introduite.
Supposons qu'une table BigQuery contienne des métadonnées DICOM provenant métadonnées de suppression étaient acceptées, et voici ce qui se produit:
- Vous insérez une instance DICOM dans un store DICOM.
- Vous supprimez l'instance DICOM du store DICOM.
- Vous modifiez les tags de l'instance DICOM d'origine et insérez l'élément modifié l'instance DICOM dans le magasin DICOM.
Comme la table BigQuery contenait les métadonnées d'origine avant
les métadonnées de suppression étaient prises en charge, l'instance DICOM d'origine et ses modifications
ont les mêmes études, séries et instances
des identifiants uniques (UID). La vue générée peut contenir
soit l'instance DICOM d'origine, soit l'instance DICOM la plus récente. Sans
la colonne LastUpdated
, la vue ne peut pas identifier l'instance DICOM la plus récente.
Pour vous assurer d'interroger les métadonnées d'instance DICOM les plus récentes, effectuez l'une des opérations suivantes:
- Interrogez la table de base plutôt que la vue. Assurez-vous que la requête recherche les tags mis à jour dans l'instance DICOM modifiée.
Supprimez la table existante contenant les métadonnées DICOM, puis recréez-la en exportant manuellement les métadonnées DICOM vers BigQuery. La table recréée contient la colonne
LastUpdated
.Cette option supprime les métadonnées de streaming historiques tout en s'assurant que la table contient la colonne
LastUpdated
avec des valeurs valides.
Résoudre les problèmes liés aux requêtes de streaming 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.
Pour filtrer les journaux d'erreurs liés aux métadonnées DICOM diffusées en streaming dans la console Google Cloud, procédez comme suit:
Accédez à la page Explorateur de journaux.
Dans le champ Requête, saisissez la requête suivante :
logName="healthcare.googleapis.com%2Fdicom_stream"
Cliquez sur Exécuter la requête.
Tous les journaux d'erreurs sont affichés dans la section Résultats de la requête.