google-apis-healthcare_v1beta1 0.36.0 → 0.38.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,81 @@ module Google
22
22
  module Apis
23
23
  module HealthcareV1beta1
24
24
 
25
+ # Specifies a selection of tags and an `Action` to apply to each one.
26
+ class Action
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Specifies how to handle de-identification of image pixels.
30
+ # Corresponds to the JSON property `cleanImageTag`
31
+ # @return [Google::Apis::HealthcareV1beta1::ImageConfig]
32
+ attr_accessor :clean_image_tag
33
+
34
+ # Inspect text and transform sensitive text. Configurable using `TextConfig`.
35
+ # Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/
36
+ # output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT,
37
+ # DA, DT, AS
38
+ # Corresponds to the JSON property `cleanTextTag`
39
+ # @return [Google::Apis::HealthcareV1beta1::CleanTextTag]
40
+ attr_accessor :clean_text_tag
41
+
42
+ # Delete tag.
43
+ # Corresponds to the JSON property `deleteTag`
44
+ # @return [Google::Apis::HealthcareV1beta1::DeleteTag]
45
+ attr_accessor :delete_tag
46
+
47
+ # Keep tag unchanged.
48
+ # Corresponds to the JSON property `keepTag`
49
+ # @return [Google::Apis::HealthcareV1beta1::KeepTag]
50
+ attr_accessor :keep_tag
51
+
52
+ # Select all tags with the listed tag IDs, names, or Value Representations (VRs).
53
+ # Examples: ID: "00100010" Keyword: "PatientName" VR: "PN"
54
+ # Corresponds to the JSON property `queries`
55
+ # @return [Array<String>]
56
+ attr_accessor :queries
57
+
58
+ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value
59
+ # Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/
60
+ # sect_6.2.html#table_6.2-1): SQ
61
+ # Corresponds to the JSON property `recurseTag`
62
+ # @return [Google::Apis::HealthcareV1beta1::RecurseTag]
63
+ attr_accessor :recurse_tag
64
+
65
+ # Replace UID with a new generated UID. Supported [Value Representation] (http://
66
+ # dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-
67
+ # 1): UI
68
+ # Corresponds to the JSON property `regenUidTag`
69
+ # @return [Google::Apis::HealthcareV1beta1::RegenUidTag]
70
+ attr_accessor :regen_uid_tag
71
+
72
+ # Replace with empty tag.
73
+ # Corresponds to the JSON property `removeTag`
74
+ # @return [Google::Apis::HealthcareV1beta1::RemoveTag]
75
+ attr_accessor :remove_tag
76
+
77
+ # Reset tag to a placeholder value.
78
+ # Corresponds to the JSON property `resetTag`
79
+ # @return [Google::Apis::HealthcareV1beta1::ResetTag]
80
+ attr_accessor :reset_tag
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @clean_image_tag = args[:clean_image_tag] if args.key?(:clean_image_tag)
89
+ @clean_text_tag = args[:clean_text_tag] if args.key?(:clean_text_tag)
90
+ @delete_tag = args[:delete_tag] if args.key?(:delete_tag)
91
+ @keep_tag = args[:keep_tag] if args.key?(:keep_tag)
92
+ @queries = args[:queries] if args.key?(:queries)
93
+ @recurse_tag = args[:recurse_tag] if args.key?(:recurse_tag)
94
+ @regen_uid_tag = args[:regen_uid_tag] if args.key?(:regen_uid_tag)
95
+ @remove_tag = args[:remove_tag] if args.key?(:remove_tag)
96
+ @reset_tag = args[:reset_tag] if args.key?(:reset_tag)
97
+ end
98
+ end
99
+
25
100
  # Activates the latest revision of the specified Consent by committing a new
26
101
  # revision with `state` updated to `ACTIVE`. If the latest revision of the given
27
102
  # Consent is in the `ACTIVE` state, no new revision is committed. A
@@ -596,6 +671,21 @@ module Google
596
671
  end
597
672
  end
598
673
 
