From 8de48da07280f5a9e85423a96818f9785e5235a7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 1 Nov 2022 07:09:40 +0000 Subject: [PATCH] feat(healthcare): update the api #### healthcare:v1beta1 The following keys were added: - schemas.Action (Total Keys: 8) - schemas.CharacterMaskField (Total Keys: 2) - schemas.CleanDescriptorsOption (Total Keys: 2) - schemas.CleanTextField (Total Keys: 2) - schemas.CleanTextTag (Total Keys: 2) - schemas.ContextualDeidConfig (Total Keys: 2) - schemas.CryptoHashField (Total Keys: 2) - schemas.DateShiftField (Total Keys: 2) - schemas.DeidentifyConfig.properties.dicomTagConfig.$ref (Total Keys: 1) - schemas.DeidentifyConfig.properties.fhirFieldConfig.$ref (Total Keys: 1) - schemas.DicomTagConfig (Total Keys: 6) - schemas.FhirFieldConfig (Total Keys: 6) - schemas.GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata (Total Keys: 10) - schemas.GoogleCloudHealthcareV1beta1DeidentifyOptions (Total Keys: 7) - schemas.ImageConfig.properties.additionalInfoTypes (Total Keys: 2) - schemas.ImageConfig.properties.excludeInfoTypes (Total Keys: 2) - schemas.KeepExtensionsConfig (Total Keys: 2) - schemas.KeepField (Total Keys: 2) - schemas.KeepTag (Total Keys: 2) - schemas.Options (Total Keys: 5) - schemas.RegenUidTag (Total Keys: 2) - schemas.RemoveField (Total Keys: 2) - schemas.ResetTag (Total Keys: 2) - schemas.TextConfig.properties.additionalTransformations (Total Keys: 2) - schemas.TextConfig.properties.excludeInfoTypes (Total Keys: 2) - schemas.TextConfig.properties.profileType.type (Total Keys: 1) --- ...ojects.locations.datasets.dicomStores.html | 130 +++ ...rojects.locations.datasets.fhirStores.html | 910 ++++++++++++++++++ ...e_v1beta1.projects.locations.datasets.html | 130 +++ .../documents/healthcare.v1.json | 2 +- .../documents/healthcare.v1beta1.json | 364 ++++++- 5 files changed, 1532 insertions(+), 4 deletions(-) diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html index 379e6461d98..88c92c188cc 100644 --- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html +++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html @@ -224,6 +224,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -235,7 +282,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -244,6 +342,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html index a6e070f3ccc..a1acc564c18 100644 --- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html +++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html @@ -240,6 +240,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -251,7 +298,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -260,6 +358,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. @@ -377,6 +507,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -388,7 +565,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -397,6 +625,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. @@ -476,6 +736,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -487,7 +794,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -496,6 +854,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. @@ -713,6 +1103,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -724,7 +1161,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -733,6 +1221,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. @@ -954,6 +1474,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -965,7 +1532,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -974,6 +1592,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. @@ -1109,6 +1759,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -1120,7 +1817,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -1129,6 +1877,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. @@ -1246,6 +2026,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -1257,7 +2084,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -1266,6 +2144,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html index ee4ec02a64c..1cdd2306d0e 100644 --- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html +++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html @@ -216,6 +216,53 @@

Method Details

}, "skipIdRedaction": True or False, # If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html }, + "dicomTagConfig": { # Specifies the parameters needed for the de-identification of DICOM stores. # Configures de-id of application/DICOM content. + "actions": [ # Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given. + { # Specifies a selection of tags and an `Action` to apply to each one. + "cleanImageTag": { # Specifies how to handle de-identification of image pixels. # Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "cleanTextTag": { # Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS # Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS + }, + "deleteTag": { # Delete tag. # Delete tag. + }, + "keepTag": { # Keep tag unchanged. # Keep tag unchanged. + }, + "queries": [ # Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN" + "A String", + ], + "recurseTag": { # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ + }, + "regenUidTag": { # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI # Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI + }, + "removeTag": { # Replace with empty tag. # Replace with empty tag. + }, + "resetTag": { # Reset tag to a placeholder value. # Reset tag to a placeholder value. + }, + }, + ], + "options": { # Specifies additional options to apply to the base profile. # Specifies additional options to apply, overriding the base `profile`. + "cleanDescriptors": { # This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional `InfoType` during inspection. # Set Clean Descriptors Option. + }, + "cleanImage": { # Specifies how to handle de-identification of image pixels. # Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], + "textRedactionMode": "A String", # Determines how to redact text from image. + }, + "primaryIds": "A String", # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html). + }, + "profileType": "A String", # Base profile type for handling DICOM tags. + }, "fhir": { # Specifies how to handle de-identification of a FHIR store. # Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead. "defaultKeepExtensions": True or False, # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied. @@ -227,7 +274,58 @@

