Annotazione di dati anonimizzati

Questa pagina spiega come configurare archivi e record di annotazioni quando anonimizza il FHIR sensibile e DICOM.

Panoramica delle annotazioni dei dati anonimizzati

Ogni volta che anonimizza i dati FHIR o DICOM sensibili, può restituire informazioni sui dati sensibili rimossi un archivio di annotazioni. Queste informazioni vengono archiviate come una o più annotazioni all'interno dell'archivio annotazioni.

Puoi creare l'archivio di annotazioni in un set di dati esistente oppure crearlo in il nuovo set di dati creato durante l'operazione di anonimizzazione. Se crei di annotazioni in un set di dati esistente, un archivio di annotazioni lo stesso nome non può esistere già nel set di dati.

L'archivio di annotazioni creato deve trovarsi nello stesso progetto dell'archivio anonimizzato i dati di origine. Ad esempio, non puoi anonimizzare contemporaneamente i dati e produrre record di annotazione in un archivio di annotazioni in un progetto.

Per specificare un archivio di annotazioni e il suo comportamento durante l'anonimizzazione, imposta il campo annotationStoreName all'interno di un annotation in DeidentifyConfig .

Se vuoi, puoi impostare il campo storeQuote, a seconda del caso d'uso. Le informazioni sull'impostazione del campo storeQuote sono disponibili in sezione successiva.

Utilizzo del campo storeQuote

Le seguenti informazioni si applicano sia ai dati FHIR sia a quelli DICOM.

Quando è impostato il campo storeQuote all'interno di annotation nella richiesta a true, i valori originali dei dati anonimizzati vengono visualizzati nel record di annotazione nel campo quote. Ad esempio:

  • Se DATE è anonimizzato e se storeQuote è impostato su true, nel record di annotazione vengono visualizzate le seguenti informazioni:

    • Il valore della data (ad es. 1980-12-05), visualizzato nel campo quote
    • L'infoType DATE
    • Le posizioni di inizio e fine in cui sono stati trovati i dati. Le posizioni di partenza e di arrivo utilizzano un indice in base zero e sono entrambe inclusive.
  • Se storeQuote è impostato su false, la data (1980-12-05) non vengono visualizzati nel record di annotazione e vengono fornite solo le seguenti informazioni visualizza:

    • L'infoType DATE
    • Le posizioni di inizio e fine in cui sono stati trovati i dati. Le posizioni di partenza e di arrivo utilizzano un indice in base zero e sono entrambe inclusive.

Annotazioni per dati FHIR anonimizzati

Questa sezione si basa sui concetti spiegati Anonimizzazione dei dati FHIR mediante il metodo API Cloud Healthcare.

Struttura del record di annotazione

L'operazione di anonimizzazione crea un record di annotazione per ogni Risorsa FHIR. Ogni record di annotazione contiene un oggetto textAnnotation che contiene informazioni sui dati anonimizzati che sono stati ispezionati e trasformati. Affinché un campo anonimizzato venga visualizzato nel record di annotazione, deve essere applicato il valore INSPECT_AND_TRANSFORM Action.

Configurazione delle annotazioni per i dati FHIR anonimizzati

I seguenti esempi utilizzano l'anonimizzazione predefinita dei dati FHIR come punto di partenza. Gli esempi mostrano come anonimizzare una risorsa Patient utilizzando il metodo predefinito di FHIR e archiviare le informazioni sui dati anonimizzati in un record di annotazione in un nuovo archivio di annotazioni. Negli esempi, il valore storeQuote è impostato su true, il che significa che il record di annotazione di output contiene i valori originali dei dati anonimizzati.

Il nuovo archivio di annotazioni si trova nel set di dati creato di anonimizzazione, ma puoi anche per creare l'archivio di annotazioni in un set di dati esistente.

curl

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'destinationDataset': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID',
      'config': {
        'fhir': {},
        'annotation': {
          'annotationStoreName': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID',
          'storeQuote': 'true'
        }
      }
    }" "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"
}

La risposta contiene il nome di un'operazione. Puoi utilizzare lo Metodo dell'operazione get per monitorare lo stato dell'operazione:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

Se la richiesta riesce, il server restituisce la risposta in formato JSON. Al termine del processo di anonimizzazione, la risposta contiene "done": true.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary",
    "successStoreCount": "1",
    "successResourceCount": "1"
  }
}