674
+ # Replace field value with masking character. Supported [types](https://www.hl7.
675
+ # org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown,
676
+ # Oid, String, Uri, Uuid, Xhtml
677
+ class CharacterMaskField
678
+ include Google::Apis::Core::Hashable
679
+
680
+ def initialize(**args)
681
+ update!(**args)
682
+ end
683
+
684
+ # Update properties of this object
685
+ def update!(**args)
686
+ end
687
+ end
688
+
599
689
  # Checks if a particular data_id of a User data mapping in the given consent
600
690
  # store is consented for a given use.
601
691
  class CheckDataAccessRequest
@@ -663,6 +753,58 @@ module Google
663
753
  end
664
754
  end
665
755
 
756
+ # This option is based on the DICOM Standard's [Clean Descriptors Option](http://
757
+ # dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and
758
+ # the `CleanText` `Action` is applied to all the specified fields. When cleaning
759
+ # text, the process attempts to transform phrases matching any of the tags
760
+ # marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://
761
+ # dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These
762
+ # contextual phrases are replaced with the token "[CTX]". This option uses an
763
+ # additional `InfoType` during inspection.
764
+ class CleanDescriptorsOption
765
+ include Google::Apis::Core::Hashable
766
+
767
+ def initialize(**args)
768
+ update!(**args)
769
+ end
770
+
771
+ # Update properties of this object
772
+ def update!(**args)
773
+ end
774
+ end
775
+
776
+ # Inspect text and transform sensitive text. Configure using `TextConfig`.
777
+ # Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date,
778
+ # DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri,
779
+ # Uuid, Xhtml
780
+ class CleanTextField
781
+ include Google::Apis::Core::Hashable
782
+
783
+ def initialize(**args)
784
+ update!(**args)
785
+ end
786
+
787
+ # Update properties of this object
788
+ def update!(**args)
789
+ end
790
+ end
791
+
792
+ # Inspect text and transform sensitive text. Configurable using `TextConfig`.
793
+ # Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/
794
+ # output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT,
795
+ # DA, DT, AS
796
+ class CleanTextTag
797
+ include Google::Apis::Core::Hashable
798
+
799
+ def initialize(**args)
800
+ update!(**args)
801
+ end
802
+
803
+ # Update properties of this object
804
+ def update!(**args)
805
+ end
806
+ end
807
+
666
808
  # Cloud Healthcare API resource.
667
809
  class CloudHealthcareSource
668
810
  include Google::Apis::Core::Hashable
@@ -956,6 +1098,23 @@ module Google
956
1098
  end
957
1099
  end
958
1100
 
1101
+ # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are
1102
+ # collected into a contextual phrase list. For fields marked `CleanText`, the
1103
+ # process attempts to transform phrases matching these contextual entries. These
1104
+ # contextual phrases are replaced with the token "[CTX]". This feature uses an
1105
+ # additional InfoType during inspection.
1106
+ class ContextualDeidConfig
1107
+ include Google::Apis::Core::Hashable
1108
+
1109
+ def initialize(**args)
1110
+ update!(**args)
1111
+ end
1112
+
1113
+ # Update properties of this object
1114
+ def update!(**args)
1115
+ end
1116
+ end
1117
+
959
1118
  # Creates a new message.
960
1119
  class CreateMessageRequest
961
1120
  include Google::Apis::Core::Hashable
@@ -1011,6 +1170,21 @@ module Google
1011
1170
  end
1012
1171
  end
1013
1172
 
1173
+ # Replace field value with a hash of that value. Supported [types](https://www.
1174
+ # hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode,
1175
+ # Markdown, Oid, String, Uri, Uuid, Xhtml
1176
+ class CryptoHashField
1177
+ include Google::Apis::Core::Hashable
1178
+
1179
+ def initialize(**args)
1180
+ update!(**args)
1181
+ end
1182
+
1183
+ # Update properties of this object
1184
+ def update!(**args)
1185
+ end
1186
+ end
1187
+
1014
1188
  # A message representing a health dataset. A health dataset represents a
1015
1189
  # collection of healthcare data pertaining to one or more patients. This may
1016
1190
  # include multiple modalities of healthcare data, such as electronic medical
@@ -1077,6 +1251,21 @@ module Google
1077
1251
  end
1078
1252
  end
1079
1253
 
