DICOM-Daten mit DicomTagConfig de-identifizieren

Auf dieser Seite wird erläutert, wie Sie mit der v1beta1-Konfiguration DicomTagConfig in der Cloud Healthcare API vertrauliche Daten in DICOM-Instanzen auf den folgenden Ebenen de-identifizieren:

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 mithilfe der Legacy-Objekt DicomConfig (v1) oder die v1beta1-DicomTagConfig -Objekt enthält. Wir empfehlen dir dringend, DicomTagConfig zu verwenden.

Wenn Sie bereits DicomConfig für Ihre De-Identifikationsvorgänge verwenden, empfehlen wir Ihnen, Sie zu DicomTagConfig migrieren möchten. Eine Zusammenfassung der neuen Funktionen finden Sie unter Neue Konfigurationsoptionen in DicomTagConfig. Eine Anleitung zur Migration finden Sie unter Anfragen und Antworten zur Verwendung von DicomTagConfig migrieren.

Neue Konfigurationsoptionen in DicomTagConfig

Text durch kontextbezogene De-Identifikation de-identifizieren

Sie können die DicomTagConfig.Options.CleanDescriptorsOption konfigurieren -Objekt verwenden, um die kontextbezogene De-Identifikation von unstrukturiertem Metadatentext zu ermöglichen. Diese Option basiert auf dem Deskriptor-Option bereinigen (Deskriptor bereinigen): Wenn Sie DicomTagConfig.Options.CleanDescriptorsOption angeben, wird ein zusätzliches infoType wird bei der Prüfung verwendet, was sich auf die Abrechnungskosten auswirken kann.

Wenn Sie die Option DicomTagConfig.Options.CleanDescriptorsOption verwenden, wird jeder unstrukturierte Metadatentext umgewandelt, der mit entfernten Tags übereinstimmt. Dadurch wird die Qualität der De-Identifikation verbessert. Angenommen, Sie de-identifizieren eine Röntgenaufnahme und der Patient hat einen Nachnamen, der auch ein Nomen ist, z. B. Wall. Wenn Metadaten in der Instanz, wie der Text in StudyDescription enthält das Wort Wall. Der Text wird umgewandelt.

Mit der Option CleanDescriptorsOption werden kontextbezogene Wortgruppen entfernt, die mit beliebigen Tags übereinstimmen. im DICOM-Basisprofil zum Entfernen gekennzeichnet solange die Tags mit einem der folgenden Aktionscodes übereinstimmen:

  • D
  • Z
  • X
  • U

Übereinstimmende kontextbezogene Wortgruppen werden durch das Token [CTX] ersetzt.

Sie können konfigurieren, welche Tags entfernt werden sollen, indem Sie Folgendes angeben:

  • Eine Aufzählung in der ProfileType -Objekt enthält. Die Angabe einer Enum ist nicht erforderlich.
  • Die CleanTextTag nach bestimmten Tags filtern.

Die im DICOM-Basisprofil verwendeten Tags können jedoch nicht geändert werden.

Eingebrannten Text mit kontextbezogener De-Identifikation entfernen

Sie können den TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS angeben. enum, um die kontextbezogene De-Identifikation von eingebranntem Text in einem Bild zu ermöglichen. Diese Option basiert auf dem Deskriptor-Option bereinigen (Deskriptor bereinigen): Wenn Sie die TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS angeben Enum verwendet wird, wird während der Inspektion ein zusätzlicher infoType verwendet, der sich auf Abrechnungskosten.

Sie können die TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS angeben enum auf folgende Arten ein:

Bei der Option TextRedactionMode.REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS werden Daten entfernt. eingebrannter Text, der mit beliebigen Tags übereinstimmt im DICOM-Basisprofil zum Entfernen gekennzeichnet solange die Tags mit einem der folgenden Aktionscodes übereinstimmen:

  • D
  • Z
  • X
  • U

