Auf dieser Seite wird erläutert, wie Sie die v1beta1-DicomTagConfig
-Konfiguration in der Cloud Healthcare API verwenden, um vertrauliche Daten in DICOM-Instanzen auf den folgenden Ebenen zu de-identifizieren:
- Auf Dataset-Ebene mit
datasets.deidentify
- Auf DICOM-Speicherebene mit
dicomStores.deidentify
Auf dieser Seite wird auch erläutert, wie Sie Filter anwenden, wenn Sie Daten auf DICOM-Speicherebene de-identifizieren.
Sie können DICOM-De-Identifikationsvorgänge entweder mit dem Legacy-Objekt DicomConfig
der Version 1 oder mit dem Objekt DicomTagConfig
der Version 1beta1 konfigurieren. Wir empfehlen dringend, DicomTagConfig
zu verwenden.
Wenn Sie DicomConfig
bereits für Ihre Anonymisierungsoperationen verwenden, empfehlen wir Ihnen, zu DicomTagConfig
zu migrieren. Eine Zusammenfassung der neuen Funktionen finden Sie unter Neue Konfigurationsoptionen in DicomTagConfig
.
Eine Anleitung zur Migration finden Sie unter Anfragen und Antworten für die Verwendung von DicomTagConfig
migrieren.
Neue Konfigurationsoptionen in DicomTagConfig
Text mit kontextbezogener De-Identifikation de-identifizieren
Sie können das DicomTagConfig.Options.CleanDescriptorsOption
-Objekt konfigurieren, um die kontextbezogene De-Identifikation von unstrukturiertem Metadatentext zu aktivieren.
Diese Option basiert auf der Option „Bereinigte Deskriptoren“.
Wenn Sie DicomTagConfig.Options.CleanDescriptorsOption
angeben, wird bei der Überprüfung ein zusätzlicher infoType verwendet, was sich auf die Abrechnungskosten auswirken kann.
Mit der Option DicomTagConfig.Options.CleanDescriptorsOption
wird unstrukturierter Metadatentext, der mit entfernten Tags übereinstimmt, transformiert. Dadurch wird die Qualität der Anonymisierung verbessert. Angenommen, Sie de-identifizieren eine Röntgenaufnahme und der Patient hat einen Nachnamen, der auch ein Substantiv ist, z. B. Wall
. Wenn Metadaten in der Instanz, z. B. der Text in StudyDescription
, das Wort Wall
enthalten, wird der Text transformiert.
Mit der Option CleanDescriptorsOption
werden Kontextphrasen unkenntlich gemacht, die mit Tags übereinstimmen, die im DICOM-Basisprofil zum Entfernen markiert sind, sofern die Tags mit einem der folgenden Aktionscodes übereinstimmen:
D
Z
X
U
Übereinstimmende kontextbezogene Formulierungen werden durch das Token [CTX]
ersetzt.
Sie können konfigurieren, welche Tags entfernt werden, indem Sie Folgendes angeben:
- Ein Enum im
ProfileType
-Objekt. Die Angabe eines Enums ist nicht erforderlich. CleanTextTag
nach bestimmten Tags filtern.
Die im DICOM Base Profile verwendeten Tags können jedoch nicht geändert werden.
Eingebrannten Text mit kontextbezogener De-Identifikation entfernen
Sie können das Enum TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
angeben, um die kontextbezogene Anonymisierung von eingebranntem Text in einem Bild zu aktivieren.
Diese Option basiert auf der Option „Bereinigte Deskriptoren“.
Wenn Sie die TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
-Enumeration angeben, wird bei der Überprüfung ein zusätzlicher infoType verwendet, was sich auf die Abrechnungskosten auswirken kann.
Sie können den TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
-Enum auf folgende Weise angeben:
In einem
Options.ImageConfig
-Objekt mitDicomTagConfig.Options.ImageConfig.TextRedactionMode
. Wenn Sie diese Option angeben, wird dasPixelData (7FE0,0010)
-Tag automatisch der Liste der zu schwärzenden Tags hinzugefügt.In einem
Action.CleanImageTag
-Objekt mitDicomTagConfig.Action.CleanImageTag.TextRedactionMode
. Wenn Sie diese Option angeben, müssen Sie das TagPixelData
manuell dem ArrayAction.queries[]
hinzufügen. DasPixelData
-Tag ist das einzige unterstützte Tag, wennAction.CleanImageTag
verwendet wird.
Mit der Option TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
wird eingebrannter Text entfernt, der mit Tags übereinstimmt, die im DICOM-Basisprofil zum Entfernen markiert sind, sofern die Tags mit einem der folgenden Aktionscodes übereinstimmen:
D
Z
X
U
Für die kontextbezogene Anonymisierung von eingebranntem Text ist keine zusätzliche Konfiguration erforderlich. Sie kann lediglich über ein Enum im ProfileType
-Objekt aktiviert oder deaktiviert werden. Die Angabe eines Enums ist nicht erforderlich.
Zusätzliche infoTypes bei der De-Identifizierung von Bildern
Sie können Informationstypen verwenden, um anzugeben, welche Daten bei der De-Identifikation von Tags gescannt werden sollen. Ein infoType ist ein Typ sensibler Daten wie Patientenname, E-Mail-Adresse, Telefonnummer, Sozialversicherungsnummer oder Kreditkartennummer.
Sie können die folgenden Felder im DicomTagConfig.Options.ImageConfig
-Objekt konfigurieren, um festzulegen, welche infoTypes bei der De-Identifikation von DICOM-Bildern verwendet werden sollen:
Diese Felder werden nur berücksichtigt, wenn DicomTagConfig.Options.ImageConfig.TextRedactionMode
auf einen der folgenden Werte festgelegt ist:
Anfragen und Antworten für die Verwendung von DicomTagConfig
migrieren
Sie können die DICOM-De-Identifikation mit DicomTagConfig
konfigurieren. Diese Option ist in der Cloud Healthcare API v1beta1 verfügbar und eine Alternative zur Verwendung des alten DicomConfig
.
Wenn Sie eine Anfrage senden, dürfen Sie nicht sowohl DicomConfig
als auch DicomTagConfig
angeben.
In den folgenden Abschnitten werden Konfigurationen in DicomConfig
und die Migration zu DicomTagConfig
beschrieben.
TagFilterProfile
bis ProfileType
Ersetzen Sie das DicomConfig
-Objekt TagFilterProfile
durch das DicomTagConfig
-Objekt ProfileType
. Die vier Profile in TagFilterProfileType
sind auch in ProfileType
verfügbar.
Das folgende Beispiel zeigt, wie eine Anfrage von TagFilterProfile
zu ProfileType
migriert wird:
DicomConfig | DicomTagConfig |
---|---|
|
|
keepList
und removeList
Die Felder DicomConfig
keepList
und removeList
sind in DicomTagConfig
nicht mehr verfügbar. Wenn Sie keepList
und removeList
verwendet haben, um Tags anzugeben, die beibehalten oder entfernt werden sollen, anstatt ein Profil zu verwenden, müssen Sie zum neuen Action
-Objekt migrieren, in dem Sie das Tag-Verhalten angeben. Das Action
-Objekt bietet zusätzliche Optionen zum Transformieren von Tags.
Das folgende Beispiel zeigt, wie eine Anfrage von keepList
zu Action.keepTag
migriert wird. In der Anfrage wird angegeben, dass der Wert des PatientID
-Tags während des Vorgangs zum Entfernen der Personenidentifizierbarkeit beibehalten wird.
DicomConfig | DicomTagConfig |
---|---|
|
|
Keeplists, Removelists und Profile kombinieren
Im Objekt DicomConfig
können Sie anhand von Beibehalten-Listen, Entfernen-Listen und Profilen festlegen, ob Daten beibehalten oder entfernt werden sollen. Diese Optionen schließen sich gegenseitig aus.
Wenn Sie das DicomTagConfig
-Objekt verwenden, können Sie diese Optionen kombinieren, indem Sie in einem Action
-Objekt angeben, welche Tags beibehalten und entfernt werden sollen, und gleichzeitig ein Profil in ProfileType
angeben.
Optionen, die im Objekt Action
konfiguriert sind, überschreiben die im Profil ProfileType
konfigurierten Optionen. Die Optionen im Action
-Objekt werden in der Reihenfolge angewendet, in der sie in der Anfrage angegeben sind.
skipIdRedaction
bis Objects.primaryIds
Ersetzen Sie das Feld skipIdRedaction
im Objekt DicomConfig
durch das Feld primaryIds
im Objekt DicomTagConfig
. Das Feld primaryIds
im Objekt Options
enthält ein PrimaryIdsOption
-Objekt, in dem Sie einen der folgenden Enums angeben:
PRIMARY_IDS_OPTION_UNSPECIFIED
: Standardverhalten, wenn fürPrimaryIdsOption
kein Wert angegeben wird. Die Standardeinstellung ist die inProfileType
angegebene Option.KEEP
: Lassen Sie die primären IDs unverändert.REGEN
: Regenerieren Sie die primären IDs.
Das folgende Beispiel zeigt, wie eine Anfrage von skipIdRedaction
zu Options.primaryIds
migriert wird. In der Anfrage wird angegeben, dass die Werte der primären IDs während des Vorgangs zum Entfernen der Identifizierung beibehalten werden:
DicomConfig | DicomTagConfig |
---|---|
|
|
DeidentifyConfig.ImageConfig
bis DicomTagConfig.Options.ImageConfig
Ersetzen Sie das Objekt DeidentifyConfig.ImageConfig
durch das Objekt DicomTagConfig.Options.ImageConfig
.
Die Optionen im ImageConfig
-Objekt sind in beiden Versionen identisch.
Das folgende Beispiel zeigt, wie eine Anfrage von der Verwendung eines ImageConfig
in DeidentifyConfig.image
zur Verwendung eines ImageConfig
in DeidentifyConfig.DicomTagConfig.Options.cleanImage
migriert wird.
In der Anfrage wird angegeben, dass der gesamte Text in einem Bild während des Vorgangs zum Entfernen der Identifizierung entfernt werden soll:
DeidentifyConfig.image | DeidentifyConfig.DicomTagConfig.Options.cleanImage |
---|---|
|
|
Übersicht über die De-Identifikation
De-Identifikation auf Dataset-Ebene
Rufen Sie die Methode datasets.deidentify
auf, um DICOM-Daten auf Dataset-Ebene zu de-identifizieren. Die Methode datasets.deidentify
hat die folgenden Komponenten:
- Das Quell-Dataset: Ein Dataset, das DICOM-Speicher mit einer oder mehreren Instanzen enthält, die sensible Daten enthalten. Wenn Sie die Methode
datasets.deidentify
aufrufen, werden alle Instanzen in allen DICOM-Speichern im Dataset de-identifiziert. - Das Ziel-Dataset: Die De-Identifikation wirkt sich nicht auf das ursprüngliche Dataset oder seine Daten aus. Stattdessen werden de-identifizierte Kopien der ursprünglichen Daten in ein neues Dataset geschrieben, das als Ziel-Dataset bezeichnet wird.
- Zu de-identifizierende Elemente: Konfigurationsparameter, die angeben, wie die DICOM-Daten im Dataset verarbeitet werden sollen. Sie können die DICOM-De-Identifikation so konfigurieren, dass DICOM-Instanzmetadaten (mithilfe von Tag-Keywords) oder eingebrannter Text in DICOM-Bildern de-identifiziert werden, indem Sie diese Parameter in einem
DeidentifyConfig
-Objekt angeben.
Die meisten Beispiele in diesem Leitfaden zeigen, wie DICOM-Daten auf Dataset-Ebene de-identifiziert werden.
DICOM-De-Identifikation auf Speicherebene
Wenn Sie DICOM-Daten auf DICOM-Speicherebene de-identifizieren, können Sie besser steuern, welche Daten de-identifiziert werden. Wenn Sie beispielsweise ein Dataset mit mehreren DICOM-Speichern haben, können Sie die De-Identifikation jedes DICOM-Speichers entsprechend dem jeweiligen Datentyp aufheben.
Rufen Sie die Methode dicomStores.deidentify
auf, um DICOM-Daten in einem DICOM-Speicher zu de-identifizieren. Die Methode dicomStores.deidentify
hat die folgenden Komponenten:
- Der DICOM-Speicher für Quellen: Ein DICOM-Speicher mit einer oder mehreren Instanzen, die vertrauliche Daten enthalten. Wenn Sie den Vorgang
dicomStores.deidentify
aufrufen, werden alle Instanzen im DICOM-Speicher de-identifiziert. - Der Ziel-DICOM-Speicher: Die De-Identifikation wirkt sich nicht auf den ursprünglichen DICOM-Speicher oder seine Daten aus. Stattdessen werden de-identifizierte Kopien der Originaldaten in den DICOM-Zielspeicher geschrieben. Der DICOM-Zielspeicher muss bereits vorhanden sein.
- Welche Elemente de-identifiziert werden sollen: Konfigurationsparameter, die angeben, wie der DICOM-Speicher verarbeitet werden soll. Sie können die DICOM-De-Identifikation so konfigurieren, dass DICOM-Instanzmetadaten (mithilfe von Tag-Keywords) oder eingebrannter Text in DICOM-Bildern de-identifiziert werden. Dazu geben Sie diese Parameter in einem
DeidentifyConfig
-Objekt an.
Ein Beispiel zum De-Identifizieren von DICOM-Daten auf DICOM-Speicherebene finden Sie unter Daten auf DICOM-Speicherebene de-identifizieren.
Filter
Wenn Sie DICOM-Daten auf DICOM-Speicherebene de-identifizieren, können Sie eine Teilmenge der Daten im DICOM-Speicher de-identifizieren, indem Sie eine Filterdatei konfigurieren und die Datei in der dicomStores.deidentify
-Anfrage angeben. Ein Beispiel finden Sie unter Teilmenge eines DICOM-Speichers de-identifizieren.
Beispiele – Übersicht
In den Beispielen in diesem Leitfaden wird eine einzelne DICOM-Instanz mit dem Namen dicom_deid_instance_sample.dcm
verwendet. Sie können jedoch auch mehrere Instanzen de-identifizieren. Wenn Sie die DICOM-Beispielinstanz in den Beispielen auf dieser Seite verwenden möchten, laden Sie die Datei auf Ihren lokalen Computer herunter und folgen Sie der Anleitung unter DICOM-Daten speichern, um sie in einem DICOM-Speicher zu speichern.
In den folgenden Abschnitten sehen Sie, wie das Bild in der DICOM-Instanz aussieht und welche Metadaten in der Instanz enthalten sind.
Beispielbild
Einige Beispiele auf dieser Seite enthalten eine Ausgabe des de-identifizierten Bildes. In jedem Beispiel wird das folgende Originalbild als Eingabe verwendet. Sie können das Ausgabebild jedes De-Identifizierungsvorgangs mit diesem Originalbild vergleichen, um die Auswirkungen des Vorgangs zu sehen:
Beispiel für Metadaten
Die meisten Beispiele auf dieser Seite enthalten eine Ausgabe der geänderten Metadaten in der DICOM-Instanz. In jedem Beispiel werden die folgenden Originalmetadaten als Eingabe verwendet. Sie können die Ausgabemetadaten jedes De-Identifizierungsvorgangs mit diesen Originalmetadaten vergleichen, um die Auswirkungen der De-Identifizierung zu sehen:
[
{
"00020002": {
"vr": "UI",
"Value": [
"1.2.840.10008.5.1.4.1.1.7"
]
},
"00020003": {
"vr": "UI",
"Value": [
"1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695"
]
},
"00020010": {
"vr": "UI",
"Value": [
"1.2.840.10008.1.2.4.50"
]
},
"00020012": {
"vr": "UI",
"Value": [
"1.2.276.0.7230010.3.0.3.6.1"
]
},
"00020013": {
"vr": "SH",
"Value": [
"OFFIS_DCMTK_361"
]
},
"00080005": {
"vr": "CS",
"Value": [
"ISO_IR 100"
]
},
"00080016": {
"vr": "UI",
"Value": [
"1.2.840.10008.5.1.4.1.1.7"
]
},
"00080018": {
"vr": "UI",
"Value": [
"1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695"
]
},
"00080020": {
"vr": "DA",
"Value": [
"20110909"
]
},
"00080030": {
"vr": "TM",
"Value": [
"110032"
]
},
"00080050": {
"vr": "SH"
},
"00080064": {
"vr": "CS",
"Value": [
"WSD"
]
},
"00080070": {
"vr": "LO",
"Value": [
"Manufacturer"
]
},
"00080090": {
"vr": "PN",
"Value": [
{
"Alphabetic": "John Doe"
}
]
},
"00081090": {
"vr": "LO",
"Value": [
"ABC1"
]
},
"00100010": {
"vr": "PN",
"Value": [
{
"Alphabetic": "Ann Johnson"
}
]
},
"00100020": {
"vr": "LO",
"Value": [
"S1214223-1"
]
},
"00100030": {
"vr": "DA",
"Value": [
"19880812"
]
},
"00100040": {
"vr": "CS",
"Value": [
"F"
]
},
"0020000D": {
"vr": "UI",
"Value": [
"2.25.70541616638819138568043293671559322355"
]
},
"0020000E": {
"vr": "UI",
"Value": [
"1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694"
]
},
"00200010": {
"vr": "SH"
},
"00200011": {
"vr": "IS"
},
"00200013": {
"vr": "IS"
},
"00200020": {
"vr": "CS"
},
"00280002": {
"vr": "US",
"Value": [
3
]
},
"00280004": {
"vr": "CS",
"Value": [
"YBR_FULL_422"
]
},
"00280006": {
"vr": "US",
"Value": [
0
]
},
"00280010": {
"vr": "US",
"Value": [
1024
]
},
"00280011": {
"vr": "US",
"Value": [
1024
]
},
"00280100": {
"vr": "US",
"Value": [
8
]
},
"00280101": {
"vr": "US",
"Value": [
8
]
},
"00280102": {
"vr": "US",
"Value": [
7
]
},
"00280103": {
"vr": "US",
"Value": [
0
]
},
"00282110": {
"vr": "CS",
"Value": [
"01"
]
},
"00282114": {
"vr": "CS",
"Value": [
"ISO_10918_1"
]
}
}
]
Eingebrannten Text aus Bildern entfernen
Sie können eingebrannten Text in DICOM-Bildern mithilfe des ImageConfig
-Objekts in einem Action
-Objekt de-identifizieren. In ImageConfig
können Sie mit dem Objekt TextRedactionMode
angeben, welche infoTypes ein- oder ausgeschlossen werden sollen und wie Text unkenntlich gemacht werden soll.
Sämtlichen Text entfernen
In den folgenden Beispielen wird gezeigt, wie Sie eine DICOM-Instanz de-identifizieren, indem Sie TextRedactionMode
auf REDACT_ALL_TEXT
festlegen.
Bei dieser Konfiguration wird der gesamte eingebrannte Text im Bild entfernt.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_ALL_TEXT" } } } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_ALL_TEXT" } } } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_ALL_TEXT" } } } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Nach der De-Identifikation des Bildes mit REDACT_ALL_TEXT
sieht es so aus. Beachten Sie, dass der gesamte eingebrannte Text am unteren Rand des Bildes entfernt wurde.

