google-apis-healthcare_v1 0.69.0 → 0.70.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 362e6c37c6f7dd8d57489e53e6fc59bcd37378147a0d6c1dfc5f50acc86f8815
4
- data.tar.gz: 6669659f957569daea9efb495df8c897ac0a592b4aad0fe1833bb310d000a4d7
3
+ metadata.gz: 5c91b47e3aa1385e9898b9830d9ca1739db9647ee51b05b5f5d7500f46e1259e
4
+ data.tar.gz: bb1474d3499e0f124f9cbf1b7b5451f188827da613c8b06d8c193bf34d33ed96
5
5
  SHA512:
6
- metadata.gz: 3809fdd31b1b97bbdf9b578acc4dae120d07ea2a2a5539eccfc2bfe7a16e065928cbe10b8fc08a1636ebd8053edeb1dcf047ef6b61adc16a17c3a63994890b88
7
- data.tar.gz: 9b478d76753e468cff93d8a0db58b3f0b32d1e35b706fce83d93b0f4755f9cb412909b2cc7a91277ead1a9caa31d9d742aaab9bf568ba0da9ca7e96ad615647e
6
+ metadata.gz: c3190995c70d3c93cf2d58e2debc337bf6a447eb3853adda7dfe523860ac8d9f8d791be328c44f53d40fc0dcabf58dcad3e747c228de1f6599d72aef797f608b
7
+ data.tar.gz: c6f118a92f7ba94c5efa27a99b551389ea9f1cb431171ab5978186060385710aab99283a4beb2ff938d469e09a691567df6e8ce7dd67ff6aa4613fa1eb8d254c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-healthcare_v1
2
2
 
3
+ ### v0.70.0 (2024-12-15)
4
+
5
+ * Regenerated from discovery document revision 20241205
6
+
3
7
  ### v0.69.0 (2024-12-02)
4
8
 
5
9
  * Regenerated from discovery document revision 20241115
@@ -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
@@ -662,6 +897,41 @@ module Google
662
897
  end
663
898
  end
664
899
 
900
+ # The accessor scope that describes who can access, for what purpose, in which
901
+ # environment.
902
+ class ConsentAccessorScope
903
+ include Google::Apis::Core::Hashable
904
+
905
+ # An individual, group, or access role that identifies the accessor or a
906
+ # characteristic of the accessor. This can be a resource ID (such as ``
907
+ # resourceType`/`id``) or an external URI. This value must be present.
908
+ # Corresponds to the JSON property `actor`
909
+ # @return [String]
910
+ attr_accessor :actor
911
+
912
+ # An abstract identifier that describes the environment or conditions under
913
+ # which the accessor is acting. Can be "*" if it applies to all environments.
914
+ # Corresponds to the JSON property `environment`
915
+ # @return [String]
916
+ attr_accessor :environment
917
+
918
+ # The intent of data use. Can be "*" if it applies to all purposes.
919
+ # Corresponds to the JSON property `purpose`
920
+ # @return [String]
921
+ attr_accessor :purpose
922
+
923
+ def initialize(**args)
924
+ update!(**args)
925
+ end
926
+
927
+ # Update properties of this object
928
+ def update!(**args)
929
+ @actor = args[:actor] if args.key?(:actor)
930
+ @environment = args[:environment] if args.key?(:environment)
931
+ @purpose = args[:purpose] if args.key?(:purpose)
932
+ end
933
+ end
934
+
665
935
  # Documentation of a user's consent.
666
936
  class ConsentArtifact
667
937
  include Google::Apis::Core::Hashable
@@ -729,6 +999,100 @@ module Google
729
999
  end
730
1000
  end
731
1001
 
1002
+ # Configures whether to enforce consent for the FHIR store and which consent
1003
+ # enforcement version is being used.
1004
+ class ConsentConfig
1005
+ include Google::Apis::Core::Hashable
1006
+
1007
+ # Configures consent audit log config for FHIR create, read, update, and delete (
1008
+ # CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://
1009
+ # cloud.google.com/logging/docs/audit/configure-data-access#config-console-
1010
+ # enable). The consent-related logs are included as part of `protoPayload.
1011
+ # metadata`.
1012
+ # Corresponds to the JSON property `accessDeterminationLogConfig`
1013
+ # @return [Google::Apis::HealthcareV1::AccessDeterminationLogConfig]
1014
+ attr_accessor :access_determination_log_config
1015
+
1016
+ # Optional. The default value is false. If set to true, when accessing FHIR
1017
+ # resources, the consent headers will be verified against consents given by
1018
+ # patients. See the ConsentEnforcementVersion for the supported consent headers.
1019
+ # Corresponds to the JSON property `accessEnforced`
1020
+ # @return [Boolean]
1021
+ attr_accessor :access_enforced
1022
+ alias_method :access_enforced?, :access_enforced
1023
+
1024
+ # How the server handles the consent header.
1025
+ # Corresponds to the JSON property `consentHeaderHandling`
1026
+ # @return [Google::Apis::HealthcareV1::ConsentHeaderHandling]
1027
+ attr_accessor :consent_header_handling
1028
+
1029
+ # Output only. The versioned names of the enforced admin Consent resource(s), in
1030
+ # the format `projects/`project_id`/locations/`location`/datasets/`dataset_id`/
1031
+ # fhirStores/`fhir_store_id`/fhir/Consent/`resource_id`/_history/`version_id``.
1032
+ # For FHIR stores with `disable_resource_versioning=true`, the format is `
1033
+ # projects/`project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
1034
+ # fhir_store_id`/fhir/Consent/`resource_id``. This field can only be updated
1035
+ # using ApplyAdminConsents.
1036
+ # Corresponds to the JSON property `enforcedAdminConsents`
1037
+ # @return [Array<String>]
1038
+ attr_accessor :enforced_admin_consents
1039
+
1040
+ # Required. Specifies which consent enforcement version is being used for this
1041
+ # FHIR store. This field can only be set once by either CreateFhirStore or
1042
+ # UpdateFhirStore. After that, you must call ApplyConsents to change the version.
1043
+ # Corresponds to the JSON property `version`
1044
+ # @return [String]
1045
+ attr_accessor :version
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @access_determination_log_config = args[:access_determination_log_config] if args.key?(:access_determination_log_config)
1054
+ @access_enforced = args[:access_enforced] if args.key?(:access_enforced)
1055
+ @consent_header_handling = args[:consent_header_handling] if args.key?(:consent_header_handling)
1056
+ @enforced_admin_consents = args[:enforced_admin_consents] if args.key?(:enforced_admin_consents)
1057
+ @version = args[:version] if args.key?(:version)
1058
+ end
1059
+ end
1060
+
1061
+ # The Consent resource name and error.
1062
+ class ConsentErrors
1063
+ include Google::Apis::Core::Hashable
1064
+
1065
+ # The `Status` type defines a logical error model that is suitable for different
1066
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1067
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1068
+ # data: error code, error message, and error details. You can find out more
1069
+ # about this error model and how to work with it in the [API Design Guide](https:
1070
+ # //cloud.google.com/apis/design/errors).
1071
+ # Corresponds to the JSON property `error`
1072
+ # @return [Google::Apis::HealthcareV1::Status]
1073
+ attr_accessor :error
1074
+
1075
+ # The versioned name of the admin Consent resource, in the format `projects/`
1076
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
1077
+ # fhir_store_id`/fhir/Consent/`resource_id`/_history/`version_id``. For FHIR
1078
+ # stores with `disable_resource_versioning=true`, the format is `projects/`
1079
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
1080
+ # fhir_store_id`/fhir/Consent/`resource_id``.
1081
+ # Corresponds to the JSON property `name`
1082
+ # @return [String]
1083
+ attr_accessor :name
1084
+
1085
+ def initialize(**args)
1086
+ update!(**args)
1087
+ end
1088
+
1089
+ # Update properties of this object
1090
+ def update!(**args)
1091
+ @error = args[:error] if args.key?(:error)
1092
+ @name = args[:name] if args.key?(:name)
1093
+ end
1094
+ end
1095
+
732
1096
  # The detailed evaluation of a particular Consent.