Für die kontextbezogene De-Identifikation von eingebrannten Texten ist keine zusätzliche Konfiguration erforderlich. Sie können sie nur mithilfe eines Enum im Objekt ProfileType aktivieren oder deaktivieren. Die Angabe einer Enum ist nicht erforderlich.

Zusätzliche infoTypes bei der De-Identifikation von Bildern

Sie können Informationstypen (infoTypes) verwenden. geben an, nach welchen Daten bei der De-Identifikation von Tags gesucht werden soll. Ein infoType ist ein Typ sensibler Daten wie Patientenname, E-Mail-Adresse, Telefonnummer, Sozialversicherungsnummer oder Kreditkartennummer.

Sie können die folgenden Felder im Objekt DicomTagConfig.Options.ImageConfig konfigurieren, um festzulegen, welche infoTypes bei der De-Identifikation von DICOM-Bildern verwendet werden sollen:

Diese Felder werden nur wirksam, 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, das in der Cloud Healthcare API v1beta1 verfügbar ist und eine Alternative zur Verwendung der alten DicomConfig Wenn Sie eine Anfrage senden, können Sie nicht sowohl DicomConfig als auch DicomTagConfig angeben.

In den folgenden Abschnitten werden Konfigurationen in DicomConfig beschrieben und es wird erklärt, wie Sie migrieren Sie sie zu DicomTagConfig.

TagFilterProfile bis ProfileType

Ersetzen Sie DicomConfig TagFilterProfile. mit dem DicomTagConfig ProfileType -Objekt enthält. Dieselben vier Profile sind auch in TagFilterProfileType verfügbar: ProfileType.

Das folgende Beispiel zeigt, wie Sie eine Anfrage von TagFilterProfile migrieren. zur Verwendung von ProfileType:

DicomConfigDicomTagConfig
"config": {
  "dicom": {
    "filterProfile": enum(TagFilterProfile)
  }
}
"config": {
  "dicomTagConfig": {
    "profileType": enum(ProfileType)
  }
}

keepList und removeList

Das DicomConfig keepList und removeList sind in DicomTagConfig nicht mehr verfügbar. Wenn Sie keepList verwendet haben und removeList, um Tags anzugeben, die anstelle eines Profils beibehalten oder entfernt werden sollen. müssen Sie zum neuen Action migrieren -Objekt, in dem Sie das Tag-Verhalten festlegen. Das Objekt Action bietet zusätzliche zum Transformieren von Tags.

Das folgende Beispiel zeigt, wie Sie eine Anfrage von der Verwendung von keepList zur Verwendung von Action.keepTag. Die Anforderung gibt an, dass der Wert von Das PatientID-Tag wird während des De-Identifikationsvorgangs beibehalten.

DicomConfigDicomTagConfig
"config": {
  "dicom": {
    "keepList": {
      "tags": [
        "PatientID"
      ]
    }
  }
}
"config": {
  "dicomTagConfig": {
    "actions": [
      {
        "queries": [
          "PatientID"
        ],
        "keepTag": {}
      }
    ]
  }
}

Keep-Listen, Entfernte Listen und Profile kombinieren

Im DicomConfig-Objekt können Sie anhand von Beibehaltungslisten, Entfernungslisten und Profilen festlegen, ob Daten beibehalten oder entfernt werden sollen. Diese Optionen schließen sich gegenseitig aus.

Wenn Sie das Objekt DicomTagConfig verwenden, können Sie diese Optionen kombinieren, indem Sie welche Tags in einem Action beibehalten und entfernt werden sollen und gleichzeitig ein Profil in ProfileType angeben.

Optionen, die im Action-Objekt konfiguriert sind, überschreiben die im ProfileType-Profil 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 DicomConfig-Objekt durch das Feld primaryIds im DicomTagConfig-Objekt. Das Feld primaryIds im Objekt Options enthält ein PrimaryIdsOption-Objekt, in dem Sie eines der folgenden Enumerationen angeben:

  • PRIMARY_IDS_OPTION_UNSPECIFIED: Standardverhalten, wenn kein Wert für PrimaryIdsOption. Die Standardeinstellung ist die in ProfileType angegebene Option.
  • KEEP: Lassen Sie die primären IDs unverändert.
  • REGEN: Generieren Sie die primären IDs neu.