1254
+ # Shift the date by a randomized number of days. See [date shifting](https://
1255
+ # cloud.google.com/dlp/docs/concepts-date-shifting) for more information.
1256
+ # Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime
1257
+ class DateShiftField
1258
+ include Google::Apis::Core::Hashable
1259
+
1260
+ def initialize(**args)
1261
+ update!(**args)
1262
+ end
1263
+
1264
+ # Update properties of this object
1265
+ def update!(**args)
1266
+ end
1267
+ end
1268
+
1080
1269
  # Contains configuration for streaming de-identified FHIR export.
1081
1270
  class DeidentifiedStoreDestination
1082
1271
  include Google::Apis::Core::Hashable
@@ -1122,11 +1311,21 @@ module Google
1122
1311
  # @return [Google::Apis::HealthcareV1beta1::DicomConfig]
1123
1312
  attr_accessor :dicom
1124
1313
 
1314
+ # Specifies the parameters needed for the de-identification of DICOM stores.
1315
+ # Corresponds to the JSON property `dicomTagConfig`
1316
+ # @return [Google::Apis::HealthcareV1beta1::DicomTagConfig]
1317
+ attr_accessor :dicom_tag_config
1318
+
1125
1319
  # Specifies how to handle de-identification of a FHIR store.
1126
1320
  # Corresponds to the JSON property `fhir`
1127
1321
  # @return [Google::Apis::HealthcareV1beta1::FhirConfig]
1128
1322
  attr_accessor :fhir
1129
1323
 
1324
+ # Specifies how to handle the de-identification of a FHIR store.
1325
+ # Corresponds to the JSON property `fhirFieldConfig`
1326
+ # @return [Google::Apis::HealthcareV1beta1::FhirFieldConfig]
1327
+ attr_accessor :fhir_field_config
1328
+
1130
1329
  # Specifies how to handle de-identification of image pixels.
1131
1330
  # Corresponds to the JSON property `image`
1132
1331
  # @return [Google::Apis::HealthcareV1beta1::ImageConfig]
@@ -1150,7 +1349,9 @@ module Google
1150
1349
  def update!(**args)
1151
1350
  @annotation = args[:annotation] if args.key?(:annotation)
1152
1351
  @dicom = args[:dicom] if args.key?(:dicom)
1352
+ @dicom_tag_config = args[:dicom_tag_config] if args.key?(:dicom_tag_config)
1153
1353
  @fhir = args[:fhir] if args.key?(:fhir)
1354
+ @fhir_field_config = args[:fhir_field_config] if args.key?(:fhir_field_config)
1154
1355
  @image = args[:image] if args.key?(:image)
1155
1356
  @operation_metadata = args[:operation_metadata] if args.key?(:operation_metadata)
1156
1357
  @text = args[:text] if args.key?(:text)
@@ -1338,6 +1539,19 @@ module Google
1338
1539
  end
1339
1540
  end
1340
1541
 
1542
+ # Delete tag.
1543
+ class DeleteTag
1544
+ include Google::Apis::Core::Hashable
1545
+
1546
+ def initialize(**args)
1547
+ update!(**args)
1548
+ end
1549
+
1550
+ # Update properties of this object
1551
+ def update!(**args)
1552
+ end
1553
+ end
1554
+
1341
1555
  # Contains multiple sensitive information findings for each resource slice.
1342
1556
  class Detail
1343
1557
  include Google::Apis::Core::Hashable
@@ -1476,6 +1690,38 @@ module Google
1476
1690
  end
1477
1691
  end
1478
1692
 
1693
+ # Specifies the parameters needed for the de-identification of DICOM stores.
1694
+ class DicomTagConfig
1695
+ include Google::Apis::Core::Hashable
1696
+
1697
+ # Specifies custom tag selections and `Actions` to apply to them. Overrides `
1698
+ # options` and `profile`. Conflicting `Actions` are applied in the order given.
1699
+ # Corresponds to the JSON property `actions`
1700
+ # @return [Array<Google::Apis::HealthcareV1beta1::Action>]
1701
+ attr_accessor :actions
1702
+
1703
+ # Specifies additional options to apply to the base profile.
1704
+ # Corresponds to the JSON property `options`
1705
+ # @return [Google::Apis::HealthcareV1beta1::Options]
1706
+ attr_accessor :options
1707
+
1708
+ # Base profile type for handling DICOM tags.
1709
+ # Corresponds to the JSON property `profileType`
1710
+ # @return [String]
1711
+ attr_accessor :profile_type
1712
+
1713
+ def initialize(**args)
1714
+ update!(**args)
1715
+ end
1716
+
1717
+ # Update properties of this object
1718
+ def update!(**args)
1719
+ @actions = args[:actions] if args.key?(:actions)
1720
+ @options = args[:options] if args.key?(:options)
1721
+ @profile_type = args[:profile_type] if args.key?(:profile_type)
1722
+ end
1723
+ end
1724
+
1479
1725
  # A generic empty message that you can re-use to avoid defining duplicated empty
