google-apis-healthcare_v1 0.69.0 → 0.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,29 @@ module Google
22
22
  module Apis
23
23
  module HealthcareV1
24
24
 
25
+ # Configures consent audit log config for FHIR create, read, update, and delete (
26
+ # CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://
27
+ # cloud.google.com/logging/docs/audit/configure-data-access#config-console-
28
+ # enable). The consent-related logs are included as part of `protoPayload.
29
+ # metadata`.
30
+ class AccessDeterminationLogConfig
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # Optional. Controls the amount of detail to include as part of the audit logs.
34
+ # Corresponds to the JSON property `logLevel`
35
+ # @return [String]
36
+ attr_accessor :log_level
37
+
38
+ def initialize(**args)
39
+ update!(**args)
40
+ end
41
+
42
+ # Update properties of this object
43
+ def update!(**args)
44
+ @log_level = args[:log_level] if args.key?(:log_level)
45
+ end
46
+ end
47
+
25
48
  # Activates the latest revision of the specified Consent by committing a new
26
49
  # revision with `state` updated to `ACTIVE`. If the latest revision of the given
27
50
  # Consent is in the `ACTIVE` state, no new revision is committed. A
@@ -61,6 +84,30 @@ module Google
61
84
  end
62
85
  end
63
86
 
87
+ # List of admin Consent resources to be applied.
88
+ class AdminConsents
89
+ include Google::Apis::Core::Hashable
90
+
91
+ # Optional. The versioned names of the admin Consent resource(s), in the format `
92
+ # projects/`project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
93
+ # fhir_store_id`/fhir/Consent/`resource_id`/_history/`version_id``. For FHIR
94
+ # stores with `disable_resource_versioning=true`, the format is `projects/`
95
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
96
+ # fhir_store_id`/fhir/Consent/`resource_id``.
97
+ # Corresponds to the JSON property `names`
98
+ # @return [Array<String>]
99
+ attr_accessor :names
100
+
101
+ def initialize(**args)
102
+ update!(**args)
103
+ end
104
+
105
+ # Update properties of this object
106
+ def update!(**args)
107
+ @names = args[:names] if args.key?(:names)
108
+ end
109
+ end
110
+
64
111
  # The request to analyze healthcare entities in a document.
65
112
  class AnalyzeEntitiesRequest
66
113
  include Google::Apis::Core::Hashable
@@ -135,6 +182,194 @@ module Google
135
182
  end
136
183
  end
137
184
 