733
1097
  class ConsentEvaluation
734
1098
  include Google::Apis::Core::Hashable
@@ -748,6 +1112,26 @@ module Google
748
1112
  end
749
1113
  end
750
1114
 
1115
+ # How the server handles the consent header.
1116
+ class ConsentHeaderHandling
1117
+ include Google::Apis::Core::Hashable
1118
+
1119
+ # Optional. Specifies the default server behavior when the header is empty. If
1120
+ # not specified, the `ScopeProfile.PERMIT_EMPTY_SCOPE` option is used.
1121
+ # Corresponds to the JSON property `profile`
1122
+ # @return [String]
1123
+ attr_accessor :profile
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @profile = args[:profile] if args.key?(:profile)
1132
+ end
1133
+ end
1134
+
751
1135
  # List of resource names of Consent resources.
752
1136
  class ConsentList
753
1137
  include Google::Apis::Core::Hashable
@@ -1627,6 +2011,139 @@ module Google
1627
2011
  end
1628
2012
  end
1629
2013
 
2014
+ # The enforcing consent's metadata.
2015
+ class ExplainDataAccessConsentInfo
2016
+ include Google::Apis::Core::Hashable
2017
+
2018
+ # The compartment base resources that matched a cascading policy. Each resource
2019
+ # has the following format: `projects/`project_id`/locations/`location_id`/
2020
+ # datasets/`dataset_id`/fhirStores/`fhir_store_id`/fhir/`resource_type`/`
2021
+ # resource_id``
2022
+ # Corresponds to the JSON property `cascadeOrigins`
2023
+ # @return [Array<String>]
2024
+ attr_accessor :cascade_origins
2025
+
2026
+ # The resource name of this consent resource, in the format: `projects/`
2027
+ # project_id`/locations/`location`/datasets/`dataset_id`/fhirStores/`
2028
+ # fhir_store_id`/fhir/Consent/`resource_id``.
2029
+ # Corresponds to the JSON property `consentResource`
2030
+ # @return [String]
2031
+ attr_accessor :consent_resource
2032
+
2033
+ # Last enforcement timestamp of this consent resource.
2034
+ # Corresponds to the JSON property `enforcementTime`
2035
+ # @return [String]
2036
+ attr_accessor :enforcement_time
2037
+
2038
+ # A list of all the matching accessor scopes of this consent policy that
2039
+ # enforced ExplainDataAccessConsentScope.accessor_scope.
2040
+ # Corresponds to the JSON property `matchingAccessorScopes`
2041
+ # @return [Array<Google::Apis::HealthcareV1::ConsentAccessorScope>]
2042
+ attr_accessor :matching_accessor_scopes
2043
+
2044
+ # The patient owning the consent (only applicable for patient consents), in the
2045
+ # format: `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
2046
+ # fhirStores/`fhir_store_id`/fhir/Patient/`patient_id``
2047
+ # Corresponds to the JSON property `patientConsentOwner`
2048
+ # @return [String]
2049
+ attr_accessor :patient_consent_owner
2050
+
2051
+ # The policy type of consent resource (e.g. PATIENT, ADMIN).
2052
+ # Corresponds to the JSON property `type`
2053
+ # @return [String]
2054
+ attr_accessor :type
2055
+
2056
+ # The consent's variant combinations. A single consent may have multiple
2057
+ # variants.
2058
+ # Corresponds to the JSON property `variants`
2059
+ # @return [Array<String>]
2060
+ attr_accessor :variants
2061
+
2062
+ def initialize(**args)
2063
+ update!(**args)
2064
+ end
2065
+
2066
+ # Update properties of this object
2067
+ def update!(**args)
2068
+ @cascade_origins = args[:cascade_origins] if args.key?(:cascade_origins)
2069
+ @consent_resource = args[:consent_resource] if args.key?(:consent_resource)
2070
+ @enforcement_time = args[:enforcement_time] if args.key?(:enforcement_time)
2071
+ @matching_accessor_scopes = args[:matching_accessor_scopes] if args.key?(:matching_accessor_scopes)
2072
+ @patient_consent_owner = args[:patient_consent_owner] if args.key?(:patient_consent_owner)
2073
+ @type = args[:type] if args.key?(:type)
2074
+ @variants = args[:variants] if args.key?(:variants)
2075
+ end
2076
+ end
2077
+
2078
+ # A single consent scope that provides info on who has access to the requested
2079
+ # resource scope for a particular purpose and environment, enforced by which
2080
+ # consent.
2081
+ class ExplainDataAccessConsentScope
2082
+ include Google::Apis::Core::Hashable
2083
+
2084
+ # The accessor scope that describes who can access, for what purpose, in which
2085
+ # environment.
2086
+ # Corresponds to the JSON property `accessorScope`
2087
+ # @return [Google::Apis::HealthcareV1::ConsentAccessorScope]
2088
+ attr_accessor :accessor_scope
2089
+
2090
+ # Whether the current consent scope is permitted or denied access on the
2091
+ # requested resource.
2092
+ # Corresponds to the JSON property `decision`
2093
+ # @return [String]
2094
+ attr_accessor :decision
2095
+
2096
+ # Metadata of the consent resources that enforce the consent scope's access.
2097
+ # Corresponds to the JSON property `enforcingConsents`
2098
+ # @return [Array<Google::Apis::HealthcareV1::ExplainDataAccessConsentInfo>]
2099
+ attr_accessor :enforcing_consents
2100
+
2101
+ # Other consent scopes that created exceptions within this scope.
2102
+ # Corresponds to the JSON property `exceptions`
2103
+ # @return [Array<Google::Apis::HealthcareV1::ExplainDataAccessConsentScope>]
2104
+ attr_accessor :exceptions
2105
+
2106
+ def initialize(**args)
2107
+ update!(**args)
2108
+ end
2109
+
2110
+ # Update properties of this object
2111
+ def update!(**args)
2112
+ @accessor_scope = args[:accessor_scope] if args.key?(:accessor_scope)
2113
+ @decision = args[:decision] if args.key?(:decision)
2114
+ @enforcing_consents = args[:enforcing_consents] if args.key?(:enforcing_consents)
2115
+ @exceptions = args[:exceptions] if args.key?(:exceptions)
2116
+ end
2117
+ end
2118
+
2119
+ # List of consent scopes that are applicable to the explained access on a given
2120
+ # resource.
2121
+ class ExplainDataAccessResponse
2122
+ include Google::Apis::Core::Hashable
2123
+
2124
+ # List of applicable consent scopes. Sorted in order of actor such that scopes
2125
+ # belonging to the same actor will be adjacent to each other in the list.
2126
+ # Corresponds to the JSON property `consentScopes`
2127
+ # @return [Array<Google::Apis::HealthcareV1::ExplainDataAccessConsentScope>]
2128
+ attr_accessor :consent_scopes
2129
+
2130
+ # Warnings associated with this response. It inform user with exceeded scope
2131
+ # limit errors.
2132
+ # Corresponds to the JSON property `warning`
2133
+ # @return [String]
2134
+ attr_accessor :warning
2135
+
2136
+ def initialize(**args)
2137
+ update!(**args)
2138
+ end
2139
+
2140
+ # Update properties of this object
2141
+ def update!(**args)
2142
+ @consent_scopes = args[:consent_scopes] if args.key?(:consent_scopes)
2143
+ @warning = args[:warning] if args.key?(:warning)
2144
+ end
2145
+ end
2146
+
1630
2147
  # Exports data from the specified DICOM store. If a given resource, such as a