Dopo aver verificato che l'anonimizzazione è riuscita, puoi elencare i di annotazioni nel set di dati e vedrai che l'operazione ha creato archivio annotazioni:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "annotationStores": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID"
    },
    {
      ...
    }
  ]
}

Utilizza il valore ANNOTATION_STORE_ID per elencare le record di annotazioni nell'archivio annotazioni:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "annotations": [
    "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_RECORD_ID",
    ...
  ]
}

Utilizza il valore ANNOTATION_RECORD_ID per visualizzare l'annotazione record:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_RECORD_ID"

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON.

L'oggetto textAnnotation contiene informazioni sul testo sensibile che l'oggetto l'operazione di anonimizzazione è stata rimossa. Nel campo details, puoi vedere che L'operazione ha cercato l'oggetto patient.text.div e ha trovato quattro infoType, insieme ai relativi valori e alle posizioni in cui i valori sono stati trovati.

Utilizzando l'anonimizzazione FHIR predefinita, gli unici dati ispezionati e trasformati sono stati i dati nell'oggetto patient.text.div. tutti gli altri i dati anonimizzati sono stati trasformati senza essere ispezionati perché infoType è già stato dichiarato nella risorsa FHIR originale.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_RECORD_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID"
    }
  },
  "textAnnotation": {
    "details": {
      "patient.text.div": {
        "findings": [
          {
            "infoType": "PERSON_NAME",
            "start": "42",
            "end": "54",
            "quote": "Smith, Darcy"
          },
          {
            "infoType": "PERSON_NAME",
            "start": "42",
            "end": "47",
            "quote": "Smith"
          },
          {
            "infoType": "PERSON_NAME",
            "start": "49",
            "end": "54",
            "quote": "Darcy"
          },
          {
            "infoType": "DATE",
            "start": "81",
            "end": "91",
            "quote": "1980-12-05"
          }
        ]
      }
    }
  }
}

gcloud

L'esempio seguente utilizza il comando gcloud beta healthcare datasets deidentify. Il campo storeQuote è impostato su true per impostazione predefinita e non può essere modificato quando si utilizza Google Cloud CLI.

gcloud beta healthcare datasets deidentify SOURCE_DATASET_ID \
    --destination-dataset=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID \
    --default-fhir-config \
    --annotation-store=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID

La riga di comando mostra l'ID operazione e, al termine dell'operazione,done:

Request issued for: [SOURCE_DATASET_ID]
Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID] to complete...done.

Per visualizzare ulteriori dettagli sull'operazione, esegui il comando gcloud beta healthcare operations describe , fornendo il valore OPERATION_ID dalla risposta:

gcloud beta healthcare operations describe --dataset=SOURCE_DATASET_ID \
    OPERATION_ID

La risposta include done: true:

done: true
metadata:
  '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata
  apiMethodName: google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset
  counter: {COUNTER}
  createTime: 'CREATE_TIME'
  endTime: 'END_TIME'
  logsUrl: CLOUD_LOGGING_URL
name: projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
response:
  '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary

Esegui questo comando per elencare gli archivi di annotazioni nel set di dati e vedrai che l'operazione ha creato il nuovo archivio di annotazioni:

gcloud beta healthcare annotation-stores list --dataset=DESTINATION_DATASET_ID

Se la richiesta ha esito positivo, il server restituisce il nuovo archivio di annotazioni:

ID                    LOCATION
ANNOTATION_STORE_ID                      LOCATION

Non è possibile visualizzare i dettagli di una singola annotazione utilizzando il metodo con gcloud CLI. Per visualizzare i dettagli di una singola annotazione: le istruzioni nell'esempio di curl.

Annotazioni per i dati DICOM anonimizzati

Questa sezione si basa sui concetti spiegati Anonimizzazione dei dati DICOM mediante API Cloud Healthcare.

Struttura del record di annotazione