Das folgende Beispiel zeigt, wie eine Anfrage von skipIdRedaction auf Options.primaryIds migriert wird. In der Anfrage ist angegeben, Die Werte der primären IDs werden während des De-Identifikationsvorgangs beibehalten:

DicomConfigDicomTagConfig
"config": {
  "dicom": {
    "skipIdRedaction": true
  }
}
"config": {
  "dicomTagConfig": {
    "options": {
      "primaryIds": "KEEP"
    }
  }
}

DeidentifyConfig.ImageConfig bis DicomTagConfig.Options.ImageConfig

Ersetzen Sie das Objekt DeidentifyConfig.ImageConfig durch das Objekt DicomTagConfig.Options.ImageConfig-Objekt. Die Optionen im Objekt ImageConfig sind in beiden Versionen identisch.

Das folgende Beispiel zeigt, wie eine Anfrage von einem ImageConfig migriert wird in DeidentifyConfig.image bis zur Verwendung eines ImageConfig in DeidentifyConfig.DicomTagConfig.Options.cleanImage. Die Anfrage gibt an, dass der gesamte Text in einem Bild während des De-Identifikationsvorgangs ausgeführt:

DeidentifyConfig.imageDeidentifyConfig.DicomTagConfig.Options.cleanImage
"config": {
  "image": {
    "textRedactionMode": "REDACT_ALL_TEXT"
  }
}
"config": {
  "dicomTagConfig": {
    "options": {
      "cleanImage": {
        "textRedactionMode": "REDACT_ALL_TEXT"
      }
    }
  }
}

Übersicht über die De-Identifikation

De-Identifikation auf Dataset-Ebene

Rufen Sie zum De-Identifizieren von DICOM-Daten auf Dataset-Ebene die Methode datasets.deidentify . 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, Alle Instanzen in allen DICOM-Speichern im Dataset werden de-identifiziert.
  • Ziel-Dataset: Die De-Identifikation erfolgt nicht auf das ursprüngliche Dataset oder seine Daten auswirken. Stattdessen werden de-identifizierte Kopien der ursprünglichen Daten in ein neues Dataset geschrieben, das als Ziel-Dataset bezeichnet wird.
  • Was zu de-identifizieren ist: Konfigurationsparameter, die angeben, wie zu verarbeiten ist die DICOM-Daten im Dataset. Sie können die DICOM-De-Identifikation konfigurieren, um DICOM zu de-identifizieren Instanzmetadaten (mit Tag-Keywords) oder eingebrannten Text in DICOM-Bildern durch Angabe dieser Parameter in einem DeidentifyConfig -Objekt enthält.

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 erfolgt nicht auf den ursprünglichen DICOM-Speicher oder seine Daten auswirken. Stattdessen werden de-identifizierte Kopien der Originaldaten in den DICOM-Zielspeicher geschrieben. Der DICOM-Zielspeicher muss bereits vorhanden sein.
  • Was zu de-identifizieren ist: Konfigurationsparameter, die angeben, wie zu verarbeiten ist aus dem DICOM-Speicher. 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.

Beispiel zur De-Identifikation 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 Teilmenge der Daten im DICOM-Speicher durch Konfigurieren eines Filters und geben die Datei in der dicomStores.deidentify-Anfrage an. Für eine Beispiel finden Sie unter Eine 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, Sie können aber auch mehrere Instanzen de-identifizieren. So verwenden Sie das Beispiel-DICOM Instanz in den Beispielen auf dieser Seite 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 wird beschrieben, wie das Bild in der DICOM-Instanz aussieht, und die Metadaten in der Instanz.

Beispielbild

Einige Beispiele auf dieser Seite enthalten eine Ausgabe des de-identifizierten Bildes. In jedem Beispiel wird das folgende Originalbild als Eingabe. Sie können das Ausgabebild jedes De-Identifikationsvorgangs mit diesem Originalbild, um die Auswirkungen des Vorgangs zu sehen:

xray_original

Beispielmetadaten

Die meisten Beispiele auf dieser Seite enthalten eine Ausgabe der geänderten Metadaten in der DICOM-Instanz. In jedem Beispiel werden die folgenden ursprünglichen Metadaten als Eingabe. Sie können die Ausgabemetadaten jeder De-Identifikation vergleichen. auf diese ursprünglichen Metadaten anwenden, um die Auswirkungen der De-Identifikation 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 der Methode ImageConfig Objekt in Action -Objekt enthält. Innerhalb von ImageConfig können Sie angeben, welche infoTypes ein- oder ausgeschlossen werden sollen, und wie Text mit dem Objekt TextRedactionMode entfernt werden soll.

Gesamten Text entfernen

Die folgenden Beispiele zeigen, wie Sie eine DICOM-Instanz de-identifizieren, indem Sie TextRedactionMode an REDACT_ALL_TEXT. Bei dieser Konfiguration wird der gesamte eingebrannte Text im Bild entfernt.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

Nach der De-Identifikation des Images mit REDACT_ALL_TEXT wird das Image sieht so aus. Der gesamte eingebrannte Text unten im Bild wurde entfernt.

Abbildung 1. Die DICOM-Instanz nach der De-Identifikation mit REDACT_ALL_TEXT.

Vertraulichen Text mit der Option „Deskriptoren bereinigen“ entfernen

Die folgenden Beispiele zeigen, wie Sie eine DICOM-Instanz de-identifizieren, indem Sie TextRedactionMode an REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS.

Weitere Informationen Informationen zur Option CleanDescriptorsOption finden Sie unter Text durch kontextbezogene De-Identifikation de-identifizieren

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

Nach der De-Identifikation des Images mit REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS wird das Image sieht so aus. Beachten Sie, dass nicht der gesamte eingebrannte Text am Ende des Bild wurde entfernt. Der Text Female wird weiterhin angezeigt, weil PatientSex (0010,0040) ist kein Standard-DICOM-infoType.

Abbildung 2. Die DICOM-Instanz nach der De-Identifikation mit 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 in der DicomTagConfig Action -Objekt enthält:

Sie geben jede Action-Option als Liste von DICOM-Tag-IDs, -Namen oder Wertdarstellungen (VRs) und dann eine Aktion für die Tags in der Liste. Sie können maximal eine Action-Option angeben in einer Tag-Liste.

Jedes Action-Objekt stellt eine queries[]-Liste bereit, in der du eine Liste angibst. von Tags. Die folgenden Tag-Formate werden unterstützt:

  • Tag-IDs, z. B. "00100010"
  • Tag-Namen wie "PatientName"
  • Wertedarstellungen (Value Representations, VR), z. B. "PN"

Die Anzahl der Tags, die in der queries[]-Liste angegeben werden können, ist nicht begrenzt. Pro Tag kann jedoch nur eine einzige Action-Option ausgeführt werden. So geben Sie verschiedene Tags an, für die unterschiedliche Action-Optionen ausgeführt werden: müssen Sie mehrere Action-Objekte angeben.

Tags behalten

Sie können verhindern, dass die Werte von Tags entfernt werden, indem Sie die Parameter Tags in einem KeepTag-Objekt im DicomTagConfig -Objekt enthält.

Geben Sie zum Erstellen eines gültigen DICOM-Objekts mit einem KeepTag-Objekt den MINIMAL_KEEP_LIST_PROFILE an. oder DEIDENTIFY_TAG_CONTENTS Werte in ProfileType -Objekt enthält.

Wenn Sie eines dieser Profile angeben, werden die folgenden Tags automatisch beibehalten, um sicherzustellen, dass die de-identifizierte DICOM-Instanz gültige DICOM-Instanz 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 vorhergehenden Tags werden neu generiert. Das bedeutet, dass die Werte durch einen anderen Wert durch eine deterministische Transformation ersetzt. Weitere Informationen finden Sie unter Option „UID beibehalten“. im DICOM-Standard.