1631
2148
  # DICOM object with the same SOPInstance UID, already exists in the output, it
1632
2149
  # is overwritten with the version in the source dataset. Exported DICOM data
@@ -2034,6 +2551,12 @@ module Google
2034
2551
  # @return [String]
2035
2552
  attr_accessor :complex_data_type_reference_parsing
2036
2553
 
2554
+ # Configures whether to enforce consent for the FHIR store and which consent
2555
+ # enforcement version is being used.
2556
+ # Corresponds to the JSON property `consentConfig`
2557
+ # @return [Google::Apis::HealthcareV1::ConsentConfig]
2558
+ attr_accessor :consent_config
2559
+
2037
2560
  # Optional. If true, overrides the default search behavior for this FHIR store
2038
2561
  # to `handling=strict` which returns an error for unrecognized search parameters.
2039
2562
  # If false, uses the FHIR specification default `handling=lenient` which
@@ -2147,6 +2670,7 @@ module Google
2147
2670
  # Update properties of this object
2148
2671
  def update!(**args)
2149
2672
  @complex_data_type_reference_parsing = args[:complex_data_type_reference_parsing] if args.key?(:complex_data_type_reference_parsing)
2673
+ @consent_config = args[:consent_config] if args.key?(:consent_config)
2150
2674
  @default_search_handling_strict = args[:default_search_handling_strict] if args.key?(:default_search_handling_strict)
2151
2675
  @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity)
2152
2676
  @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning)
@@ -4059,6 +4583,27 @@ module Google
4059
4583
  end
4060
4584
  end
4061
4585
 
4586
+ # Apply consents given by a list of patients.
4587
+ class PatientScope
4588
+ include Google::Apis::Core::Hashable
4589
+
4590
+ # Optional. The list of patient IDs whose Consent resources will be enforced. At
4591
+ # most 10,000 patients can be specified. An empty list is equivalent to all
4592
+ # patients (meaning the entire FHIR store).
4593
+ # Corresponds to the JSON property `patientIds`
4594
+ # @return [Array<String>]
4595
+ attr_accessor :patient_ids
4596
+
4597
+ def initialize(**args)
4598
+ update!(**args)
4599
+ end
4600
+
4601
+ # Update properties of this object
4602
+ def update!(**args)
4603
+ @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
4604
+ end
4605
+ end
4606
+
4062
4607
  # An Identity and Access Management (IAM) policy, which specifies access