185
+ # Contains the error details of the unsupported admin Consent resources for when
186
+ # the ApplyAdminConsents method fails to apply one or more Consent resources.
187
+ class ApplyAdminConsentsErrorDetail
188
+ include Google::Apis::Core::Hashable
189
+
190
+ # The list of Consent resources that are unsupported or cannot be applied and
191
+ # the error associated with each of them.
192
+ # Corresponds to the JSON property `consentErrors`
193
+ # @return [Array<Google::Apis::HealthcareV1::ConsentErrors>]
194
+ attr_accessor :consent_errors
195
+
196
+ # The currently in progress non-validate-only ApplyAdminConsents operation ID if
197
+ # exist.
198
+ # Corresponds to the JSON property `existingOperationId`
199
+ # @return [Fixnum]
200
+ attr_accessor :existing_operation_id
201
+
202
+ def initialize(**args)
203
+ update!(**args)
204
+ end
205
+
206
+ # Update properties of this object
207
+ def update!(**args)
208
+ @consent_errors = args[:consent_errors] if args.key?(:consent_errors)
209
+ @existing_operation_id = args[:existing_operation_id] if args.key?(:existing_operation_id)
210
+ end
211
+ end
212
+
213
+ # Request to apply the admin Consent resources for the specified FHIR store.
214
+ class ApplyAdminConsentsRequest
215
+ include Google::Apis::Core::Hashable
216
+
217
+ # List of admin Consent resources to be applied.
218
+ # Corresponds to the JSON property `newConsentsList`
219
+ # @return [Google::Apis::HealthcareV1::AdminConsents]
220
+ attr_accessor :new_consents_list
221
+
222
+ # Optional. If true, the method only validates Consent resources to make sure
223
+ # they are supported. Otherwise, the method applies the aggregate consent
224
+ # information to update the enforcement model and reindex the FHIR resources. If
225
+ # all Consent resources can be applied successfully, the
226
+ # ApplyAdminConsentsResponse is returned containing the following fields: * `
227
+ # consent_apply_success` to indicate the number of Consent resources applied. * `
228
+ # affected_resources` to indicate the number of resources that might have had
229
+ # their consent access changed. If, however, one or more Consent resources are
230
+ # unsupported or cannot be applied, the method fails and
231
+ # ApplyAdminConsentsErrorDetail is is returned with details about the
232
+ # unsupported Consent resources.
233
+ # Corresponds to the JSON property `validateOnly`
234
+ # @return [Boolean]
235
+ attr_accessor :validate_only
236
+ alias_method :validate_only?, :validate_only
237
+
238
+ def initialize(**args)
239
+ update!(**args)
240
+ end
241
+
242
+ # Update properties of this object
243
+ def update!(**args)
244
+ @new_consents_list = args[:new_consents_list] if args.key?(:new_consents_list)
245
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
246
+ end
247
+ end
248
+
249
+ # Response when all admin Consent resources in scope were processed and all
250
+ # affected resources were reindexed successfully. This structure will be
251
+ # included in the response when the operation finishes successfully.
252
+ class ApplyAdminConsentsResponse
253
+ include Google::Apis::Core::Hashable
254
+
255
+ # The number of resources (including the Consent resources) that may have
256
+ # consent access change.
257
+ # Corresponds to the JSON property `affectedResources`
258
+ # @return [Fixnum]
259
+ attr_accessor :affected_resources
260
+
261
+ # If `validate_only=false` in ApplyAdminConsentsRequest, this counter contains
262
+ # the number of Consent resources that were successfully applied. Otherwise, it
263
+ # is the number of Consent resources that are supported.
264
+ # Corresponds to the JSON property `consentApplySuccess`
265
+ # @return [Fixnum]
266
+ attr_accessor :consent_apply_success
267
+
268
+ # The number of resources (including the Consent resources) that
269
+ # ApplyAdminConsents failed to re-index.
270
+ # Corresponds to the JSON property `failedResources`
271
+ # @return [Fixnum]
272
+ attr_accessor :failed_resources
273
+
274
+ def initialize(**args)
275
+ update!(**args)
276
+ end
277
+
278
+ # Update properties of this object
279
+ def update!(**args)
280
+ @affected_resources = args[:affected_resources] if args.key?(:affected_resources)
281
+ @consent_apply_success = args[:consent_apply_success] if args.key?(:consent_apply_success)
282
+ @failed_resources = args[:failed_resources] if args.key?(:failed_resources)
283
+ end
284
+ end
285
+
286
+ # Request to apply the Consent resources for the specified FHIR store.
287
+ class ApplyConsentsRequest
288
+ include Google::Apis::Core::Hashable
289
+
290
+ # Apply consents given by a list of patients.
291
+ # Corresponds to the JSON property `patientScope`
292
+ # @return [Google::Apis::HealthcareV1::PatientScope]
293
+ attr_accessor :patient_scope
294
+
295
+ # Apply consents given by patients whose most recent consent changes are in the
296
+ # time range. Note that after identifying these patients, the server applies all
297
+ # Consent resources given by those patients, not just the Consent resources
298
+ # within the timestamp in the range.
299
+ # Corresponds to the JSON property `timeRange`
300
+ # @return [Google::Apis::HealthcareV1::TimeRange]
301
+ attr_accessor :time_range
302
+
303
+ # Optional. If true, the method only validates Consent resources to make sure
304
+ # they are supported. When the operation completes, ApplyConsentsResponse is
305
+ # returned where `consent_apply_success` and `consent_apply_failure` indicate
306
+ # supported and unsupported (or invalid) Consent resources, respectively.
307
+ # Otherwise, the method propagates the aggregate consensual information to the
308
+ # patient's resources. Upon success, `affected_resources` in the
309
+ # ApplyConsentsResponse indicates the number of resources that may have
310
+ # consensual access changed.
311
+ # Corresponds to the JSON property `validateOnly`
312
+ # @return [Boolean]
313
+ attr_accessor :validate_only
314
+ alias_method :validate_only?, :validate_only
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ @patient_scope = args[:patient_scope] if args.key?(:patient_scope)
323
+ @time_range = args[:time_range] if args.key?(:time_range)
324
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
325
+ end
326
+ end
327
+
328
+ # Response when all Consent resources in scope were processed and all affected
329
+ # resources were reindexed successfully. This structure is included in the
330
+ # response when the operation finishes successfully.
331
+ class ApplyConsentsResponse
332
+ include Google::Apis::Core::Hashable
333
+
334
+ # The number of resources (including the Consent resources) that may have
335
+ # consensual access change.
336
+ # Corresponds to the JSON property `affectedResources`
337
+ # @return [Fixnum]
338
+ attr_accessor :affected_resources
339
+
340
+ # If `validate_only = false` in ApplyConsentsRequest, this counter is the number
341
+ # of Consent resources that were failed to apply. Otherwise, it is the number of
342
+ # Consent resources that are not supported or invalid.
343
+ # Corresponds to the JSON property `consentApplyFailure`
344
+ # @return [Fixnum]
345
+ attr_accessor :consent_apply_failure
346
+
347
+ # If `validate_only = false` in ApplyConsentsRequest, this counter is the number
348
+ # of Consent resources that were successfully applied. Otherwise, it is the
349
+ # number of Consent resources that are supported.
350
+ # Corresponds to the JSON property `consentApplySuccess`
351
+ # @return [Fixnum]
352
+ attr_accessor :consent_apply_success
353
+
354
+ # The number of resources (including the Consent resources) that ApplyConsents
355
+ # failed to re-index.
356
+ # Corresponds to the JSON property `failedResources`
357
+ # @return [Fixnum]
358
+ attr_accessor :failed_resources
359
+
360
+ def initialize(**args)
361
+ update!(**args)
362
+ end
363
+
364
+ # Update properties of this object
365
+ def update!(**args)
366
+ @affected_resources = args[:affected_resources] if args.key?(:affected_resources)
367
+ @consent_apply_failure = args[:consent_apply_failure] if args.key?(:consent_apply_failure)
368
+ @consent_apply_success = args[:consent_apply_success] if args.key?(:consent_apply_success)
369
+ @failed_resources = args[:failed_resources] if args.key?(:failed_resources)
370
+ end
371
+ end
372
+
138
373
  # Archives the specified User data mapping.