Die Werte von StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, und MediaStorageSOPInstanceUID werden als „primäre IDs“ bezeichnet. Um festzustellen, wie primäre IDs transformiert werden, PrimaryIdsOption

Die folgenden Beispiele zeigen, wie Sie mit dem KeepTag-Objekt die Werte von ... bestimmte Tags während der De-Identifikation unverändert lassen. Das PatientName-Tag wird der queries[]-Liste hinzugefügt, sodass PatientName wird der Wert bei der De-Identifikation nicht entfernt.

Da PrimaryIdsOption in der Stichprobe nicht angegeben ist, Das Feld primaryIds wird standardmäßig auf PRIMARY_IDS_OPTION_UNSPECIFIED gesetzt. auf den Wert in ProfileType. Da ProfileType ebenfalls nicht angegeben ist, wird das Feld profileType standardmäßig auf PROFILE_TYPE_UNSPECIFIED gesetzt, wodurch -Tags basierend auf dem Basic Profile für Attributvertraulichkeit (DICOM Standard Edition 2018e).

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

Tags entfernen

In den folgenden Beispielen wird gezeigt, wie Sie mit dem RemoveTag-Objekt die Werte bestimmter Tags bei der De-Identifizierung entfernen. Ein entferntes Tag ist durch einen leeren Wert ersetzt.

In den folgenden Beispielen wird das PatientName-Tag im queries[]-Liste, sodass ihr Wert durch eine leere Liste ersetzt wird während der De-Identifikation.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

Tags löschen

Die folgenden Beispiele zeigen, wie das DeleteTag-Objekt zum Löschen verwendet wird. bestimmte Tags während der De-Identifikation.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

Tags auf Platzhalterwert zurücksetzen

In den folgenden Beispielen wird gezeigt, wie Sie mit dem ResetTag-Objekt den Wert von Tags während der De-Identifikation zum String PLACEHOLDER.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

    Beachten Sie insbesondere, dass der Wert des Tags PatientName ist auf PLACEHOLDER festgelegt:

    Original metadataMetadaten nach Ausführung von ResetTag
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "Ann Johnson"
        }
      ]
    }
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "PLACEHOLDER"
        }
      ]
    }

Vertraulichen Text in Tags prüfen und umwandeln

Die folgenden Beispiele zeigen, wie Tags mit dem CleanTextTag-Objekt geprüft werden. und transformieren die Werte der Tags entsprechend der Konfiguration in TextConfig -Objekt enthält.

In diesen Beispielen werden die folgenden Optionen im Objekt Actions festgelegt:

  • Ein CleanTextTag-Objekt.
  • Eine queries[]-Liste mit dem DICOM-Tag PatientName.

Die folgenden Optionen werden im Objekt TextConfig festgelegt:

  • Ein InfoTypeTransformation-Objekt wandelt Text um, der mit einem bestimmten infoType übereinstimmt.
  • Ein ReplaceWithInfoTypeConfig-Objekt der jeden übereinstimmenden Text durch den Namen des infoType ersetzt.
  • Eine infoTypes[]-Liste mit dem infoType PERSON_NAME.

Wenn diese Konfigurationen festgelegt sind, prüft der De-Identifikationsvorgang das PatientName, gleicht das Tag mit dem infoType PERSON_NAME ab und ersetzt den Wert des Tags mit dem infoType PERSON_NAME. Das PatientName-Tag hat die Wertdarstellung (VR) von PN. Dies ist einer der folgenden Werte: die unterstützten VRs in CleanTextTag -Objekt enthält.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs 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.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

    Beachten Sie insbesondere, dass der Wert des Tags PatientName ist auf [PERSON_NAME] festgelegt:

    Original metadataMetadaten nach der Ausführung von CleanTextTag
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "Ann Johnson"
        }
      ]
    }
    "00100010": {
      "vr": "PN",
      "Value": [
        {
          "Alphabetic": "[PERSON_NAME]"
        }
      ]
    }