L'operazione di anonimizzazione crea due tipi di record di annotazione dati DICOM anonimizzati. I due tipi di record di annotazione sono:

  • Record di annotazione di testo: contengono metadati, ad esempio come tag DICOM, dai dati anonimizzati. Ogni record di annotazione di testo contiene textAnnotation che contiene informazioni sui dati anonimizzati che sono stati ispezionati e trasformati. Affinché un tag anonimizzato venga visualizzato nel record di annotazione, deve essere stato controllato per rilevare informazioni sanitarie protette (PHI) in base alla configurazione fornita nel campo TagFilterProfile. Ad esempio, gli esempi in Configurazione delle annotazioni per i dati DICOM anonimizzati utilizzano la configurazione DEIDENTIFY_TAG_CONTENTS.
  • Record di annotazione per le immagini: contengono la posizione delle informazioni sensibili. nei singoli frame DICOM. Ogni record di annotazione delle immagini contiene ImageAnnotation contenente le coordinate per le informazioni sensibili trovate.

L'operazione di anonimizzazione crea record di annotazioni per ogni frame di un'istanza DICOM. Ad esempio, se un'istanza DICOM ha tre frame, crea i seguenti record di annotazione:

  • Un record di annotazione di testo, contenente un textAnnotation, per i tag DICOM nell'istanza DICOM.
  • Tre record di annotazioni delle immagini, ciascuno contenente un imageAnnotation, per ciascuno dei tre frame. Ogni record di annotazione delle immagini contiene frame_index per indicare il frame a cui corrisponde il record.

Tutti e quattro questi record di annotazione hanno lo stessocloudHealthcareSource.name , che è il percorso dell'istanza DICOM nel formato: projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID.

Configurazione delle annotazioni per i dati DICOM anonimizzati

I seguenti esempi utilizzano la combinazione dell'anonimizzazione dei tag e dell'oscuramento del testo con burn-in come punto di partenza. Gli esempi mostrano come anonimizzare un'istanza DICOM per oscurare completamente il testo integrato nell'immagine, ispezionare e trasformare i dati testo. Gli esempi mostrano anche come archiviare le informazioni sui dati anonimizzati in un di annotazioni in un nuovo archivio di annotazioni. Negli esempi, il valore storeQuote è impostato su true, il che significa che il record di annotazione di output contiene i valori originali dei dati anonimizzati.

Il nuovo archivio di annotazioni si trova nel set di dati creato di anonimizzazione, ma puoi anche per creare l'archivio di annotazioni in un set di dati esistente.

curl

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'destinationDataset': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID',
      'config': {
        'dicom': {
          'filterProfile': 'DEIDENTIFY_TAG_CONTENTS'
        },
        'image': {
          'textRedactionMode': 'REDACT_ALL_TEXT'
        },
        'annotation': {
          'annotationStoreName': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID',
          'storeQuote': 'true'
        }
      }
    }" "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"
}

La risposta contiene il nome di un'operazione. Puoi utilizzare lo Metodo dell'operazione get per monitorare lo stato dell'operazione:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

Se la richiesta riesce, il server restituisce la risposta in formato JSON. Al termine del processo di anonimizzazione, la risposta contiene "done": true.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary",
    "successStoreCount": "1",
    "successResourceCount": "1"
  }
}

Dopo aver verificato che l'anonimizzazione sia andata a buon fine, puoi elencare gli Annotator nel set di dati e verificare che l'operazione abbia creato il nuovo Annotator:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "annotationStores": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID"
    },
    {
      ...
    }
  ]
}

Utilizza il valore ANNOTATION_STORE_ID per elencare le record di annotazioni nell'archivio annotazioni:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations"

Se la richiesta riesce, il server restituisce la risposta in formato JSON:

{
  "annotations": [
    "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/TEXT_ANNOTATION_RECORD_ID",
    "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/IMAGE_ANNOTATION_RECORD_ID",
    ...
  ]
}

Puoi notare che sono stati creati due record di annotazione: un record di annotazione testuale e un record di annotazione per l'immagine.

Innanzitutto, utilizza TEXT_ANNOTATION_RECORD_ID per visualizzare il record di annotazione del testo:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/TEXT_ANNOTATION_RECORD_ID"

Se la richiesta riesce, il server restituisce la risposta in formato JSON.