1480
1726
  # messages in your APIs. A typical example is to use it as the request or the
1481
1727
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -2087,6 +2333,41 @@ module Google
2087
2333
  end
2088
2334
  end
2089
2335
 
2336
+ # Specifies how to handle the de-identification of a FHIR store.
2337
+ class FhirFieldConfig
2338
+ include Google::Apis::Core::Hashable
2339
+
2340
+ # Specifies FHIR paths to match and how to transform them. Any field that is not
2341
+ # matched by a `FieldMetadata` is passed through to the output dataset
2342
+ # unmodified. All extensions will be processed according to `keep_extensions`.
2343
+ # If a field can be matched by more than one `FieldMetadata`, the first `
2344
+ # FieldMetadata.Action` is applied. Overrides `options` and `profile`.
2345
+ # Corresponds to the JSON property `fieldMetadataList`
2346
+ # @return [Array<Google::Apis::HealthcareV1beta1::GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata>]
2347
+ attr_accessor :field_metadata_list
2348
+
2349
+ # Specifies additional options to apply to the base `profile`.
2350
+ # Corresponds to the JSON property `options`
2351
+ # @return [Google::Apis::HealthcareV1beta1::GoogleCloudHealthcareV1beta1DeidentifyOptions]
2352
+ attr_accessor :options
2353
+
2354
+ # Base profile type for handling FHIR fields.
2355
+ # Corresponds to the JSON property `profileType`
2356
+ # @return [String]
2357
+ attr_accessor :profile_type
2358
+
2359
+ def initialize(**args)
2360
+ update!(**args)
2361
+ end
2362
+
2363
+ # Update properties of this object
2364
+ def update!(**args)
2365
+ @field_metadata_list = args[:field_metadata_list] if args.key?(:field_metadata_list)
2366
+ @options = args[:options] if args.key?(:options)
2367
+ @profile_type = args[:profile_type] if args.key?(:profile_type)
2368
+ end
2369
+ end
2370
+
2090
2371
  # Filter configuration.
2091
2372
  class FhirFilter
2092
2373
  include Google::Apis::Core::Hashable
@@ -2721,6 +3002,138 @@ module Google
2721
3002
  end
2722
3003
  end
2723
3004
 
