Questa pagina descrive come configurare un archivio DICOM per esportare i metadati dell'istanza DICOM in una tabella BigQuery ogni volta che si verifica una delle seguenti condizioni:
- Puoi archiviare un'istanza DICOM utilizzando la transazione di archiviazione o importando gli oggetti DICOM da un bucket Cloud Storage.
- Per eliminare un'istanza DICOM, utilizza una richiesta di eliminazione.
- Modifica la classe di archiviazione di un'istanza DICOM.
I flussi di metadati DICOM in una tabella BigQuery sincronizzano la tabella con i tuoi dati DICOM in modo da poter eseguire query complesse sulla versione più recente del tuo archivio DICOM.
Prima di iniziare
Prima di configurare l'archivio DICOM, completa quanto segue
Impostare le autorizzazioni BigQuery
Prima di trasmettere in streaming i metadati DICOM a BigQuery, devi concedere le autorizzazioni richieste all'account di servizio dell'agente di servizio Cloud Healthcare. Per ulteriori informazioni, consulta Autorizzazioni BigQuery per gli archivi DICOM.
Scopri come esportare i metadati DICOM in BigQuery
Prima di configurare il flusso di dati, scopri come esportare i metadati DICOM in BigQuery.
configura l'archivio DICOM
Per abilitare il flusso di dati verso BigQuery, configura l'oggetto StreamConfig
nel tuo archivio DICOM. Nell'oggetto StreamConfig
, imposta l'oggetto BigQueryDestination
su un URI della tabella BigQuery completo come destinazione dei metadati dell'istanza DICOM.
Puoi specificare fino a cinque destinazioni BigQuery come oggetti JSON separati da virgole.
L'eliminazione di istanze DICOM in un archivio DICOM non elimina le righe BigQuery contenenti i metadati per queste istanze.
Console
Per aggiornare un archivio DICOM per abilitare i flussi di dati BigQuery, completa i seguenti passaggi:
- Nella console Google Cloud, vai alla pagina Set di dati.
Vai a Set di dati - Seleziona il set di dati contenente l'archivio DICOM che vuoi modificare.
- Seleziona l'archivio DICOM per il quale stai aggiungendo una configurazione di flussi di dati.
- Nella scheda Panoramica della pagina Dettagli datastore, fai clic su Aggiungi nuova configurazione di flussi di dati.
- Nel campo Nuova configurazione di flussi di dati, fai clic su Sfoglia.
- Nel riquadro Seleziona tabella, scegli una tabella BigQuery.
- Fai clic su Seleziona.
- Fai clic su Fine.
REST
Gli esempi riportati di seguito mostrano come aggiornare un archivio DICOM per abilitare il flusso di dati BigQuery. In questi esempi, l'archivio DICOM e la tabella BigQuery si trovano nello stesso progetto. Per esportare i metadati DICOM in un altro progetto, consulta Esportazione dei metadati DICOM in un progetto diverso.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: set di dati padre dell'archivio DICOM
- DICOM_STORE_ID: l'ID datastore DICOM
- BIGQUERY_DATASET_ID: il nome di un set di dati BigQuery esistente
- BIGQUERY_TABLE_ID: nome univoco per una tabella nel set di dati BigQuery. Per i requisiti di denominazione, consulta Nome delle tabelle. Il set di dati BigQuery deve esistere, ma l'API Cloud Healthcare può aggiornare una tabella esistente o crearne una nuova.
Corpo JSON della richiesta:
{ 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
cat > request.json << 'EOF' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } EOF
Quindi, esegui questo comando per inviare la richiesta 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
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
@' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta 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
Explorer API
Copia il corpo della richiesta e apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila tutti gli altri campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Metadati di eliminazione
Nelle versioni precedenti dell'API Cloud Healthcare, i metadati dell'istanza DICOM venivano esportati in BigQuery solo quando un'istanza DICOM veniva inserita in un archivio DICOM. Durante la scrittura dei metadati per le eliminazioni, sono state aggiunte due nuove colonne, denominate Type
e LastUpdated
, alla tabella generata contenente i metadati DICOM.
Tutti i metadati nella tabella esistenti prima dell'introduzione dei metadati di eliminazione hanno un valore NULL
per queste colonne. NULL
è il valore più basso e compare per ultimo se l'ordinamento è in ordine decrescente.
Vista BigQuery generata
Quando inserisci o elimini un'istanza DICOM in un archivio DICOM, la tabella BigQuery configurata viene aggiornata.
Se non esiste una vista della tabella, viene creata la vista. In caso contrario, la visualizzazione viene aggiornata.
Limitazioni e comportamento aggiuntivo
Nei metadati esportati potrebbero mancare alcuni tag DICOM. In questo caso, i tag mancanti vengono aggiunti a una colonna separata denominata DroppedTags.TagName
nella tabella BigQuery di destinazione.
I tag non saranno presenti per uno dei seguenti motivi:
- Il tag DICOM è un VR non supportato elencato nella sezione VR esclusi.
- Il tag DICOM supera circa 1 MB.
- Il numero di colonne nella tabella BigQuery di destinazione supera il numero massimo di colonne.
Quando l'esportazione dei metadati DICOM in una tabella BigQuery supera il limite di colonne, i tag DICOM che non corrispondono a una colonna esistente vengono aggiunti alla colonna
DroppedTags.Name
. Se non è possibile aggiungere la colonnaDroppedTags
, i tag DICOM vengono eliminati senza notifica e viene generato un log di avviso. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi alle richieste di flussi di dati DICOM per la visualizzazione dei log.
Incorporare metadati di eliminazione in una tabella esistente
Il comportamento della vista generata dipende dal fatto che la relativa tabella di base contenga metadati aggiunti prima dell'introduzione della funzionalità di eliminazione dei metadati.
Supponiamo che una tabella BigQuery contenga i metadati DICOM precedenti al supporto dei metadati di eliminazione e che si verifichi quanto segue:
- Inserirai un'istanza DICOM in un archivio DICOM.
- Elimini l'istanza DICOM dall'archivio DICOM.
- Modifica i tag dell'istanza DICOM originale e inserisci l'istanza DICOM modificata nell'archivio DICOM.
Poiché la tabella BigQuery conteneva i metadati originali prima che fosse supportata l'eliminazione dei metadati, l'istanza DICOM originale e la sua versione modificata hanno gli stessi studi, serie e identificatori univoci dell'istanza (UID). La vista generata potrebbe contenere l'istanza DICOM originale o l'istanza DICOM più recente. Senza la colonna LastUpdated
, la vista non può identificare quale istanza DICOM è più recente.
Per assicurarti di eseguire query sui metadati dell'istanza DICOM più recenti, esegui una delle seguenti operazioni:
- Esegui una query sulla tabella di base anziché sulla vista. Assicurati che la query cerchi i tag aggiornati nell'istanza DICOM modificata.
Elimina la tabella esistente contenente i metadati DICOM, quindi ricreala esportando manualmente i metadati DICOM in BigQuery. La tabella ricreata contiene la colonna
LastUpdated
.Questa opzione rimuove i metadati storici dei flussi di dati, ma garantisce che la tabella contenga la colonna
LastUpdated
con valori validi.
Risolvi i problemi relativi alle richieste di flussi di dati DICOM
Se si verificano errori durante una richiesta di esportazione dei metadati DICOM in BigQuery, questi vengono registrati in Cloud Logging. Per saperne di più, consulta Visualizzazione dei log degli errori in Cloud Logging.
Per filtrare i log degli errori dei metadati DICOM in modalità flusso nella console Google Cloud, completa i seguenti passaggi:
Vai alla pagina Esplora log.
Nel campo Query, inserisci la seguente query:
logName="healthcare.googleapis.com%2Fdicom_stream"
Fai clic su Esegui query.
Gli eventuali log degli errori vengono visualizzati nella sezione Risultati delle query.