139
374
  class ArchiveUserDataMappingRequest
140
375
  include Google::Apis::Core::Hashable
@@ -474,6 +709,29 @@ module Google
474
709
  end
475
710
  end
476
711
 
712
+ # The configuration for exporting to Cloud Storage using the bulk export API.
713
+ class BulkExportGcsDestination
714
+ include Google::Apis::Core::Hashable
715
+
716
+ # Optional. URI for a Cloud Storage directory where the server writes result
717
+ # files, in the format `gs://`bucket-id`/`path/to/destination/dir``. If there is
718
+ # no trailing slash, the service appends one when composing the object path. The
719
+ # user is responsible for creating the Cloud Storage bucket referenced in `
720
+ # uri_prefix`.
721
+ # Corresponds to the JSON property `uriPrefix`
722
+ # @return [String]
723
+ attr_accessor :uri_prefix
724
+
725
+ def initialize(**args)
726
+ update!(**args)
727
+ end
728
+
729
+ # Update properties of this object
730
+ def update!(**args)
731
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
732
+ end
733
+ end
734
+
477
735
  # The request message for Operations.CancelOperation.
478
736
  class CancelOperationRequest
479
737
  include Google::Apis::Core::Hashable
@@ -662,6 +920,42 @@ module Google
662
920
  end