L'oggetto textAnnotation contiene informazioni sul testo sensibile rimosso dall'operazione di anonimizzazione. Nel campo details, puoi vedere che l'operazione ha fornito un elenco di tag DICOM. Quando è stato trovato un tag DICOM, le relative informazioni sono state fornite nell'oggetto findings, che mostra l'infoType, il valore dell'infoType e le posizioni in cui sono stati trovati i valori.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/TEXT_ANNOTATION_RECORD_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID"
    }
  },
  "textAnnotation": {
    "details": {
      "00080070": {},
      "00080090": {
        "findings": [
          {
            "infoType": "PERSON_NAME",
            "end": "8",
            "quote": "John Doe"
          }
        ]
      },
      "00081090": {},
      "00100010": {
        "findings": [
          {
            "infoType": "PERSON_NAME",
            "end": "11",
            "quote": "Ann Johnson"
          }
        ]
      },
      "00100020": {},
      "00100030": {
        "findings": [
          {
            "infoType": "DATE",
            "end": "8",
            "quote": "19880812"
          }
        ]
      },
      "00020013": {
        "findings": [
          {
            "infoType": "LOCATION",
            "end": "5",
            "quote": "OFFIS"
          }
        ]
      },
      "00080020": {
        "findings": [
          {
            "infoType": "DATE",
            "end": "8",
            "quote": "20110909"
          }
        ]
      }
    }
  }
}

Poi, utilizza il valore IMAGE_ANNOTATION_RECORD_ID per visualizzare il record di annotazione dell'immagine:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID//annotations/IMAGE_ANNOTATION_RECORD_ID"

Se la richiesta ha esito positivo, il server restituisce la risposta in formato JSON.

All'interno dell'oggetto imageAnnotation sono presenti più vertices, ciascuno dei quali contiene quattro punti X/Y che delimitano le posizioni in cui l'operazione di anonimizzazione ha rilevato dati sensibili delle immagini e testo incollato.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/IMAGE_ANNOTATION_RECORD_ID",
  "annotationSource": {
    "cloudHealthcareSource": {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID"
    }
  },
  "imageAnnotation": {
    "boundingPolys": [
      {
        "vertices": [
          {
            "x": 439,
            "y": 919
          },
          {
            "x": 495,
            "y": 919
          },
          {
            "x": 495,
            "y": 970
          },
          {
            "x": 439,
            "y": 970
          }
        ]
      },
      {
        "vertices": [
          {
            "x": 493,
            "y": 919
          },
          {
            "x": 610,
            "y": 919
          },
          {
            "x": 610,
            "y": 972
          },
          {
            "x": 493,
            "y": 972
          }
        ]
      },
      {
        "vertices": [
        ...
        ]
      },
      ...
    ]
  }
}

gcloud

Il seguente esempio utilizza la classe gcloud beta healthcare datasets deidentify . Il campo storeQuote è impostato su true per impostazione predefinita e non può essere modificato quando si utilizza Google Cloud CLI.

gcloud beta healthcare datasets deidentify SOURCE_DATASET_ID \
    --destination-dataset=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID \
    --text-redaction-mode=all \
    --annotation-store=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID

La riga di comando mostra l'ID operazione e, al termine dell'operazione,done:

Request issued for: [SOURCE_DATASET_ID]
Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID] to complete...done.

Per visualizzare ulteriori dettagli sull'operazione, esegui il comando gcloud beta healthcare operations describe , fornendo il valore OPERATION_ID dalla risposta:

gcloud beta healthcare operations describe --dataset=SOURCE_DATASET_ID \
    OPERATION_ID

La risposta include done: true:

done: true
metadata:
  '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata
  apiMethodName: google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset
  counter: {COUNTER}
  createTime: 'CREATE_TIME'
  endTime: 'END_TIME'
  logsUrl: CLOUD_LOGGING_URL
name: projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
response:
  '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary

Esegui questo comando per elencare gli archivi di annotazioni nel set di dati e vedrai che l'operazione ha creato il nuovo archivio di annotazioni:

gcloud beta healthcare annotation-stores list --dataset=DESTINATION_DATASET_ID

Se la richiesta ha esito positivo, il server restituisce il nuovo archivio di annotazioni:

ID                    LOCATION
ANNOTATION_STORE_ID                      LOCATION

Non è possibile visualizzare i dettagli di una singola annotazione utilizzando il metodo con gcloud CLI. Per visualizzare i dettagli di una singola annotazione, segui le istruzioni riportate nel esempio curl.