In questa pagina viene spiegato come utilizzare la configurazione v1 DicomConfig
per anonimizzare i dati sensibili nelle istanze DICOM ai seguenti livelli:
- A livello di set di dati utilizzando
datasets.deidentify
- A livello di archivio DICOM utilizzando
dicomStores.deidentify
Questa pagina spiega anche come applicare i filtri durante l'anonimizzazione dei dati a livello di archivio DICOM.
Panoramica dell'anonimizzazione
Anonimizzazione a livello di set di dati
Per anonimizzare i dati DICOM a livello di set di dati, chiama l'operazione
datasets.deidentify
. La chiamata API
di deidentificazione include i seguenti componenti:
- Il set di dati di origine: un set di dati contenente archivi DICOM con una o più istanze che includono dati sensibili. Quando chiami l'operazione
deidentify
, vengono anonimizzate tutte le istanze di tutti gli archivi DICOM nel set di dati. - Il set di dati di destinazione: l'anonimizzazione non interessa il set di dati originale o i dati al suo interno. Le copie anonimizzate dei dati originali vengono invece scritte in un nuovo set di dati, chiamato set di dati di destinazione.
- Che cosa anonimizzare: i parametri di configurazione che specificano come elaborare il set di dati. Puoi configurare l'anonimizzazione DICOM per anonimizzare i metadati delle istanze DICOM (utilizzando le parole chiave dei tag) o il testo integrato nelle immagini DICOM specificando questi parametri in un oggetto
DeidentifyConfig
e procedendo nel seguente modo:- Impostazione del campo
config
del corpo della richiesta - Archiviazione in Cloud Storage in formato JSON e specifica della posizione del file nel bucket utilizzando il campo
gcsConfigUri
del corpo della richiesta
- Impostazione del campo
La maggior parte degli esempi di questa guida mostra come anonimizzare i dati DICOM a livello di set di dati.
Anonimizzazione a livello di archivio DICOM
L'anonimizzazione dei dati DICOM a livello di archivio DICOM ti consente di avere un maggiore controllo sui dati anonimizzati. Ad esempio, se hai un set di dati con più archivi DICOM, puoi anonimizzare ogni archivio DICOM in base al tipo di dati presenti nell'archivio.
Per anonimizzare i dati DICOM in un archivio DICOM, chiama il metodo
dicomStores.deidentify
. La chiamata all'API di anonimizzazione ha i seguenti componenti:
- L'archivio DICOM di origine: un archivio DICOM contenente una o più istanze che includono dati sensibili. Quando chiami l'operazione
deidentify
, vengono anonimizzate tutte le istanze nell'archivio DICOM. - L'archivio DICOM di destinazione: l'anonimizzazione non interessa l'archivio DICOM originale o i dati al suo interno. Le copie anonimizzate dei dati originali vengono invece scritte nell'archivio DICOM di destinazione. L'archivio DICOM di destinazione deve esistere già.
- Che cosa anonimizzare: i parametri di configurazione che specificano come elaborare l'archivio DICOM. Puoi configurare l'anonimizzazione DICOM per anonimizzare i metadati delle istanze DICOM (utilizzando le parole chiave dei tag) o il testo integrato nelle immagini DICOM specificando questi parametri in un oggetto
DeidentifyConfig
e passandolo in uno dei seguenti modi:- Impostazione del campo
config
del corpo della richiesta - Archiviazione in Cloud Storage in formato JSON e specifica della posizione del file nel bucket utilizzando il campo
gcsConfigUri
del corpo della richiesta
- Impostazione del campo
Per un esempio di come anonimizzare i dati DICOM a livello di archivio DICOM, consulta Anonimizzazione dei dati a livello di archivio DICOM.
Filtri
Puoi anonimizzare un sottoinsieme di dati in un archivio DICOM configurando un file di filtri e specificandolo nella richiesta dicomStores.deidentify
. Per un
esempio, vedi
Anonimizzazione di un sottoinsieme di un archivio DICOM.
Panoramica di Samples
Gli esempi in questa guida utilizzano una singola istanza DICOM, ma puoi anche anonimizzare più istanze.
Ciascuna delle sezioni seguenti fornisce esempi di come anonimizzare i dati DICOM utilizzando vari metodi. Per ogni campione viene fornito un output dell'immagine anonimizzata. Ogni campione utilizza la seguente immagine originale come input:
Puoi confrontare l'immagine di output di ogni operazione di deidentificazione con l'immagine originale per vedere gli effetti dell'operazione.
Anonimizzazione dei tag DICOM
Puoi anonimizzare le istanze DICOM in base alle parole chiave dei tag
nei metadati DICOM. Nell'oggetto
DicomConfig
sono disponibili i seguenti metodi di filtro dei tag:
keepList
: Elenco dei tag da conservare. Rimuovi tutti gli altri tag.removeList
: elenco dei tag da rimuovere. Mantieni tutti gli altri tag.filterProfile
: un profilo di filtro dei tag utilizzato per determinare quali tag mantenere o rimuovere.
Per ogni esempio in questa sezione, viene fornito l'output dei metadati modificati dell'istanza DICOM. Di seguito sono riportati i metadati originali dell'istanza utilizzati come input per ogni campione:
[
{
"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"]}
}
]
Anonimizzazione mediante tag keeplist
Se specifichi un tag di conservazione nell'oggetto DicomConfig
, per impostazione predefinita vengono aggiunti i seguenti tag:
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
L'operazione deidentify
non oscura i tag precedenti. Tuttavia, i valori di alcuni tag vengono rigenerati, il che significa che vengono sostituiti con un valore diverso tramite una trasformazione deterministica.
Per saperne di più, consulta l'opzione Retain UIDs
nello standard DICOM. Per conservare i valori originali dei tag precedenti, utilizza l'opzione
SkipIdRedaction
.
Se non specifichi un tag da conservare, non verrà oscurato alcun tag DICOM nel set di dati.
Gli esempi riportati di seguito mostrano come anonimizzare un set di dati contenente archivi e dati DICOM, lasciando invariati alcuni tag.
Dopo aver inviato l'immagine all'API Cloud Healthcare, l'immagine viene visualizzata come segue. Sebbene i metadati visualizzati negli angoli superiori dell'immagine siano stati oscurati, le informazioni sanitarie protette (PHI) incorporate nella parte inferiore dell'immagine rimangono. Per rimuovere anche il testo integrato, consulta Oscuramento del testo integrato nelle immagini.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "keepList": { "tags": [ "PatientID" ] } } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "keepList": { "tags": [ "PatientID" ] } } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "keepList": { "tags": [ "PatientID" ] } } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
La tabella seguente mostra come sono cambiati l'UID degli studi, l'UID delle serie e l'UID delle istanze:Metadati dell'istanza originale Metadati dell'istanza anonimizzati UID studi ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID serie ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
UID istanze ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Go
Java
Node.js
Python
Anonimizzazione mediante tag di rimozione
Puoi specificare un elenco di rimozione nell'oggetto DicomConfig
. L'operazione deidentify
oscurerà solo i tag specificati nell'elenco. Se non vengono forniti tag
removelist, l'operazione di anonimizzazione procede
normalmente, ma nessun tag DICOM nel set di dati di destinazione viene oscurato.
Quando specifichi un elenco di rimozione, il tag OverlayData
viene aggiunto
per impostazione predefinita perché i dati di overlay potrebbero contenere PHI.
I tag aggiunti per impostazione predefinita a un elenco di elementi da conservare non possono essere aggiunti a un elenco di elementi da rimuovere.
Gli esempi riportati di seguito mostrano come anonimizzare un set di dati contenente archivi e dati DICOM rimuovendo tutti i tag nell'elenco di rimozione. I tag non presenti nell'elenco di rimozione rimangono invariati.
Dopo aver inviato l'immagine all'API Cloud Healthcare, l'immagine viene visualizzata
come segue. Dei tag forniti nell'elenco di rimozione, solo PatientBirthDate
viene rimosso nell'immagine, in quanto è l'unico tag dell'elenco di rimozione che
corrisponde ai metadati visibili nell'immagine.
Mentre il PatientBirthDate
nell'angolo in alto dell'immagine è stato
oscurato in base alla configurazione nell'elenco di rimozione, lePHIe personali
incorporate nella parte inferiore dell'immagine rimangono. Per rimuovere anche
il testo integrato, consulta Oscuramento del testo integrato nelle immagini.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "removeList": { "tags": [ "PatientBirthName", "PatientBirthDate", "PatientAge", "PatientSize", "PatientWeight", "PatientAddress", "PatientMotherBirthName" ] } } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "removeList": { "tags": [ "PatientBirthName", "PatientBirthDate", "PatientAge", "PatientSize", "PatientWeight", "PatientAddress", "PatientMotherBirthName" ] } } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "removeList": { "tags": [ "PatientBirthName", "PatientBirthDate", "PatientAge", "PatientSize", "PatientWeight", "PatientAddress", "PatientMotherBirthName" ] } } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
La tabella seguente mostra come sono cambiati l'UID degli studi, l'UID delle serie e l'UID delle istanze:Metadati dell'istanza originale Metadati dell'istanza anonimizzati UID studi ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID serie ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
UID istanze ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Anonimizzazione mediante un profilo di filtro dei tag
Anziché specificare i tag da conservare o rimuovere, puoi configurare un
TagFilterProfile
nell'oggetto
DicomConfig
. Un profilo di filtro dei tag è un profilo predefinito che determina quali
tag conservare, rimuovere o trasformare. Consulta la documentazione di TagFilterProfile
per i profili disponibili.
Gli esempi riportati di seguito mostrano come anonimizzare un set di dati contenente archivi e dati DICOM utilizzando il profilo di filtro dei tag ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
.
Questo profilo di filtro dei tag rimuove i tag in base al profilo di base di riservatezza attributo dello standard DICOM.
L'API Cloud Healthcare non è completamente conforme al
profilo di base di riservatezza attributo. Ad esempio, l'API Cloud Healthcare non verifica le limitazioni della definizione dell'oggetto informativo (IOD) quando seleziona un'azione per un tag.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando il profilo di filtro dei tag ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
, l'immagine viene visualizzata come segue. Sebbene i metadati visualizzati negli angoli superiori dell'immagine
siano stati oscurati, le informazioni sanitarie personali incorporate nella parte inferiore dell'immagine rimangono.
Per rimuovere anche il testo integrato, vedi
Oscuramento del testo integrato nelle immagini.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
La tabella seguente mostra come sono cambiati l'UID degli studi, l'UID delle serie e l'UID delle istanze:Metadati dell'istanza originale Metadati dell'istanza anonimizzati UID studi ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID serie ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
UID istanze ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Anonimizzazione dei dati nella console Google Cloud
Per rimuovere l'identificazione personale dei dati nella console Google Cloud , completa i seguenti passaggi:
Nella console Google Cloud , vai alla pagina Set di dati.
Scegli Rimuovi identificazione dall'elenco Azioni per il set di dati di cui stai rimuovendo l'identificazione.
Viene visualizzata la pagina De-identify Dataset (Rimuovi l'identificazione dal set di dati).
Seleziona Imposta set di dati di destinazione e inserisci un nome per il nuovo set di dati in cui archiviare i dati anonimizzati.
Seleziona Anonimizzazione tag DICOM per selezionare il profilo per cui i dati vengono anonimizzati. I dati possono essere anonimizzati come segue:
KEEP_ALL_PROFILE
: mantieni tutti i meta tag DICOMDEIDENTIFY_TAG_CONTENTS
: anonimizza i dati all'interno dei meta tagATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
- Rimuovi i metatag in base al profilo di base nello standard DICOMMINIMAL_KEEP_LIST_PROFILE
: mantieni solo i metatag necessari per un oggetto DICOM valido- Ignora l'oscuramento ID: rigenera i campi UID come stabilito dallo standard DICOM
Seleziona Oscuramento del testo integrato in DICOM per configurare la modalità di oscuramento delle immagini durante l'anonimizzazione. Puoi configurare la redazione delle immagini nel seguente modo:
REDACT_NO_TEXT
- Non oscurare il testo nelle immaginiREDACT_SENSITIVE_TEXT
: oscura solo il testo sensibile nelle immaginiREDACT_ALL_TEXT
- Oscura tutto il testo nelle immagini
Fai clic su Anonimizza per anonimizzare i dati nel set di dati.
Oscuramento del testo integrato nelle immagini
L'API Cloud Healthcare può oscurare il testo sensibile integrato nelle immagini. I dati sensibili, come le PHI protette, vengono rilevati dall'API, che li oscura utilizzando un rettangolo opaco. L'API restituisce le stesse immagini DICOM che ha ricevuto, nello stesso formato, ma qualsiasi testo identificato come contenente informazioni sensibili in base ai tuoi criteri viene oscurato.
Puoi oscurare il testo integrato nelle immagini specificando un'opzione
TextRedactionMode
all'interno di un oggetto
ImageConfig
. Per i valori possibili, consulta la documentazione di TextRedactionMode
.
Oscuramento di tutto il testo integrato in un'immagine
Gli esempi riportati di seguito mostrano come oscurare tutto il testo integrato nelle immagini DICOM di un set di dati. Per farlo, specifica REDACT_ALL_TEXT
nel campo
TextRedactionMode
.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando
l'opzione REDACT_ALL_TEXT
, l'immagine
viene visualizzata come segue. Il testo incorporato nella parte inferiore
dell'immagine è stato rimosso, ma i metadati negli angoli superiori dell'immagine
rimangono. Per rimuovere anche i metadati, consulta Anonimizzazione dei tag DICOM.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
La tabella seguente mostra come sono cambiati l'UID degli studi, l'UID delle serie e l'UID delle istanze:Metadati dell'istanza originale Metadati dell'istanza anonimizzati UID studi ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID serie ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
UID istanze ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Oscuramento solo del testo sensibile integrato in un'immagine
Gli esempi riportati di seguito mostrano come oscurare il testo sensibile integrato nelle immagini DICOM di un set di dati. Per farlo, specifica REDACT_SENSITIVE_TEXT
nel campo
TextRedactionMode
.
Gli infoType specificati negli infoType DICOM predefiniti
vengono oscurati quando viene specificato REDACT_SENSITIVE_TEXT
. Viene applicato anche un infoTypei personalizzato aggiuntivo per gli identificatori dei pazienti, come i numeri di cartella clinica, e
gli identificatori dei pazienti vengono oscurati.
L'immagine seguente mostra una radiografia non oscurata di un paziente:
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando
l'opzione REDACT_SENSITIVE_TEXT
, l'immagine
viene visualizzata come segue:
Puoi notare che si è verificato quanto segue:
- Il
PERSON_NAME
in basso a sinistra dell'immagine è stato oscurato - Il
DATE
in basso a sinistra dell'immagine è stato oscurato
Il sesso del paziente non è stato oscurato perché non è considerato testo sensibile in base ai tipi di informazioni DICOM predefiniti.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_SENSITIVE_TEXT" } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_SENSITIVE_TEXT" } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_SENSITIVE_TEXT" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
La tabella seguente mostra come sono cambiati l'UID degli studi, l'UID delle serie e l'UID delle istanze:Metadati dell'istanza originale Metadati dell'istanza anonimizzati UID studi ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID serie ( 0020000E
)1.2.276.0.7230010.3.1.3.8323329.78.1531234558.523694
1.3.6.1.4.1.11129.5.1.303327499491957026103380014864616068710
UID istanze ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Combinazione dell'anonimizzazione dei tag e dell'oscuramento del testo integrato
Puoi combinare l'anonimizzazione tramite tag con l'oscuramento del testo integrato
delle immagini per anonimizzare le istanze DICOM a un livello più granulare. Ad esempio, combinando REDACT_ALL_TEXT
nel campo TextRedactionMode
con DEIDENTIFY_TAG_CONTENTS
nel campo TagFilterProfile
, puoi:
REDACT_ALL_TEXT
: oscura tutto il testo integrato nell'immagine.DEIDENTIFY_TAG_CONTENTS
: controlla i contenuti dei tag e trasforma il testo sensibile. Per ulteriori informazioni sul comportamento diDEIDENTIFY_TAG_CONTENTS
, vedi Configurazione predefinita.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando le opzioni
REDACT_ALL_TEXT
e DEIDENTIFY_TAG_CONTENTS
, l'immagine viene visualizzata
come segue. Osserva le seguenti modifiche:
- I nomi nell'angolo in alto a sinistra e in alto a destra dell'immagine sono stati trasformati
utilizzando un
CryptoHashConfig
- Le date nell'angolo in alto a sinistra e in alto a destra dell'immagine sono state trasformate
utilizzando un
DateShiftConfig
- Il testo integrato nella parte inferiore dell'immagine viene oscurato
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Utilizzo di infoType e trasformazioni primitive con i tag DICOM
L'API Cloud Healthcare può utilizzare i tipi di informazioni (infoType) per definire i dati da scansionare durante l'anonimizzazione dei tag. Un infoType è un tipo di dato sensibile, ad esempio il nome di un paziente, l'indirizzo email, il numero di telefono, il numero di identificazione o il numero di carta di credito.
Le trasformazioni primitive sono regole che utilizzi per trasformare un valore di input. Puoi personalizzare la modalità di anonimizzazione dei tag DICOM applicando una
trasformazione primitiva all'infoType di ogni tag. Ad esempio,
puoi anonimizzare il cognome di un paziente e sostituirlo con una serie di
asterischi specificando l'infoType LAST_NAME
con la
trasformazione primitiva CharacterMaskConfig
.
InfoType DICOM predefiniti
Gli infoType DICOM predefiniti utilizzati per l'anonimizzazione dei metadati sono:
AGE
CREDIT_CARD_NUMBER
DATE
EMAIL_ADDRESS
IP_ADDRESS
LOCATION
MAC_ADDRESS
PASSPORT
PERSON_NAME
PHONE_NUMBER
SWIFT_CODE
US_DRIVERS_LICENSE_NUMBER
US_SOCIAL_SECURITY_NUMBER
US_VEHICLE_IDENTIFICATION_NUMBER
US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER
Quando deidentifichi il testo sensibile nelle immagini
utilizzando REDACT_SENSITIVE_TEXT
,
l'API Cloud Healthcare utilizza i tipi di informazioni precedenti, ma al testo sensibile nell'immagine viene applicato anche un tipo di infoType personalizzato aggiuntivo per gli identificatori dei pazienti, come i numeri di cartella clinica (MRN).
Opzioni di trasformazione primitive
Le opzioni di trasformazione primitive dell'API Cloud Healthcare includono:
RedactConfig
: elimina un valore rimuovendolo.CharacterMaskConfig
: maschera una stringa completamente o parzialmente sostituendo i caratteri di input con un carattere fisso specificato.DateShiftConfig
: sposta le date di un numero casuale di giorni, con la possibilità di mantenere la coerenza per lo stesso contesto.CryptoHashConfig
: utilizza SHA-256 per sostituire i valori di input con una rappresentazione con codifica Base64 di una stringa di output sottoposta ad hashing generata utilizzando una determinata chiave di crittografia dei dati.ReplaceWithInfoTypeConfig
: sostituisce un valore di input con il nome del relativo infoType.
Specificare le configurazioni in TextConfig
Gli infoType e le trasformazioni primitive vengono specificati all'interno di un InfoTypeTransformation
, che è un oggetto all'interno di TextConfig
.
Gli infoType vengono inseriti nell'array infoTypes
come valori separati da virgola.
La specifica di un infoType è facoltativa. Se non specifichi almeno un infoType, la trasformazione viene applicata agli infoType DICOM predefiniti trovati nell'API Cloud Healthcare.
Se specifichi degli infoType in InfoTypeTransformation
, devi specificare almeno una trasformazione primitiva.
Puoi applicare un InfoTypeTransformation
solo al profilo DEIDENTIFY_TAG_CONTENTS
.
Un InfoTypeTransformation
non può essere applicato agli altri profili elencati in
TagFilterProfile
.
Le sezioni riportate di seguito mostrano come utilizzare le trasformazioni primitive disponibili in InfoTypeTransformation
insieme ai tipi di informazioni per personalizzare la modalità di anonimizzazione dei tag DICOM. Gli esempi utilizzano l'immagine di esempio fornita in Panoramica degli esempi e i metadati di esempio forniti in Anonimizzazione dei tag DICOM.
Configurazione predefinita
Per impostazione predefinita, quando il profilo DEIDENTIFY_TAG_CONTENTS
è impostato senza fornire
alcuna configurazione nell'oggetto TextConfig
, l'API Cloud Healthcare
sostituisce i dati sensibili utilizzando i tipi di informazioni DICOM predefiniti.
Tuttavia, il comportamento è diverso per i tipi di informazioni DATE
e PERSON_NAME
, come mostrato di seguito:
- Viene applicato un
DateShiftConfig
al testo classificato come infoTypeDATE
.DateShiftConfig
utilizza una tecnica di spostamento della data con una differenza di 100 giorni. - Viene applicato un
CryptoHashConfig
al testo classificato come infoTypePERSON_NAME
.CryptoHashConfig
esegue la tokenizzazione generando un valore surrogato utilizzando l'hashing crittografico.
Si applica anche il seguente comportamento:
- Le età dei pazienti con un valore maggiore o uguale a 90 vengono convertite in 90.
- Se una trasformazione non può essere applicata a causa delle limitazioni del formato DICOM, viene fornito un valore segnaposto che corrisponde alla rappresentazione del valore (VR) del tag.
- Qualsiasi altro valore che corrisponde a uno degli infoType DICOM predefiniti
nell'API Cloud Healthcare viene sostituito dal relativo infoType. Ad esempio,
se il tag
PatientComments
conteneva la stringa "Ann Johnson è andata all'ospedale Anytown", "Anytown" verrà sostituito con iinfoTypeniLOCATION
.
Gli esempi riportati di seguito mostrano l'output dell'utilizzo del profilo predefinito DEIDENTIFY_TAG_CONTENTS
su un set di dati contenente archivi e dati DICOM. Puoi
confrontare questo output predefinito con gli output quando utilizzi le varie
trasformazioni primitive con combinazioni di infoType. Gli esempi utilizzano una singola istanza DICOM, ma puoi anonimizzare più istanze.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando il profilo DEIDENTIFY_TAG_CONTENTS
, l'immagine viene visualizzata come segue.
Osserva le seguenti modifiche:
- I nomi nell'angolo in alto a sinistra e in alto a destra dell'immagine sono stati trasformati
utilizzando un
CryptoHashConfig
- Le date nell'angolo in alto a sinistra e in alto a destra dell'immagine sono state trasformate
utilizzando un
DateShiftConfig
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
RedactConfig
Se specifichi redactConfig
, un determinato valore viene oscurato rimuovendolo completamente.
Il messaggio redactConfig
non ha argomenti; la sua specifica attiva la
trasformazione.
Gli esempi riportati di seguito si basano sulla configurazione predefinita,
ma ora includono l'impostazione di infoType PERSON_NAME
con la
trasformazione redactConfig
. L'invio di questa richiesta comporta la rimozione di tutti i nomi dall'istanza DICOM.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione
redactConfig
, l'immagine viene visualizzata come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "redactConfig": {} } ] } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "redactConfig": {} } ] } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "redactConfig": {} } ] } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
L'output mostra che i valori in ReferringPhysicianName
(00080090
) e PatientName
(00100010
) sono stati rimossi. Ciò è in
contrasto con l'esempio nella configurazione predefinita,
in cui questi valori sono stati trasformati utilizzando l'hashing crittografico.
CharacterMaskConfig
Se specifichi characterMaskConfig
, le stringhe che
corrispondono agli infoType specificati vengono sostituite con un carattere fisso specificato. Ad esempio, anziché oscurare il nome di un paziente o trasformarlo utilizzando l'hashing crittografico, puoi sostituirlo con una serie di asterischi (*
). Puoi specificare il carattere fisso come valore del campo maskingCharacter
.
Gli esempi riportati di seguito si basano sulla configurazione predefinita,
ma ora includono l'impostazione di infoType LAST_NAME
con la
trasformazione characterMaskConfig
. Non viene fornito alcun carattere fisso, quindi
la maschera utilizza per impostazione predefinita gli asterischi.
Gli esempi utilizzano una singola istanza DICOM, ma puoi anonimizzare più istanze.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione
characterMaskConfig
, l'immagine viene visualizzata come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "characterMaskConfig": { "maskingCharacter": "" } } ] } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "characterMaskConfig": { "maskingCharacter": "" } } ] } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "characterMaskConfig": { "maskingCharacter": "" } } ] } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
L'output mostra che i cognomi in ReferringPhysicianName
(00080090
) e PatientName
(00100010
) sono stati sostituiti con
asterischi. Ciò è in contrasto con l'esempio nella configurazione predefinita, dove questi valori sono stati trasformati utilizzando l'hashing crittografico.
DateShiftConfig
L'API Cloud Healthcare può trasformare le date spostandole all'interno di un intervallo preimpostato. Per mantenere la coerenza delle trasformazioni delle date
tra le esecuzioni di deidentificazione, utilizza DateShiftConfig
con una delle seguenti opzioni:
- (Obsoleto): una chiave AES non elaborata a 128/192/256 bit con codifica Base64.
- (Consigliato): una chiave con wrapping Cloud Key Management Service (Cloud KMS). Consulta Anonimizzazione e reidentificazione del testo sensibile per un esempio di come utilizzare le chiavi di wrapping di Cloud KMS.
Devi concedere un ruolo con l'autorizzazione cloudkms.cryptoKeyVersions.useToDecrypt
all'agente di servizio Cloud Healthcare service account per decriptare la chiave sottoposta a wrapping di Cloud KMS. Ti consigliamo di utilizzare il ruolo
Autore decrittazione CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyDecrypter
).
Quando utilizzi Cloud KMS per le operazioni di crittografia, vengono applicati addebiti. Per ulteriori informazioni, consulta Prezzi di Cloud Key Management Service.
L'API Cloud Healthcare utilizza questa chiave per calcolare l'importo in base al quale le date, ad esempio la data di nascita di un paziente, vengono spostate entro un differenziale di 100 giorni.
Se non fornisci una chiave, l'API Cloud Healthcare genera una propria chiave ogni volta che l'operazione di anonimizzazione viene eseguita sui valori di data. Ciò può comportare risultati di date incoerenti tra le esecuzioni.
Gli esempi riportati di seguito mostrano come impostare i tipi di informazioni DATE
e DATE_OF_BIRTH
con la trasformazione DateShiftConfig
su un'istanza DICOM. Dopo aver inviato la richiesta di anonimizzazione
all'API Cloud Healthcare, i valori di data nell'istanza
verranno spostati entro più o meno 100 giorni rispetto ai valori originali.
La chiave di crittografia fornita, U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=
, è una chiave
AES criptata a 256 bit con codifica base64 generata utilizzando il seguente
comando. Quando richiesto, al comando viene fornita una password vuota:
echo -n "test" | openssl enc -e -aes-256-ofb -a -salt
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione
dateShiftConfig
, l'immagine viene visualizzata come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "DATE", "DATE_OF_BIRTH" ], "dateShiftConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "DATE", "DATE_OF_BIRTH" ], "dateShiftConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "DATE", "DATE_OF_BIRTH" ], "dateShiftConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
L'output mostra che StudyDate
(00080020
) e PatientBirthDate
(00100030
) hanno nuovi valori. Queste trasformazioni sono state eseguite
combinando la differenza di 100 giorni con il valore cryptoKey
fornito. I nuovi valori di data sono coerenti per questa istanza tra le esecuzioni di anonimizzazione, a condizione che venga fornito lo stesso cryptoKey
.
CryptoHashConfig
Puoi lasciare vuoto il campo cryptoHashConfig
oppure puoi fornire:
- (Obsoleto): una chiave AES non elaborata a 128/192/256 bit con codifica Base64.
- (Consigliato): una chiave con wrapping Cloud Key Management Service (Cloud KMS). Consulta Anonimizzazione e reidentificazione del testo sensibile per un esempio di come utilizzare le chiavi di wrapping di Cloud KMS.
Devi concedere un ruolo con l'autorizzazione cloudkms.cryptoKeyVersions.useToDecrypt
all'agente di servizio Cloud Healthcare service account per decriptare la chiave sottoposta a wrapping di Cloud KMS. Ti consigliamo di utilizzare il ruolo
Autore decrittazione CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyDecrypter
).
Quando utilizzi Cloud KMS per le operazioni di crittografia, vengono applicati addebiti. Per ulteriori informazioni, consulta Prezzi di Cloud Key Management Service.
L'API Cloud Healthcare può trasformare i dati sostituendo i valori con hash crittografici (chiamati anche valori surrogati). Per farlo, specifica un messaggio
cryptoHashConfig
.
Se non fornisci una chiave, l'API Cloud Healthcare ne genera una. L'API Cloud Healthcare utilizza questa chiave per generare valori surrogati. Se fornisci la stessa chiave per ogni esecuzione, l'API Cloud Healthcare genera valori surrogati coerenti. Se non fornisci una chiave, l'API Cloud Healthcare ne genera una nuova ogni volta che viene eseguita l'operazione. L'utilizzo di una chiave diversa produce valori surrogati diversi.
Gli esempi riportati di seguito mostrano come applicare una trasformazione cryptoHashConfig
a tutti i tipi di informazioni DICOM predefiniti supportati nell'API Cloud Healthcare. Dopo l'invio della
richiesta di deidentificazione, i valori con uninfoTypei DICOM corrispondente nell'API Cloud Healthcare vengono sostituiti con valori surrogati.
L'esempio mostra anche come fornire una chiave di crittografia per generare valori surrogati coerenti tra le esecuzioni di deidentificazione.
La chiave di crittografia fornita, U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=
, è una chiave
AES criptata a 256 bit con codifica base64 generata utilizzando il seguente
comando. Quando richiesto, al comando viene fornita una password vuota:
echo -n "test" | openssl enc -e -aes-256-ofb -a -salt
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione
cryptoHashConfig
, l'immagine viene visualizzata come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "cryptoHashConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "cryptoHashConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "cryptoHashConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Le trasformazioni nell'output sono coerenti per questa istanza
tra le esecuzioni dell'anonimizzazione, a condizione che venga fornito lo stesso cryptoKey
.
ReplaceWithInfoTypeConfig
Se specifichi replaceWithInfoTypeConfig
, i valori di input vengono sostituiti con il nome
dell'infoType del valore.
Gli esempi riportati di seguito mostrano come applicare una trasformazione replaceWithInfoTypeConfig
a tutti i tipi di informazioni DICOM predefiniti supportati nell'API Cloud Healthcare.
Il messaggio replaceWithInfoTypeConfig
non ha argomenti; la sua specifica
consente la trasformazione.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione
replaceWithInfoTypeConfig
, l'immagine viene visualizzata come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
Corpo JSON della richiesta:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "replaceWithInfoTypeConfig": {} } ] } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "replaceWithInfoTypeConfig": {} } ] } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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:deidentify"PowerShell
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "replaceWithInfoTypeConfig": {} } ] } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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:deidentify" | Select-Object -Expand Content- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata la deidentificazione, puoi recuperare i metadati dell'istanza deidentificata per vedere come sono cambiati. L'istanza anonimizzata
ha un nuovo UID per studi, serie e istanze, quindi devi prima
cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_DATASET_LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID/dicomWeb/instances" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Utilizzando i nuovi valori, recupera i metadati per l'istanza.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione. Corrisponde all'ID dell'archivio DICOM nel set di dati di origine.
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/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
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/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 ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
Anonimizzazione dei dati a livello di archivio DICOM
Gli esempi precedenti mostrano come anonimizzare i dati DICOM a livello di set di dati. Questa sezione descrive come anonimizzare i dati a livello di archivio DICOM.
Per modificare una richiesta di anonimizzazione di un set di dati in una richiesta di anonimizzazione di un archivio DICOM, apporta le seguenti modifiche:
- Modifica il campo
destinationDataset
nel corpo della richiesta indestinationStore
. - Aggiungi
dicomStores/DESTINATION_DICOM_STORE_ID
alla fine del valore indestinationStore
quando specifichi la destinazione - Aggiungi
dicomStores/SOURCE_DICOM_STORE_ID
quando specifichi la posizione dei dati di origine
Ad esempio:
Anonimizzazione a livello di set di dati:
"destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID" ... "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"
Anonimizzazione a livello di archivio DICOM:
"destinationStore": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/dicomStores/DESTINATION_DICOM_STORE_ID" ... "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:deidentify"
Gli esempi riportati di seguito espandono la sezione Combinazione dell'anonimizzazione dei tag e della redazione del testo incorporato, ma l'anonimizzazione viene eseguita su un singolo archivio DICOM e i dati anonimizzati vengono copiati in un nuovo archivio DICOM. Prima di eseguire gli esempi, l'archivio DICOM a cui fa riferimento DESTINATION_DICOM_STORE_ID deve già esistere.
Console
Per anonimizzare i dati in un archivio DICOM utilizzando la console Google Cloud , completa i seguenti passaggi.
Nella console Google Cloud , vai alla pagina Set di dati.
Fai clic sul set di dati contenente i dati che vuoi anonimizzare.
Nell'elenco degli archivi DICOM, scegli Anonimizza dall'elenco Azioni per l'archivio DICOM che stai anonimizzando.
Viene visualizzata la pagina Anonimizza archivio DICOM.
Seleziona Imposta archivio dati di destinazione e scegli il set di dati e l'archivio DICOM in cui vengono salvati i dati deidentificati.
Seleziona Anonimizzazione dei tag DICOM per configurare la modalità di anonimizzazione dei dati. I dati possono essere anonimizzati nel seguente modo:
KEEP_ALL_PROFILE
: Mantieni tutti i meta tag DICOMDEIDENTIFY_TAG_CONTENTS
: anonimizza i dati all'interno dei meta tagATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
: rimuovi i metatag in base al profilo di base nello standard DICOMMINIMAL_KEEP_LIST_PROFILE
: mantieni solo i meta tag necessari per un oggetto DICOM valido- Ignora l'oscuramento ID: rigenera i campi UID come stabilito dallo standard DICOM
Seleziona Oscuramento del testo integrato in DICOM per configurare la modalità di oscuramento delle immagini durante l'anonimizzazione. Puoi configurare la redazione delle immagini nel seguente modo:
REDACT_NO_TEXT
: Non oscurare il testo nelle immaginiREDACT_SENSITIVE_TEXT
: oscura solo il testo sensibile nelle immaginiREDACT_ALL_TEXT
: oscura tutto il testo nelle immagini
Fai clic su Anonimizza per anonimizzare i dati nell'archivio DICOM.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- SOURCE_DICOM_STORE_ID: l'ID dell'archivio DICOM contenente i dati da anonimizzare
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione
Corpo JSON della richiesta:
{ "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" } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente: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" } } } EOF
Quindi, esegui questo comando per inviare la richiesta REST:
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
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "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" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method 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- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata.
Anonimizzazione di un sottoinsieme di un archivio DICOM
Puoi anonimizzare un sottoinsieme dei dati in un archivio DICOM specificando un filtro.
Il filtro assume la forma di un file di filtro che specifichi come valore per il campo
resourcePathsGcsUri
nell'oggetto DicomFilterConfig
. Il file di filtro deve
esistere in un bucket Cloud Storage; non puoi specificare un file di filtro
che esiste sulla tua macchina locale o in qualsiasi altra origine. La posizione del
file deve essere nel formato
gs://BUCKET/PATH/TO/FILE
.
Creare un file di filtri
Un file di filtro definisce quali file DICOM anonimizzare. Puoi filtrare i file ai seguenti livelli:
- A livello di studio
- A livello di serie
- A livello di istanza
Il file di filtri è composto da una riga per ogni studio, serie o istanza che vuoi
deidentificare. Ogni riga utilizza il formato /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]]
.
Alla fine di ogni riga è presente un carattere di nuova riga: \n
o \r\n
.
Se uno studio, una serie o un'istanza non è specificato nel file di filtri che hai passato quando hai chiamato l'operazione di anonimizzazione, lo studio, la serie o l'istanza non verrà anonimizzato e non sarà presente nell'archivio DICOM di destinazione.
È necessaria solo la parte /studies/STUDY_UID
del percorso. Ciò significa che puoi rimuovere l'identificazione di uno studio specificando
/studies/STUDY_UID
oppure puoi rimuovere l'identificazione di una
serie specificando /studies/STUDY_UID/series/SERIES_UID
.
Considera il seguente file di filtri. Il file di filtri causa la deidentificazione di uno studio, due serie e tre singole istanze:
/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
Creazione di un file di filtri utilizzando BigQuery
In genere, si crea un file di filtro esportando prima i metadati da un archivio DICOM a BigQuery. In questo modo, puoi utilizzare BigQuery per visualizzare gli UID di studio, serie e istanza dei dati DICOM nel tuo archivio DICOM. A questo punto puoi:
Esegui una query per gli UID di studio, serie e istanza che ti interessano. Ad esempio, dopo aver esportato i metadati in BigQuery, puoi eseguire la seguente query per concatenare gli UID di studio, serie e istanza in un formato compatibile con i requisiti del file di filtro:
SELECT CONCAT ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID) FROM [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
Se la query restituisce un set di risultati di grandi dimensioni, puoi materializzare una nuova tabella salvando i risultati della query in una tabella di destinazione in BigQuery.
Dopo aver salvato i risultati della query nella tabella di destinazione, puoi salvare i contenuti della tabella di destinazione in un file ed esportarlo in Cloud Storage. Per i passaggi su come farlo, consulta Esportazione dei dati della tabella. Il file esportato è il file di filtri. Utilizzerai la posizione del file di filtro in Cloud Storage quando specifichi il filtro nell'operazione di esportazione.
Creazione manuale di un file di filtri
Puoi creare un file di filtri con contenuti personalizzati e
caricarlo in un bucket Cloud Storage.
Utilizzerai la posizione del file di filtro in Cloud Storage quando
specifichi il filtro nell'operazione di deidentificazione. Il seguente esempio mostra come caricare un file di filtri in un bucket Cloud Storage utilizzando il comando gcloud storage cp
:
gcloud storage cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY
Ad esempio:
gcloud storage cp /home/user/Desktop/filters.txt gs://my-bucket/my-directory
Utilizzo di un filtro
Una volta configurato il file di filtro, puoi passarlo come valore al campo resourcePathsGcsUri
nell'oggetto filterConfig
.
L'esempio seguente si basa sull'anonimizzazione dei dati a livello di archivio DICOM, ma viene fornito un file di filtro in Cloud Storage che determina quali risorse DICOM vengono anonimizzate.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da deidentificare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui vengono scritti i dati deidentificati
- SOURCE_DICOM_STORE_ID: l'ID dell'archivio DICOM contenente i dati da anonimizzare
- DESTINATION_DICOM_STORE_ID: l'ID dell'archivio DICOM nel set di dati di destinazione
- BUCKET/PATH/TO/FILE: la posizione del file di filtro in un bucket Cloud Storage
Corpo JSON della richiesta:
{ "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" } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente: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
Quindi, esegui questo comando per inviare la richiesta REST:
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
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:@' { "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
Quindi, esegui questo comando per inviare la richiesta REST:
$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- Utilizza il metodo
projects.locations.datasets.operations.get
per ottenere lo stato dell'operazione a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- DATASET_ID: l'ID set di dati
- LOCATION: la posizione del set di dati
- OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentExplorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Completa i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata.
Risoluzione dei problemi relativi alle operazioni di anonimizzazione DICOM
Se si verificano errori durante un'operazione di deidentificazione DICOM, questi vengono registrati in Cloud Logging. Per ulteriori informazioni, consulta Visualizzazione dei log degli errori su Cloud Logging.
Se l'intera operazione restituisce un errore, consulta la sezione Risoluzione dei problemi relativi alle operazioni a lunga esecuzione.