Eine UID durch eine generierte UID ersetzen

Die folgenden Beispiele zeigen, wie Sie mit dem RegenUidTag-Objekt ein UID mit einer neu generierten UID. Die einzige VR, die das RegenUidTag-Objekt enthält UI unterstützt.

Standardmäßig wird jedes Tag in den Beispielmetadaten mit einem VR-Gerät von UI wird während der De-Identifikation generiert. Um zu zeigen, wie für ein bestimmtes Tag eine UID hat, werden folgende Optionen festgelegt: im Beispiel:

  • ProfileType ist auf KEEP_ALL festgelegt enum, der verhindert, dass DICOM-Metadaten de-identifiziert werden.

  • PrimaryIdsOption ist auf die KEEP enum auf, das die primären IDs (StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID und MediaStorageSOPInstanceUID) unverändert lassen.

Wenn diese Optionen festgelegt sind, wird keine der primären ID-UIDs in den Beispieldaten ersetzt mit neu generierten Werten. Wenn Sie jedoch SOPInstanceUID zum Action.queries[] können Sie speziell für das SOPInstanceUID-Tag eine neue UID generieren.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Instanz-UID, weil Sie das SOPInstanceUID-Tag angegeben haben im Array Action.queries[]. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit dem neuen Wert die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

    Beachten Sie, dass nur die SOPInstanceUID eine neu generierte UID hat.

Tags in einem verschachtelten Sequence rekursiv de-identifizieren

In den folgenden Beispielen wird gezeigt, wie Sie mit dem RecurseTag-Objekt verschachtelte DICOM-Tags in einem Sequence rekursiv de-identifizieren. Das RecurseTag-Objekt unterstützt nur die SQ-VR, die VR für eine Sequence.

Informationen zur SQ-VR finden Sie unter 7.5 Verschachtelung von Datensätzen.

Die DICOM-Beispielinstanz für diese Seite keine DICOM-Tags mit einer SQ-VR enthalten. Sie können eine DICOM-Instanz mit fiktiven Daten, die das VR-Objekt SQ enthalten, erstellen und speichern. indem Sie die folgenden Schritte ausführen, die auf den Anweisungen in DICOM-Instanzen aus JSON-Metadaten und JPEG-Dateien erstellen Die DICOM-Instanz, die Sie in den folgenden Schritten erstellen, verwendet fiktive Daten, und soll lediglich das Verhalten von RecurseTag veranschaulichen.

  1. Speichern Sie die folgenden DICOM-Metadaten in einer JSON-Datei mit dem Namen instance.json. Die Metadaten enthalten ein PhysiciansReadingStudyIdentificationSequence-Tag (00081062). Das Tag hat eine SQ-VR und enthält zwei verschachtelte PersonIdentificationCodeSequence-Tags (00401101). Die verschachtelten Tags können auch haben ein SQ-VR-Objekt 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"
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }]
    
  2. Datei google.jpg herunterladen auf Ihren lokalen Computer übertragen. Die DICOMweb API der Cloud Healthcare API akzeptiert jede beliebige JPEG-Datei. Bild mit JSON-Metadaten kombiniert, sofern die Metadaten gültig sind.

  3. Führen Sie die folgenden Befehle aus, um eine Öffnung (für die JSON-Metadaten) zu erstellen: Bild in der Mitte (für das JPEG) und schließende Grenzen im Bild:

    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
    
  4. Umschließen Sie das google.jpg-Bild innerhalb der mittleren und schließenden Grenzen. Die Ausgabe Datei, die Sie an die Cloud Healthcare API senden, heißt multipart-request.file:

    cat opening.file instance.json middle.file google.jpg closing.file > multipart-request.file
    
  5. Speichern Sie die Datei multipart-request.file:

    REST

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DICOM_STORE_ID: die ID des DICOM-Speichers im Quell-Dataset

    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 Content

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Führen Sie die folgenden Schritte aus, um die gespeicherte DICOM-Instanz zu de-identifizieren.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs 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.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

    In der folgenden Tabelle sehen Sie, wie die UID der Studien, die UID der Serie und die UID der Instanzen geändert:

    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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs 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.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten in Schritt 1 vergleichen, um die Auswirkungen der Transformation zu sehen.

    Beachten Sie insbesondere, dass die Werte der verschachtelten CodeValue- und CodingSchemaDesignator-Elemente Tags sind auf PLACEHOLDER festgelegt:

    Original metadataMetadaten nach der 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 durch destinationStore.
  • Fügen Sie dicomStores/DESTINATION_DICOM_STORE_ID am Ende des Werts in destinationStore 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-Identifikationsanfrage auf Dataset-Ebene und wie Sie die Anfrage für eine De-Identifikation auf DICOM-Store-Ebene ä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"

