Auf dieser Seite wird erläutert, wie Sie DICOM-Metadaten zur Untersuchung und Analyse nach BigQuery exportieren können. Informationen zum BigQuery-Schema, das beim Export von DICOM-Metadaten erstellt wird, finden Sie unter Hintergrundinformationen zum BigQuery-DICOM-Schema.
BigQuery-Berechtigungen festlegen
Bevor Sie DICOM-Metadaten in eine BigQuery-Tabelle exportieren, müssen Sie dem Dienstkonto Cloud Healthcare Service Agent zusätzliche Berechtigungen erteilen. Weitere Informationen finden Sie unter BigQuery-Berechtigungen für den DICOM-Speicher.
BigQuery-Ziel festlegen
Verwenden Sie beim Festlegen des BigQuery-Ziels den vollständig qualifizierten URI so:bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
- </ph>
- Ob die Zieltabelle bereits vorhanden ist
- Ob Sie das Feld
force
(mit der API) oder das Flag--overwrite-table
(über die Google Cloud CLI) festgelegt haben - Ob ein Wert für die Aufzählung
writeDisposition
festgelegt wurde. Wenn Sie diewriteDisposition
-Aufzählung verwenden, darf das Feldforce
nicht festgelegt werden.
- Wenn die Zieltabelle bereits vorhanden ist und
force
auftrue
gesetzt oder das Flag--overwrite-table
angegeben ist, wird die vorhandene Tabelle durch den Exportvorgang überschrieben. - Wenn die Zieltabelle bereits vorhanden ist und
force
auffalse
gesetzt oder das Flag--overwrite-table
nicht angegeben ist, tritt ein Fehler auf. - Wenn die Zieltabelle noch nicht vorhanden ist, wird eine neue Tabelle erstellt, unabhängig davon, ob Sie das Feld
force
oder das Flag--overwrite-table
angeben. - Das Verhalten von
writeDisposition
wird in der relevanten Dokumentation beschrieben. DiewriteDisposition
-Aufzählung verhält sich ähnlich wie die Optionen bei der Verwendung vonforce
, mit folgender Ausnahme: Wenn die Zieltabelle bereits vorhanden und leer ist, wird der Exportvorgang abgeschlossen, statt das ein Fehler zurückgegeben wird.
DICOM-Metadaten exportieren
In den folgenden Beispielen wird gezeigt, wie Sie DICOM-Metadaten in eine BigQuery-Tabelle exportieren. In diesen Beispielen befinden sich der DICOM-Speicher und die BigQuery-Tabelle im selben Projekt. Informationen zum Exportieren von DICOM-Metadaten in eine BigQuery-Tabelle in einem anderen Projekt finden Sie unter DICOM-Metadaten in ein anderes Projekt exportieren.
Console
So exportieren Sie DICOM-Metadaten in eine BigQuery-Tabelle:
Rufen Sie in der Google Cloud Console die Seite Datasets auf.
Klicken Sie auf das Dataset, das den DICOM-Speicher mit den Metadaten enthält, die Sie exportieren möchten.
Öffnen Sie in derselben Zeile wie der DICOM-Speicher die Liste Aktionen und wählen Sie Exportieren aus.
Wählen Sie auf der Seite DICOM-Speicher exportieren die Option BigQuery-Tabelle aus.
Klicken Sie im Feld Projekt auf Durchsuchen und wählen Sie Ihr Projekt aus.
Wählen Sie in der Liste Dataset das BigQuery-Dataset aus, in das Sie DICOM-Metadaten exportieren möchten.
Geben Sie im Feld Tabelle einen neuen Tabellennamen ein. BigQuery überprüft jede Auswahl auf die Gültigkeit der Zieltabelle.
Wählen Sie im Abschnitt Zieltabellen-Schreibanordnung eine der folgenden Optionen aus. Diese Optionen entsprechen der Aufzählung
WriteDisposition
.- Daten nur exportieren, wenn die Zieltabelle leer ist: Entspricht
WRITE_EMPTY
- Daten an Zieltabelle anfügen: Entspricht
WRITE_APPEND
- Alle vorhandenen Daten in der Zieltabelle löschen, bevor die Instanzen geschrieben werden: Entspricht
WRITE_TRUNCATE
.
- Daten nur exportieren, wenn die Zieltabelle leer ist: Entspricht
Klicken Sie auf Exportieren, um DICOM-Metadaten in die BigQuery-Tabelle zu exportieren.
- Klicken Sie auf den Tab Vorgänge, um den Status des Vorgangs zu verfolgen. Wenn der Vorgang abgeschlossen ist, werden folgende Hinweise angezeigt:
- Im Abschnitt Status: Lang andauernder Vorgang befindet sich unter der Überschrift OK ein grünes Häkchen.
- Der Abschnitt Übersicht hat ein grünes Häkchen und einen OK-Indikator in der Zeile, in der sich auch die Vorgangs-ID befindet.
gcloud
Führen Sie den Befehl gcloud healthcare dicom-stores export bq
aus, um DICOM-Metadaten in eine BigQuery-Tabelle zu exportieren.
Exportieren Sie die DICOM-Metadaten.
Ersetzen Sie folgende Werte, bevor Sie die unten aufgeführten Befehlsdaten verwenden:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
- DICOM_STORE_ID: die ID des DICOM-Speichers
- BIGQUERY_DATASET_ID: der Name eines vorhandenen BigQuery-Datasets, in das Sie DICOM-Metadaten exportieren
- BIGQUERY_TABLE_ID: der Name einer neuen oder vorhandenen Tabelle im BigQuery-Dataset. Wenn während des Exportvorgangs eine neue Tabelle erstellt wird, beachten Sie die Anforderungen unter Tabellennamen.
- WRITE_DISPOSITION: ein Wert für die Aufzählung
WriteDisposition
. Verwenden Sie einen der folgenden Werte: <ph type="x-smartling-placeholder">- </ph>
write-empty
: Daten nur exportieren, wenn die BigQuery-Tabelle leer ist.write-truncate
: Alle vorhandenen Daten in der BigQuery-Tabelle werden gelöscht, bevor die DICOM-Instanzen geschrieben werden.write-append
: Damit werden Daten an die BigQuery-Tabelle angehängt.
Führen Sie folgenden Befehl aus:
Linux, macOS oder 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
name
aus, nachdem der Export abgeschlossen ist. Notieren Sie sich den Wert vonOPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Antwort
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
Führen Sie den Befehl
gcloud healthcare operations describe
aus und geben Sie OPERATION_ID aus der Antwort an, um weitere Details zum Vorgang aufzurufen:Ersetzen Sie folgende Werte, bevor Sie die unten aufgeführten Befehlsdaten verwenden:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- DATASET_ID: die Dataset-ID
- LOCATION: der Standort des Datasets
- OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Führen Sie folgenden Befehl aus:
Linux, macOS oder 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
Sie sollten eine Antwort ähnlich der folgenden erhalten:
Antwort
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
Verwenden Sie die Methode projects.locations.datasets.dicomStores.export
, um DICOM-Metadaten in eine BigQuery-Tabelle zu exportieren.
Exportieren Sie die DICOM-Metadaten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
- DICOM_STORE_ID: die ID des DICOM-Speichers
- BIGQUERY_DATASET_ID: der Name eines vorhandenen BigQuery-Datasets, in das Sie DICOM-Metadaten exportieren
- BIGQUERY_TABLE_ID: der Name einer neuen oder vorhandenen Tabelle im BigQuery-Dataset. Wenn während des Exportvorgangs eine neue Tabelle erstellt wird, beachten Sie die Anforderungen unter Tabellennamen.
- WRITE_DISPOSITION: ein Wert für die Aufzählung
WriteDisposition
. Verwenden Sie einen der folgenden Werte: <ph type="x-smartling-placeholder">- </ph>
WRITE_EMPTY
: Daten nur exportieren, wenn die BigQuery-Tabelle leer ist.WRITE_TRUNCATE
: Alle vorhandenen Daten in der BigQuery-Tabelle werden gelöscht, bevor die DICOM-Instanzen geschrieben werden.WRITE_APPEND
: Damit werden Daten an die BigQuery-Tabelle angehängt.
JSON-Text der Anfrage:
{ "bigqueryDestination": { "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:cat > request.json << 'EOF' { "bigqueryDestination": { "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "bigqueryDestination": { "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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 ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- DATASET_ID: die Dataset-ID
- LOCATION: der Standort des Datasets
- OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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 ContentAPIs Explorer
Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, wird der lang andauernden Vorgang abgeschlossen ist.
DICOM-Metadaten in ein anderes Projekt exportieren
Wenn Sie DICOM-Metadaten aus einem DICOM-Speicher in einem Projekt in ein BigQuery-Dataset in einem anderen Projekt exportieren möchten, lesen Sie die Informationen unter DICOM-Metadaten in ein anderes Projekt exportieren zum Festlegen der IAM-Berechtigungen im Zielprojekt.
gcloud
Verwenden Sie den Befehl gcloud healthcare dicom-stores export bq
, um DICOM-Metadaten aus einem DICOM-Speicher in einem Projekt in eine BigQuery-Tabelle in einem anderen Projekt zu exportieren.
Exportieren Sie die DICOM-Metadaten.
Ersetzen Sie folgende Werte, bevor Sie die unten aufgeführten Befehlsdaten verwenden:
- SOURCE_PROJECT_ID: die ID des Google Cloud-Quellprojekts
- SOURCE_LOCATION: Speicherort des Quell-Datasets
- SOURCE_DATASET_ID: Das übergeordnete Dataset des DICOM-Quellspeichers
- SOURCE_DICOM_STORE_ID: die ID des DICOM-Quellspeichers
- DESTINATION_PROJECT_ID: die ID des anderen Projekts
- DESTINATION_BIGQUERY_DATASET_ID: der Name eines vorhandenen BigQuery-Datasets im Zielprojekt, in das Sie DICOM-Metadaten exportieren möchten
- DESTINATION_BIGQUERY_TABLE_ID: der Name einer neuen oder vorhandenen Tabelle im BigQuery-Dataset. Wenn während des Exportvorgangs eine neue Tabelle erstellt wird, beachten Sie die Anforderungen unter Tabellennamen.
- WRITE_DISPOSITION: ein Wert für die Aufzählung
WriteDisposition
. Verwenden Sie einen der folgenden Werte: <ph type="x-smartling-placeholder">- </ph>
write-empty
: Daten nur exportieren, wenn die BigQuery-Tabelle leer ist.write-truncate
: Alle vorhandenen Daten in der BigQuery-Tabelle werden gelöscht, bevor die DICOM-Instanzen geschrieben werden.write-append
: Damit werden Daten an die BigQuery-Tabelle angehängt.
Führen Sie folgenden Befehl aus:
Linux, macOS oder 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
name
aus, nachdem der Export abgeschlossen ist. Notieren Sie sich den Wert vonOPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Antwort
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
Führen Sie den Befehl
gcloud healthcare operations describe
aus und geben Sie OPERATION_ID aus der Antwort an, um weitere Details zum Vorgang aufzurufen:Ersetzen Sie folgende Werte, bevor Sie die unten aufgeführten Befehlsdaten verwenden:
- SOURCE_PROJECT_ID: die ID des Google Cloud-Quellprojekts
- SOURCE_LOCATION: Speicherort des Quell-Datasets
- SOURCE_DATASET_ID: die ID des Quell-Datasets
- OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Führen Sie folgenden Befehl aus:
Linux, macOS oder 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
Sie sollten eine Antwort ähnlich der folgenden erhalten:
Antwort
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
Verwenden Sie die Methode projects.locations.datasets.dicomStores.export
, um DICOM-Metadaten aus einem DICOM-Speicher in einem Projekt in eine BigQuery-Tabelle in einem anderen Projekt zu exportieren.
Exportieren Sie die DICOM-Metadaten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- SOURCE_PROJECT_ID: die ID des Google Cloud-Quellprojekts
- SOURCE_LOCATION: Speicherort des Quell-Datasets
- SOURCE_DATASET_ID: Das übergeordnete Dataset des DICOM-Quellspeichers
- SOURCE_DICOM_STORE_ID: die ID des DICOM-Quellspeichers
- DESTINATION_PROJECT_ID: die ID des anderen Projekts
- DESTINATION_BIGQUERY_DATASET_ID: der Name eines vorhandenen BigQuery-Datasets im Zielprojekt, in das Sie DICOM-Metadaten exportieren möchten
- DESTINATION_BIGQUERY_TABLE_ID: der Name einer neuen oder vorhandenen Tabelle im BigQuery-Dataset. Wenn während des Exportvorgangs eine neue Tabelle erstellt wird, beachten Sie die Anforderungen unter Tabellennamen.
- WRITE_DISPOSITION: ein Wert für die Aufzählung
WriteDisposition
. Verwenden Sie einen der folgenden Werte: <ph type="x-smartling-placeholder">- </ph>
WRITE_EMPTY
: Daten nur exportieren, wenn die BigQuery-Tabelle leer ist.WRITE_TRUNCATE
: Alle vorhandenen Daten in der BigQuery-Tabelle werden gelöscht, bevor die DICOM-Instanzen geschrieben werden.WRITE_APPEND
: Damit werden Daten an die BigQuery-Tabelle angehängt.
JSON-Text der Anfrage:
{ "bigqueryDestination": { "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:cat > request.json << 'EOF' { "bigqueryDestination": { "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "bigqueryDestination": { "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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 ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- SOURCE_PROJECT_ID: die ID des Google Cloud-Quellprojekts
- SOURCE_LOCATION: Speicherort des Quell-Datasets
- SOURCE_DATASET_ID: die ID des Quell-Datasets
- OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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 ContentAPIs Explorer
Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, wird der lang andauernden Vorgang abgeschlossen ist.
DICOM-Metadaten mit Filtern exportieren
Wenn Sie DICOM-Dateien nach Cloud Storage exportieren, werden standardmäßig alle DICOM-Dateien im angegebenen DICOM-Speicher exportiert. Ebenso werden beim Exportieren von DICOM-Metadaten nach BigQuery die Metadaten für alle DICOM-Daten im angegebenen DICOM-Speicher exportiert.
Sie können einen Teil der DICOM- oder Metadaten mithilfe eines Filters exportieren. Sie definieren diesen Filter in einer Filterdatei.
Filterdateien konfigurieren
In einer Filterdatei wird definiert, welche DICOM-Dateien nach Cloud Storage oder BigQuery exportiert werden sollen. Sie können Dateien auf den folgenden Ebenen konfigurieren:
- Auf der Studienebene
- Für die Reihe
- Auf Instanzebene
Eine Filterdatei besteht aus mehreren Zeilen, wobei jede Zeile die Studie, Reihe oder Instanz definiert, die Sie exportieren möchten. Jede Zeile hat das Format /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]]
.
Wenn in der Filterdatei bei deren Übergabe keine Studie, Reihe oder Instanz angegeben ist, wird diese Studie, Reihe oder Instanz nicht exportiert.
Nur der Teil /studies/STUDY_UID
des Pfads ist erforderlich. Sie können eine gesamte Studie durch Angabe von /studies/STUDY_UID
oder eine ganze Reihe durch Angabe von /studies/STUDY_UID/series/SERIES_UID
exportieren.
Betrachten Sie die folgende Filterdatei. Die Filterdatei bedingt, dass eine Studie, zwei Reihen und drei einzelnen Instanzen exportiert werden:
/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
Filterdatei mit BigQuery erstellen
Normalerweise exportieren Sie zuerst die Metadaten aus einem DICOM-Speicher in BigQuery, um eine Filterdatei zu erstellen. Sie können BigQuery verwenden, um die Studien-, Series- und Instanz-UIDs der DICOM-Daten in Ihrem DICOM-Speicher anzuzeigen. Danach können Sie folgende Schritte ausführen:
-
Fragen Sie nach den Studien-, Serien- und Instanz-UIDs, die Sie interessieren.
Nachdem Sie beispielsweise die DICOM-Metadaten in BigQuery exportiert haben, können Sie die folgende Abfrage ausführen, um die Studien-, Serien- und Instanz-UIDs in einem Format zu verketten, das mit den Anforderungen der Filterdatei kompatibel ist:
SELECT CONCAT ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID) FROM [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
- Wenn die Abfrage eine große Ergebnismenge zurückgibt, können Sie eine neue Tabelle materialisieren, indem Sie die Abfrageergebnisse in einer Zieltabelle in BigQuery speichern.
- Wenn Sie die Abfrageergebnisse in einer Zieltabelle speichern, können Sie den Inhalt der Zieltabelle in einer Datei speichern und nach Cloud Storage exportieren. Die erforderlichen Schritte finden Sie unter Tabellendaten exportieren. Die exportierte Datei ist Ihre Filterdatei. Sie verwenden den Speicherort der Filterdatei in Cloud Storage, wenn Sie den Filter im Exportvorgang angeben.
Filterdatei manuell erstellen
Sie können eine Filterdatei mit benutzerdefinierten Inhalten erstellen und diese in einen Cloud Storage-Bucket hochladen. Sie verwenden den Speicherort der Filterdatei in Cloud Storage, wenn Sie den Filter im Exportvorgang angeben. Im folgenden Beispiel wird gezeigt, wie Sie mit dem Befehlgcloud storage cp
eine Filterdatei in einen Cloud Storage-Bucket hochladen:
gcloud storage cp FILTER_FILE gs://BUCKET
Filterdatei übergeben
Nachdem Sie eine Filterdatei erstellt haben, können Sie den DICOM-Exportvorgang aufrufen und die Filterdatei mit der REST API übergeben. In folgenden Beispielen wird gezeigt, wie Sie DICOM-Metadaten mit einem Filter exportieren.
gcloud
Führen Sie den Befehl gcloud beta healthcare dicom-stores export bq
aus, um DICOM-Metadaten mithilfe eines Filters in eine BigQuery-Tabelle zu exportieren.
Exportieren Sie die DICOM-Metadaten.
Ersetzen Sie folgende Werte, bevor Sie die unten aufgeführten Befehlsdaten verwenden:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
- DICOM_STORE_ID: die ID des DICOM-Speichers
- BIGQUERY_DATASET_ID: der Name eines vorhandenen BigQuery-Datasets, in das Sie DICOM-Metadaten exportieren
- BIGQUERY_TABLE_ID: der Name einer neuen oder vorhandenen Tabelle im BigQuery-Dataset. Wenn während des Exportvorgangs eine neue Tabelle erstellt wird, beachten Sie die Anforderungen unter Tabellennamen.
- BUCKET: der Name des Cloud Storage-Buckets, der die Filterdatei enthält. Wenn sich die Filterdatei in einem Verzeichnis befindet, nehmen Sie das Verzeichnis in den Pfad auf.
- FILTER_FILE: Standort und Name der Filterdatei in einem Cloud Storage-Bucket
- WRITE_DISPOSITION: ein Wert für die Aufzählung
WriteDisposition
. Verwenden Sie einen der folgenden Werte: <ph type="x-smartling-placeholder">- </ph>
write-empty
: Daten nur exportieren, wenn die BigQuery-Tabelle leer ist.write-truncate
: Alle vorhandenen Daten in der BigQuery-Tabelle werden gelöscht, bevor die DICOM-Instanzen geschrieben werden.write-append
: Damit werden Daten an die BigQuery-Tabelle angehängt.
Führen Sie folgenden Befehl aus:
Linux, macOS oder 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
name
aus, nachdem der Export abgeschlossen ist. Notieren Sie sich den Wert vonOPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Antwort
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
Führen Sie den Befehl
gcloud healthcare operations describe
aus und geben Sie OPERATION_ID aus der Antwort an, um weitere Details zum Vorgang aufzurufen:Ersetzen Sie folgende Werte, bevor Sie die unten aufgeführten Befehlsdaten verwenden:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- DATASET_ID: die Dataset-ID
- LOCATION: der Standort des Datasets
- OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Führen Sie folgenden Befehl aus:
Linux, macOS oder 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
Sie sollten eine Antwort ähnlich der folgenden erhalten:
Antwort
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
Um DICOM-Metadaten mithilfe eines Filters in eine BigQuery-Tabelle zu exportieren, verwenden Sie die Methode
projects.locations.datasets.dicomStores.export
.
Exportieren Sie die DICOM-Metadaten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
- DICOM_STORE_ID: die ID des DICOM-Speichers
- BIGQUERY_DATASET_ID: der Name eines vorhandenen BigQuery-Datasets, in das Sie DICOM-Metadaten exportieren
- BIGQUERY_TABLE_ID: der Name einer neuen oder vorhandenen Tabelle im BigQuery-Dataset. Wenn während des Exportvorgangs eine neue Tabelle erstellt wird, beachten Sie die Anforderungen unter Tabellennamen.
- BUCKET: der Name des Cloud Storage-Buckets, der die Filterdatei enthält. Wenn sich die Filterdatei in einem Verzeichnis befindet, nehmen Sie das Verzeichnis in den Pfad auf.
- FILTER_FILE: Standort und Name der Filterdatei in einem Cloud Storage-Bucket
- WRITE_DISPOSITION: ein Wert für die Aufzählung
WriteDisposition
. Verwenden Sie einen der folgenden Werte: <ph type="x-smartling-placeholder">- </ph>
WRITE_EMPTY
: Daten nur exportieren, wenn die BigQuery-Tabelle leer ist.WRITE_TRUNCATE
: Alle vorhandenen Daten in der BigQuery-Tabelle werden gelöscht, bevor die DICOM-Instanzen geschrieben werden.WRITE_APPEND
: Damit werden Daten an die BigQuery-Tabelle angehängt.
JSON-Text der Anfrage:
{ "bigqueryDestination": { "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID", "writeDisposition": "WRITE_DISPOSITION" }, "filterConfig": { "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben: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
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "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
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$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 ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud-Projekts
- DATASET_ID: die Dataset-ID
- LOCATION: der Standort des Datasets
- OPERATION_ID: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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 ContentAPIs Explorer
Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, wird der lang andauernden Vorgang abgeschlossen ist.
DICOM-Daten in BigQuery abfragen und analysieren
Nachdem Sie die DICOM-Metadaten in eine BigQuery-Tabelle exportiert haben, können Sie Beispielabfragen ausführen, um weitere Details zu den Metadaten zu erhalten. Die folgenden Beispiele zeigen, wie Sie Abfragen für einige gängige Anwendungsfälle ausführen.
Metadaten durchsuchen
Angenommen, Sie möchten in einer großen Menge von Metadaten suchen, was in anderen Systemen schwierig wäre, z. B. in einem Bildarchivierungs- und Kommunikationssystem (Picture Archive and Communication System, PACS) oder in einem anbieterneutralen Archiev (Vendor Neutral Archive, VNA). Folgende Abfrage zeigt, wie Sie den PatientID
-Wert eines Patienten abfragen und den DICOMweb-Pfad nutzen, um bestimmte Image-Instanzen abzurufen. Das Beispiel nutzt die Tabelle chc-nih-chest-xray.nih_chest_xray.nih_chest_xray aus dem NIH-Dataset: Röntgenaufnahmen des Brustkorbs.
#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';
Die Abfrage gibt die mit dem Patienten verknüpften Studien zurück. Die folgenden in der Antwort die JSON-Formatierung verwendet:
[
{
"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"
}
]
Abfrage der neuesten Studien
Angenommen, Sie möchten eine PACS-Leseliste mit den neuesten Studien aus Ihrem Dataset füllen.
Die folgende Abfrage zeigt, wie Sie neueste Studien zusammen mit der Instanzanzahl und den umgebenden Metadaten abrufen und anzeigen. Im Beispiel wird die Methode bigquery-public-data.idc_v5.dicom_metadata Tabelle aus dem TCIA-Dataset.
#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;
Die Abfrage gibt folgende Informationen zurück:
- Die 10 letzten Studien, die ins System gekommen sind und wann sie ins System gekommen sind
- Der mit den Studien verknüpften Patienten
- Die UID der Studie
- Die Anzahl der Instanzen, die der Studie zugeordnet sind
Die folgende Antwort verwendet das JSON-Format:
[
{
"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"
}
]
Einschränkungen und zusätzliches Verhalten
Wenn das DICOM-Tag in BigQuery keinen unterstützten Typ hat
(aufgeführt unter Ausgeschlossene VRs),
wird er in einer separaten Spalte (DroppedTags.TagName
) im
BigQuery-Zieltabelle.
Fehlerbehebung bei DICOM-Exportanfragen
Wenn Fehler während einer DICOM-Anfrage zum Exportieren von Metadaten nach BigQuery auftreten, werden die Fehler in Cloud Logging protokolliert. Weitere Informationen finden Sie unter Fehlerlogs in Cloud Logging ansehen.