663
921
  end
664
922
 
923
+ # The accessor scope that describes who can access, for what purpose, in which
924
+ # environment.
925
+ class ConsentAccessorScope
926
+ include Google::Apis::Core::Hashable
927
+
928
+ # An individual, group, or access role that identifies the accessor or a
929
+ # characteristic of the accessor. This can be a resource ID (such as ``
930
+ # resourceType`/`id``) or an external URI. This value must be present.
931
+ # Corresponds to the JSON property `actor`
932
+ # @return [String]
933
+ attr_accessor :actor
934
+
935
+ # An abstract identifier that describes the environment or conditions under
936
+ # which the accessor is acting. If it's not specified, it applies to all
937
+ # environments.
938
+ # Corresponds to the JSON property `environment`
939
+ # @return [String]
940
+ attr_accessor :environment
941
+
942
+ # The intent of data use. If it's not specified, it applies to all purposes.
943
+ # Corresponds to the JSON property `purpose`
944
+ # @return [String]
945
+ attr_accessor :purpose
946
+
947
+ def initialize(**args)
948
+ update!(**args)
949
+ end
950
+
951
+ # Update properties of this object
952
+ def update!(**args)
953
+ @actor = args[:actor] if args.key?(:actor)
954
+ @environment = args[:environment] if args.key?(:environment)
955
+ @purpose = args[:purpose] if args.key?(:purpose)
956
+ end
957
+ end
958
+
665
959
  # Documentation of a user's consent.
666
960
  class ConsentArtifact
667
961
  include Google::Apis::Core::Hashable
@@ -729,6 +1023,100 @@ module Google
729
1023
  end
730
1024
  end
731
1025
 