4063
4608
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
4064
4609
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -5362,6 +5907,36 @@ module Google
5362
5907
  end
5363
5908
  end
5364
5909
 
5910
+ # Apply consents given by patients whose most recent consent changes are in the
5911
+ # time range. Note that after identifying these patients, the server applies all
5912
+ # Consent resources given by those patients, not just the Consent resources
5913
+ # within the timestamp in the range.
5914
+ class TimeRange
5915
+ include Google::Apis::Core::Hashable
5916
+
5917
+ # Optional. The latest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:
5918
+ # zz If not specified, the system uses the time when ApplyConsents was called.
5919
+ # Corresponds to the JSON property `end`
5920
+ # @return [String]
5921
+ attr_accessor :end
5922
+
5923
+ # Optional. The earliest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+
5924
+ # zz:zz If not specified, the system uses the FHIR store creation time.
5925
+ # Corresponds to the JSON property `start`
5926
+ # @return [String]
5927
+ attr_accessor :start
5928
+
5929
+ def initialize(**args)
5930
+ update!(**args)
5931
+ end
5932
+
5933
+ # Update properties of this object
5934
+ def update!(**args)
5935
+ @end = args[:end] if args.key?(:end)
5936
+ @start = args[:start] if args.key?(:start)
5937
+ end
5938
+ end
5939
+
5365
5940
  # A type definition for some HL7v2 type (incl. Segments and Datatypes).
5366
5941
  class Type
5367
5942
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module HealthcareV1
18
18
  # Version of the google-apis-healthcare_v1 gem
19
- GEM_VERSION = "0.69.0"
19
+ GEM_VERSION = "0.70.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.15.1"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20241115"
25
+ REVISION = "20241205"
26
26
  end
27
27
  end
28
28
  end
@@ -22,12 +22,24 @@ module Google
22
22
  module Apis
23
23
  module HealthcareV1
24
24
 
25
+ class AccessDeterminationLogConfig
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
25
31
  class ActivateConsentRequest
26
32
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
33
 
28
34
  include Google::Apis::Core::JsonObjectSupport
29
35
  end
30
36
 
37
+ class AdminConsents
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
31
43
  class AnalyzeEntitiesRequest
32
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
33
45
 
@@ -40,6 +52,36 @@ module Google
40
52
  include Google::Apis::Core::JsonObjectSupport
41
53
  end
42
54
 
55
+ class ApplyAdminConsentsErrorDetail
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class ApplyAdminConsentsRequest
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class ApplyAdminConsentsResponse
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class ApplyConsentsRequest
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class ApplyConsentsResponse
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
43
85
  class ArchiveUserDataMappingRequest
44
86
  class Representation < Google::Apis::Core::JsonRepresentation; end
45
87
 
@@ -124,18 +166,42 @@ module Google
124
166
  include Google::Apis::Core::JsonObjectSupport
125
167
  end
126
168
 
169
+ class ConsentAccessorScope
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
127
175
  class ConsentArtifact
128
176
  class Representation < Google::Apis::Core::JsonRepresentation; end
129
177
 
130
178
  include Google::Apis::Core::JsonObjectSupport
131
179
  end
132
180
 
181
+ class ConsentConfig
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
187
+ class ConsentErrors
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
133
193
  class ConsentEvaluation
134
194
  class Representation < Google::Apis::Core::JsonRepresentation; end
135
195
 
136
196
  include Google::Apis::Core::JsonObjectSupport
137
197
  end
138
198
 
199
+ class ConsentHeaderHandling
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
139
205
  class ConsentList
140
206
  class Representation < Google::Apis::Core::JsonRepresentation; end
141
207
 
@@ -274,6 +340,24 @@ module Google
274
340
  include Google::Apis::Core::JsonObjectSupport
275
341
  end
276
342
 
343
+ class ExplainDataAccessConsentInfo
344
+ class Representation < Google::Apis::Core::JsonRepresentation; end
345
+
346
+ include Google::Apis::Core::JsonObjectSupport
347
+ end
348
+
349
+ class ExplainDataAccessConsentScope
350
+ class Representation < Google::Apis::Core::JsonRepresentation; end
351
+
352
+ include Google::Apis::Core::JsonObjectSupport
353
+ end
354
+
355
+ class ExplainDataAccessResponse
356
+ class Representation < Google::Apis::Core::JsonRepresentation; end
357
+
358
+ include Google::Apis::Core::JsonObjectSupport
359
+ end
360
+
277
361
  class ExportDicomDataRequest
278
362
  class Representation < Google::Apis::Core::JsonRepresentation; end
279
363
 
@@ -700,6 +784,12 @@ module Google
700
784
  include Google::Apis::Core::JsonObjectSupport
701
785
  end
702
786
 
787
+ class PatientScope
788
+ class Representation < Google::Apis::Core::JsonRepresentation; end
789
+
790
+ include Google::Apis::Core::JsonObjectSupport
791
+ end
792
+
703
793
  class Policy
704
794
  class Representation < Google::Apis::Core::JsonRepresentation; end
705
795
 
@@ -940,6 +1030,12 @@ module Google
940
1030
  include Google::Apis::Core::JsonObjectSupport
941
1031
  end
942
1032
 
1033
+ class TimeRange
1034
+ class Representation < Google::Apis::Core::JsonRepresentation; end
1035
+
1036
+ include Google::Apis::Core::JsonObjectSupport
1037
+ end
1038
+
943
1039
  class Type
944
1040
  class Representation < Google::Apis::Core::JsonRepresentation; end
945
1041
 