3005
+ # Specifies the FHIR paths to match and how to handle the de-identification of
3006
+ # matching fields.
3007
+ class GoogleCloudHealthcareV1beta1DeidentifyFieldMetadata
3008
+ include Google::Apis::Core::Hashable
3009
+
3010
+ # Replace field value with masking character. Supported [types](https://www.hl7.
3011
+ # org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown,
3012
+ # Oid, String, Uri, Uuid, Xhtml
3013
+ # Corresponds to the JSON property `characterMaskField`
3014
+ # @return [Google::Apis::HealthcareV1beta1::CharacterMaskField]
3015
+ attr_accessor :character_mask_field
3016
+
3017
+ # Inspect text and transform sensitive text. Configure using `TextConfig`.
3018
+ # Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date,
3019
+ # DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri,
3020
+ # Uuid, Xhtml
3021
+ # Corresponds to the JSON property `cleanTextField`
3022
+ # @return [Google::Apis::HealthcareV1beta1::CleanTextField]
3023
+ attr_accessor :clean_text_field
3024
+
3025
+ # Replace field value with a hash of that value. Supported [types](https://www.
3026
+ # hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode,
3027
+ # Markdown, Oid, String, Uri, Uuid, Xhtml
3028
+ # Corresponds to the JSON property `cryptoHashField`
3029
+ # @return [Google::Apis::HealthcareV1beta1::CryptoHashField]
3030
+ attr_accessor :crypto_hash_field
3031
+
3032
+ # Shift the date by a randomized number of days. See [date shifting](https://
3033
+ # cloud.google.com/dlp/docs/concepts-date-shifting) for more information.
3034
+ # Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime
3035
+ # Corresponds to the JSON property `dateShiftField`
3036
+ # @return [Google::Apis::HealthcareV1beta1::DateShiftField]
3037
+ attr_accessor :date_shift_field
3038
+
3039
+ # Keep field unchanged.
3040
+ # Corresponds to the JSON property `keepField`
3041
+ # @return [Google::Apis::HealthcareV1beta1::KeepField]
3042
+ attr_accessor :keep_field
3043
+
3044
+ # List of paths to FHIR fields to redact. Each path is a period-separated list
3045
+ # where each component is either a field name or FHIR type name. All types begin
3046
+ # with an upper case letter. For example, the resource field "Patient.Address.
3047
+ # city", which uses a string type, can be matched by "Patient.Address.String".
3048
+ # Path also supports partialkk matching. For example, "Patient.Address.city" can
3049
+ # be matched by "Address.city" (Patient omitted). Partial matching and type
3050
+ # matching can be combined, for example "Patient.Address.city" can be matched by
3051
+ # "Address.String". For "choice" types (those defined in the FHIR spec with the
3052
+ # form: field[x]), use two separate components. For example, "deceasedAge.unit"
3053
+ # is matched by "Deceased.Age.unit". Supported [types](https://www.hl7.org/fhir/
3054
+ # datatypes.html) are: AdministrativeGenderCode, Base64Binary, Boolean, Code,
3055
+ # Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode,
3056
+ # Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. The sub-
3057
+ # type for HumanName (for example HumanName.given, HumanName.family) can be
3058
+ # omitted.
3059
+ # Corresponds to the JSON property `paths`
3060
+ # @return [Array<String>]
3061
+ attr_accessor :paths
3062
+
3063
+ # Remove field.
3064
+ # Corresponds to the JSON property `removeField`
3065
+ # @return [Google::Apis::HealthcareV1beta1::RemoveField]
3066
+ attr_accessor :remove_field
3067
+
3068
+ def initialize(**args)
3069
+ update!(**args)
3070
+ end
3071
+
3072
+ # Update properties of this object
3073
+ def update!(**args)
3074
+ @character_mask_field = args[:character_mask_field] if args.key?(:character_mask_field)
3075
+ @clean_text_field = args[:clean_text_field] if args.key?(:clean_text_field)
3076
+ @crypto_hash_field = args[:crypto_hash_field] if args.key?(:crypto_hash_field)
3077
+ @date_shift_field = args[:date_shift_field] if args.key?(:date_shift_field)
3078
+ @keep_field = args[:keep_field] if args.key?(:keep_field)
3079
+ @paths = args[:paths] if args.key?(:paths)
3080
+ @remove_field = args[:remove_field] if args.key?(:remove_field)
3081
+ end
3082
+ end
3083
+
3084
+ # Specifies additional options to apply to the base `profile`.
3085
+ class GoogleCloudHealthcareV1beta1DeidentifyOptions
3086
+ include Google::Apis::Core::Hashable
3087
+
3088
+ # Mask a string by replacing its characters with a fixed character.
3089
+ # Corresponds to the JSON property `characterMaskConfig`
3090
+ # @return [Google::Apis::HealthcareV1beta1::CharacterMaskConfig]
3091
+ attr_accessor :character_mask_config
3092
+
3093
+ # The fields that aren't marked `Keep` or `CleanText` in the `BASIC` profile are
3094
+ # collected into a contextual phrase list. For fields marked `CleanText`, the
3095
+ # process attempts to transform phrases matching these contextual entries. These
3096
+ # contextual phrases are replaced with the token "[CTX]". This feature uses an
3097
+ # additional InfoType during inspection.
3098
+ # Corresponds to the JSON property `contextualDeid`
3099
+ # @return [Google::Apis::HealthcareV1beta1::ContextualDeidConfig]
3100
+ attr_accessor :contextual_deid
3101
+
3102
+ # Pseudonymization method that generates surrogates via cryptographic hashing.
3103
+ # Uses SHA-256. Outputs a base64-encoded representation of the hashed output.
3104
+ # For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`.
3105
+ # Corresponds to the JSON property `cryptoHashConfig`
3106
+ # @return [Google::Apis::HealthcareV1beta1::CryptoHashConfig]
3107
+ attr_accessor :crypto_hash_config
3108
+
3109
+ # Shift a date forward or backward in time by a random amount which is
3110
+ # consistent for a given patient and crypto key combination.
3111
+ # Corresponds to the JSON property `dateShiftConfig`
3112
+ # @return [Google::Apis::HealthcareV1beta1::DateShiftConfig]
3113
+ attr_accessor :date_shift_config
3114
+
3115
+ # The behaviour for handling FHIR extensions that aren't otherwise specified for
3116
+ # de-identification. If provided, all extensions are preserved during de-
3117
+ # identification by default. If unspecified, all extensions are removed during
3118
+ # de-identification by default.
3119
+ # Corresponds to the JSON property `keepExtensions`
3120
+ # @return [Google::Apis::HealthcareV1beta1::KeepExtensionsConfig]
3121
+ attr_accessor :keep_extensions
3122
+
3123
+ def initialize(**args)
3124
+ update!(**args)
3125
+ end
3126
+
3127
+ # Update properties of this object
3128
+ def update!(**args)
3129
+ @character_mask_config = args[:character_mask_config] if args.key?(:character_mask_config)
3130
+ @contextual_deid = args[:contextual_deid] if args.key?(:contextual_deid)
3131
+ @crypto_hash_config = args[:crypto_hash_config] if args.key?(:crypto_hash_config)
3132
+ @date_shift_config = args[:date_shift_config] if args.key?(:date_shift_config)
3133
+ @keep_extensions = args[:keep_extensions] if args.key?(:keep_extensions)
3134
+ end
3135
+ end
3136
+
2724
3137
  # The BigQuery table where the server writes output.