1026
+ # Configures whether to enforce consent for the FHIR store and which consent
1027
+ # enforcement version is being used.
1028
+ class ConsentConfig
1029
+ include Google::Apis::Core::Hashable
1030
+
1031
+ # Configures consent audit log config for FHIR create, read, update, and delete (
1032
+ # CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://
1033
+ # cloud.google.com/logging/docs/audit/configure-data-access#config-console-
1034
+ # enable). The consent-related logs are included as part of `protoPayload.
1035
+ # metadata`.
1036
+ # Corresponds to the JSON property `accessDeterminationLogConfig`
1037
+ # @return [Google::Apis::HealthcareV1::AccessDeterminationLogConfig]
1038
+ attr_accessor :access_determination_log_config
1039
+
1040
+ # Optional. The default value is false. If set to true, when accessing FHIR
1041
+ # resources, the consent headers will be verified against consents given by
1042
+ # patients. See the ConsentEnforcementVersion for the supported consent headers.
1043
+ # Corresponds to the JSON property `accessEnforced`
1044
+ # @return [Boolean]
1045
+ attr_accessor :access_enforced
1046
+ alias_method :access_enforced?, :access_enforced
1047
+
1048
+ # How the server handles the consent header.
1049
+ # Corresponds to the JSON property `consentHeaderHandling`
1050
+ # @return [Google::Apis::HealthcareV1::ConsentHeaderHandling]
1051
+ attr_accessor :consent_header_handling
1052
+
1053
+ # Output only. The versioned names of the enforced admin Consent resource(s), in
1054
+ # the format `projects/`project_id`/locations/`location`/datasets/`dataset_id`/
1055
+ # fhirStores/`fhir_store_id`/fhir/Consent/`resource_id`/_history/`version_id``.
1056
+ # For FHIR stores with `disable_resource_versioning=true`, the format is `
1057
+ # projects/`project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
1058
+ # fhir_store_id`/fhir/Consent/`resource_id``. This field can only be updated
1059
+ # using ApplyAdminConsents.
1060
+ # Corresponds to the JSON property `enforcedAdminConsents`
1061
+ # @return [Array<String>]
1062
+ attr_accessor :enforced_admin_consents
1063
+
1064
+ # Required. Specifies which consent enforcement version is being used for this
1065
+ # FHIR store. This field can only be set once by either CreateFhirStore or
1066
+ # UpdateFhirStore. After that, you must call ApplyConsents to change the version.
1067
+ # Corresponds to the JSON property `version`
1068
+ # @return [String]
1069
+ attr_accessor :version
1070
+
1071
+ def initialize(**args)
1072
+ update!(**args)
1073
+ end
1074
+
1075
+ # Update properties of this object
1076
+ def update!(**args)
1077
+ @access_determination_log_config = args[:access_determination_log_config] if args.key?(:access_determination_log_config)
1078
+ @access_enforced = args[:access_enforced] if args.key?(:access_enforced)
1079
+ @consent_header_handling = args[:consent_header_handling] if args.key?(:consent_header_handling)
1080
+ @enforced_admin_consents = args[:enforced_admin_consents] if args.key?(:enforced_admin_consents)
1081
+ @version = args[:version] if args.key?(:version)
1082
+ end
1083
+ end
1084
+
1085
+ # The Consent resource name and error.
1086
+ class ConsentErrors
1087
+ include Google::Apis::Core::Hashable
1088
+
1089
+ # The `Status` type defines a logical error model that is suitable for different
1090
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1091
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1092
+ # data: error code, error message, and error details. You can find out more
1093
+ # about this error model and how to work with it in the [API Design Guide](https:
1094
+ # //cloud.google.com/apis/design/errors).
1095
+ # Corresponds to the JSON property `error`
1096
+ # @return [Google::Apis::HealthcareV1::Status]
1097
+ attr_accessor :error
1098
+
1099
+ # The versioned name of the admin Consent resource, in the format `projects/`
1100
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
1101
+ # fhir_store_id`/fhir/Consent/`resource_id`/_history/`version_id``. For FHIR
1102
+ # stores with `disable_resource_versioning=true`, the format is `projects/`
1103
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
1104
+ # fhir_store_id`/fhir/Consent/`resource_id``.
1105
+ # Corresponds to the JSON property `name`
1106
+ # @return [String]
1107
+ attr_accessor :name
1108
+
1109
+ def initialize(**args)
1110
+ update!(**args)
1111
+ end
1112
+
1113
+ # Update properties of this object
1114
+ def update!(**args)
1115
+ @error = args[:error] if args.key?(:error)
1116
+ @name = args[:name] if args.key?(:name)
1117
+ end
1118
+ end
1119
+
732
1120
  # The detailed evaluation of a particular Consent.
733
1121
  class ConsentEvaluation
734
1122
  include Google::Apis::Core::Hashable
@@ -748,6 +1136,26 @@ module Google
748
1136
  end
749
1137
  end
750
1138
 
1139
+ # How the server handles the consent header.
1140
+ class ConsentHeaderHandling
1141
+ include Google::Apis::Core::Hashable
1142
+
1143
+ # Optional. Specifies the default server behavior when the header is empty. If
1144
+ # not specified, the `ScopeProfile.PERMIT_EMPTY_SCOPE` option is used.
1145
+ # Corresponds to the JSON property `profile`
1146
+ # @return [String]
1147
+ attr_accessor :profile
1148
+
1149
+ def initialize(**args)
1150
+ update!(**args)
1151
+ end
1152
+
1153
+ # Update properties of this object
1154
+ def update!(**args)
1155
+ @profile = args[:profile] if args.key?(:profile)
1156
+ end
1157
+ end
1158
+
751
1159
  # List of resource names of Consent resources.
752
1160
  class ConsentList
753
1161
  include Google::Apis::Core::Hashable
@@ -1627,6 +2035,139 @@ module Google
1627
2035
  end
1628
2036
  end
1629
2037
 