@@ -964,6 +1060,13 @@ module Google
964
1060
  include Google::Apis::Core::JsonObjectSupport
965
1061
  end
966
1062
 
1063
+ class AccessDeterminationLogConfig
1064
+ # @private
1065
+ class Representation < Google::Apis::Core::JsonRepresentation
1066
+ property :log_level, as: 'logLevel'
1067
+ end
1068
+ end
1069
+
967
1070
  class ActivateConsentRequest
968
1071
  # @private
969
1072
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -973,6 +1076,13 @@ module Google
973
1076
  end
974
1077
  end
975
1078
 
1079
+ class AdminConsents
1080
+ # @private
1081
+ class Representation < Google::Apis::Core::JsonRepresentation
1082
+ collection :names, as: 'names'
1083
+ end
1084
+ end
1085
+
976
1086
  class AnalyzeEntitiesRequest
977
1087
  # @private
978
1088
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -995,6 +1105,54 @@ module Google
995
1105
  end
996
1106
  end
997
1107
 
1108
+ class ApplyAdminConsentsErrorDetail
1109
+ # @private
1110
+ class Representation < Google::Apis::Core::JsonRepresentation
1111
+ collection :consent_errors, as: 'consentErrors', class: Google::Apis::HealthcareV1::ConsentErrors, decorator: Google::Apis::HealthcareV1::ConsentErrors::Representation
1112
+
1113
+ property :existing_operation_id, :numeric_string => true, as: 'existingOperationId'
1114
+ end
1115
+ end
1116
+
1117
+ class ApplyAdminConsentsRequest
1118
+ # @private
1119
+ class Representation < Google::Apis::Core::JsonRepresentation
1120
+ property :new_consents_list, as: 'newConsentsList', class: Google::Apis::HealthcareV1::AdminConsents, decorator: Google::Apis::HealthcareV1::AdminConsents::Representation
1121
+
1122
+ property :validate_only, as: 'validateOnly'
1123
+ end
1124
+ end
1125
+
1126
+ class ApplyAdminConsentsResponse
1127
+ # @private
1128
+ class Representation < Google::Apis::Core::JsonRepresentation
1129
+ property :affected_resources, :numeric_string => true, as: 'affectedResources'
1130
+ property :consent_apply_success, :numeric_string => true, as: 'consentApplySuccess'
1131
+ property :failed_resources, :numeric_string => true, as: 'failedResources'
1132
+ end
1133
+ end
1134
+
1135
+ class ApplyConsentsRequest
1136
+ # @private
1137
+ class Representation < Google::Apis::Core::JsonRepresentation
1138
+ property :patient_scope, as: 'patientScope', class: Google::Apis::HealthcareV1::PatientScope, decorator: Google::Apis::HealthcareV1::PatientScope::Representation
1139
+
1140
+ property :time_range, as: 'timeRange', class: Google::Apis::HealthcareV1::TimeRange, decorator: Google::Apis::HealthcareV1::TimeRange::Representation
1141
+
1142
+ property :validate_only, as: 'validateOnly'
1143
+ end
1144
+ end
1145
+
1146
+ class ApplyConsentsResponse
1147
+ # @private
1148
+ class Representation < Google::Apis::Core::JsonRepresentation
1149
+ property :affected_resources, :numeric_string => true, as: 'affectedResources'
1150
+ property :consent_apply_failure, :numeric_string => true, as: 'consentApplyFailure'
1151
+ property :consent_apply_success, :numeric_string => true, as: 'consentApplySuccess'
1152
+ property :failed_resources, :numeric_string => true, as: 'failedResources'
1153
+ end
1154
+ end
1155
+
998
1156
  class ArchiveUserDataMappingRequest
999
1157
  # @private
1000
1158
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1120,6 +1278,15 @@ module Google
1120
1278
  end
1121
1279
  end
1122
1280
 
1281
+ class ConsentAccessorScope
1282
+ # @private
1283
+ class Representation < Google::Apis::Core::JsonRepresentation
1284
+ property :actor, as: 'actor'
1285
+ property :environment, as: 'environment'
1286
+ property :purpose, as: 'purpose'
1287
+ end
1288
+ end
1289
+
1123
1290
  class ConsentArtifact
1124
1291
  # @private
1125
1292
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1138,6 +1305,28 @@ module Google
1138
1305
  end
1139
1306
  end
1140
1307
 
1308
+ class ConsentConfig
1309
+ # @private
1310
+ class Representation < Google::Apis::Core::JsonRepresentation
1311
+ property :access_determination_log_config, as: 'accessDeterminationLogConfig', class: Google::Apis::HealthcareV1::AccessDeterminationLogConfig, decorator: Google::Apis::HealthcareV1::AccessDeterminationLogConfig::Representation
1312
+
1313
+ property :access_enforced, as: 'accessEnforced'
1314
+ property :consent_header_handling, as: 'consentHeaderHandling', class: Google::Apis::HealthcareV1::ConsentHeaderHandling, decorator: Google::Apis::HealthcareV1::ConsentHeaderHandling::Representation
1315
+
1316
+ collection :enforced_admin_consents, as: 'enforcedAdminConsents'
1317
+ property :version, as: 'version'
1318
+ end
1319
+ end
1320
+
1321
+ class ConsentErrors
1322
+ # @private
1323
+ class Representation < Google::Apis::Core::JsonRepresentation
1324
+ property :error, as: 'error', class: Google::Apis::HealthcareV1::Status, decorator: Google::Apis::HealthcareV1::Status::Representation
1325
+
1326
+ property :name, as: 'name'
1327
+ end
1328
+ end
1329
+
1141
1330
  class ConsentEvaluation
1142
1331
  # @private
1143
1332
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1145,6 +1334,13 @@ module Google
1145
1334
  end
1146
1335
  end
1147
1336
 
1337
+ class ConsentHeaderHandling
1338
+ # @private
1339
+ class Representation < Google::Apis::Core::JsonRepresentation
1340
+ property :profile, as: 'profile'
1341
+ end
1342
+ end
1343
+
1148
1344
  class ConsentList