2725
3138
  class GoogleCloudHealthcareV1beta1DicomBigQueryDestination
2726
3139
  include Google::Apis::Core::Hashable
@@ -3314,6 +3727,21 @@ module Google
3314
3727
  class ImageConfig
3315
3728
  include Google::Apis::Core::Hashable
3316
3729
 
3730
+ # Additional InfoTypes to redact in the images in addition to those used by `
3731
+ # text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `
3732
+ # REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `
3733
+ # TEXT_REDACTION_MODE_UNSPECIFIED`.
3734
+ # Corresponds to the JSON property `additionalInfoTypes`
3735
+ # @return [Array<String>]
3736
+ attr_accessor :additional_info_types
3737
+
3738
+ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`.
3739
+ # Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`
3740
+ # or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`.
3741
+ # Corresponds to the JSON property `excludeInfoTypes`
3742
+ # @return [Array<String>]
3743
+ attr_accessor :exclude_info_types
3744
+
3317
3745
  # Determines how to redact text from image.
3318
3746
  # Corresponds to the JSON property `textRedactionMode`
3319
3747
  # @return [String]
@@ -3325,6 +3753,8 @@ module Google
3325
3753
 
3326
3754
  # Update properties of this object
3327
3755
  def update!(**args)
3756
+ @additional_info_types = args[:additional_info_types] if args.key?(:additional_info_types)
3757
+ @exclude_info_types = args[:exclude_info_types] if args.key?(:exclude_info_types)
3328
3758
  @text_redaction_mode = args[:text_redaction_mode] if args.key?(:text_redaction_mode)
3329
3759
  end
3330
3760
  end
@@ -3604,6 +4034,48 @@ module Google
3604
4034
  end
3605
4035
  end
3606
4036
 
