Package google.cloud.healthcare.v1beta1.deidentify

Index

DeidentifyService

A service for de-identifying healthcare data.

DeidentifyDicomStore

rpc DeidentifyDicomStore(DeidentifyDicomStoreRequest) returns (Operation)

De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyDicomStoreSummary. The LRO result may still be successful if de-identification fails for some DICOM instances. The output DICOM store will not contain these failed resources. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see Viewing logs.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-healthcare
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeidentifyFhirStore

rpc DeidentifyFhirStore(DeidentifyFhirStoreRequest) returns (Operation)

De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. The number of resources processed are tracked in Operation.metadata. Error details are logged to Cloud Logging. For more information, see Viewing logs.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-healthcare
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CharacterMaskConfig

Mask a string by replacing its characters with a fixed character.

Fields
masking_character

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=.

Fields
crypto_key

bytes

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 wherever crypto_key is not specified.

DateShiftConfig

Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination.

Fields
crypto_key

bytes

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 Deidentify operation and is used wherever crypto_key is not specified.

DeidentifyConfig

Configures de-id options specific to different types of content. Each submessage customizes the handling of an https://tools.ietf.org/html/rfc6838 media type or subtype. Configs are applied in a nested manner at runtime.

Fields
dicom

DicomConfig

Configures de-id of application/DICOM content.

fhir

FhirConfig

Configures de-id of application/FHIR content.

image

ImageConfig

Configures de-identification of image pixels wherever they are found in the source_dataset.

annotation

AnnotationConfig

Configures how annotations, meaning that the location and infoType of sensitive information findings, are created during de-identification. If unspecified, no annotations are created.

text

TextConfig

Configures de-identification of text wherever it is found in the source_dataset.

AnnotationConfig

Specifies how to store annotations during de-identification operation.

Fields
annotation_store_name

string

The name of the annotation store, in the form projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}).

  • The destination annotation store must be in the same project as the source data. De-identifying data across multiple projects is not supported.
  • The destination annotation store must exist when using DeidentifyDicomStore or DeidentifyFhirStore. DeidentifyDataset automatically creates the destination annotation store.
store_quote

bool

If set to true, the sensitive texts are included in SensitiveTextAnnotation of Annotation.

DicomConfig

Specifies the parameters needed for de-identification of DICOM stores.

Fields
skip_id_redaction

bool

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

Union field tag_filter. Determines tag filtering method (meaning which tags to keep/remove). tag_filter can be only one of the following:
keep_list

TagFilterList

List of tags to keep. Remove all other tags.

remove_list

TagFilterList

List of tags to remove. Keep all other tags.

filter_profile

TagFilterProfile

Tag filtering profile that determines which tags to keep/remove.

TagFilterList

List of tags to be filtered.

Fields
tags[]

string

Tags to be filtered. Tags must be DICOM Data Elements, File Meta Elements, or Directory Structuring Elements, as defined at: http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by "Keyword" or "Tag". For example, "PatientID", "00100010".

TagFilterProfile

Profile that determines which tags to keep/remove.

Enums
TAG_FILTER_PROFILE_UNSPECIFIED No tag filtration profile provided. Same as KEEP_ALL_PROFILE.
MINIMAL_KEEP_LIST_PROFILE Keep only tags required to produce valid DICOM.
ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE 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_PROFILE Keep all tags.
DEIDENTIFY_TAG_CONTENTS Inspects within tag contents and replaces sensitive text. The process can be configured using the TextConfig. Applies to all tags with the following Value Representation names: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS

FhirConfig

Specifies how to handle de-identification of a FHIR store.

Fields
field_metadata_list[]

FieldMetadata

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 are removed in the output. If a field can be matched by more than one FieldMetadata, the first FieldMetadata.Action is applied.

FieldMetadata

Specifies FHIR paths to match, and how to handle de-identification of matching fields.

Fields
paths[]

string

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 partial 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 are: AdministrativeGenderCode, Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml. The sub-type for HumanName, such as HumanName.given or HumanName.family, can be omitted.

action

Action

Deidentify action for one field.

Action

Whether or not to redact this field, or whether to inspect it for PHI.

Enums
ACTION_UNSPECIFIED No action specified.
TRANSFORM Transform the entire field based on transformations specified in TextConfig. When the specified transformation cannot be applied to a field, RedactConfig is used. For example, a Crypto Hash transformation can't be applied to a FHIR Date field.
INSPECT_AND_TRANSFORM Inspect and transform any found PHI. When AnnotationConfig is provided, annotations of PHI will be generated, except for Date and Datetime.
DO_NOT_TRANSFORM Do not transform.

ImageConfig

Specifies how to handle de-identification of image pixels.

Fields
text_redaction_mode

TextRedactionMode

Determines how to redact text from image.

TextRedactionMode

How to redact text found in images (if at all).

Enums
TEXT_REDACTION_MODE_UNSPECIFIED No text redaction specified. Same as REDACT_NO_TEXT.
REDACT_ALL_TEXT Redact all text.
REDACT_SENSITIVE_TEXT Redact sensitive text.
REDACT_NO_TEXT Do not redact text.

TextConfig

Fields
transformations[]

InfoTypeTransformation

The transformations to apply to the detected data.

DeidentifyDicomStoreRequest

Creates a new DICOM store with sensitive information de-identified.

Fields
source_store

string

Source DICOM store resource name. For example, projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}.

destination_store

string

The name of the DICOM store to create and write the redacted data to. For example, projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}.

  • The destination dataset must exist.
  • The source dataset and destination dataset must both reside in the same project. De-identifying data across multiple projects is not supported.
  • The destination DICOM store must not exist.
  • The caller must have the necessary permissions to create the destination DICOM store.
config

DeidentifyConfig

De-identify configuration.

filter_config

DicomFilterConfig

Filter configuration.

DeidentifyDicomStoreSummary

Contains a summary of the DeidentifyDicomStore operation.

DeidentifyFhirStoreRequest

Creates a new FHIR store with sensitive information de-identified.

Fields
source_store

string

Source FHIR store resource name. For example, projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}.

destination_store

string

The name of the FHIR store to create and write the redacted data to. For example, projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}.

  • The destination dataset must exist.
  • The source dataset and destination dataset must both reside in the same project. De-identifying data across multiple projects is not supported.
  • The destination FHIR store must exist.
  • The caller must have the healthcare.fhirResources.update permission to write to the destination FHIR store.
config

DeidentifyConfig

Deidentify configuration.

resource_filter

FhirFilter

A filter specifying the resources to include in the output. If not specified, all resources are included in the output.

FhirFilter

Filter configuration.

Fields
resources

Resources

List of resources to include in the output. If this list is empty or not specified, all resources are included in the output.

Resources

A list of FHIR resources.

Fields
resources[]

string

List of resources IDs. For example, "Patient/1234".

DeidentifyFhirStoreSummary

Contains a summary of the DeidentifyFhirStore operation.

DeidentifySummary

Contains a detailed summary of the Deidentify operation.

InfoTypeTransformation

A transformation to apply to text that is identified as a specific info_type.

Fields
info_types[]

string

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.

Union field config.

config can be only one of the following:

redact_config

RedactConfig

Config for text redaction.

character_mask_config

CharacterMaskConfig

Config for character mask.

date_shift_config

DateShiftConfig

Config for date shift.

crypto_hash_config

CryptoHashConfig

Config for crypto hash.

replace_with_info_type_config

ReplaceWithInfoTypeConfig

Config for replace with InfoType.

RedactConfig

Define how to redact sensitive values. Default behaviour is erase. For example, "My name is Jane." becomes "My name is ."

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.