1149
1345
  # @private
1150
1346
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1379,6 +1575,42 @@ module Google
1379
1575
  end
1380
1576
  end
1381
1577
 
1578
+ class ExplainDataAccessConsentInfo
1579
+ # @private
1580
+ class Representation < Google::Apis::Core::JsonRepresentation
1581
+ collection :cascade_origins, as: 'cascadeOrigins'
1582
+ property :consent_resource, as: 'consentResource'
1583
+ property :enforcement_time, as: 'enforcementTime'
1584
+ collection :matching_accessor_scopes, as: 'matchingAccessorScopes', class: Google::Apis::HealthcareV1::ConsentAccessorScope, decorator: Google::Apis::HealthcareV1::ConsentAccessorScope::Representation
1585
+
1586
+ property :patient_consent_owner, as: 'patientConsentOwner'
1587
+ property :type, as: 'type'
1588
+ collection :variants, as: 'variants'
1589
+ end
1590
+ end
1591
+
1592
+ class ExplainDataAccessConsentScope
1593
+ # @private
1594
+ class Representation < Google::Apis::Core::JsonRepresentation
1595
+ property :accessor_scope, as: 'accessorScope', class: Google::Apis::HealthcareV1::ConsentAccessorScope, decorator: Google::Apis::HealthcareV1::ConsentAccessorScope::Representation
1596
+
1597
+ property :decision, as: 'decision'
1598
+ collection :enforcing_consents, as: 'enforcingConsents', class: Google::Apis::HealthcareV1::ExplainDataAccessConsentInfo, decorator: Google::Apis::HealthcareV1::ExplainDataAccessConsentInfo::Representation
1599
+
1600
+ collection :exceptions, as: 'exceptions', class: Google::Apis::HealthcareV1::ExplainDataAccessConsentScope, decorator: Google::Apis::HealthcareV1::ExplainDataAccessConsentScope::Representation
1601
+
1602
+ end
1603
+ end
1604
+
1605
+ class ExplainDataAccessResponse
1606
+ # @private
1607
+ class Representation < Google::Apis::Core::JsonRepresentation
1608
+ collection :consent_scopes, as: 'consentScopes', class: Google::Apis::HealthcareV1::ExplainDataAccessConsentScope, decorator: Google::Apis::HealthcareV1::ExplainDataAccessConsentScope::Representation
1609
+
1610
+ property :warning, as: 'warning'
1611
+ end
1612
+ end
1613
+
1382
1614
  class ExportDicomDataRequest
1383
1615
  # @private
1384
1616
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1480,6 +1712,8 @@ module Google
1480
1712
  # @private
1481
1713
  class Representation < Google::Apis::Core::JsonRepresentation
1482
1714
  property :complex_data_type_reference_parsing, as: 'complexDataTypeReferenceParsing'
1715
+ property :consent_config, as: 'consentConfig', class: Google::Apis::HealthcareV1::ConsentConfig, decorator: Google::Apis::HealthcareV1::ConsentConfig::Representation
1716
+
1483
1717
  property :default_search_handling_strict, as: 'defaultSearchHandlingStrict'
1484
1718
  property :disable_referential_integrity, as: 'disableReferentialIntegrity'
1485
1719
  property :disable_resource_versioning, as: 'disableResourceVersioning'
@@ -2031,6 +2265,13 @@ module Google
2031
2265
  end
2032
2266
  end
2033
2267
 
2268
+ class PatientScope
2269
+ # @private
2270
+ class Representation < Google::Apis::Core::JsonRepresentation
2271
+ collection :patient_ids, as: 'patientIds'
2272
+ end
2273
+ end
2274
+
2034
2275
  class Policy
2035
2276
  # @private
2036
2277
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -2388,6 +2629,14 @@ module Google
2388
2629
  end
2389
2630
  end
2390
2631
 
2632
+ class TimeRange
2633
+ # @private
2634
+ class Representation < Google::Apis::Core::JsonRepresentation
2635
+ property :end, as: 'end'
2636
+ property :start, as: 'start'
2637
+ end
2638
+ end
2639
+
2391
2640
  class Type
2392
2641
  # @private
2393
2642
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -3548,6 +3548,101 @@ module Google
3548
3548
  execute_or_queue_command(command, &block)
3549
3549
  end
3550
3550
 