4037
+ # The behaviour for handling FHIR extensions that aren't otherwise specified for
4038
+ # de-identification. If provided, all extensions are preserved during de-
4039
+ # identification by default. If unspecified, all extensions are removed during
4040
+ # de-identification by default.
4041
+ class KeepExtensionsConfig
4042
+ include Google::Apis::Core::Hashable
4043
+
4044
+ def initialize(**args)
4045
+ update!(**args)
4046
+ end
4047
+
4048
+ # Update properties of this object
4049
+ def update!(**args)
4050
+ end
4051
+ end
4052
+
4053
+ # Keep field unchanged.
4054
+ class KeepField
4055
+ include Google::Apis::Core::Hashable
4056
+
4057
+ def initialize(**args)
4058
+ update!(**args)
4059
+ end
4060
+
4061
+ # Update properties of this object
4062
+ def update!(**args)
4063
+ end
4064
+ end
4065
+
4066
+ # Keep tag unchanged.
4067
+ class KeepTag
4068
+ include Google::Apis::Core::Hashable
4069
+
4070
+ def initialize(**args)
4071
+ update!(**args)
4072
+ end
4073
+
4074
+ # Update properties of this object
4075
+ def update!(**args)
4076
+ end
4077
+ end
4078
+
3607
4079
  # Include to use an existing data crypto key wrapped by KMS. The wrapped key
3608
4080
  # must be a 128-, 192-, or 256-bit key. The key must grant the Cloud IAM
3609
4081
  # permission `cloudkms.cryptoKeyVersions.useToDecrypt` to the project's Cloud
@@ -4347,6 +4819,46 @@ module Google
4347
4819
  end
4348
4820
  end
4349
4821
 
4822
+ # Specifies additional options to apply to the base profile.
4823
+ class Options
4824
+ include Google::Apis::Core::Hashable
4825
+
4826
+ # This option is based on the DICOM Standard's [Clean Descriptors Option](http://
4827
+ # dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and
4828
+ # the `CleanText` `Action` is applied to all the specified fields. When cleaning
4829
+ # text, the process attempts to transform phrases matching any of the tags
4830
+ # marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://
4831
+ # dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These
4832
+ # contextual phrases are replaced with the token "[CTX]". This option uses an
4833
+ # additional `InfoType` during inspection.
4834
+ # Corresponds to the JSON property `cleanDescriptors`
4835
+ # @return [Google::Apis::HealthcareV1beta1::CleanDescriptorsOption]
4836
+ attr_accessor :clean_descriptors
4837
+
4838
+ # Specifies how to handle de-identification of image pixels.
4839
+ # Corresponds to the JSON property `cleanImage`
4840
+ # @return [Google::Apis::HealthcareV1beta1::ImageConfig]
4841
+ attr_accessor :clean_image
4842
+
4843
+ # Set `Action` for [`StudyInstanceUID`, `SeriesInstanceUID`, `SOPInstanceUID`,
4844
+ # and `MediaStorageSOPInstanceUID`](http://dicom.nema.org/medical/dicom/2018e/
4845
+ # output/chtml/part06/chapter_6.html).
4846
+ # Corresponds to the JSON property `primaryIds`
4847
+ # @return [String]
4848
+ attr_accessor :primary_ids
4849
+
4850
+ def initialize(**args)
4851
+ update!(**args)
4852
+ end
4853
+
4854
+ # Update properties of this object
4855
+ def update!(**args)
4856
+ @clean_descriptors = args[:clean_descriptors] if args.key?(:clean_descriptors)
4857
+ @clean_image = args[:clean_image] if args.key?(:clean_image)
4858
+ @primary_ids = args[:primary_ids] if args.key?(:primary_ids)
4859
+ end
4860
+ end
4861
+
4350
4862
  # The content of an HL7v2 message in a structured format.
4351
4863
  class ParsedData
4352
4864
  include Google::Apis::Core::Hashable
@@ -4619,6 +5131,21 @@ module Google
4619
5131
  end
4620
5132
  end
4621
5133
 
5134
+ # Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value
5135
+ # Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/
5136
+ # sect_6.2.html#table_6.2-1): SQ
5137
+ class RecurseTag
5138
+ include Google::Apis::Core::Hashable
5139
+
5140
+ def initialize(**args)
5141
+ update!(**args)
5142
+ end
5143
+
5144
+ # Update properties of this object
5145
+ def update!(**args)
5146
+ end
5147
+ end
5148
+
4622
5149
  # Define how to redact sensitive values. Default behaviour is erase. For example,