2038
+ # The enforcing consent's metadata.
2039
+ class ExplainDataAccessConsentInfo
2040
+ include Google::Apis::Core::Hashable
2041
+
2042
+ # The compartment base resources that matched a cascading policy. Each resource
2043
+ # has the following format: `projects/`project_id`/locations/`location_id`/
2044
+ # datasets/`dataset_id`/fhirStores/`fhir_store_id`/fhir/`resource_type`/`
2045
+ # resource_id``
2046
+ # Corresponds to the JSON property `cascadeOrigins`
2047
+ # @return [Array<String>]
2048
+ attr_accessor :cascade_origins
2049
+
2050
+ # The resource name of this consent resource, in the format: `projects/`
2051
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
2052
+ # fhir_store_id`/fhir/Consent/`resource_id``.
2053
+ # Corresponds to the JSON property `consentResource`
2054
+ # @return [String]
2055
+ attr_accessor :consent_resource
2056
+
2057
+ # Last enforcement timestamp of this consent resource.
2058
+ # Corresponds to the JSON property `enforcementTime`
2059
+ # @return [String]
2060
+ attr_accessor :enforcement_time
2061
+
2062
+ # A list of all the matching accessor scopes of this consent policy that
2063
+ # enforced ExplainDataAccessConsentScope.accessor_scope.
2064
+ # Corresponds to the JSON property `matchingAccessorScopes`
2065
+ # @return [Array<Google::Apis::HealthcareV1::ConsentAccessorScope>]
2066
+ attr_accessor :matching_accessor_scopes
2067
+
2068
+ # The patient owning the consent (only applicable for patient consents), in the
2069
+ # format: `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
2070
+ # fhirStores/`fhir_store_id`/fhir/Patient/`patient_id``
2071
+ # Corresponds to the JSON property `patientConsentOwner`
2072
+ # @return [String]
2073
+ attr_accessor :patient_consent_owner
2074
+
2075
+ # The policy type of consent resource (e.g. PATIENT, ADMIN).
2076
+ # Corresponds to the JSON property `type`
2077
+ # @return [String]
2078
+ attr_accessor :type
2079
+
2080
+ # The consent's variant combinations. A single consent may have multiple
2081
+ # variants.
2082
+ # Corresponds to the JSON property `variants`
2083
+ # @return [Array<String>]
2084
+ attr_accessor :variants
2085
+
2086
+ def initialize(**args)
2087
+ update!(**args)
2088
+ end
2089
+
2090
+ # Update properties of this object
2091
+ def update!(**args)
2092
+ @cascade_origins = args[:cascade_origins] if args.key?(:cascade_origins)
2093
+ @consent_resource = args[:consent_resource] if args.key?(:consent_resource)
2094
+ @enforcement_time = args[:enforcement_time] if args.key?(:enforcement_time)
2095
+ @matching_accessor_scopes = args[:matching_accessor_scopes] if args.key?(:matching_accessor_scopes)
2096
+ @patient_consent_owner = args[:patient_consent_owner] if args.key?(:patient_consent_owner)
2097
+ @type = args[:type] if args.key?(:type)
2098
+ @variants = args[:variants] if args.key?(:variants)
2099
+ end
2100
+ end
2101
+
2102
+ # A single consent scope that provides info on who has access to the requested
2103
+ # resource scope for a particular purpose and environment, enforced by which
2104
+ # consent.
2105
+ class ExplainDataAccessConsentScope
2106
+ include Google::Apis::Core::Hashable
2107
+
2108
+ # The accessor scope that describes who can access, for what purpose, in which
2109
+ # environment.
2110
+ # Corresponds to the JSON property `accessorScope`
2111
+ # @return [Google::Apis::HealthcareV1::ConsentAccessorScope]
2112
+ attr_accessor :accessor_scope
2113
+
2114
+ # Whether the current consent scope is permitted or denied access on the
2115
+ # requested resource.
2116
+ # Corresponds to the JSON property `decision`
2117
+ # @return [String]
2118
+ attr_accessor :decision
2119
+
2120
+ # Metadata of the consent resources that enforce the consent scope's access.
2121
+ # Corresponds to the JSON property `enforcingConsents`
2122
+ # @return [Array<Google::Apis::HealthcareV1::ExplainDataAccessConsentInfo>]
2123
+ attr_accessor :enforcing_consents
2124
+
2125
+ # Other consent scopes that created exceptions within this scope.
2126
+ # Corresponds to the JSON property `exceptions`
2127
+ # @return [Array<Google::Apis::HealthcareV1::ExplainDataAccessConsentScope>]
2128
+ attr_accessor :exceptions
2129
+
2130
+ def initialize(**args)
2131
+ update!(**args)
2132
+ end
2133
+
2134
+ # Update properties of this object
2135
+ def update!(**args)
2136
+ @accessor_scope = args[:accessor_scope] if args.key?(:accessor_scope)
2137
+ @decision = args[:decision] if args.key?(:decision)
2138
+ @enforcing_consents = args[:enforcing_consents] if args.key?(:enforcing_consents)
2139
+ @exceptions = args[:exceptions] if args.key?(:exceptions)
2140
+ end
2141
+ end
2142
+
2143
+ # List of consent scopes that are applicable to the explained access on a given
2144
+ # resource.
2145
+ class ExplainDataAccessResponse
2146
+ include Google::Apis::Core::Hashable
2147
+
2148
+ # List of applicable consent scopes. Sorted in order of actor such that scopes
2149
+ # belonging to the same actor will be adjacent to each other in the list.
2150
+ # Corresponds to the JSON property `consentScopes`
2151
+ # @return [Array<Google::Apis::HealthcareV1::ExplainDataAccessConsentScope>]
2152
+ attr_accessor :consent_scopes
2153
+
2154
+ # Warnings associated with this response. It inform user with exceeded scope
2155
+ # limit errors.
2156
+ # Corresponds to the JSON property `warning`
2157
+ # @return [String]
2158
+ attr_accessor :warning
2159
+
2160
+ def initialize(**args)
2161
+ update!(**args)
2162
+ end
2163
+
2164
+ # Update properties of this object
2165
+ def update!(**args)
2166
+ @consent_scopes = args[:consent_scopes] if args.key?(:consent_scopes)
2167
+ @warning = args[:warning] if args.key?(:warning)
2168
+ end
2169
+ end
2170
+
1630
2171
  # Exports data from the specified DICOM store. If a given resource, such as a