Die folgenden Beispiele zeigen, wie eine DICOM-Instanz in einem DICOM-Speicher de-identifiziert wird und die de-identifizierten Daten in einen neuen DICOM-Speicher schreiben. Vor dem Ausführen der Beispiele muss die Ziel-DICOM-Speicher-ID bereits vorhanden sein muss.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte Daten geschrieben werden. Muss vor dem Ausführen des De-Identifikationsvorgangs bereits vorhanden sein.
    • DESTINATION_DICOM_STORE_ID: der DICOM-Speicher im Ziel-Dataset. Muss vor dem Ausführen des De-Identifikationsvorgangs bereits vorhanden sein.

    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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für ein lang andauernden Vorgang ausführen. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen zusätzliche Zeit in Anspruch nehmen kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

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 eine Studie, Serie oder Instanz in der übergebenen Filterdatei nicht angegeben ist wenn Sie den De-Identifikationsvorgang aufrufen, wird diese Studie, Serie oder Instanz de-identifiziert und nicht im Ziel-DICOM-Speicher vorhanden.

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:

  1. 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]
  2. 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.

  3. 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.

Im folgenden Beispiel wird die Daten auf DICOM-Speicherebene de-identifizieren, In Cloud Storage wird jedoch eine Filterdatei zur Verfügung gestellt, um zu bestimmen, DICOM-Ressourcen werden de-identifiziert.

REST

  1. Dataset de-identifizieren

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • SOURCE_DATASET_ID: die ID des Datasets, das die zu de-identifizierenden Daten enthält
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das de-identifizierte 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 Ziel-Dataset
    • 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 Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. 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 ist die ID Ihres Google Cloud-Projekts
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • SOURCE_DATASET_ID: Die ID des Datasets, das die zu de-identifizierenden 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 Content

    APIs 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.

    Die Ausgabe sieht so aus. Wenn die Antwort "done": true enthält, ist der lang andauernde Vorgang abgeschlossen.

  3. Nach erfolgreicher De-Identifikation können Sie die Metadaten für die de-identifizierte Instanz, um zu sehen, wie sie sich geändert hat. Die de-identifizierte Instanz hat eine neue Studien-UID, Serien-UID und Instanz-UID. Sie müssen also zuerst das neue Dataset nach der de-identifizierten Instanz durchsuchen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    Sie 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
  4. Rufen Sie mit den neuen Werten die Metadaten für die Instanz ab.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • DESTINATION_DATASET_ID: die ID des Ziel-Datasets, in das die de-identifizierten Daten geschrieben werden
    • SOURCE_DATASET_LOCATION: Speicherort des Quell-Datasets
    • DESTINATION_DICOM_STORE_ID: die ID des DICOM-Speichers im Ziel-Dataset. Dies entspricht der ID des DICOM-Speichers im Quell-Dataset.

    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 Content

    APIs Explorer

    Öffnen Sie das Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

    Die Ausgabe enthält die neuen Metadaten. Sie können die neuen Metadaten mit den ursprünglichen Metadaten vergleichen, um die Auswirkungen der Transformation zu sehen.

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.