4623
5150
  # "My name is Jane." becomes "My name is ."
4624
5151
  class RedactConfig
@@ -4633,6 +5160,21 @@ module Google
4633
5160
  end
4634
5161
  end
4635
5162
 
5163
+ # Replace UID with a new generated UID. Supported [Value Representation] (http://
5164
+ # dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-
5165
+ # 1): UI
5166
+ class RegenUidTag
5167
+ include Google::Apis::Core::Hashable
5168
+
5169
+ def initialize(**args)
5170
+ update!(**args)
5171
+ end
5172
+
5173
+ # Update properties of this object
5174
+ def update!(**args)
5175
+ end
5176
+ end
5177
+
4636
5178
  # Rejects the latest revision of the specified Consent by committing a new
4637
5179
  # revision with `state` updated to `REJECTED`. If the latest revision of the
4638
5180
  # given Consent is in the `REJECTED` state, no new revision is committed.
@@ -4658,6 +5200,32 @@ module Google
4658
5200
  end
4659
5201
  end
4660
5202
 
5203
+ # Remove field.
5204
+ class RemoveField
5205
+ include Google::Apis::Core::Hashable
5206
+
5207
+ def initialize(**args)
5208
+ update!(**args)
5209
+ end
5210
+
5211
+ # Update properties of this object
5212
+ def update!(**args)
5213
+ end
5214
+ end
5215
+
5216
+ # Replace with empty tag.
5217
+ class RemoveTag
5218
+ include Google::Apis::Core::Hashable
5219
+
5220
+ def initialize(**args)
5221
+ update!(**args)
5222
+ end
5223
+
5224
+ # Update properties of this object
5225
+ def update!(**args)
5226
+ end
5227
+ end
5228
+
4661
5229
  # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the
4662
5230
  # name of the info_type. For example, "My name is Jane" becomes "My name is [
4663
5231
  # PERSON_NAME]." The TRANSFORM action is equivalent to redacting.
@@ -4673,6 +5241,19 @@ module Google
4673
5241
  end
4674
5242
  end
4675
5243
 
5244
+ # Reset tag to a placeholder value.
5245
+ class ResetTag
5246
+ include Google::Apis::Core::Hashable
5247
+
5248
+ def initialize(**args)
5249
+ update!(**args)
5250
+ end
5251
+
5252
+ # Update properties of this object
5253
+ def update!(**args)
5254
+ end
5255
+ end
5256
+
4676
5257
  # Resource level annotation.
4677
5258
  class ResourceAnnotation
4678
5259
  include Google::Apis::Core::Hashable
@@ -5318,6 +5899,21 @@ module Google
5318
5899
  class TextConfig
5319
5900
  include Google::Apis::Core::Hashable
5320
5901
 
5902
+ # Additional transformations to apply to the detected data, overriding `profile`.
5903
+ # Corresponds to the JSON property `additionalTransformations`
5904
+ # @return [Array<Google::Apis::HealthcareV1beta1::InfoTypeTransformation>]
5905
+ attr_accessor :additional_transformations
5906
+
5907
+ # InfoTypes to skip transforming, overriding `profile`.
5908
+ # Corresponds to the JSON property `excludeInfoTypes`
5909
+ # @return [Array<String>]
5910
+ attr_accessor :exclude_info_types
5911
+
5912
+ # Base profile type for text transformation.
5913
+ # Corresponds to the JSON property `profileType`
5914
+ # @return [String]
5915
+ attr_accessor :profile_type
5916
+
5321
5917
  # The transformations to apply to the detected data. Deprecated. Use `
5322
5918
  # additional_transformations` instead.
5323
5919
  # Corresponds to the JSON property `transformations`
@@ -5330,6 +5926,9 @@ module Google
5330
5926
 
5331
5927
  # Update properties of this object
5332
5928
  def update!(**args)
5929
+ @additional_transformations = args[:additional_transformations] if args.key?(:additional_transformations)
5930
+ @exclude_info_types = args[:exclude_info_types] if args.key?(:exclude_info_types)
5931
+ @profile_type = args[:profile_type] if args.key?(:profile_type)
5333
5932
  @transformations = args[:transformations] if args.key?(:transformations)
5334
5933
  end
5335
5934
  end