1631
2172
  # DICOM object with the same SOPInstance UID, already exists in the output, it
1632
2173
  # is overwritten with the version in the source dataset. Exported DICOM data
@@ -2022,6 +2563,11 @@ module Google
2022
2563
  class FhirStore
2023
2564
  include Google::Apis::Core::Hashable
2024
2565
 
2566
+ # The configuration for exporting to Cloud Storage using the bulk export API.
2567
+ # Corresponds to the JSON property `bulkExportGcsDestination`
2568
+ # @return [Google::Apis::HealthcareV1::BulkExportGcsDestination]
2569
+ attr_accessor :bulk_export_gcs_destination
2570
+
2025
2571
  # Optional. Enable parsing of references within complex FHIR data types such as
2026
2572
  # Extensions. If this value is set to ENABLED, then features like referential
2027
2573
  # integrity and Bundle reference rewriting apply to all references. If this flag
@@ -2034,6 +2580,12 @@ module Google
2034
2580
  # @return [String]
2035
2581
  attr_accessor :complex_data_type_reference_parsing
2036
2582
 
2583
+ # Configures whether to enforce consent for the FHIR store and which consent
2584
+ # enforcement version is being used.
2585
+ # Corresponds to the JSON property `consentConfig`
2586
+ # @return [Google::Apis::HealthcareV1::ConsentConfig]
2587
+ attr_accessor :consent_config
2588
+
2037
2589
  # Optional. If true, overrides the default search behavior for this FHIR store