REDACT_ALL_TEXT
.Vertraulichen Text mit der Option „Deskriptoren bereinigen“ entfernen
In den folgenden Beispielen wird gezeigt, wie Sie eine DICOM-Instanz de-identifizieren, indem Sie TextRedactionMode
auf REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
festlegen.
Weitere Informationen zur Option CleanDescriptorsOption
finden Sie unter Text mit kontextbezogener De-Identifikation de-identifizieren.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS" } } } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS" } } } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "cleanImage": { "textRedactionMode": "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS" } } } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Nach der De-Identifikation des Bildes mit REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
sieht es so aus. Beachten Sie, dass nicht der gesamte eingebrannte Text am unteren Rand des Bildes entfernt wurde. Der Text Female
wird weiterhin angezeigt, da PatientSex (0010,0040)
nicht zu den Standard-DICOM-infoTypes gehört.

REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS
.DICOM-Tags de-identifizieren
Sie können DICOM-Instanzen anhand von Tag-Keywords in den DICOM-Metadaten de-identifizieren.
Die folgenden Tag-Filtermethoden stehen im Objekt DicomTagConfig
Action
zur Verfügung:
Sie geben jede Action
-Option als Liste von DICOM-Tag-IDs, Namen oder Value Representations (VRs) an. Die Option führt dann eine Aktion für die Tags in der Liste aus. Sie können in einer Liste von Tags nicht mehr als eine Action
-Option angeben.
Jedes Action
-Objekt enthält eine queries[]
-Liste, in der Sie eine Liste von Tags angeben. Die folgenden Tag-Formate werden unterstützt:
- Tag-IDs, z. B.
"00100010"
- Tag-Namen wie
"PatientName"
- Wertedarstellungen (Value Representations, VR) wie
"PN"
Die Anzahl der Tags in der Liste queries[]
ist nicht begrenzt.
Für jedes Tag kann jedoch nur eine einzige Action
-Option ausgeführt werden.
Wenn Sie verschiedene Tags mit unterschiedlichen Action
-Optionen angeben möchten, müssen Sie mehrere Action
-Objekte angeben.
Tags beibehalten
Sie können verhindern, dass die Werte von Tags entfernt werden, indem Sie die Tags in einem KeepTag
-Objekt im DicomTagConfig
-Objekt angeben.
Wenn Sie ein gültiges DICOM-Objekt mit einem KeepTag
-Objekt erstellen möchten, geben Sie die Werte MINIMAL_KEEP_LIST_PROFILE
oder DEIDENTIFY_TAG_CONTENTS
im ProfileType
-Objekt an.
Wenn Sie eines dieser Profile angeben, werden die folgenden Tags automatisch beibehalten, damit die de-identifizierte DICOM-Instanz ein gültiges DICOM ist:
StudyInstanceUID
SeriesInstanceUID
SOPInstanceUID
TransferSyntaxUID
MediaStorageSOPInstanceUID
MediaStorageSOPClassUID
PixelData
Rows
Columns
SamplesPerPixel
BitsAllocated
BitsStored
Highbit
PhotometricInterpretation
PixelRepresentation
NumberOfFrames
PlanarConfiguration
PixelAspectRatio
SmallestImagePixelValue
LargestImagePixelValue
RedPaletteColorLookupTableDescriptor
GreenPaletteColorLookupTableDescriptor
BluePaletteColorLookupTableDescriptor
RedPaletteColorLookupTableData
GreenPaletteColorLookupTableData
BluePaletteColorLookupTableData
ICCProfile
ColorSpace
WindowCenter
WindowWidth
VOILUTFunction
Die Werte für einige der vorherigen Tags werden neu generiert, d. h., die Werte werden durch eine deterministische Transformation durch einen anderen Wert ersetzt. Weitere Informationen finden Sie unter Option „UIDs beibehalten“ im DICOM-Standard.
Die Werte von StudyInstanceUID
, SeriesInstanceUID
, SOPInstanceUID
und MediaStorageSOPInstanceUID
werden als „primäre IDs“ bezeichnet. Wenn Sie festlegen möchten, wie primäre IDs transformiert werden, geben Sie einen Wert in PrimaryIdsOption
an.
In den folgenden Beispielen wird gezeigt, wie Sie das Objekt KeepTag
verwenden, um die Werte bestimmter Tags während der De-Identifizierung unverändert zu lassen.
Das PatientName
-Tag wird der queries[]
-Liste hinzugefügt, sodass der PatientName
-Wert bei der Anonymisierung nicht entfernt wird.
Da PrimaryIdsOption
im Beispiel nicht angegeben ist, wird das Feld primaryIds
standardmäßig auf PRIMARY_IDS_OPTION_UNSPECIFIED
festgelegt, was wiederum standardmäßig dem Wert in ProfileType
entspricht. Da ProfileType
ebenfalls nicht angegeben ist, wird für das Feld profileType
standardmäßig PROFILE_TYPE_UNSPECIFIED
verwendet. Dadurch werden Tags basierend auf dem Basisprofil für Attributvertraulichkeit (DICOM-Standard Version 2018e) entfernt.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Tags entfernen
In den folgenden Beispielen wird gezeigt, wie Sie das RemoveTag
-Objekt verwenden, um die Werte bestimmter Tags während der De-Identifizierung zu entfernen. Ein entferntes Tag wird durch einen leeren Wert ersetzt.
In den folgenden Beispielen wird das Tag PatientName
in der Liste queries[]
hinzugefügt. Sein Wert wird daher bei der Anonymisierung durch einen leeren Wert ersetzt.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "removeTag": {} } ] } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "removeTag": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "removeTag": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Tags löschen
In den folgenden Beispielen wird gezeigt, wie Sie das Objekt DeleteTag
verwenden, um bestimmte Tags während der De-Identifizierung zu löschen.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "deleteTag": {} } ] } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "deleteTag": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "deleteTag": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Tags auf einen Platzhalterwert zurücksetzen
In den folgenden Beispielen wird gezeigt, wie Sie das Objekt ResetTag
verwenden, um den Wert von Tags während der De-Identifizierung auf den String PLACEHOLDER
festzulegen.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "resetTag": {} } ] } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "resetTag": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "resetTag": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Beachten Sie insbesondere, dass der Wert des
PatientName
-Tags aufPLACEHOLDER
gesetzt ist:Original metadata
Metadaten nach Ausführung von ResetTag
"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "Ann Johnson" } ] }
"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "PLACEHOLDER" } ] }
Sensiblen Text in Tags prüfen und umwandeln
In den folgenden Beispielen wird gezeigt, wie Sie das Objekt CleanTextTag
verwenden, um Tags zu prüfen und die Werte der Tags gemäß der Konfiguration im Objekt TextConfig
zu transformieren.
In diesen Beispielen werden die folgenden Optionen im Actions
-Objekt festgelegt:
- Ein
CleanTextTag
-Objekt. - Eine
queries[]
-Liste mit dem DICOM-TagPatientName
.
Die folgenden Optionen werden im TextConfig
-Objekt festgelegt:
- Ein
InfoTypeTransformation
-Objekt, das Text transformiert, der einem bestimmten infoType entspricht. - Ein
ReplaceWithInfoTypeConfig
-Objekt, das jeden übereinstimmenden Text durch den Namen des infoType ersetzt. - Eine
infoTypes[]
-Liste mit dem infoTypePERSON_NAME
.
Wenn diese Konfigurationen festgelegt sind, wird beim De-Identifikationsvorgang das Tag PatientName
geprüft, dem infoType PERSON_NAME
zugeordnet und der Wert des Tags durch den infoType PERSON_NAME
ersetzt.
Das Tag PatientName
hat die Wertdarstellung (Value Representation, VR) PN
, die eine der unterstützten VRs im Objekt CleanTextTag
ist.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "cleanTextTag": {} } ] }, "text": { "additionalTransformations": [ { "infoTypes": [ "PERSON_NAME" ], "replaceWithInfoTypeConfig": {} } ] } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "cleanTextTag": {} } ] }, "text": { "additionalTransformations": [ { "infoTypes": [ "PERSON_NAME" ], "replaceWithInfoTypeConfig": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "cleanTextTag": {} } ] }, "text": { "additionalTransformations": [ { "infoTypes": [ "PERSON_NAME" ], "replaceWithInfoTypeConfig": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Beachten Sie insbesondere, dass der Wert des
PatientName
-Tags auf[PERSON_NAME]
gesetzt ist:Original metadata
Metadaten nach Ausführung von CleanTextTag
"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "Ann Johnson" } ] }
"00100010": { "vr": "PN", "Value": [ { "Alphabetic": "[PERSON_NAME]" } ] }
UID durch eine generierte UID ersetzen
Die folgenden Beispiele zeigen, wie Sie mit dem RegenUidTag
-Objekt eine UID durch eine neu generierte UID ersetzen. Das RegenUidTag
-Objekt unterstützt nur den VR UI
.
Standardmäßig wird für jedes Tag in den Beispielmetadaten mit einem VR von UI
die UID während der Anonymisierung generiert. Im Beispiel werden die folgenden Optionen festgelegt, um zu zeigen, wie eine UID für ein bestimmtes Tag generiert wird:
ProfileType
ist auf den Enum-WertKEEP_ALL
festgelegt, wodurch verhindert wird, dass DICOM-Metadaten de-identifiziert werden.PrimaryIdsOption
wird auf die EnumerationKEEP
gesetzt, wodurch die primären IDs (StudyInstanceUID
,SeriesInstanceUID
,SOPInstanceUID
undMediaStorageSOPInstanceUID
) unverändert bleiben.
Wenn diese Optionen festgelegt sind, werden keine der primären ID-UIDs in den Beispieldaten durch neu generierte Werte ersetzt. Wenn Sie jedoch SOPInstanceUID
dem Action.queries[]
-Array hinzufügen, können Sie eine neue UID speziell für das SOPInstanceUID
-Tag generieren.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "primaryIds": "KEEP" }, "actions": [ { "queries": [ "00080018" ], "regenUidTag": {} } ], "profileType": "KEEP_ALL_PROFILE" } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "primaryIds": "KEEP" }, "actions": [ { "queries": [ "00080018" ], "regenUidTag": {} } ], "profileType": "KEEP_ALL_PROFILE" } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "options": { "primaryIds": "KEEP" }, "actions": [ { "queries": [ "00080018" ], "regenUidTag": {} } ], "profileType": "KEEP_ALL_PROFILE" } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Instanz-UID, da Sie das Tag
SOPInstanceUID
im ArrayAction.queries[]
angegeben haben. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Instanz-UID geändert hat:
Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Mit dem neuen Wert die Metadaten für die Instanz abrufen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/2.25.70541616638819138568043293671559322355/series/1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/2.25.70541616638819138568043293671559322355/series/1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Beachten Sie, dass von den primären IDs nur die
SOPInstanceUID
eine neu generierte UID hat.
Tags in einem verschachtelten Sequence
rekursiv de-identifizieren
In den folgenden Beispielen wird gezeigt, wie Sie das RecurseTag
-Objekt verwenden, um verschachtelte DICOM-Tags in einem Sequence
rekursiv zu de-identifizieren.
Das RecurseTag
-Objekt unterstützt nur die SQ
-VR, die die VR für eine Sequence
ist.
Informationen zur SQ
-VR finden Sie unter 7.5 Verschachtelung von Datasets.
Die DICOM-Beispielinstanz, die für diese Seite bereitgestellt wird, enthält keine DICOM-Tags mit einer SQ
-Wertdarstellung.
Sie können eine DICOM-Instanz mit gefälschten Daten erstellen und speichern, die den SQ
-VR enthält. Führen Sie dazu die folgenden Schritte aus, die auf der Anleitung unter DICOM-Instanzen aus JSON-Metadaten und JPEG-Dateien erstellen basieren.
Die DICOM-Instanz, die Sie in den folgenden Schritten erstellen, verwendet gefälschte Daten und dient nur zur Veranschaulichung des Verhaltens vonRecurseTag
.
Speichern Sie die folgenden DICOM-Metadaten in einer JSON-Datei mit dem Namen
instance.json
. Die Metadaten enthalten einPhysiciansReadingStudyIdentificationSequence
-Tag (00081062
). Das Tag hat eineSQ
-VR und enthält zwei verschachteltePersonIdentificationCodeSequence
-Tags (00401101
). Die verschachtelten Tags haben auch einenSQ
-VR und enthalten jeweils die folgenden verschachtelten Tags:CodeValue
(00080100
)CodingSchemeDesignator
(00080102
)
[{ "00020010": { "vr": "UI", "Value": [ "1.2.840.10008.1.2.4.50" ] }, "00080005": { "vr": "CS", "Value": [ "ISO_IR 192" ] }, "00080016": { "vr": "UI", "Value": [ "1111111" ] }, "00080018": { "vr": "UI", "Value": [ "2222222" ] }, "0020000D": { "vr": "UI", "Value": [ "3333333" ] }, "0020000E": { "vr": "UI", "Value": [ "4444444" ] }, "00280002": { "vr": "US", "Value": [ 3 ] }, "00280004": { "vr": "CS", "Value": [ "YBR_FULL_422" ] }, "00280006": { "vr": "US", "Value": [ 0 ] }, "00280008": { "vr": "IS", "Value": [ 1 ] }, "00280010": { "vr": "US", "Value": [ 1024 ] }, "00280011": { "vr": "US", "Value": [ 1024 ] }, "00280100": { "vr": "US", "Value": [ 8 ] }, "00280101": { "vr": "US", "Value": [ 8 ] }, "00280102": { "vr": "US", "Value": [ 7 ] }, "00280103": { "vr": "US", "Value": [ 0 ] }, "7FE00010": { "vr": "OB", "BulkDataURI": "jpeg-image" }, "00081062": { "vr": "SQ", "Value": [ { "00401101": { "vr": "SQ", "Value": [ { "00080100": { "vr": "SH", "Value": [ "CodeValue1" ] }, "00080102": { "vr": "SH", "Value": [ "CodingSchemeDesignator1" ] } } ] } }, { "00401101": { "vr": "SQ", "Value": [ { "00080100": { "vr": "SH", "Value": [ "CodeValue2" ] }, "00080102": { "vr": "SH", "Value": [ "CodingSchemeDesignator2" ] } } ] } } ] } }]
Laden Sie die Datei
google.jpg
auf Ihren lokalen Computer herunter. Die Cloud Healthcare API DICOMweb API akzeptiert jedes JPEG-Bild in Kombination mit JSON-Metadaten, sofern die Metadaten gültig sind.Führen Sie die folgenden Befehle aus, um eine öffnende Grenze (für die JSON-Metadaten), eine mittlere Grenze (für das JPEG-Bild) und eine schließende Grenze im Bild zu erstellen:
echo -ne "--DICOMwebBoundary\r\nContent-Type: application/dicom+json\r\n\r\n" > opening.file echo -ne "\r\n--DICOMwebBoundary\r\nContent-Location: jpeg-image\r\nContent-Type: image/jpeg; transfer-syntax=1.2.840.10008.1.2.4.50\r\n\r\n" > middle.file echo -ne "\r\n--DICOMwebBoundary--" > closing.file
Umschließen Sie das
google.jpg
-Bild mit den mittleren und dem schließenden Grenzen. Die Ausgabedatei, die Sie an die Cloud Healthcare API senden, heißtmultipart-request.file
:cat opening.file instance.json middle.file google.jpg closing.file > multipart-request.file
Speichern Sie die Datei
multipart-request.file
:REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DICOM_STORE_ID: Die ID des DICOM-Speichers im Quelldataset
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: multipart/related; type=\"application/dicom+json\"; boundary=DICOMwebBoundary" \
--data-binary @multipart-request.file \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID/dicomWeb/studies"PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-InFile multipart-request.file `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID/dicomWeb/studies" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Führen Sie die folgenden Schritte aus, um die gespeicherte DICOM-Instanz zu de-identifizieren.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
JSON-Text der Anfrage:
{ "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PhysiciansReadingStudyIdentificationSequence" ], "recurseTag": {} } ] } } }
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' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PhysiciansReadingStudyIdentificationSequence" ], "recurseTag": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify"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:@' { "destinationDataset": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PhysiciansReadingStudyIdentificationSequence" ], "recurseTag": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:
Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)3333333
1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314
Serien-UID ( 0020000E
)4444444
1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347
Instanz-UID ( 00080018
)2222222
1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314/series/1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347/instances/1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.222168347996079463826250565085126257314/series/1.3.6.1.4.1.11129.5.1.25205702030237830896398173746777399347/instances/1.3.6.1.4.1.11129.5.1.286710307126045768765142714621897494633/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Beachten Sie insbesondere, dass die Werte der verschachtelten Tags
CodeValue
undCodingSchemaDesignator
aufPLACEHOLDER
gesetzt sind:Original metadata
Metadaten nach Ausführung von RecurseTag
{ "00081062": { "vr": "SQ", "Value": [ { "00401101": { "vr": "SQ", "Value": [ { "00080100": { "vr": "SH", "Value": [ "CodeValue1" ] }, "00080102": { "vr": "SH", "Value": [ "CodingSchemeDesignator1" ] } } ] } }, { "00401101": { "vr": "SQ", "Value": [ { "00080100": { "vr": "SH", "Value": [
"CodeValue2"
] }, "00080102": { "vr": "SH", "Value": ["CodingSchemeDesignator2"
] } } ] } } ] } }{ "00081062": { "vr": "SQ", "Value": [ { "00401101": { "vr": "SQ", "Value": [ { "00080100": { "vr": "SH", "Value": [ "PLACEHOLDER" ] }, "00080102": { "vr": "SH", "Value": [ "PLACEHOLDER" ] } } ] } }, { "00401101": { "vr": "SQ", "Value": [ { "00080100": { "vr": "SH", "Value": [ "PLACEHOLDER" ] }, "00080102": { "vr": "SH", "Value": [ "PLACEHOLDER" ] } } ] } } ] } }
Daten auf DICOM-Speicherebene de-identifizieren
Die vorherigen Beispiele zeigen, wie DICOM-Daten auf Dataset-Ebene de-identifiziert werden. In diesem Abschnitt wird beschrieben, wie Sie Daten auf der DICOM-Speicherebene de-identifizieren.
Nehmen Sie die folgenden Änderungen vor, um eine Dataset-De-Identifizierungsanfrage in eine DICOM-Store-De-Identifizierungsanfrage zu ändern:
- Ersetzen Sie
destinationDataset
im Anfragetext durchdestinationStore
. - Fügen Sie
dicomStores/DESTINATION_DICOM_STORE_ID
am Ende des Werts indestinationStore
hinzu, wenn Sie das Ziel angeben. - Fügen Sie
dicomStores/SOURCE_DICOM_STORE_ID
hinzu, wenn Sie den Speicherort der Quelldaten angeben.
Die folgenden Beispiele zeigen eine De-Identifizierungsanfrage auf Dataset-Ebene und wie Sie die Anfrage für eine De-Identifizierung auf DICOM-Speicherebene ändern:
De-Identifikation auf Dataset-Ebene
"destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID" ... "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"
DICOM-De-Identifikation auf Speicherebene
"destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID" ... "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify"
In den folgenden Beispielen wird gezeigt, wie Sie eine DICOM-Instanz in einem DICOM-Speicher de-identifizieren und die de-identifizierten Daten in einen neuen DICOM-Speicher schreiben. Bevor Sie die Beispiele ausführen, muss die ID des DICOM-Zielspeichers bereits vorhanden sein.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: Die ID des Ziel-Datasets, in das die anonymisierten Daten geschrieben werden. Muss bereits vorhanden sein, bevor der Vorgang zum Entfernen der Identifizierung ausgeführt wird.
- DESTINATION_DICOM_STORE_ID: Der DICOM-Speicher im Ziel-Dataset. Muss bereits vorhanden sein, bevor der Vorgang zum Entfernen der Identifizierung ausgeführt wird.
JSON-Text der Anfrage:
{ "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } }
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' { "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } } 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID:deidentify"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:@' { "destinationStore": "projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicomTagConfig": { "actions": [ { "queries": [ "PatientName" ], "keepTag": {} } ] } } } '@ | 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID:deidentify" | Select-Object -Expand ContentOPERATION_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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Teilmenge eines DICOM-Speichers de-identifizieren
Um eine Teilmenge der Daten in einem DICOM-Speicher zu de-identifizieren geben Sie einen Filter an.
Der Filter hat die Form einer Filterdatei, die Sie als Wert für das Feld resourcePathsGcsUri
im Objekt DicomFilterConfig
angeben. Die Filterdatei muss in einem Cloud Storage-Bucket vorhanden sein. Sie können keine Filterdatei angeben, die auf Ihrem lokalen Computer oder einer anderen Quelle vorhanden ist. Der Speicherort der Datei muss das Format gs://BUCKET/PATH/TO/FILE
haben.
Filterdatei erstellen
Eine Filterdatei definiert, welche DICOM-Dateien de-identifiziert werden sollen. Sie können Dateien auf den folgenden Ebenen filtern:
- Auf der Studienebene
- Für die Reihe
- Auf Instanzebene
Die Filterdatei besteht aus einer Zeile pro Studie, Serie oder Instanz, die Sie de-identifizieren möchten. Jede Zeile hat das Format /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]]
.
Am Ende jeder Zeile befindet sich ein Zeilenvorschubzeichen: entweder \n
oder \r\n
.
Wenn in der Filterdatei, die Sie beim Aufrufen des De-Identifizierungsvorgangs übergeben haben, keine Studie, Serie oder Instanz angegeben ist, wird diese Studie, Serie oder Instanz nicht de-identifiziert und sie wird nicht im DICOM-Zielspeicher vorhanden sein.
Nur der Teil /studies/STUDY_UID
des Pfads ist erforderlich. Dies bedeutet, dass Sie eine Studie durch Angabe von /studies/STUDY_UID
de-identifizieren können, oder Sie können eine Reihe durch Angabe von /studies/STUDY_UID/series/SERIES_UID
de-identifizieren.
Betrachten Sie die folgende Filterdatei. Die Filterdatei führt dazu, dass eine Studie, zwei Serien und drei einzelne Instanzen de-identifiziert werden:
/studies/1.123.456.789
/studies/1.666.333.111/series/123.456\n
/studies/1.666.333.111/series/567.890\n
/studies/1.888.999.222/series/123.456/instances/111\n
/studies/1.888.999.222/series/123.456/instances/222\n
/studies/1.888.999.222/series/123.456/instances/333\n
Filterdatei mit BigQuery erstellen
Normalerweise erstellen Sie eine Filterdatei, indem Sie zuerst die Metadaten aus einem DICOM-Speicher in BigQuery exportieren. Sie können BigQuery verwenden, um die Studien-, Series- und Instanz-UIDs der DICOM-Daten in Ihrem DICOM-Speicher anzuzeigen. Danach haben Sie folgende Möglichkeiten:
Fragen Sie nach den Studien-, Serien- und Instanz-UIDs, die Sie interessieren. Nachdem Sie beispielsweise die 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.
Nachdem Sie die Abfrageergebnisse in der Zieltabelle gespeichert haben, können Sie den Inhalt der Zieltabelle in einer Datei speichern und in 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 De-Identifizierungsvorgang angeben. Im folgenden Beispiel wird gezeigt, wie Sie mit dem Befehl gcloud storage cp
eine Filterdatei in einen Cloud Storage-Bucket hochladen:
gcloud storage cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY
Beispiel:
gcloud storage cp /home/user/Desktop/filters.txt gs://my-bucket/my-directory
Filter nutzen
Nachdem Sie die Filterdatei konfiguriert haben, können Sie sie als Wert an das Feld resourcePathsGcsUri
im Objekt filterConfig
übergeben.
Das folgende Beispiel wird auf die De-Identifikation von Daten auf DICOM-Speicherebene erweitert. In Cloud Storage wird jedoch eine Filterdatei bereitgestellt, die bestimmt, welche DICOM-Ressourcen de-identifiziert werden.
REST
De-identifizieren Sie das Dataset.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- LOCATION ist der Standort des Datasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DICOM_STORE_ID: Die ID des DICOM-Speichers, der die zu de-identifizierenden Daten enthält
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Zieldataset
- BUCKET/PATH/TO/FILE ist der Speicherort der Filterdatei in einem Cloud Storage-Bucket
JSON-Text der Anfrage:
{ "destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } }, "filterConfig": { "resourcePathGcsUri": "gs://BUCKET/PATH/TO/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' { "destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } }, "filterConfig": { "resourcePathGcsUri": "gs://BUCKET/PATH/TO/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/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify"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:@' { "destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } }, "filterConfig": { "resourcePathGcsUri": "gs://BUCKET/PATH/TO/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/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify" | Select-Object -Expand ContentMit 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
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- SOURCE_DATASET_ID: Die ID des Datasets, das die zu anonymisierenden Daten enthält
- 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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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, ist der Vorgang mit langer Ausführungszeit abgeschlossen.Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz abrufen, um zu sehen, wie sie geändert wurde. Die de-identifizierte Instanz hat eine neue Studien-UID, eine Serien-UID und eine Instanz-UID. Daher müssen Sie zuerst im neuen Dataset nach der de-identifizierten Instanz suchen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentSie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die folgende Tabelle zeigt, wie sich die Studien-UID, die Serien-UID und die Instanz-UID geändert haben:Metadaten der ursprünglichen Instanz De-identifizierte Instanzmetadaten Studien-UID ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
Serien-UID ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
Instanz-UID ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die ID Ihres Google Cloud Projekts
- DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das anonymisierte Daten geschrieben werden
- SOURCE_DATASET_LOCATION: der Speicherort des Quelldatasets
- DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quelldataset.
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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata"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/v1beta1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/studies/1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763/series/1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710/instances/1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029/metadata" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die 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.
Fehlerbehebung bei DICOM-De-Identifikationsvorgängen
Wenn Fehler während einer DICOM-De-Identifikation auftreten, werden die Fehler in Cloud Logging protokolliert. Weitere Informationen finden Sie unter Fehlerlogs in Cloud Logging ansehen.
Wenn der gesamte Vorgang einen Fehler zurückgibt, finden Sie weitere Informationen unter Fehlerbehebung bei Vorgängen mit langer Ausführungszeit.