Method Details

}, ], }, + "fhirFieldConfig": { # Specifies how to handle the de-identification of a FHIR store. # Configures de-id of application/FHIR content. + "fieldMetadataList": [ # Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`. + { # Specifies the FHIR paths to match and how to handle the de-identification of matching fields. + "characterMaskField": { # Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cleanTextField": { # Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "cryptoHashField": { # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml # Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml + }, + "dateShiftField": { # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime # Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime + }, + "keepField": { # Keep field unchanged. # Keep the field unchanged. + }, + "paths": [ # List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field "Patient.Address.city", which uses a string type, can be matched by "Patient.Address.String". Path also supports partialkk matching. For example, "Patient.Address.city" can be matched by "Address.city" (Patient omitted). Partial matching and type matching can be combined, for example "Patient.Address.city" can be matched by "Address.String". For "choice" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted. + "A String", + ], + "removeField": { # Remove field. # Remove the field. + }, + }, + ], + "options": { # Specifies additional options to apply to the base `profile`. # Specifies additional options, overriding the base `profile`. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Character mask config for `CharacterMaskField` `FieldMetadatas`. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "contextualDeid": { # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection. # Configure contextual de-id. + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Crypo hash config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Date shifting config for `CharacterMaskField` `FieldMetadatas`. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "keepExtensions": { # The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default. # Configure keeping extensions by default. + }, + }, + "profileType": "A String", # Base profile type for handling FHIR fields. + }, "image": { # Specifies how to handle de-identification of image pixels. # Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead. + "additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. + "A String", + ], + "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. + "A String", + ], "textRedactionMode": "A String", # Determines how to redact text from image. }, "operationMetadata": { # Details about the work the de-identify operation performed. # Details about the work the de-identify operation performed. @@ -236,6 +334,38 @@

Method Details

}, }, "text": { # Configures how to transform sensitive text `InfoTypes`. # Configures de-identification of text wherever it is found in the source_dataset. + "additionalTransformations": [ # Additional transformations to apply to the detected data, overriding `profile`. + { # A transformation to apply to text that is identified as a specific info_type. + "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. + "maskingCharacter": "A String", # Character to mask the sensitive values. If not supplied, defaults to "*". + }, + "cryptoHashConfig": { # Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`. # Config for crypto hash. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the hash to be computed based on this key. A default key is generated for each Deidentify operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "dateShiftConfig": { # Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. # Config for date shift. + "cryptoKey": "A String", # An AES 128/192/256 bit key. Causes the shift to be computed based on this key and the patient ID. A default key is generated for each de-identification operation and is used when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. + "kmsWrapped": { # Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key). # KMS wrapped key. Must not be set if `crypto_key` is set. + "cryptoKey": "A String", # Required. The resource name of the KMS CryptoKey to use for unwrapping. For example, `projects/{project_id}/locations/{location_id}/keyRings/{keyring}/cryptoKeys/{key}`. + "wrappedKey": "A String", # Required. The wrapped data crypto key. + }, + }, + "infoTypes": [ # `InfoTypes` to apply this transformation to. If this is not specified, this transformation becomes the default transformation, and is used for any `info_type` that is not specified in another transformation. + "A String", + ], + "redactConfig": { # Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ." # Config for text redaction. + }, + "replaceWithInfoTypeConfig": { # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, "My name is Jane" becomes "My name is [PERSON_NAME]." The TRANSFORM action is equivalent to redacting. # Config for replace with InfoType. + }, + }, + ], + "excludeInfoTypes": [ # InfoTypes to skip transforming, overriding `profile`. + "A String", + ], + "profileType": "A String", # Base profile type for text transformation. "transformations": [ # The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. { # A transformation to apply to text that is identified as a specific info_type. "characterMaskConfig": { # Mask a string by replacing its characters with a fixed character. # Config for character mask. diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1.json b/googleapiclient/discovery_cache/documents/healthcare.v1.json index 79c3874995c..a5da5d6c309 100644 --- a/googleapiclient/discovery_cache/documents/healthcare.v1.json +++ b/googleapiclient/discovery_cache/documents/healthcare.v1.json @@ -4053,7 +4053,7 @@ } } }, - "revision": "20220929", + "revision": "20221025", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json index f44675f87c7..e0bd841bc2f 100644 --- a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json @@ -4865,9 +4865,55 @@ } } }, - "revision": "20220929", + "revision": "20221025", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { + "Action": { + "description": "Specifies a selection of tags and an `Action` to apply to each one.", + "id": "Action", + "properties": { + "cleanImageTag": { + "$ref": "ImageConfig", + "description": "Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData" + }, + "cleanTextTag": { + "$ref": "CleanTextTag", + "description": "Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS" + }, + "deleteTag": { + "$ref": "DeleteTag", + "description": "Delete tag." + }, + "keepTag": { + "$ref": "KeepTag", + "description": "Keep tag unchanged." + }, + "queries": { + "description": "Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: \"00100010\" Keyword: \"PatientName\" VR: \"PN\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "recurseTag": { + "$ref": "RecurseTag", + "description": "Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ" + }, + "regenUidTag": { + "$ref": "RegenUidTag", + "description": "Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI" + }, + "removeTag": { + "$ref": "RemoveTag", + "description": "Replace with empty tag." + }, + "resetTag": { + "$ref": "ResetTag", + "description": "Reset tag to a placeholder value." + } + }, + "type": "object" + }, "ActivateConsentRequest": { "description": "Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the given Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in the `REJECTED` or `REVOKED` state.", "id": "ActivateConsentRequest", @@ -5219,6 +5265,12 @@ }, "type": "object" }, + "CharacterMaskField": { + "description": "Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml", + "id": "CharacterMaskField", + "properties": {}, + "type": "object" + }, "CheckDataAccessRequest": { "description": "Checks if a particular data_id of a User data mapping in the given consent store is consented for a given use.", "id": "CheckDataAccessRequest", @@ -5273,6 +5325,24 @@ }, "type": "object" }, + "CleanDescriptorsOption": { + "description": "This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token \"[CTX]\". This option uses an additional `InfoType` during inspection.", + "id": "CleanDescriptorsOption", + "properties": {}, + "type": "object" + }, + "CleanTextField": { + "description": "Inspect text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml", + "id": "CleanTextField", + "properties": {}, + "type": "object" + }, + "CleanTextTag": { + "description": "Inspect text and transform sensitive text. Configurable using `TextConfig`. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS", + "id": "CleanTextTag", + "properties": {}, + "type": "object" + }, "CloudHealthcareSource": { "description": "Cloud Healthcare API resource.", "id": "CloudHealthcareSource", @@ -5487,6 +5557,12 @@ }, "type": "object" }, + "ContextualDeidConfig": { + "description": "The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are collected into a contextual phrase list. For fields marked `CleanText`, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token \"[CTX]\". This feature uses an additional InfoType during inspection.", + "id": "ContextualDeidConfig", + "properties": {}, + "type": "object" + }, "CreateMessageRequest": { "description": "Creates a new message.", "id": "CreateMessageRequest", @@ -5514,6 +5590,12 @@ }, "type": "object" }, + "CryptoHashField": { + "description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml", + "id": "CryptoHashField", + "properties": {}, + "type": "object" + }, "Dataset": { "description": "A message representing a health dataset. A health dataset represents a collection of healthcare data pertaining to one or more patients. This may include multiple modalities of healthcare data, such as electronic medical records or medical imaging data.", "id": "Dataset", @@ -5545,6 +5627,12 @@ }, "type": "object" }, + "DateShiftField": { + "description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime", + "id": "DateShiftField", + "properties": {}, + "type": "object" + }, "DeidentifiedStoreDestination": { "description": "Contains configuration for streaming de-identified FHIR export.", "id": "DeidentifiedStoreDestination", @@ -5572,10 +5660,18 @@ "$ref": "DicomConfig", "description": "Configures de-id of application/DICOM content. Deprecated. Use `dicom_tag_config` instead." }, + "dicomTagConfig": { + "$ref": "DicomTagConfig", + "description": "Configures de-id of application/DICOM content." + }, "fhir": { "$ref": "FhirConfig", "description": "Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead." }, + "fhirFieldConfig": { + "$ref": "FhirFieldConfig", + "description": "Configures de-id of application/FHIR content." + }, "image": { "$ref": "ImageConfig", "description": "Configures the de-identification of image pixels in the source_dataset. Deprecated. Use `dicom_tag_config.options.clean_image` instead." @@ -5677,6 +5773,12 @@ "properties": {}, "type": "object" }, + "DeleteTag": { + "description": "Delete tag.", + "id": "DeleteTag", + "properties": {}, + "type": "object" + }, "Detail": { "description": "Contains multiple sensitive information findings for each resource slice.", "id": "Detail", @@ -5767,6 +5869,42 @@ }, "type": "object" }, + "DicomTagConfig": { + "description": "Specifies the parameters needed for the de-identification of DICOM stores.", + "id": "DicomTagConfig", + "properties": { + "actions": { + "description": "Specifies custom tag selections and `Actions` to apply to them. Overrides `options` and `profile`. Conflicting `Actions` are applied in the order given.", + "items": { + "$ref": "Action" + }, + "type": "array" + }, + "options": { + "$ref": "Options", + "description": "Specifies additional options to apply, overriding the base `profile`." + }, + "profileType": { + "description": "Base profile type for handling DICOM tags.", + "enum": [ + "PROFILE_TYPE_UNSPECIFIED", + "MINIMAL_KEEP_LIST_PROFILE", + "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE", + "KEEP_ALL_PROFILE", + "DEIDENTIFY_TAG_CONTENTS" + ], + "enumDescriptions": [ + "No profile provided. Same as `ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE`.", + "Keep only the tags required to produce valid DICOM objects.", + "Remove tags based on DICOM Standard's [Attribute Confidentiality Basic Profile (DICOM Standard Edition 2018e)](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html).", + "Keep all tags.", + "Inspect tag contents and replace sensitive text. The process can be configured using the TextConfig. Applies to all tags with the following [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS" + ], + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -6118,6 +6256,40 @@ }, "type": "object" }, + "FhirFieldConfig": { + "description": "Specifies how to handle the de-identification of a FHIR store.", + "id": "FhirFieldConfig", + "properties": { + "fieldMetadataList": { + "description": "Specifies FHIR paths to match and how to transform them. Any field that is not matched by a `FieldMetadata` is passed through to the output dataset unmodified. All extensions will be processed according to `keep_extensions`. If a field can be matched by more than one `FieldMetadata`, the first `FieldMetadata.Action` is applied. Overrides `options` and `profile`.", + "items": { + "$ref": "GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata" + }, + "type": "array" + }, + "options": { + "$ref": "GoogleCloudHealthcareV1beta1DeidentifyOptions", + "description": "Specifies additional options, overriding the base `profile`." + }, + "profileType": { + "description": "Base profile type for handling FHIR fields.", + "enum": [ + "PROFILE_TYPE_UNSPECIFIED", + "KEEP_ALL", + "BASIC", + "CLEAN_ALL" + ], + "enumDescriptions": [ + "No profile provided. Same as `BASIC`.", + "`Keep` all fields.", + "Transforms known HIPAA 18 fields and cleans known unstructured text fields.", + "Cleans all supported tags. Applies to types: Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + ], + "type": "string" + } + }, + "type": "object" + }, "FhirFilter": { "description": "Filter configuration.", "id": "FhirFilter", @@ -6502,6 +6674,71 @@ "properties": {}, "type": "object" }, + "GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata": { + "description": "Specifies the FHIR paths to match and how to handle the de-identification of matching fields.", + "id": "GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata", + "properties": { + "characterMaskField": { + "$ref": "CharacterMaskField", + "description": "Replace the field's value with a masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + }, + "cleanTextField": { + "$ref": "CleanTextField", + "description": "Inspect the field's text and transform sensitive text. Configure using `TextConfig`. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + }, + "cryptoHashField": { + "$ref": "CryptoHashField", + "description": "Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml" + }, + "dateShiftField": { + "$ref": "DateShiftField", + "description": "Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime" + }, + "keepField": { + "$ref": "KeepField", + "description": "Keep the field unchanged." + }, + "paths": { + "description": "List of paths to FHIR fields to redact. Each path is a period-separated list where each component is either a field name or FHIR type name. All types begin with an upper case letter. For example, the resource field \"Patient.Address.city\", which uses a string type, can be matched by \"Patient.Address.String\". Path also supports partialkk matching. For example, \"Patient.Address.city\" can be matched by \"Address.city\" (Patient omitted). Partial matching and type matching can be combined, for example \"Patient.Address.city\" can be matched by \"Address.String\". For \"choice\" types (those defined in the FHIR spec with the form: field[x]), use two separate components. For example, \"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported [types](https://www.hl7.org/fhir/datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-type for HumanName (for example HumanName.given, HumanName.family) can be omitted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "removeField": { + "$ref": "RemoveField", + "description": "Remove the field." + } + }, + "type": "object" + }, + "GoogleCloudHealthcareV1beta1DeidentifyOptions": { + "description": "Specifies additional options to apply to the base `profile`.", + "id": "GoogleCloudHealthcareV1beta1DeidentifyOptions", + "properties": { + "characterMaskConfig": { + "$ref": "CharacterMaskConfig", + "description": "Character mask config for `CharacterMaskField` `FieldMetadatas`." + }, + "contextualDeid": { + "$ref": "ContextualDeidConfig", + "description": "Configure contextual de-id." + }, + "cryptoHashConfig": { + "$ref": "CryptoHashConfig", + "description": "Crypo hash config for `CharacterMaskField` `FieldMetadatas`." + }, + "dateShiftConfig": { + "$ref": "DateShiftConfig", + "description": "Date shifting config for `CharacterMaskField` `FieldMetadatas`." + }, + "keepExtensions": { + "$ref": "KeepExtensionsConfig", + "description": "Configure keeping extensions by default." + } + }, + "type": "object" + }, "GoogleCloudHealthcareV1beta1DicomBigQueryDestination": { "description": "The BigQuery table where the server writes output.", "id": "GoogleCloudHealthcareV1beta1DicomBigQueryDestination", @@ -6812,19 +7049,35 @@ "description": "Specifies how to handle de-identification of image pixels.", "id": "ImageConfig", "properties": { + "additionalInfoTypes": { + "description": "Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludeInfoTypes": { + "description": "InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`.", + "items": { + "type": "string" + }, + "type": "array" + }, "textRedactionMode": { "description": "Determines how to redact text from image.", "enum": [ "TEXT_REDACTION_MODE_UNSPECIFIED", "REDACT_ALL_TEXT", "REDACT_SENSITIVE_TEXT", - "REDACT_NO_TEXT" + "REDACT_NO_TEXT", + "REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS" ], "enumDescriptions": [ "No text redaction specified. Same as REDACT_NO_TEXT.", "Redact all text.", "Redact sensitive text. Uses the set of [Default DICOM InfoTypes](https://cloud.google.com/healthcare-api/docs/how-tos/dicom-deidentify#default_dicom_infotypes).", - "Do not redact text." + "Do not redact text.", + "This mode is like `REDACT_SENSITIVE_TEXT` with the addition of the [Clean Descriptors Option] (https://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html) enabled: When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile] (https://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token \"[CTX]\". This mode uses an additional InfoType during inspection." ], "type": "string" } @@ -6988,6 +7241,24 @@ }, "type": "object" }, + "KeepExtensionsConfig": { + "description": "The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If provided, all extensions are preserved during de-identification by default. If unspecified, all extensions are removed during de-identification by default.", + "id": "KeepExtensionsConfig", + "properties": {}, + "type": "object" + }, + "KeepField": { + "description": "Keep field unchanged.", + "id": "KeepField", + "properties": {}, + "type": "object" + }, + "KeepTag": { + "description": "Keep tag unchanged.", + "id": "KeepTag", + "properties": {}, + "type": "object" + }, "KmsWrappedCryptoKey": { "description": "Include to use an existing data crypto key wrapped by KMS. The wrapped key must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud Healthcare Service Agent service account. For more information, see [Creating a wrapped key] (https://cloud.google.com/dlp/docs/create-wrapped-key).", "id": "KmsWrappedCryptoKey", @@ -7453,6 +7724,35 @@ }, "type": "object" }, + "Options": { + "description": "Specifies additional options to apply to the base profile.", + "id": "Options", + "properties": { + "cleanDescriptors": { + "$ref": "CleanDescriptorsOption", + "description": "Set Clean Descriptors Option." + }, + "cleanImage": { + "$ref": "ImageConfig", + "description": "Apply `Action.clean_image` to [`PixelData`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html) as configured." + }, + "primaryIds": { + "description": "Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`, and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html).", + "enum": [ + "PRIMARY_IDS_OPTION_UNSPECIFIED", + "KEEP", + "REGEN" + ], + "enumDescriptions": [ + "No value provided. Default to the behavior specified by the base profile.", + "Keep primary IDs.", + "Regenerate primary IDs." + ], + "type": "string" + } + }, + "type": "object" + }, "ParsedData": { "description": "The content of an HL7v2 message in a structured format.", "id": "ParsedData", @@ -7609,12 +7909,24 @@ }, "type": "object" }, + "RecurseTag": { + "description": "Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ", + "id": "RecurseTag", + "properties": {}, + "type": "object" + }, "RedactConfig": { "description": "Define how to redact sensitive values. Default behaviour is erase. For example, \"My name is Jane.\" becomes \"My name is .\"", "id": "RedactConfig", "properties": {}, "type": "object" }, + "RegenUidTag": { + "description": "Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI", + "id": "RegenUidTag", + "properties": {}, + "type": "object" + }, "RejectConsentRequest": { "description": "Rejects the latest revision of the specified Consent by committing a new revision with `state` updated to `REJECTED`. If the latest revision of the given Consent is in the `REJECTED` state, no new revision is committed.", "id": "RejectConsentRequest", @@ -7626,12 +7938,30 @@ }, "type": "object" }, + "RemoveField": { + "description": "Remove field.", + "id": "RemoveField", + "properties": {}, + "type": "object" + }, + "RemoveTag": { + "description": "Replace with empty tag.", + "id": "RemoveTag", + "properties": {}, + "type": "object" + }, "ReplaceWithInfoTypeConfig": { "description": "When using the INSPECT_AND_TRANSFORM action, each match is replaced with the name of the info_type. For example, \"My name is Jane\" becomes \"My name is [PERSON_NAME].\" The TRANSFORM action is equivalent to redacting.", "id": "ReplaceWithInfoTypeConfig", "properties": {}, "type": "object" }, + "ResetTag": { + "description": "Reset tag to a placeholder value.", + "id": "ResetTag", + "properties": {}, + "type": "object" + }, "ResourceAnnotation": { "description": "Resource level annotation.", "id": "ResourceAnnotation", @@ -8055,6 +8385,34 @@ "description": "Configures how to transform sensitive text `InfoTypes`.", "id": "TextConfig", "properties": { + "additionalTransformations": { + "description": "Additional transformations to apply to the detected data, overriding `profile`.", + "items": { + "$ref": "InfoTypeTransformation" + }, + "type": "array" + }, + "excludeInfoTypes": { + "description": "InfoTypes to skip transforming, overriding `profile`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "profileType": { + "description": "Base profile type for text transformation.", + "enum": [ + "PROFILE_TYPE_UNSPECIFIED", + "EMPTY", + "BASIC" + ], + "enumDescriptions": [ + "Same as BASIC.", + "Empty profile which does not perform any transformations.", + "Basic profile applies: DATE -> DateShift Default -> ReplaceWithInfoType" + ], + "type": "string" + }, "transformations": { "description": "The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead.", "items": {