2038
2590
  # to `handling=strict` which returns an error for unrecognized search parameters.
2039
2591
  # If false, uses the FHIR specification default `handling=lenient` which
@@ -2146,7 +2698,9 @@ module Google
2146
2698
 
2147
2699
  # Update properties of this object
2148
2700
  def update!(**args)
2701
+ @bulk_export_gcs_destination = args[:bulk_export_gcs_destination] if args.key?(:bulk_export_gcs_destination)
2149
2702
  @complex_data_type_reference_parsing = args[:complex_data_type_reference_parsing] if args.key?(:complex_data_type_reference_parsing)
2703
+ @consent_config = args[:consent_config] if args.key?(:consent_config)
2150
2704
  @default_search_handling_strict = args[:default_search_handling_strict] if args.key?(:default_search_handling_strict)
2151
2705
  @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity)
2152
2706
  @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning)
@@ -4059,6 +4613,27 @@ module Google
4059
4613
  end
4060
4614
  end
4061
4615
 
4616
+ # Apply consents given by a list of patients.
4617
+ class PatientScope
4618
+ include Google::Apis::Core::Hashable
4619
+
4620
+ # Optional. The list of patient IDs whose Consent resources will be enforced. At
4621
+ # most 10,000 patients can be specified. An empty list is equivalent to all
4622
+ # patients (meaning the entire FHIR store).
4623
+ # Corresponds to the JSON property `patientIds`
4624
+ # @return [Array<String>]
4625
+ attr_accessor :patient_ids
4626
+
4627
+ def initialize(**args)
4628
+ update!(**args)
4629
+ end
4630
+
4631
+ # Update properties of this object
4632
+ def update!(**args)
4633
+ @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
4634
+ end
4635
+ end
4636
+
4062
4637
  # An Identity and Access Management (IAM) policy, which specifies access
4063
4638
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
4064
4639
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -4814,7 +5389,7 @@ module Google
4814
5389
  class SearchResourcesRequest
4815
5390
  include Google::Apis::Core::Hashable
4816
5391
 
4817
- # Required. The FHIR resource type to search, such as Patient or Observation.
5392
+ # Optional. The FHIR resource type to search, such as Patient or Observation.
4818
5393
  # For a complete list, see the FHIR Resource Index ([DSTU2](http://hl7.org/
4819
5394
  # implement/standards/fhir/DSTU2/resourcelist.html), [STU3](http://hl7.org/
4820
5395
  # implement/standards/fhir/STU3/resourcelist.html), [R4](http://hl7.org/
@@ -5362,6 +5937,36 @@ module Google
5362
5937
  end
5363
5938
  end
5364
5939
 
5940
+ # Apply consents given by patients whose most recent consent changes are in the
5941
+ # time range. Note that after identifying these patients, the server applies all
5942
+ # Consent resources given by those patients, not just the Consent resources
5943
+ # within the timestamp in the range.
5944
+ class TimeRange
5945
+ include Google::Apis::Core::Hashable
5946
+
5947
+ # Optional. The latest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:
5948
+ # zz If not specified, the system uses the time when ApplyConsents was called.
5949
+ # Corresponds to the JSON property `end`
5950
+ # @return [String]
5951
+ attr_accessor :end
5952
+
5953
+ # Optional. The earliest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+
5954
+ # zz:zz If not specified, the system uses the FHIR store creation time.
5955
+ # Corresponds to the JSON property `start`
5956
+ # @return [String]
5957
+ attr_accessor :start
5958
+
5959
+ def initialize(**args)
5960
+ update!(**args)
5961
+ end
5962
+
5963
+ # Update properties of this object
5964
+ def update!(**args)
5965
+ @end = args[:end] if args.key?(:end)
5966
+ @start = args[:start] if args.key?(:start)
5967
+ end
5968
+ end
5969
+
5365
5970
  # A type definition for some HL7v2 type (incl. Segments and Datatypes).
5366
5971
  class Type
5367
5972
  include Google::Apis::Core::Hashable