3551
+ # Applies the admin Consent resources for the FHIR store and reindexes the
3552
+ # underlying resources in the FHIR store according to the aggregate consents.
3553
+ # This method also updates the `consent_config.enforced_admin_consents` field of
3554
+ # the FhirStore unless `validate_only=true` in ApplyAdminConsentsRequest. Any
3555
+ # admin Consent resource change after this operation execution (including
3556
+ # deletion) requires you to call ApplyAdminConsents again for the change to take
3557
+ # effect. This method returns an Operation that can be used to track the
3558
+ # progress of the resources that were reindexed, by calling GetOperation. Upon
3559
+ # completion, the ApplyAdminConsentsResponse additionally contains the number of
3560
+ # resources that were reindexed. If at least one Consent resource contains an
3561
+ # error or fails be be enforced for any reason, the method returns an error
3562
+ # instead of an Operation. No resources will be reindexed and the `
3563
+ # consent_config.enforced_admin_consents` field will be unchanged. To enforce a
3564
+ # consent check for data access, `consent_config.access_enforced` must be set to
3565
+ # true for the FhirStore.
3566
+ # @param [String] name
3567
+ # Required. The name of the FHIR store to enforce, in the format `projects/`
3568
+ # project_id`/locations/`location_id`/datasets/`dataset_id`/fhirStores/`
3569
+ # fhir_store_id``.
3570
+ # @param [Google::Apis::HealthcareV1::ApplyAdminConsentsRequest] apply_admin_consents_request_object
3571
+ # @param [String] fields
3572
+ # Selector specifying which fields to include in a partial response.
3573
+ # @param [String] quota_user
3574
+ # Available to use for quota purposes for server-side applications. Can be any
3575
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
3576
+ # @param [Google::Apis::RequestOptions] options
3577
+ # Request-specific options
3578
+ #
3579
+ # @yield [result, err] Result & error if block supplied
3580
+ # @yieldparam result [Google::Apis::HealthcareV1::Operation] parsed result object
3581
+ # @yieldparam err [StandardError] error object if request failed
3582
+ #
3583
+ # @return [Google::Apis::HealthcareV1::Operation]
3584
+ #
3585
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
3586
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
3587
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
3588
+ def apply_fhir_store_admin_consents(name, apply_admin_consents_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
3589
+ command = make_simple_command(:post, 'v1/{+name}:applyAdminConsents', options)
3590
+ command.request_representation = Google::Apis::HealthcareV1::ApplyAdminConsentsRequest::Representation
3591
+ command.request_object = apply_admin_consents_request_object
3592
+ command.response_representation = Google::Apis::HealthcareV1::Operation::Representation
3593
+ command.response_class = Google::Apis::HealthcareV1::Operation
3594
+ command.params['name'] = name unless name.nil?
3595
+ command.query['fields'] = fields unless fields.nil?
3596
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
3597
+ execute_or_queue_command(command, &block)
3598
+ end
3599
+
3600
+ # Apply the Consent resources for the FHIR store and reindex the underlying
3601
+ # resources in the FHIR store according to the aggregate consent. The aggregate
3602
+ # consent of the patient in scope in this request replaces any previous call of
3603
+ # this method. Any Consent resource change after this operation execution (
3604
+ # including deletion) requires you to call ApplyConsents again to have effect.
3605
+ # This method returns an Operation that can be used to track the progress of the
3606
+ # consent resources that were processed by calling GetOperation. Upon completion,
3607
+ # the ApplyConsentsResponse additionally contains the number of resources that
3608
+ # was reindexed. Errors are logged to Cloud Logging (see [Viewing error logs in
3609
+ # Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). To
3610
+ # enforce consent check for data access, `consent_config.access_enforced` must
3611
+ # be set to true for the FhirStore.
3612
+ # @param [String] name
3613
+ # Required. The name of the FHIR store to enforce, in the format `projects/`
3614
+ # project_id`/locations/`location_id`/datasets/`dataset_id`/fhirStores/`
3615
+ # fhir_store_id``.
3616
+ # @param [Google::Apis::HealthcareV1::ApplyConsentsRequest] apply_consents_request_object
3617
+ # @param [String] fields
3618
+ # Selector specifying which fields to include in a partial response.
3619
+ # @param [String] quota_user
3620
+ # Available to use for quota purposes for server-side applications. Can be any
3621
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
3622
+ # @param [Google::Apis::RequestOptions] options
3623
+ # Request-specific options
3624
+ #
3625
+ # @yield [result, err] Result & error if block supplied
3626
+ # @yieldparam result [Google::Apis::HealthcareV1::Operation] parsed result object
3627
+ # @yieldparam err [StandardError] error object if request failed
3628
+ #
3629
+ # @return [Google::Apis::HealthcareV1::Operation]
3630
+ #
3631
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
3632
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
3633
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
3634
+ def apply_fhir_store_consents(name, apply_consents_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
3635
+ command = make_simple_command(:post, 'v1/{+name}:applyConsents', options)
3636
+ command.request_representation = Google::Apis::HealthcareV1::ApplyConsentsRequest::Representation
3637
+ command.request_object = apply_consents_request_object
3638
+ command.response_representation = Google::Apis::HealthcareV1::Operation::Representation
3639
+ command.response_class = Google::Apis::HealthcareV1::Operation
3640
+ command.params['name'] = name unless name.nil?
3641
+ command.query['fields'] = fields unless fields.nil?
3642
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
3643
+ execute_or_queue_command(command, &block)
3644
+ end
3645
+
3551
3646
  # Creates a new FHIR store within the parent dataset.
3552
3647
  # @param [String] parent
3553
3648
  # Required. The name of the dataset this FHIR store belongs to.
@@ -3654,6 +3749,43 @@ module Google
3654
3749
  execute_or_queue_command(command, &block)
3655
3750
  end
3656
3751
 
3752
+ # Explains all the permitted/denied actor, purpose and environment for a given
3753
+ # resource.
3754
+ # @param [String] name
3755
+ # Required. The name of the FHIR store to enforce, in the format `projects/`
3756
+ # project_id`/locations/`location_id`/datasets/`dataset_id`/fhirStores/`
3757
+ # fhir_store_id``.
3758
+ # @param [String] resource_id
3759
+ # Required. The ID (``resourceType`/`id``) of the resource to explain data
3760
+ # access on.
3761
+ # @param [String] fields
3762
+ # Selector specifying which fields to include in a partial response.
3763
+ # @param [String] quota_user
3764
+ # Available to use for quota purposes for server-side applications. Can be any
3765
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
3766
+ # @param [Google::Apis::RequestOptions] options
3767
+ # Request-specific options
3768
+ #
3769
+ # @yield [result, err] Result & error if block supplied
3770
+ # @yieldparam result [Google::Apis::HealthcareV1::ExplainDataAccessResponse] parsed result object
3771
+ # @yieldparam err [StandardError] error object if request failed
3772
+ #
3773
+ # @return [Google::Apis::HealthcareV1::ExplainDataAccessResponse]
3774
+ #
3775
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
3776
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
3777
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
3778
+ def explain_project_location_dataset_fhir_store_data_access(name, resource_id: nil, fields: nil, quota_user: nil, options: nil, &block)
3779
+ command = make_simple_command(:get, 'v1/{+name}:explainDataAccess', options)
3780
+ command.response_representation = Google::Apis::HealthcareV1::ExplainDataAccessResponse::Representation
3781
+ command.response_class = Google::Apis::HealthcareV1::ExplainDataAccessResponse
3782
+ command.params['name'] = name unless name.nil?
3783
+ command.query['resourceId'] = resource_id unless resource_id.nil?
3784
+ command.query['fields'] = fields unless fields.nil?
3785
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
3786
+ execute_or_queue_command(command, &block)
3787
+ end
3788
+
3657
3789
  # Export resources from the FHIR store to the specified destination. This method
3658
3790
  # returns an Operation that can be used to track the status of the export by
3659
3791
  # calling GetOperation. Immediate fatal errors appear in the error field, errors
@@ -4308,6 +4440,89 @@ module Google
4308
4440
  execute_or_queue_command(command, &block)
4309
4441
  end
4310
4442
 
4443
+ # Returns the consent enforcement status of a single consent resource. On
4444
+ # success, the response body contains a JSON-encoded representation of a `
4445
+ # Parameters` (http://hl7.org/fhir/parameters.html) FHIR resource, containing
4446
+ # the current enforcement status. Does not support DSTU2.
4447
+ # @param [String] name
4448
+ # Required. The name of the consent resource to find enforcement status, in the
4449
+ # format `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
4450
+ # fhirStores/`fhir_store_id`/fhir/Consent/`consent_id``
4451
+ # @param [String] fields
4452
+ # Selector specifying which fields to include in a partial response.
4453
+ # @param [String] quota_user
4454
+ # Available to use for quota purposes for server-side applications. Can be any
4455
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
4456
+ # @param [Google::Apis::RequestOptions] options
4457
+ # Request-specific options
4458
+ #
4459
+ # @yield [result, err] Result & error if block supplied
4460
+ # @yieldparam result [Google::Apis::HealthcareV1::HttpBody] parsed result object
4461
+ # @yieldparam err [StandardError] error object if request failed
4462
+ #
4463
+ # @return [Google::Apis::HealthcareV1::HttpBody]
4464
+ #
4465
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
4466
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
4467
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
4468
+ def consent_project_location_dataset_fhir_store_fhir_enforcement_status(name, fields: nil, quota_user: nil, options: nil, &block)
4469
+ command = make_simple_command(:get, 'v1/{+name}/$consent-enforcement-status', options)
4470
+ command.response_representation = Google::Apis::HealthcareV1::HttpBody::Representation
4471
+ command.response_class = Google::Apis::HealthcareV1::HttpBody
4472
+ command.params['name'] = name unless name.nil?
4473
+ command.query['fields'] = fields unless fields.nil?
4474
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
4475
+ execute_or_queue_command(command, &block)
4476
+ end
4477
+
4478
+ # Returns the consent enforcement status of all consent resources for a patient.
4479
+ # On success, the response body contains a JSON-encoded representation of a
4480
+ # bundle of `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resources,
4481
+ # containing the current enforcement status for each consent resource of the
4482
+ # patient. Does not support DSTU2.
4483
+ # @param [String] name
4484
+ # Required. The name of the patient to find enforcement statuses, in the format `
4485
+ # projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/fhirStores/
4486
+ # `fhir_store_id`/fhir/Patient/`patient_id``
4487
+ # @param [Fixnum] _count
4488
+ # Optional. The maximum number of results on a page. If not specified, 100 is
4489
+ # used. May not be larger than 1000.
4490
+ # @param [String] _page_token
4491
+ # Optional. Used to retrieve the first, previous, next, or last page of consent
4492
+ # enforcement statuses when using pagination. Value should be set to the value
4493
+ # of `_page_token` set in next or previous page links' URLs. Next and previous
4494
+ # page are returned in the response bundle's links field, where `link.relation`
4495
+ # is "previous" or "next". Omit `_page_token` if no previous request has been
4496
+ # made.
4497
+ # @param [String] fields
4498
+ # Selector specifying which fields to include in a partial response.
4499
+ # @param [String] quota_user
4500
+ # Available to use for quota purposes for server-side applications. Can be any
4501
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
4502
+ # @param [Google::Apis::RequestOptions] options
4503
+ # Request-specific options
4504
+ #
4505
+ # @yield [result, err] Result & error if block supplied
4506
+ # @yieldparam result [Google::Apis::HealthcareV1::HttpBody] parsed result object
4507
+ # @yieldparam err [StandardError] error object if request failed
4508
+ #
4509
+ # @return [Google::Apis::HealthcareV1::HttpBody]
4510
+ #
4511
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
4512
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
4513
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
4514
+ def patient_project_location_dataset_fhir_store_fhir_consent_enforcement_status(name, _count: nil, _page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
4515
+ command = make_simple_command(:get, 'v1/{+name}/$consent-enforcement-status', options)
4516
+ command.response_representation = Google::Apis::HealthcareV1::HttpBody::Representation
4517
+ command.response_class = Google::Apis::HealthcareV1::HttpBody
4518
+ command.params['name'] = name unless name.nil?
4519
+ command.query['_count'] = _count unless _count.nil?
4520
+ command.query['_page_token'] = _page_token unless _page_token.nil?
4521
+ command.query['fields'] = fields unless fields.nil?
4522
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
4523
+ execute_or_queue_command(command, &block)
4524
+ end
4525
+
4311
4526
  # Retrieves a Patient resource and resources related to that patient. Implements
4312
4527
  # the FHIR extended operation Patient-everything ([DSTU2](http://hl7.org/
4313
4528
  # implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-healthcare_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.69.0
4
+ version: 0.70.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-04 00:00:00.000000000 Z
11
+ date: 2024-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -58,7 +58,7 @@ licenses:
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-healthcare_v1/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-healthcare_v1/v0.69.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-healthcare_v1/v0.70.0
62
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-healthcare_v1
63
63
  post_install_message:
64
64
  rdoc_options: []
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.5.22
78
+ rubygems_version: 3.5.23
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: Simple REST client for Cloud Healthcare API V1