En esta página, se explica cómo usar la versión 1 de DicomConfig
para desidentificar datos sensibles en las instancias de DICOM en los siguientes niveles:
- A nivel del conjunto de datos mediante
datasets.deidentify
- En el nivel del almacén DICOM con
dicomStores.deidentify
En esta página, también se explica cómo aplicar filtros cuando se desidentifican datos en el nivel del almacén DICOM.
Descripción general de la desidentificación
Desidentificación a nivel de conjunto de datos
Para desidentificar datos de DICOM a nivel de conjunto de datos, llama a la operación datasets.deidentify
. La llamada a la API de desidentificación tiene los siguientes componentes:
- El conjunto de datos de origen: Un conjunto de datos que contiene almacenes de DICOM con una o más instancias que tienen datos sensibles. Cuando llamas a la operación
deidentify
, se desidentifican todas las instancias en todos los almacenes de DICOM del conjunto de datos. - El conjunto de datos de destino: La desidentificación no afecta el conjunto de datos original o sus datos. En cambio, las copias desidentificadas de los datos originales se escriben en un conjunto de datos nuevo, denominado conjunto de datos de destino.
- Qué desidentificar: Parámetros de configuración que especifican cómo procesar el conjunto de datos. Puedes configurar la desidentificación de DICOM para desidentificarla.
metadatos de instancia (con palabras clave de etiqueta) o texto grabado en imágenes de DICOM
especificar estos parámetros en un
DeidentifyConfig
objeto y haz lo siguiente:- Configura el campo
config
del cuerpo de la solicitud - Almacénalo en Cloud Storage en formato JSON y especifíca la ubicación del archivo en el bucket mediante el campo
gcsConfigUri
del cuerpo de la solicitud.
- Configura el campo
En la mayoría de las muestras de esta guía, se muestra cómo desidentificar datos DICOM a nivel de conjunto de datos.
Desidentificación a nivel del almacén de DICOM
Desidentificar los datos de DICOM a nivel del almacén de DICOM te permite tener más control sobre qué datos se desidentifican. Por ejemplo, si tienes un conjunto de datos con varios almacenes de DICOM, puedes desidentificar cada almacén DICOM según el tipo de datos que exista en el almacén.
Para desidentificar los datos de DICOM en un almacén de DICOM, llama al método dicomStores.deidentify
. La llamada a la API de desidentificación tiene los siguientes componentes:
- Almacén de DICOM de origen: Un almacén DICOM que contiene una o más instancias que tienen datos sensibles. Cuando llamas a la operación
deidentify
, se desidentifican todas las instancias en el almacén de DICOM. - El almacén DICOM de destino: La desidentificación no afecta al almacén de DICOM original ni a sus datos. En cambio, las copias desidentificadas de los datos originales se escriben en el almacén DICOM de destino. El almacén de DICOM de destino ya debe existir.
- Qué desidentificar: Parámetros de configuración que especifican cómo procesar
en el almacén de DICOM. Puedes configurar la desidentificación de DICOM para desidentificar
Metadatos de la instancia de DICOM (con palabras clave de etiqueta) o texto quemado en imágenes de DICOM
si especificas estos parámetros en una
DeidentifyConfig
objeto y pásalo mediante una de las siguientes acciones:- Configura el campo
config
del cuerpo de la solicitud - Almacénalo en Cloud Storage en formato JSON y especifíca la ubicación del archivo en el bucket mediante el campo
gcsConfigUri
del cuerpo de la solicitud.
- Configura el campo
Para ver un ejemplo de cómo desidentificar datos de DICOM a nivel del almacén DICOM, consulta Desidentifica datos a nivel del almacén de DICOM.
Filtros
Puedes desidentificar un subconjunto de datos en un almacén DICOM si configuras un archivo de filtro y especificas el archivo en la solicitud dicomStores.deidentify
. Para ver un ejemplo, consulta Desidentifica un subconjunto de almacenamiento de DICOM.
Descripción general de muestras
En las muestras de esta guía, se usa una sola instancia de DICOM, pero también puedes desidentificar varias instancias.
En cada una de las siguientes secciones, se proporcionan ejemplos de cómo desidentificar datos de DICOM mediante varios métodos. Se proporciona un resultado de la imagen desidentificada en cada muestra. En cada muestra, se usa la siguiente imagen original como su entrada:
Puedes comparar la imagen de salida de cada operación de desidentificación con esta imagen original para ver los efectos de la operación.
Desidentifica etiquetas de DICOM
Puedes desidentificar las instancias de DICOM según las palabras clave de etiquetas.
en los metadatos de DICOM. Los siguientes métodos de filtrado de etiquetas están disponibles en el objeto DicomConfig
:
keepList
: Es la lista de etiquetas que se deben conservar. Quita todas las demás etiquetas.removeList
: Es la lista de etiquetas que se deben quitar. Mantén todas las demás etiquetas.filterProfile
: Es un perfil de filtrado de etiquetas que se usa para determinar qué etiquetas conservar o quitar.
Para cada muestra de esta sección, se proporciona el resultado de los metadatos modificados de la instancia de DICOM. A continuación, se muestran los metadatos originales de la instancia que se usaron como entrada para cada muestra:
[
{
"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"]}
}
]
Desidentificación mediante el uso de etiquetas keeplist
Cuando especificas una etiqueta keeplist en el objeto DicomConfig
, las siguientes etiquetas se agregan de forma predeterminada:
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
La operación deidentify
no oculta las etiquetas anteriores. Sin embargo, los valores de algunas de las etiquetas se vuelven a generar, lo que significa que los valores se reemplazan por un valor diferente a través de una transformación determinista.
Para obtener más información, consulta la opción Retención de UIDs.
según el estándar DICOM. Para conservar los valores originales de las etiquetas anteriores, usa la opción SkipIdRedaction
.
Si no se proporcionan etiquetas de keeplist, no se ocultan etiquetas de DICOM en el conjunto de datos.
En los siguientes ejemplos, se muestra cómo desidentificar un conjunto de datos que contiene almacenes y datos DICOM sin modificar algunas etiquetas.
Después de enviar la imagen a la API de Cloud Healthcare, la imagen aparece de la siguiente manera. Mientras se ocultan los metadatos que se muestran en las esquinas superiores de la imagen, la información de salud protegida (PHI) quemado en la parte inferior de la imagen permanece. Para quitar también el texto quemado, consulta Oculta el texto quemado de las imágenes.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "keepList": { "tags": [ "PatientID" ] } } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "keepList": { "tags": [ "PatientID" ] } } } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "keepList": { "tags": [ "PatientID" ] } } } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
En la siguiente tabla, se muestra cómo los UID de los estudios, los UID de la serie y los UID de instancias cambió:Metadatos de la instancia original Metadatos de instancia desidentificados UID de estudios ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID de 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 de instancias ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Go
Java
Node.js
Python
Desidentificación mediante etiquetas removelist
Puedes especificar una removelist en el objeto DicomConfig
. La operación deidentify
solo ocultará las etiquetas especificadas en la lista. Si no se proporcionan etiquetas removelist, la operación de desidentificación continúa como de costumbre, pero no se ocultan las etiquetas de DICOM en el conjunto de datos de destino.
Cuando especificas una removelist, la etiqueta OverlayData
se agrega de forma predeterminada porque los datos de superposición pueden contener PHI.
Las etiquetas que se agregan de forma predeterminada a una keeplist no se pueden agregar a una removelist.
En los siguientes ejemplos, se muestra cómo desidentificar un conjunto de datos que contiene almacenes DICOM y datos DICOM mediante la eliminación de todas las etiquetas en la removelist. Las etiquetas que no están en la removelist no se modifican.
Después de enviar la imagen a la API de Cloud Healthcare, la imagen aparece de la siguiente manera. De las etiquetas proporcionadas en la removelist, solo se quita PatientBirthDate
en la imagen, ya que es la única etiqueta de la lista de eliminación que corresponde a los metadatos visibles en la imagen.
Si bien PatientBirthDate
en la esquina superior de la imagen se ocultó de acuerdo con la configuración de la removelist, la PHI de efecto quemado que se encuentra en la parte inferior de la imagen permanece. Para quitar también el texto quemado, consulta Cómo ocultar el texto quemado de las imágenes.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "removeList": { "tags": [ "PatientBirthName", "PatientBirthDate", "PatientAge", "PatientSize", "PatientWeight", "PatientAddress", "PatientMotherBirthName" ] } } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
En la siguiente tabla, se muestra cómo los UID de los estudios, los UID de la serie y los UID de instancias cambió:Metadatos de la instancia original Metadatos de instancia desidentificados UID de estudios ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID de 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 de instancias ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Desidentificación mediante un perfil de filtro de etiquetas
En lugar de especificar qué etiquetas se deben conservar o quitar, puedes configurar un TagFilterProfile
en el objeto DicomConfig
. Un perfil de filtro de etiquetas es un perfil predefinido que determina qué etiquetas se deben conservar, quitar o transformar. Consulta la documentación de TagFilterProfile
para conocer los perfiles disponibles.
En los siguientes ejemplos, se muestra cómo desidentificar un conjunto de datos que contiene almacenes y datos de DICOM mediante el perfil de filtro de etiquetas ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
.
Este perfil de filtro de etiquetas quita las etiquetas en función del Perfil básico de confidencialidad de atributos del Estándar de DICOM.
La API de Cloud Healthcare no cumple completamente con el perfil básico de confidencialidad de atributos. Por ejemplo, la API de Cloud Healthcare
no comprueba la definición de objeto de información (IOD)
cuando se selecciona una acción para una etiqueta.
Después de enviar la imagen a la API de Cloud Healthcare mediante el perfil de filtro de etiqueta ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
, la imagen aparece de la siguiente manera. Mientras se ocultan los metadatos que se muestran en las esquinas superiores de la imagen, permanece la PHI quemada que se encuentra en la parte inferior de la imagen.
Para quitar también el texto grabado, consulta Cómo ocultar el texto grabado de las imágenes.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" } } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
En la siguiente tabla, se muestra cómo los UID de los estudios, los UID de la serie y los UID de instancias cambió:Metadatos de la instancia original Metadatos de instancia desidentificados UID de estudios ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID de 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 de instancias ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Desidentifica datos en la consola de Google Cloud
Para desidentificar datos en la consola de Google Cloud, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Conjunto de datos.
Elige Desidentificar de la lista Acciones para el conjunto de datos que estás desidentificando.
Aparecerá la página Desidentifica conjunto de datos.
Selecciona Configurar conjunto de datos de destino y, luego, ingresa un nombre para el conjunto de datos nuevo a fin de almacenar tus datos desidentificados.
Selecciona Desidentificación de etiquetas de DICOM a fin de seleccionar el perfil para el que se desidentifican los datos. Los datos se pueden desidentificar de la siguiente manera:
KEEP_ALL_PROFILE
: Conserva todas las metaetiquetas de DICOMDEIDENTIFY_TAG_CONTENTS
: Desidentifica los datos dentro de metaetiquetas.ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
: Quita las metaetiquetas de acuerdo con el perfil básico del estándar de DICOM.MINIMAL_KEEP_LIST_PROFILE
: Conserva solo las metaetiquetas necesarias para un objeto DICOM válido.- Omitir ocultamiento de ID: Vuelve a generar los campos UID según lo determinado por el estándar DICOM
Selecciona Ocultamiento de texto quemado de DICOM para configurar cómo se realiza el ocultamiento de imagen durante la desidentificación. Puedes configurar el ocultamiento de imágenes de la siguiente manera:
REDACT_NO_TEXT
: No se oculta el texto de las imágenes.REDACT_SENSITIVE_TEXT
: Oculta solo texto sensible en las imágenesREDACT_ALL_TEXT
: Oculta todo el texto en las imágenes.
Haz clic en Desidentificar para desidentificar los datos en el conjunto de datos.
Oculta el texto quemado de las imágenes
La API de Cloud Healthcare puede ocultar el texto grabado sensible de las imágenes. La API detecta datos sensibles, como la PHI, que los oculta mediante un rectángulo opaco. La API muestra las mismas imágenes de DICOM de muestra que le diste, en el mismo formato, pero se oculta cualquier texto identificado que contenga información sensible según tus criterios.
Puedes ocultar el texto grabado de las imágenes si especificas una opción TextRedactionMode
dentro de un objeto ImageConfig
. Consulta la documentación de TextRedactionMode
para conocer los valores posibles.
Oculta todo el texto quemado de una imagen
En los siguientes ejemplos, se muestra cómo ocultar todo el texto grabado de las imágenes de DICOM en un conjunto de datos. Para ello, especifica REDACT_ALL_TEXT
en el campo TextRedactionMode
.
Después de enviar la imagen a la API de Cloud Healthcare mediante la opción REDACT_ALL_TEXT
, la imagen aparece de la siguiente manera. Mientras se quita el texto grabado en la parte inferior de la imagen, los metadatos en las esquinas superiores de la imagen permanecen. Para quitar también los metadatos, consulta Desidentifica las etiquetas de DICOM.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
En la siguiente tabla, se muestra cómo los UID de los estudios, los UID de la serie y los UID de instancias cambió:Metadatos de la instancia original Metadatos de instancia desidentificados UID de estudios ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID de 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 de instancias ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Oculta solo el texto quemado sensible de una imagen
Los siguientes ejemplos muestran cómo ocultar el texto grabado sensible de las imágenes DICOM en un conjunto de datos. Para ello, especifica REDACT_SENSITIVE_TEXT
en el campo TextRedactionMode
.
Los Infotipos especificados en los Infotipos de DICOM predeterminados se ocultan cuando se especifica REDACT_SENSITIVE_TEXT
. También se aplica un Infotipo personalizado adicional para los identificadores de pacientes, como los números de registros médicos (MRN), y se ocultan los identificadores de pacientes.
En la siguiente imagen, se muestra una radiografía sin ocultamiento de un paciente:
Después de enviar la imagen a la API de Cloud Healthcare mediante la opción REDACT_SENSITIVE_TEXT
, la imagen aparece de la siguiente manera:
Puedes ver que ocurrió lo siguiente:
- Se ocultó el elemento
PERSON_NAME
en la esquina inferior izquierda de la imagen - Se ocultó el elemento
DATE
en la esquina inferior izquierda de la imagen
El sexo del paciente no se ocultó porque no se considera texto sensible de acuerdo con los Infotipos de DICOM predeterminados.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_SENSITIVE_TEXT" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_SENSITIVE_TEXT" } } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": {}, "image": { "textRedactionMode": "REDACT_SENSITIVE_TEXT" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
En la siguiente tabla, se muestra cómo los UID de los estudios, los UID de la serie y los UID de instancias cambió:Metadatos de la instancia original Metadatos de instancia desidentificados UID de estudios ( 0020000D
)2.25.70541616638819138568043293671559322355
1.3.6.1.4.1.11129.5.1.201854290391432893460946240745559593763
UID de 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 de instancias ( 00080018
)1.2.276.0.7230010.3.1.4.8323329.78.1539083058.523695
1.3.6.1.4.1.11129.5.1.97415866390999888717168863957686758029
Combina desidentificación de etiquetas y ocultamiento de texto quemado
Puedes combinar la desidentificación mediante etiquetas con el ocultamiento de texto grabado de imágenes a fin de desidentificar instancias de DICOM de nivel más detallado. Por ejemplo, al combinar REDACT_ALL_TEXT
en el campo TextRedactionMode
con DEIDENTIFY_TAG_CONTENTS
en el campo TagFilterProfile
, puedes hacer lo siguiente:
REDACT_ALL_TEXT
: oculta todo el texto quemado en la imagen.DEIDENTIFY_TAG_CONTENTS
: Inspecciona el contenido de etiquetas y transforma texto sensible. Para obtener más información sobre el comportamiento deDEIDENTIFY_TAG_CONTENTS
, consulta Configuración predeterminada.
Después de enviar la imagen a la API de Cloud Healthcare mediante las opciones REDACT_ALL_TEXT
y DEIDENTIFY_TAG_CONTENTS
, la imagen aparece de la siguiente manera. Observa los siguientes cambios:
- Los nombres en la esquina superior izquierda y en la esquina superior derecha de la imagen se transformaron con una
CryptoHashConfig
- Las fechas en la esquina superior izquierda y derecha de la imagen se transformaron con un
DateShiftConfig
- Se oculta el texto grabado que aparece en la parte inferior de la imagen.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "image": { "textRedactionMode": "REDACT_ALL_TEXT" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Usa Infotipos y transformaciones básicas con etiquetas de DICOM
La API de Cloud Healthcare puede usar tipos de información (Infotipos) para definir qué datos analiza cuando realiza una desidentificación en las etiquetas. Un Infotipo es un tipo de datos sensibles, como el nombre de un paciente, dirección de correo electrónico, número de teléfono, número de identificación o número de tarjeta de crédito.
Las transformaciones básicas son reglas que usas para transformar un valor de entrada. Puedes personalizar la forma en la que se desidentifican las etiquetas DICOM si aplicas una transformación básica al Infotipo de cada etiqueta. Por ejemplo, puedes desidentificar el apellido de un paciente y reemplazarlo con una serie de asteriscos si especificas el infotipo LAST_NAME
con la transformación básica CharacterMaskConfig
.
Infotipos de DICOM predeterminados
Los Infotipos predeterminados de DICOM que se usan cuando se desidentifican metadatos son los siguientes:
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
Cuando desidentificas texto sensible en imágenes con REDACT_SENSITIVE_TEXT
, la API de Cloud Healthcare usa los Infotipos anteriores y un Infotipo personalizado adicional para identificadores de pacientes Los números de registro médico (MRN) también se aplican al texto sensible de la imagen.
Opciones de transformación básicas
Las opciones de transformación básicas de la API de Cloud Healthcare incluyen lo siguiente:
RedactConfig
: Quita un valor y lo oculta.CharacterMaskConfig
: Enmascara una string por completo o parcialmente mediante el reemplazo de los caracteres de entrada con un carácter fijo especificado.DateShiftConfig
: Cambia las fechas por un número de días al azar, con la opción de ser coherente en el mismo contexto.CryptoHashConfig
: Usa SHA-256 para reemplazar los valores de entrada con una representación codificada en base64 de una string de salida con hash generada con una clave de encriptación de datos determinada.ReplaceWithInfoTypeConfig
: Reemplaza un valor de entrada con el nombre de su Infotipo.
Especifica opciones de configuración en TextConfig
Los Infotipos y las transformaciones primitivas se especifican dentro de un InfoTypeTransformation
, que es un objeto dentro de TextConfig
.
Los Infotipos se ingresan en el arreglo infoTypes
como valores separados por comas.
Especificar un Infotipo es opcional. Si no especificas al menos un Infotipo, la transformación se aplica a los Infotipos predeterminados de DICOM que se encuentran en la API de Cloud Healthcare.
Si especificas infotipos en InfoTypeTransformation
, debes especificar al menos una transformación básica.
Puedes aplicar un InfoTypeTransformation
solo al perfil DEIDENTIFY_TAG_CONTENTS
.
No se puede aplicar un InfoTypeTransformation
a los otros perfiles enumerados en TagFilterProfile
.
En las siguientes secciones, se muestra cómo usar las transformaciones básicas disponibles en InfoTypeTransformation
junto con los Infotipos para personalizar cómo se desidentifican las etiquetas de DICOM. En las muestras, se usa la imagen de muestra que se proporciona en la Descripción general de muestras y los metadatos de muestra que se proporcionan en Desidentifica etiquetas de DICOM.
Configuración predeterminada
De forma predeterminada, cuando el perfil DEIDENTIFY_TAG_CONTENTS
se establece sin proporcionar ninguna configuración en el objeto TextConfig
, la API de Cloud Healthcare reemplaza los datos sensibles mediante los Infotipos de DICOM predeterminados.
Sin embargo, hay comportamientos diferentes para los Infotipos DATE
y PERSON_NAME
, como se muestra a continuación:
- Se aplica un
DateShiftConfig
al texto clasificado como InfotipoDATE
. ElDateShiftConfig
usa una técnica de cambio de fecha con una diferencia de 100 días. - Se aplica un
CryptoHashConfig
al texto clasificado como InfotipoPERSON_NAME
.CryptoHashConfig
realiza una asignación de token mediante la generación de un valor subrogado mediante el hash criptográfico.
También se aplica el siguiente comportamiento:
- Todas las edades de pacientes que tengan un valor mayor o igual que 90 se convierten en 90.
- Si no se puede aplicar una transformación debido a restricciones de formato DICOM, se proporciona un valor de marcador de posición que corresponde a la Representación de valor (VR) de la etiqueta.
- Cualquier otro valor que corresponde a uno de los Infotipos predeterminados de DICOM en la API de Cloud Healthcare se reemplaza por su Infotipo. Por ejemplo, si la etiqueta
PatientComments
contenía la string "Ann Johnson fue al hospital Anytown", "Anytown" se reemplazaría por el InfotipoLOCATION
.
Los siguientes ejemplos muestran el resultado del uso del perfil predeterminado DEIDENTIFY_TAG_CONTENTS
en un conjunto de datos que contiene almacenes y datos de DICOM. Puedes comparar este resultado predeterminado con los resultados cuando usas las diversas transformaciones básicas con combinaciones de Infotipo. Las muestras usan un solo
de la instancia de DICOM, pero puedes desidentificar varias instancias.
Después de enviar la imagen a la API de Cloud Healthcare mediante el perfil DEIDENTIFY_TAG_CONTENTS
, la imagen aparece de la siguiente manera.
Observa los siguientes cambios:
- Los nombres en la esquina superior izquierda y en la esquina superior derecha de la imagen se transformaron con una
CryptoHashConfig
- Las fechas en la esquina superior izquierda y derecha de la imagen se transformaron con un
DateShiftConfig
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:cat > request.json << 'EOF' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" } } } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" } } } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
RedactConfig
Si especificas redactConfig
, se oculta un valor determinado porque se lo quita por completo.
El mensaje redactConfig
no tiene argumentos; si lo especificas se habilita su transformación.
En los ejemplos siguientes, se amplía la configuración predeterminada, pero ahora incluyen la configuración del Infotipo PERSON_NAME
con la transformación redactConfig
. El envío de esta solicitud oculta todos los nombres de la instancia de DICOM.
Después de enviar la imagen a la API de Cloud Healthcare mediante la transformación redactConfig
, la imagen aparece de la siguiente manera:
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "redactConfig": {} } ] } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
El resultado muestra que los valores en ReferringPhysicianName
(00080090
) y PatientName
(00100010
). Esto contrasta con la muestra de la configuración predeterminada, en la que estos valores se transformaron con el hash criptográfico.
CharacterMaskConfig
Si especificas characterMaskConfig
, se reemplazan las strings que corresponden a los Infotipos proporcionados con un carácter fijo especificado. Por ejemplo, en lugar de ocultar el nombre de un paciente o transformarlo con un hash criptográfico, puedes reemplazar el nombre con una serie de asteriscos (*
). Puedes especificar el carácter fijo como un valor para el campo maskingCharacter
.
En los ejemplos siguientes, se amplía la configuración predeterminada, pero ahora incluyen la configuración del Infotipo LAST_NAME
con la transformación characterMaskConfig
. No se proporciona un carácter fijo, por lo que el enmascaramiento usa el asterisco de forma predeterminada.
Las muestras usan una sola instancia de DICOM, pero puedes desidentificar varias individuales.
Después de enviar la imagen a la API de Cloud Healthcare mediante la transformación characterMaskConfig
, la imagen aparece de la siguiente manera:
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [ "PERSON_NAME" ], "characterMaskConfig": { "maskingCharacter": "" } } ] } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
El resultado muestra que los apellidos en ReferringPhysicianName
(00080090
) y PatientName
(00100010
) se reemplazaron por
asteriscos. Esto contrasta con la muestra de la configuración predeterminada, en la que estos valores se transformaron con el hash criptográfico.
DateShiftConfig
La API de Cloud Healthcare puede transformar las fechas si las cambia dentro de un rango predeterminado. Para mantener las transformaciones de fecha coherentes en las ejecuciones de desidentificación, usa DateShiftConfig
con cualquiera de las siguientes opciones:
- Una clave codificada en Base64 de 128/192/256 bits sin procesar (obsoleto).
- Una clave unida de Cloud Key Management Service (Cloud KMS) (recomendado). Consulta Desidentifica y vuelve a identificar el texto sensible para ver un ejemplo sobre cómo usar las claves unidas de Cloud KMS.
Debes otorgar una función con el permiso cloudkms.cryptoKeyVersions.useToDecrypt
a la cuenta de servicio del agente de servicio de Cloud Healthcare para desencriptar el Clave unida de Cloud KMS. Te recomendamos usar el rol de desencriptador de CryptoKey de Cloud KMS (roles/cloudkms.cryptoKeyDecrypter
). Cuando usas Cloud KMS para realizar operaciones criptográficas, se aplican cargos. Consulta los precios de Cloud Key Management Service para obtener más información.
La API de Cloud Healthcare usa esta clave para calcular la cantidad en la que las fechas se modifican, como la fecha de nacimiento de un paciente, en un diferencial de 100 días.
Si no proporcionas una clave, la API de Cloud Healthcare genera su propia clave cada vez que la operación de desidentificación se ejecuta en valores de fecha. Esto puede ocasionar resultados de fecha inconsistentes entre ejecuciones.
En los siguientes ejemplos, se muestra cómo configurar los infotipos DATE
y DATE_OF_BIRTH
con la transformación DateShiftConfig
en una instancia de DICOM. Después de enviar la solicitud de desidentificación a la API de Cloud Healthcare, los valores de fecha en la instancia cambiarán dentro o menos de 100 días de sus valores originales.
La clave criptográfica proporcionada, U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=
, es una forma
Clave codificada en Base64 de 256 bits con encriptación AES generada mediante lo siguiente
kubectl. Cuando se te solicite, proporciona una contraseña vacía al siguiente comando:
echo -n "test" | openssl enc -e -aes-256-ofb -a -salt
Después de enviar la imagen a la API de Cloud Healthcare mediante la transformación dateShiftConfig
, la imagen aparece de la siguiente manera:
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "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=" } } ] } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
El resultado muestra que StudyDate
(00080020
) y PatientBirthDate
(00100030
) tienen valores nuevos. Estas transformaciones se produjeron como resultado de la comparación del diferenciador de 100 días con el valor cryptoKey
proporcionado. Los nuevos valores de fecha son coherentes para esta instancia entre ejecuciones de desidentificación mientras se proporcione el mismo cryptoKey
.
CryptoHashConfig
Puedes dejar la cryptoHashConfig
vacía o proporcionarla de una de las siguientes maneras:
- Una clave codificada en Base64 de 128/192/256 bits sin procesar (obsoleto).
- Una clave unida de Cloud Key Management Service (Cloud KMS) (recomendado). Consulta Desidentifica y vuelve a identificar el texto sensible para ver un ejemplo sobre cómo usar las claves unidas de Cloud KMS.
Debes otorgar una función con el permiso cloudkms.cryptoKeyVersions.useToDecrypt
a la cuenta de servicio del agente de servicio de Cloud Healthcare para desencriptar el Clave unida de Cloud KMS. Te recomendamos usar el rol de desencriptador de CryptoKey de Cloud KMS (roles/cloudkms.cryptoKeyDecrypter
). Cuando usas Cloud KMS para realizar operaciones criptográficas, se aplican cargos. Consulta los precios de Cloud Key Management Service para obtener más información.
La API de Cloud Healthcare puede transformar datos mediante el reemplazo de valores por hash criptográfico (también llamados valores subrogados). Para hacerlo, especifica un mensaje cryptoHashConfig
.
Si no proporcionas una clave, la API de Cloud Healthcare genera una. El La API de Cloud Healthcare usa esta clave para generar valores subrogados. Si proporcionan la misma clave en cada ejecución, la API de Cloud Healthcare genera valores subrogados coherentes. Si no proporcionas una clave, la API de Cloud Healthcare genera una nueva cada vez que se ejecuta la operación. Usando una clave diferente produce valores subrogados diferentes.
En los ejemplos siguientes, se muestra cómo aplicar una transformación cryptoHashConfig
a todos los Infotipos predeterminados de DICOM compatibles con la API de Cloud Healthcare. Después de enviar la solicitud de desidentificación, los valores con un Infotipo de DICOM correspondiente en la API de Cloud Healthcare se reemplazan por valores subrogados.
En la muestra, también se indica cómo proporcionar una CryptoKey para generar valores subrogados coherentes entre las ejecuciones de desidentificación.
La clave criptográfica proporcionada, U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=
, es una forma
Clave codificada en Base64 de 256 bits con encriptación AES generada mediante lo siguiente
kubectl. Cuando se te solicite, proporciona una contraseña vacía al siguiente comando:
echo -n "test" | openssl enc -e -aes-256-ofb -a -salt
Después de enviar la imagen a la API de Cloud Healthcare mediante la transformación cryptoHashConfig
, la imagen aparece de la siguiente manera:
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "cryptoHashConfig": { "cryptoKey": "U2FsdGVkX19bS2oZsdbK9X5zi2utBn22uY+I2Vo0zOU=" } } ] } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Las transformaciones en el resultado son coherentes para esta instancia entre las ejecuciones de desidentificación, siempre que se proporcione el mismo cryptoKey
.
ReplaceWithInfoTypeConfig
Si especificas replaceWithInfoTypeConfig
, se reemplazan los valores de entrada con el nombre del Infotipo del valor.
En los ejemplos siguientes, se muestra cómo aplicar una transformación replaceWithInfoTypeConfig
a todos los Infotipos predeterminados de DICOM compatibles con la API de Cloud Healthcare.
El mensaje replaceWithInfoTypeConfig
no tiene argumentos; si lo especificas, se habilita su transformación.
Después de enviar la imagen a la API de Cloud Healthcare mediante la transformación replaceWithInfoTypeConfig
, la imagen aparece de la siguiente manera:
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
Cuerpo JSON de la solicitud:
{ "destinationDataset": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID", "config": { "dicom": { "filterProfile": "DEIDENTIFY_TAG_CONTENTS" }, "text": { "transformations": [ { "infoTypes": [], "replaceWithInfoTypeConfig": {} } ] } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó. - Después de que la desidentificación se realice correctamente, puedes recuperar los metadatos del
para ver cómo cambió. La instancia desidentificada
tiene nuevos UID de estudios, UID de serie e instancias de UID, así que primero debes
buscar en el nuevo conjunto de datos la instancia desidentificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- SOURCE_DATASET_LOCATION: La ubicación del conjunto de datos de origen
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Con los valores nuevos, recupera los metadatos para la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino. Es el mismo que el ID del almacén de DICOM en el conjunto de datos de origen.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Desidentifica datos a nivel del almacén de DICOM
Las muestras anteriores muestran cómo desidentificar datos de DICOM a nivel de conjunto de datos. En esta sección, se describe cómo desidentificar datos a nivel del almacén de DICOM.
Para cambiar una solicitud de desidentificación de conjunto de datos a una solicitud de desidentificación de almacén de DICOM, realiza los siguientes cambios:
- Cambia el
destinationDataset
adestinationStore
en el cuerpo de la solicitud. - Agrega
dicomStores/DESTINATION_DICOM_STORE_ID
al final del valor endestinationStore
cuando especifiques el destino. - Agrega
dicomStores/SOURCE_DICOM_STORE_ID
cuando especifiques la ubicación de los datos de origen.
Por ejemplo:
Desidentificación a nivel de conjunto de datos:
"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"
Desidentificación a nivel del almacén 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"
En los siguientes ejemplos, se amplía Combinación de la desidentificación de etiquetas y la ocultación de texto quemado, pero la desidentificación ocurre en un solo almacén de DICOM, y los datos desidentificados se copian en un almacén de DICOM nuevo. Antes de ejecutar las muestras, el almacén de DICOM al que hace referencia DESTINATION_DICOM_STORE_ID ya debe existir.
Console
Para desidentificar datos en un almacén de DICOM mediante la consola de Google Cloud, completa los siguientes pasos.
En la consola de Google Cloud, ve a la página Conjunto de datos.
Haz clic en el conjunto de datos que contiene los datos que deseas desidentificar.
En la lista de almacenes de DICOM, elige Desidentificar de la lista Acciones para el almacén de DICOM que estás desidentificando.
Aparecerá la página Desidentificar almacén de DICOM.
Selecciona Configurar almacén de datos de destino y elige el conjunto de datos y el almacén de DICOM en el que se guardan los datos desidentificados.
Selecciona Desidentificación de etiquetas de DICOM para configurar cómo se desidentifican los datos. Los datos se pueden desidentificar de la siguiente manera:
KEEP_ALL_PROFILE
: Conserva todas las metaetiquetas de DICOM.DEIDENTIFY_TAG_CONTENTS
: Desidentifica los datos dentro de las metaetiquetas.ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE
: Quita las metaetiquetas según el perfil básico del estándar DICOM.MINIMAL_KEEP_LIST_PROFILE
: Conserva solo las metaetiquetas necesarias para un objeto de DICOM válido.- Omitir ocultamiento de ID: Vuelve a generar campos de UID según lo determinado por el estándar DICOM.
Selecciona Ocultamiento de texto quemado de DICOM para configurar cómo se realiza el ocultamiento de imagen durante la desidentificación. Puedes configurar el ocultamiento de imágenes de la siguiente manera:
REDACT_NO_TEXT
: No ocultar el texto en las imágenesREDACT_SENSITIVE_TEXT
: Oculta solo el texto sensible en las imágenes.REDACT_ALL_TEXT
: Oculta todo el texto en las imágenes.
Haz clic en Desidentificar para desidentificar los datos del almacén DICOM.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- SOURCE_DICOM_STORE_ID: Es el ID del almacén de DICOM que contiene los datos que se desidentificarán.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino.
Cuerpo JSON de la solicitud:
{ "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" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó.
Desidentifica un subconjunto de una almacén DICOM
Puedes desidentificar un subconjunto de los datos en un almacén DICOM si especificas un filtro.
El filtro toma la forma de un archivo de filtro que especificas como un valor para el campo resourcePathsGcsUri
en el objeto DicomFilterConfig
. El archivo de filtro debe existir en un bucket de Cloud Storage. No puedes especificar un archivo de filtro que exista en tu máquina local o en cualquier otra fuente. La ubicación del archivo debe estar en formato gs://BUCKET/PATH/TO/FILE
.
Crea un archivo de filtro
Un archivo de filtro define qué archivos DICOM que desidentificar. Puede filtrar archivos en los siguientes niveles:
- A nivel del estudio
- En el nivel de la serie
- En el nivel de la instancia
El archivo de filtro está compuesto por una línea por estudio, serie o instancia que deseas desidentificar. Cada línea usa el formato /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]]
.
Al final de cada línea hay un carácter de salto de línea: \n
o \r\n
.
Si no se especifica un estudio, una serie o una instancia en el archivo de filtro que pasaste cuando se llamó a la operación de desidentificación, ese estudio, serie o instancia no se desidentificará y no estará presente en el almacén de DICOM de destino.
Solo se requiere la parte /studies/STUDY_UID
de la ruta de acceso. Esto significa que puedes desidentificar un estudio si especificas /studies/STUDY_UID
o puedes desidentificar una serie si especificas /studies/STUDY_UID/series/SERIES_UID
.
Considera el siguiente archivo de filtro. El archivo de filtro hace que se desidentifique un estudio, dos series y tres instancias individuales:
/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
Crea un archivo de filtro con BigQuery
Por lo general, para crear un archivo de filtro, primero debes exportar los metadatos de un almacén de DICOM a BigQuery. Esto te permite usar BigQuery para ver los UID del estudio, serie y de las instancias de los datos de DICOM en tu almacén de DICOM. A continuación, puedes hacer lo siguiente:
Realiza consultas para los UID del estudio, la serie y la instancia que te interesa. Por ejemplo, después de exportar los metadatos a BigQuery, puedes ejecutar la siguiente consulta para concatenar los UID del estudio, la serie y la instancia en un formato compatible con los requisitos del archivo de filtro:
SELECT CONCAT ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID) FROM [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
Si la consulta muestra un conjunto de resultados grande, puedes materializar una tabla nueva si guardas los resultados de las consultas en una tabla de destino en BigQuery.
Después de guardar los resultados de las consultas en la tabla de destino, puedes guardar el contenido de la tabla de destino en un archivo y exportarlo a Cloud Storage. Si quieres obtener los pasos para hacerlo, consulta Exporta datos de tablas. El archivo exportado es tu archivo de filtro. Usarás la ubicación del archivo de filtro en Cloud Storage cuando especifiques el filtro en la operación de exportación.
Crea un archivo de filtro de forma manual
Puedes crear un archivo de filtro con contenido personalizado y subirlo a un depósito de Cloud Storage.
Usarás la ubicación del archivo de filtro en Cloud Storage cuando especifiques el filtro en la operación de desidentificación. En el siguiente ejemplo, se muestra cómo subir un archivo de filtro a un depósito de Cloud Storage con el comando gcloud storage cp
:
gcloud storage cp PATH/TO/FILTER_FILE gs://BUCKET/DIRECTORY
Por ejemplo:
gcloud storage cp /home/user/Desktop/filters.txt gs://my-bucket/my-directory
Usa un filtro
Después de configurar el archivo de filtro, puedes pasarlo como un valor al campo resourcePathsGcsUri
en el objeto filterConfig
.
En el siguiente ejemplo, se amplía Desidentifica datos a nivel del almacén de DICOM, pero se proporciona un archivo de filtro en Cloud Storage que determina qué recursos DICOM se desidentifican.
REST
Desidentificar el conjunto de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos
- SOURCE_DATASET_ID: Es el ID del conjunto de datos que contiene los datos que se desidentificarán.
- DESTINATION_DATASET_ID: Es el ID del conjunto de datos de destino en el que se escriben los datos desidentificados.
- SOURCE_DICOM_STORE_ID: Es el ID del almacén de DICOM que contiene los datos que se desidentificarán.
- DESTINATION_DICOM_STORE_ID: Es el ID del almacén de DICOM en el conjunto de datos de destino.
- BUCKET/PATH/TO/FILE: La ubicación del archivo de filtro en un bucket de Cloud Storage
Cuerpo JSON de la solicitud:
{ "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" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual: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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:@' { "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
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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- Usa el método
projects.locations.datasets.operations.get
para obtener el estado de la operación de larga duración.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- DATASET_ID: El ID del conjunto de datos
- LOCATION: La ubicación del conjunto de datos
- OPERATION_ID: Es el ID que muestra la operación de larga duración.
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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 ContentExplorador de API
Abre el página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
"done": true
, significa que la operación de larga duración finalizó.
Soluciona problemas de operaciones de desidentificación de DICOM
Si se producen errores durante una operación de desidentificación de DICOM, estos se registran en Cloud Logging. Para obtener más información, consulta Visualiza los registros de errores en Cloud Logging.
Si toda la operación muestra un error, consulta Solución de problemas de operaciones de larga duración.