Questa pagina spiega come utilizzare la configurazione v1 DicomConfig
per anonimizzare i dati sensibili nelle istanze DICOM ai seguenti livelli:
- A livello del set di dati utilizzando
datasets.deidentify
- A livello di archivio DICOM utilizzando
dicomStores.deidentify
Questa pagina spiega inoltre 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 del set di dati, chiama l'operazione datasets.deidentify
. La chiamata API per l'anonimizzazione ha 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
, tutte le istanze di tutti gli archivi DICOM nel set di dati vengono anonimizzate. - Il set di dati di destinazione: l'anonimizzazione non influisce sul set di dati originale o sui suoi dati. 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 dell'istanza DICOM (utilizzando parole chiave dei tag) o il testo integrato nelle immagini DICOM, specificando questi parametri in un oggetto
DeidentifyConfig
e seguendo queste istruzioni:- Impostazione del campo
config
del corpo della richiesta - Archiviarlo in Cloud Storage in formato JSON e specificando la posizione del file nel bucket utilizzando il campo
gcsConfigUri
del corpo della richiesta
- Impostazione del campo
La maggior parte degli esempi in 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 disponi di 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 per l'anonimizzazione ha i seguenti componenti:
- L'archivio DICOM di origine: un archivio DICOM contenente una o più istanze con dati sensibili. Quando chiami l'operazione
deidentify
, tutte le istanze nell'archivio DICOM sono anonimizzate. - L'archivio DICOM di destinazione: l'anonimizzazione non influisce sull'archivio DICOM originale o sui suoi dati. Invece, le copie anonimizzate dei dati originali vengono scritte nell'archivio DICOM di destinazione. L'archivio DICOM di destinazione deve già esistere.
- Cosa anonimizzare: i parametri di configurazione che specificano come elaborare l'archivio DICOM. Puoi configurare l'anonimizzazione DICOM per anonimizzare i metadati dell'istanza DICOM (utilizzando parole chiave dei tag) o il testo integrato nelle immagini DICOM, specificando questi parametri in un oggetto
DeidentifyConfig
e passandoli in uno dei seguenti modi:- Impostazione del campo
config
del corpo della richiesta - Archiviarlo in Cloud Storage in formato JSON e specificando la 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 filtro e specificando il file nella richiesta dicomStores.deidentify
. Per un esempio, consulta Anonimizzazione di un sottoinsieme di un archivio DICOM.
Panoramica degli esempi
Gli esempi in questa guida utilizzano una singola istanza DICOM, ma puoi anche anonimizzare più istanze.
Ognuna delle seguenti sezioni fornisce esempi di come anonimizzare i dati DICOM utilizzando vari metodi. Con ogni campione viene fornito un output dell'immagine anonimizzata. Ogni esempio utilizza la seguente immagine originale come input:
Puoi confrontare l'immagine di output di ogni operazione di anonimizzazione con questa 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 mantenere. 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 campione 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
Quando specifichi un tag keeplist nell'oggetto DicomConfig
, i seguenti tag vengono aggiunti per impostazione predefinita:
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 i valori vengono sostituiti con un valore diverso tramite una trasformazione deterministica.
Per ulteriori informazioni, consulta l'opzione Conserva UID nello standard DICOM. Per mantenere i valori originali dei tag precedenti, utilizza l'opzione SkipIdRedaction
.
Se non vengono forniti tag keeplist, nessun tag DICOM nel set di dati viene oscurato.
Gli esempi riportati di seguito mostrano come anonimizzare un set di dati contenente archivi DICOM e dati DICOM, lasciando invariati alcuni tag.
Dopo aver inviato l'immagine all'API Cloud Healthcare, questa viene visualizzata come segue. Mentre i metadati visualizzati negli angoli superiori dell'immagine sono stati oscurati, le informazioni sanitarie protette (PHI) con burn-in 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, l'UID della serie e l'UID delle istanze degli studi:Metadati dell'istanza originali 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Go
Java
Node.js
Python
Anonimizzazione mediante tag di rimozione
Puoi specificare una lista di rimozione nell'oggetto DicomConfig
. L'operazione deidentify
oscurerà solo i tag specificati nell'elenco. Se non viene fornito alcun tag di rimozione, l'operazione di anonimizzazione procede normalmente, ma nessun tag DICOM nel set di dati di destinazione viene oscurato.
Quando specifichi una lista per le rimozioni, il tag OverlayData
viene aggiunto per impostazione predefinita perché i dati overlay potrebbero contenere dati di tipo PHI.
I tag aggiunti per impostazione predefinita a un elenco Keep non possono essere aggiunti a un elenco per le rimozioni.
I seguenti esempi mostrano come anonimizzare un set di dati contenente archivi DICOM e dati DICOM rimuovendo tutti i tag nell'elenco di rimozione. I tag che non sono nell'elenco delle rimozioni rimangono invariati.
Dopo aver inviato l'immagine all'API Cloud Healthcare, questa viene visualizzata come segue. Tra i tag forniti nell'elenco per le rimozioni, nell'immagine viene rimosso solo PatientBirthDate
, in quanto è l'unico tag dell'elenco che corrisponde ai metadati visibili nell'immagine.
Mentre il PatientBirthDate
nell'angolo superiore dell'immagine è stato oscurato in base alla configurazione nell'elenco delle rimozioni, il PHI integrato nella parte inferiore dell'immagine rimane. 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, l'UID della serie e l'UID delle istanze degli studi:Metadati dell'istanza originali 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Anonimizzazione mediante un profilo filtro tag
Anziché specificare quali tag mantenere o rimuovere, puoi configurare un elemento TagFilterProfile
nell'oggetto DicomConfig
. Un profilo filtro tag è un profilo predefinito che determina quali tag mantenere, rimuovere o trasformare. Consulta la documentazione di TagFilterProfile
per conoscere i profili disponibili.
I seguenti esempi mostrano come anonimizzare un set di dati contenente archivi DICOM e dati DICOM utilizzando il profilo filtro tag ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
.
Questo profilo filtro tag rimuove i tag in base al profilo di base di riservatezza degli attributi dello standard DICOM.
L'API Cloud Healthcare non è completamente conforme al profilo di base di riservatezza attributo. Ad esempio, l'API Cloud Healthcare
non controlla le limitazioni relative alla definizione di oggetti informativi (IOD)
quando si seleziona un'azione per un tag.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando il profilo di filtro per tag ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
, l'immagine viene visualizzata come segue. Mentre i metadati visualizzati negli angoli superiori dell'immagine
sono stati oscurati, il PHI bruciato in fondo all'immagine rimane.
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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, l'UID della serie e l'UID delle istanze degli studi:Metadati dell'istanza originali 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Anonimizzazione dei dati nella console Google Cloud
Per anonimizzare i dati nella console Google Cloud, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Set di dati.
Scegli Anonimizza dall'elenco Azioni per il set di dati che stai anonimizzando.
Viene visualizzata la pagina Anonimizza set di dati.
Seleziona Imposta set di dati di destinazione e inserisci un nome per il nuovo set di dati per archiviare i dati anonimizzati.
Seleziona Anonimizzazione tag DICOM per selezionare il profilo per il quale 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 meta tag in base al profilo di base nello standard DICOMMINIMAL_KEEP_LIST_PROFILE
: conserva solo i meta tag richiesti per un oggetto DICOM valido- Ignora l'oscuramento dell'ID: rigenera i campi UID come stabilito dallo standard DICOM
Seleziona Oscuramento del testo integrato DICOM per configurare il modo in cui viene eseguito l'oscuramento delle immagini durante l'anonimizzazione. Puoi configurare l'oscuramento delle immagini come segue:
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 incorporato nelle immagini. I dati sensibili come i PHI vengono rilevati dall'API, che li nasconde utilizzando un rettangolo opaco. L'API restituisce le stesse immagini DICOM che hai fornito, 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
. Consulta la documentazione di TextRedactionMode
per i possibili valori.
Oscuramento di tutto il testo integrato in un'immagine
Gli esempi riportati di seguito mostrano come oscurare tutto il testo integrato delle immagini DICOM in 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. Mentre il testo integrato nella parte inferiore dell'immagine è stato rimosso, i metadati negli angoli in alto 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, l'UID della serie e l'UID delle istanze degli studi:Metadati dell'istanza originali 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 in un'immagine solo del testo integrato sensibile
Gli esempi riportati di seguito mostrano come oscurare il testo sensibile integrato dalle immagini DICOM in un set di dati. Per farlo, specifica REDACT_SENSITIVE_TEXT
nel
campo TextRedactionMode
.
Gli infoType specificati negli infoType DICOM predefiniti vengono oscurati quando è specificato REDACT_SENSITIVE_TEXT
. Viene inoltre applicato un ulteriore infoType personalizzato per gli identificatori paziente, come i numeri di cartelle cliniche (MRN) e gli identificatori dei pazienti vengono oscurati.
La seguente immagine 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 appare come segue:
Puoi vedere che si è verificato quanto segue:
- Il
PERSON_NAME
in basso a sinistra nell'immagine è stato oscurato - Il
DATE
in basso a sinistra nell'immagine è stato oscurato
Il genere del paziente non è stato oscurato perché non è considerato testo sensibile in base agli infoType DICOM predefiniti.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, l'UID della serie e l'UID delle istanze degli studi:Metadati dell'istanza originali 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 di anonimizzazione dei tag e oscuramento del testo integrato
Puoi combinare l'anonimizzazione mediante tag con l'oscuramento del testo integrato nelle 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 fare quanto segue:
REDACT_ALL_TEXT
: oscura tutto il testo integrato nell'immagine.DEIDENTIFY_TAG_CONTENTS
: esamina i contenuti dei tag e trasforma il testo sensibile. Per maggiori informazioni sul comportamento diDEIDENTIFY_TAG_CONTENTS
, consulta 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 variazioni:
- I nomi nell'angolo in alto a sinistra e in alto a destra dell'immagine sono stati trasformati
utilizzando un comando
CryptoHashConfig
- Le date nell'angolo in alto a sinistra e in alto a destra dell'immagine sono state trasformate
utilizzando un elemento
DateShiftConfig
- Il testo integrato nella parte inferiore dell'immagine è oscurato
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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 che analizza quando esegue l'anonimizzazione sui tag. Un infoType è un tipo di dati sensibili, come il nome di un paziente, l'indirizzo email, il numero di telefono, il numero di identificazione o il numero di una carta di credito.
Le trasformazioni primitive sono regole che utilizzi per trasformare un valore
di input. Puoi personalizzare il modo in cui i tag DICOM vengono anonimizzati 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 durante 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 anonimizzi il testo sensibile nelle immagini utilizzando REDACT_SENSITIVE_TEXT
, l'API Cloud Healthcare utilizza gli infoType riportati sopra, ma al testo sensibile nell'immagine viene applicato anche un infoType personalizzato per gli identificatori di paziente, come i numeri di record medici (MRN).
Opzioni di trasformazione primitiva
Le opzioni di trasformazione primitiva dell'API Cloud Healthcare includono:
RedactConfig
: oscura un valore rimuovendolo.CharacterMaskConfig
: nasconde 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 essere coerenti per lo stesso contesto.CryptoHashConfig
: utilizza l'algoritmo SHA-256 per sostituire i valori di input con una rappresentazione codificata in 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.
Specifica delle configurazioni in TextConfig
Gli infoType e le trasformazioni primitive sono specificati all'interno di un elemento InfoTypeTransformation
, che è un oggetto all'interno di TextConfig
.
Gli infoType vengono inseriti nell'array infoTypes
come valori separati da virgole.
L'indicazione di un infoType è facoltativa. Se non specifichi almeno un infoType, la trasformazione si applica agli infoType DICOM predefiniti nell'API Cloud Healthcare.
Se specifichi qualsiasi infoType in InfoTypeTransformation
, devi indicare almeno una trasformazione primitiva.
Puoi applicare un InfoTypeTransformation
solo al profilo DEIDENTIFY_TAG_CONTENTS
.
Impossibile applicare InfoTypeTransformation
agli altri profili elencati in
TagFilterProfile
.
Le seguenti sezioni mostrano come utilizzare le trasformazioni primitive disponibili in InfoTypeTransformation
insieme agli infoType per personalizzare il modo in cui i tag DICOM vengono anonimizzati. Gli esempi utilizzano l'immagine di esempio fornita in Panoramica di Samples 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 gli infoType DICOM predefiniti.
Tuttavia, il comportamento degli infoType DATE
e PERSON_NAME
è diverso, come mostrato di seguito:
- Un elemento
DateShiftConfig
viene applicato al testo classificato come infoTypeDATE
. L'DateShiftConfig
utilizza una tecnica di spostamento delle date con un differenziale di 100 giorni. - Un elemento
CryptoHashConfig
viene applicato al testo classificato come infoTypePERSON_NAME
. L'CryptoHashConfig
esegue la tokenizzazione generando un valore surrogato mediante l'hashing crittografico.
Si applica anche il seguente comportamento:
- Tutte le età dei pazienti con un valore maggiore o uguale a 90 vengono convertite in 90.
- Se non è possibile applicare una trasformazione a causa delle restrizioni relative al formato DICOM, viene fornito un valore segnaposto corrispondente alla rappresentazione del valore (VR) del tag.
- Tutti gli altri valori che corrispondono a uno degli infoType DICOM predefiniti nell'API Cloud Healthcare vengono sostituiti dal relativo infoType. Ad esempio, se il tag
PatientComments
contiene la stringa "Ann Johnson è andata a Anytown Hospital", "Anytown" verrà sostituito con l'infoTypeLOCATION
.
I seguenti esempi mostrano l'output dell'utilizzo del profilo predefinito DEIDENTIFY_TAG_CONTENTS
su un set di dati contenente archivi DICOM 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 variazioni:
- I nomi nell'angolo in alto a sinistra e in alto a destra dell'immagine sono stati trasformati
utilizzando un comando
CryptoHashConfig
- Le date nell'angolo in alto a sinistra e in alto a destra dell'immagine sono state trasformate
utilizzando un elemento
DateShiftConfig
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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; specificando che consente la trasformazione.
Gli esempi riportati di seguito si espandono in base alla configurazione predefinita,
ma ora includono l'impostazione dell'infoType PERSON_NAME
con la
trasformazione redactConfig
. L'invio di questa richiesta oscura tutti i nomi dall'istanza DICOM.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione redactConfig
, l'immagine appare come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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 il campione nella configurazione predefinita, in cui questi valori sono stati trasformati utilizzando l'hashing di crittografia.
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 sostituire il nome con una serie di asterischi (*
).
Puoi specificare il carattere fisso come valore nel campo maskingCharacter
.
Gli esempi riportati di seguito si espandono in base alla configurazione predefinita,
ma ora includono l'impostazione dell'infoType LAST_NAME
con la
trasformazione characterMaskConfig
. Non viene fornito alcun carattere fisso, quindi
il mascheramento utilizza gli asterischi per impostazione predefinita.
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 appare come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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. A differenza del campione nella Configurazione predefinita, in cui questi valori sono stati trasformati utilizzando l'hashing di crittografia.
DateShiftConfig
L'API Cloud Healthcare può trasformare le date spostandole all'interno di un intervallo preimpostato. Per garantire la coerenza delle trasformazioni delle date nelle esecuzioni di anonimizzazione, utilizza DateShiftConfig
con una delle seguenti opzioni:
- (Deprecata): una chiave con codifica AES non elaborata in base 64 a 128/192/256 bit.
- (Consigliato): una chiave con wrapping di Cloud Key Management Service (Cloud KMS). Consulta Anonimizzazione e reidentificazione del testo sensibile per un esempio su come utilizzare le chiavi con wrapping Cloud KMS.
Devi concedere un ruolo con l'cloudkms.cryptoKeyVersions.useToDecrypt
all'agente di servizio Cloud Healthcare account di servizio
per decriptare la chiave Cloud KMS. Consigliamo di utilizzare il ruolo Autore crittografia CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyDecrypter
). Quando utilizzi Cloud KMS per le operazioni crittografiche, vengono applicati degli addebiti. Per ulteriori informazioni, consulta i prezzi di Cloud Key Management Service.
L'API Cloud Healthcare utilizza questa chiave per calcolare la quantità entro la 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 la propria chiave ogni volta che l'operazione di anonimizzazione viene eseguita con i valori delle date. Ciò può causare output di date incoerenti tra le esecuzioni.
Gli esempi riportati di seguito mostrano come impostare gli infoType 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 delle date nell'istanza verranno spostati entro i 100 giorni successivi ai valori originali.
La chiave di crittografia fornita, U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=
, è una chiave non elaborata con codifica Base64 a 256 bit e crittografia AES, generata utilizzando il seguente comando. Quando richiesto, viene fornita una password vuota al comando:
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 appare come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
L'output mostra che StudyDate
(00080020
) e PatientBirthDate
(00100030
) hanno nuovi valori. Queste trasformazioni si sono verificate come risultato della combinazione del differenziale 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 fornire una delle seguenti opzioni:
- (Deprecata): una chiave con codifica AES non elaborata in base 64 a 128/192/256 bit.
- (Consigliato): una chiave con wrapping di Cloud Key Management Service (Cloud KMS). Consulta Anonimizzazione e reidentificazione del testo sensibile per un esempio su come utilizzare le chiavi con wrapping Cloud KMS.
Devi concedere un ruolo con l'cloudkms.cryptoKeyVersions.useToDecrypt
all'agente di servizio Cloud Healthcare account di servizio
per decriptare la chiave Cloud KMS. Consigliamo di utilizzare il ruolo Autore crittografia CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyDecrypter
). Quando utilizzi Cloud KMS per le operazioni crittografiche, vengono applicati degli addebiti. Per ulteriori informazioni, consulta i 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 genera una chiave. 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 genera una nuova chiave ogni volta che viene eseguita l'operazione. L'uso di una chiave diversa produce valori surrogati diversi.
Gli esempi riportati di seguito mostrano come applicare una trasformazione cryptoHashConfig
a tutti gli infoType DICOM predefiniti supportati nell'API Cloud Healthcare. Dopo aver inviato la richiesta di anonimizzazione, i valori con un infoType 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 anonimizzazione.
La chiave di crittografia fornita, U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=
, è una chiave non elaborata con codifica Base64 a 256 bit e crittografia AES, generata utilizzando il seguente comando. Quando richiesto, viene fornita una password vuota al comando:
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 appare come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Le trasformazioni nell'output sono coerenti per questa istanza tra le esecuzioni di 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 gli infoType DICOM predefiniti supportati nell'API Cloud Healthcare.
Il messaggio replaceWithInfoTypeConfig
non ha argomenti; specificandolo
abilita la trasformazione.
Dopo aver inviato l'immagine all'API Cloud Healthcare utilizzando la trasformazione replaceWithInfoTypeConfig
, l'immagine appare come segue:
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
"done": true
, l'operazione a lunga esecuzione è terminata. - Una volta completata l'anonimizzazione, puoi recuperare i metadati per l'istanza anonimizzata per vedere come è cambiata. L'istanza anonimizzata ha un UID, un UID della serie e un UID delle istanze nuovi per gli studi, quindi devi prima cercare l'istanza anonimizzata nel nuovo set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- SOURCE_DATASET_LOCATION: la posizione del set di dati di origine
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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 cambiare una richiesta di anonimizzazione del set di dati in una richiesta di anonimizzazione dell'archivio DICOM, apporta le seguenti modifiche:
- Modifica
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 località 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 negozio 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 si espandono sulla combinazione dell'anonimizzazione dei tag e dell'oscuramento del testo integrato, ma l'anonimizzazione si verifica 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 passaggi seguenti.
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 l'archivio DICOM.
Seleziona Imposta datastore di destinazione e scegli il set di dati e l'archivio DICOM in cui vengono salvati i dati anonimizzati.
Seleziona Anonimizzazione tag DICOM per configurare il modo in 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 meta tag in base al profilo di base nello standard DICOMMINIMAL_KEEP_LIST_PROFILE
: conserva solo i meta tag richiesti per un oggetto DICOM valido- Ignora oscuramento ID: rigenera i campi UID come stabilito dallo standard DICOM
Seleziona Oscuramento del testo integrato DICOM per configurare il modo in cui viene eseguito l'oscuramento delle immagini durante l'anonimizzazione. Puoi configurare l'oscuramento delle immagini come segue:
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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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 di dati in un archivio DICOM specificando un filtro.
Il filtro assume la forma di un file di filtro da te specificato come valore per il campo resourcePathsGcsUri
nell'oggetto DicomFilterConfig
. Il file del filtro deve esistere in un bucket Cloud Storage; non puoi specificare un file di filtro esistente sulla tua macchina locale o su qualsiasi altra origine. La posizione del file deve essere nel formato gs://BUCKET/PATH/TO/FILE
.
Creazione di un file di filtro
Un file di filtro definisce quali file DICOM da anonimizzare. Puoi filtrare i file ai seguenti livelli:
- A livello di studio
- A livello di serie
- A livello di istanza
Il file di filtro è composto da una riga per studio, serie o istanza da anonimizzare. 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 sono specificati nel file di filtro che hai trasmesso durante la chiamata dell'operazione di anonimizzazione, lo studio, la serie o l'istanza non verranno anonimizzati e non saranno presenti nell'archivio DICOM di destinazione.
È necessaria solo la parte /studies/STUDY_UID
del percorso. Ciò significa che puoi anonimizzare uno studio specificando /studies/STUDY_UID
oppure puoi anonimizzare una serie specificando /studies/STUDY_UID/series/SERIES_UID
.
Considera il seguente file di filtro. Il file di filtro fa sì che uno studio, due serie e tre singole istanze vengano anonimizzati.
/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 filtro mediante BigQuery
In genere, la creazione di un file di filtro avviene esportando prima i metadati da un archivio DICOM in BigQuery. Ciò consente di utilizzare BigQuery per visualizzare lo studio, la serie e gli UID di istanza dei dati DICOM nel tuo archivio DICOM. A questo punto puoi effettuare le seguenti operazioni:
Query sugli UID di studio, serie e istanze che ti interessano. Ad esempio, dopo aver esportato i metadati in BigQuery, potresti eseguire la seguente query per concatenare gli UID dello studio, della serie e dell'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 esportarli in Cloud Storage. Per la procedura da seguire, consulta Esportazione dei dati delle tabelle. Il file esportato è il file di filtro. Dovrai utilizzare la posizione del file del filtro in Cloud Storage per specificare il filtro nell'operazione di esportazione.
Creazione manuale di un file di filtro
Puoi creare un file filtro con contenuti personalizzati e caricarlo in un bucket Cloud Storage.
Utilizzerai la posizione del file del filtro in Cloud Storage quando specifichi il filtro nell'operazione di anonimizzazione. Il seguente esempio mostra come caricare un file di filtro in un bucket Cloud Storage utilizzando il comando gsutil cp
:
gsutil cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY
Ad esempio:
gsutil cp /home/user/Desktop/filters.txt gs://my-bucket/my-directory
Uso di un filtro
Dopo aver configurato il file del filtro, puoi passarlo come valore al
campo resourcePathsGcsUri
nell'oggetto filterConfig
.
Il seguente esempio si espande in Anonimizzazione dei dati a livello di archivio DICOM, ma viene fornito un file di filtro in Cloud Storage che determina quali risorse DICOM sono anonimizzate.
REST
Anonimizza il set di dati.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- SOURCE_DATASET_ID: l'ID del set di dati contenente i dati da anonimizzare
- DESTINATION_DATASET_ID: l'ID del set di dati di destinazione in cui sono scritti i dati anonimizzati
- 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 del 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 delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato
request.json
. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale: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 attuale:@' { "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, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- DATASET_ID: l'ID del 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 delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila tutti 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 anonimizzazione DICOM, gli errori vengono registrati in Cloud Logging. Per maggiori informazioni, consulta Visualizzazione dei log degli errori in Cloud Logging.
Se l'intera operazione restituisce un errore, consulta Risoluzione dei problemi relativi alle operazioni a lunga esecuzione.