google-apis-healthcare_v1 0.3.0 → 0.4.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: f2112a721d8dbd19788e6fc189e4092140fa1fe20d313f5a3b9d8ae45f29cc85
4
- data.tar.gz: c37c73cee2ffb42bdc4745093820c9a1393d29769278dec9678f426b3f62341d
3
+ metadata.gz: 873e38fbda7b5a970beb9a53ec5810e6b353ca16ee87a1b0ae3ac20bab9f734e
4
+ data.tar.gz: e8fda24e9f1376663d376a163fca18faad14213f10e0ec13f5ae969ddcbe0fda
5
5
  SHA512:
6
- metadata.gz: 2259a399f0b787adb36d3920ad1b9d0bc6042a3720834a67f29f86db5901ecffd5ec2a05aa0af6539a57334033f18304f73050a6f1bf0b83802a0bbbafe19a0f
7
- data.tar.gz: feb8924d5c6993b8e5f73f4383148e8c69526f3b47c08003ba0f889a91d547a4e5e101b7f24dc36b4cf22e6566d092ae4bf27d2e2c654fa0ac842ad757b4394a
6
+ metadata.gz: 79e89a8faef60ebfb0034fb4b1c0ab1fa6b94ccf037fb50795984ffe3ef5844671b2f6410d0ed93d9377029d1ec6989da9b83a1c4ba463cd0b953a0754e0b43f
7
+ data.tar.gz: 7d4f5e85d6e1104de72db6e9b2e8dfc1f063d74307058c1993050ba7c4136910b071e778bced27a6261f281bb731acfbe6183ff589821d359edd0ca3912e659a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-healthcare_v1
2
2
 
3
+ ### v0.4.0 (2021-03-04)
4
+
5
+ * Regenerated from discovery document revision 20210217
6
+
3
7
  ### v0.3.0 (2021-02-18)
4
8
 
5
9
  * Regenerated from discovery document revision 20210205
@@ -22,6 +22,159 @@ module Google
22
22
  module Apis
23
23
  module HealthcareV1
24
24
 
25
+ # Activates the latest revision of the specified Consent by committing a new
26
+ # revision with `state` updated to `ACTIVE`. If the latest revision of the given
27
+ # Consent is in the `ACTIVE` state, no new revision is committed. A
28
+ # FAILED_PRECONDITION error occurs if the latest revision of the given consent
29
+ # is in the `REJECTED` or `REVOKED` state.
30
+ class ActivateConsentRequest
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # Required. The resource name of the Consent artifact that contains
34
+ # documentation of the user's consent, of the form `projects/`project_id`/
35
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
36
+ # consentArtifacts/`consent_artifact_id``. If the draft Consent had a Consent
37
+ # artifact, this Consent artifact overwrites it.
38
+ # Corresponds to the JSON property `consentArtifact`
39
+ # @return [String]
40
+ attr_accessor :consent_artifact
41
+
42
+ # Timestamp in UTC of when this Consent is considered expired.
43
+ # Corresponds to the JSON property `expireTime`
44
+ # @return [String]
45
+ attr_accessor :expire_time
46
+
47
+ # The time to live for this Consent from when it is marked as active.
48
+ # Corresponds to the JSON property `ttl`
49
+ # @return [String]
50
+ attr_accessor :ttl
51
+
52
+ def initialize(**args)
53
+ update!(**args)
54
+ end
55
+
56
+ # Update properties of this object
57
+ def update!(**args)
58
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
59
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
60
+ @ttl = args[:ttl] if args.key?(:ttl)
61
+ end
62
+ end
63
+
64
+ # Archives the specified User data mapping.
65
+ class ArchiveUserDataMappingRequest
66
+ include Google::Apis::Core::Hashable
67
+
68
+ def initialize(**args)
69
+ update!(**args)
70
+ end
71
+
72
+ # Update properties of this object
73
+ def update!(**args)
74
+ end
75
+ end
76
+
77
+ # Archives the specified User data mapping.
78
+ class ArchiveUserDataMappingResponse
79
+ include Google::Apis::Core::Hashable
80
+
81
+ def initialize(**args)
82
+ update!(**args)
83
+ end
84
+
85
+ # Update properties of this object
86
+ def update!(**args)
87
+ end
88
+ end
89
+
90
+ # An attribute value for a Consent or User data mapping. Each Attribute must
91
+ # have a corresponding AttributeDefinition in the consent store that defines the
92
+ # default and allowed values.
93
+ class Attribute
94
+ include Google::Apis::Core::Hashable
95
+
96
+ # Indicates the name of an attribute defined in the consent store.
97
+ # Corresponds to the JSON property `attributeDefinitionId`
98
+ # @return [String]
99
+ attr_accessor :attribute_definition_id
100
+
101
+ # Required. The value of the attribute. Must be an acceptable value as defined
102
+ # in the consent store. For example, if the consent store defines "data type"
103
+ # with acceptable values "questionnaire" and "step-count", when the attribute
104
+ # name is data type, this field must contain one of those values.
105
+ # Corresponds to the JSON property `values`
106
+ # @return [Array<String>]
107
+ attr_accessor :values
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @attribute_definition_id = args[:attribute_definition_id] if args.key?(:attribute_definition_id)
116
+ @values = args[:values] if args.key?(:values)
117
+ end
118
+ end
119
+
120
+ # A client-defined consent attribute.
121
+ class AttributeDefinition
122
+ include Google::Apis::Core::Hashable
123
+
124
+ # Required. Possible values for the attribute. The number of allowed values must
125
+ # not exceed 100. An empty list is invalid. The list can only be expanded after
126
+ # creation.
127
+ # Corresponds to the JSON property `allowedValues`
128
+ # @return [Array<String>]
129
+ attr_accessor :allowed_values
130
+
131
+ # Required. The category of the attribute. The value of this field cannot be
132
+ # changed after creation.
133
+ # Corresponds to the JSON property `category`
134
+ # @return [String]
135
+ attr_accessor :category
136
+
137
+ # Optional. Default values of the attribute in Consents. If no default values
138
+ # are specified, it defaults to an empty value.
139
+ # Corresponds to the JSON property `consentDefaultValues`
140
+ # @return [Array<String>]
141
+ attr_accessor :consent_default_values
142
+
143
+ # Optional. Default value of the attribute in User data mappings. If no default
144
+ # value is specified, it defaults to an empty value. This field is only
145
+ # applicable to attributes of the category `RESOURCE`.
146
+ # Corresponds to the JSON property `dataMappingDefaultValue`
147
+ # @return [String]
148
+ attr_accessor :data_mapping_default_value
149
+
150
+ # Optional. A description of the attribute.
151
+ # Corresponds to the JSON property `description`
152
+ # @return [String]
153
+ attr_accessor :description
154
+
155
+ # Resource name of the Attribute definition, of the form `projects/`project_id`/
156
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
157
+ # attributeDefinitions/`attribute_definition_id``. Cannot be changed after
158
+ # creation.
159
+ # Corresponds to the JSON property `name`
160
+ # @return [String]
161
+ attr_accessor :name
162
+
163
+ def initialize(**args)
164
+ update!(**args)
165
+ end
166
+
167
+ # Update properties of this object
168
+ def update!(**args)
169
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
170
+ @category = args[:category] if args.key?(:category)
171
+ @consent_default_values = args[:consent_default_values] if args.key?(:consent_default_values)
172
+ @data_mapping_default_value = args[:data_mapping_default_value] if args.key?(:data_mapping_default_value)
173
+ @description = args[:description] if args.key?(:description)
174
+ @name = args[:name] if args.key?(:name)
175
+ end
176
+ end
177
+
25
178
  # Specifies the audit configuration for a service. The configuration determines
26
179
  # which permission types are logged, and what identities, if any, are exempted
27
180
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -196,6 +349,317 @@ module Google
196
349
  end
197
350
  end
198
351
 
352
+ # Checks if a particular data_id of a User data mapping in the given consent
353
+ # store is consented for a given use.
354
+ class CheckDataAccessRequest
355
+ include Google::Apis::Core::Hashable
356
+
357
+ # List of resource names of Consent resources.
358
+ # Corresponds to the JSON property `consentList`
359
+ # @return [Google::Apis::HealthcareV1::ConsentList]
360
+ attr_accessor :consent_list
361
+
362
+ # Required. The unique identifier of the resource to check access for. This
363
+ # identifier must correspond to a User data mapping in the given consent store.
364
+ # Corresponds to the JSON property `dataId`
365
+ # @return [String]
366
+ attr_accessor :data_id
367
+
368
+ # The values of request attributes associated with this access request.
369
+ # Corresponds to the JSON property `requestAttributes`
370
+ # @return [Hash<String,String>]
371
+ attr_accessor :request_attributes
372
+
373
+ # Optional. The view for CheckDataAccessResponse. If unspecified, defaults to `
374
+ # BASIC` and returns `consented` as `TRUE` or `FALSE`.
375
+ # Corresponds to the JSON property `responseView`
376
+ # @return [String]
377
+ attr_accessor :response_view
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @consent_list = args[:consent_list] if args.key?(:consent_list)
386
+ @data_id = args[:data_id] if args.key?(:data_id)
387
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
388
+ @response_view = args[:response_view] if args.key?(:response_view)
389
+ end
390
+ end
391
+
392
+ # Checks if a particular data_id of a User data mapping in the given consent
393
+ # store is consented for a given use.
394
+ class CheckDataAccessResponse
395
+ include Google::Apis::Core::Hashable
396
+
397
+ # The resource names of all evaluated Consents mapped to their evaluation.
398
+ # Corresponds to the JSON property `consentDetails`
399
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
400
+ attr_accessor :consent_details
401
+
402
+ # Whether the requested resource is consented for the given use.
403
+ # Corresponds to the JSON property `consented`
404
+ # @return [Boolean]
405
+ attr_accessor :consented
406
+ alias_method :consented?, :consented
407
+
408
+ def initialize(**args)
409
+ update!(**args)
410
+ end
411
+
412
+ # Update properties of this object
413
+ def update!(**args)
414
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
415
+ @consented = args[:consented] if args.key?(:consented)
416
+ end
417
+ end
418
+
419
+ # Represents a user's consent.
420
+ class Consent
421
+ include Google::Apis::Core::Hashable
422
+
423
+ # Required. The resource name of the Consent artifact that contains proof of the
424
+ # end user's consent, of the form `projects/`project_id`/locations/`location_id`/
425
+ # datasets/`dataset_id`/consentStores/`consent_store_id`/consentArtifacts/`
426
+ # consent_artifact_id``.
427
+ # Corresponds to the JSON property `consentArtifact`
428
+ # @return [String]
429
+ attr_accessor :consent_artifact
430
+
431
+ # Timestamp in UTC of when this Consent is considered expired.
432
+ # Corresponds to the JSON property `expireTime`
433
+ # @return [String]
434
+ attr_accessor :expire_time
435
+
436
+ # Optional. User-supplied key-value pairs used to organize Consent resources.
437
+ # Metadata keys must: - be between 1 and 63 characters long - have a UTF-8
438
+ # encoding of maximum 128 bytes - begin with a letter - consist of up to 63
439
+ # characters including lowercase letters, numeric characters, underscores, and
440
+ # dashes Metadata values must be: - be between 1 and 63 characters long - have a
441
+ # UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including
442
+ # lowercase letters, numeric characters, underscores, and dashes No more than 64
443
+ # metadata entries can be associated with a given consent.
444
+ # Corresponds to the JSON property `metadata`
445
+ # @return [Hash<String,String>]
446
+ attr_accessor :metadata
447
+
448
+ # Resource name of the Consent, of the form `projects/`project_id`/locations/`
449
+ # location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/consents/`
450
+ # consent_id``. Cannot be changed after creation.
451
+ # Corresponds to the JSON property `name`
452
+ # @return [String]
453
+ attr_accessor :name
454
+
455
+ # Optional. Represents a user's consent in terms of the resources that can be
456
+ # accessed and under what conditions.
457
+ # Corresponds to the JSON property `policies`
458
+ # @return [Array<Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentPolicy>]
459
+ attr_accessor :policies
460
+
461
+ # Output only. The timestamp that the revision was created.
462
+ # Corresponds to the JSON property `revisionCreateTime`
463
+ # @return [String]
464
+ attr_accessor :revision_create_time
465
+
466
+ # Output only. The revision ID of the Consent. The format is an 8-character
467
+ # hexadecimal string. Refer to a specific revision of a Consent by appending `@`
468
+ # revision_id`` to the Consent's resource name.
469
+ # Corresponds to the JSON property `revisionId`
470
+ # @return [String]
471
+ attr_accessor :revision_id
472
+
473
+ # Required. Indicates the current state of this Consent.
474
+ # Corresponds to the JSON property `state`
475
+ # @return [String]
476
+ attr_accessor :state
477
+
478
+ # Input only. The time to live for this Consent from when it is created.
479
+ # Corresponds to the JSON property `ttl`
480
+ # @return [String]
481
+ attr_accessor :ttl
482
+
483
+ # Required. User's UUID provided by the client.
484
+ # Corresponds to the JSON property `userId`
485
+ # @return [String]
486
+ attr_accessor :user_id
487
+
488
+ def initialize(**args)
489
+ update!(**args)
490
+ end
491
+
492
+ # Update properties of this object
493
+ def update!(**args)
494
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
495
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
496
+ @metadata = args[:metadata] if args.key?(:metadata)
497
+ @name = args[:name] if args.key?(:name)
498
+ @policies = args[:policies] if args.key?(:policies)
499
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
500
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
501
+ @state = args[:state] if args.key?(:state)
502
+ @ttl = args[:ttl] if args.key?(:ttl)
503
+ @user_id = args[:user_id] if args.key?(:user_id)
504
+ end
505
+ end
506
+
507
+ # Documentation of a user's consent.
508
+ class ConsentArtifact
509
+ include Google::Apis::Core::Hashable
510
+
511
+ # Optional. Screenshots, PDFs, or other binary information documenting the user'
512
+ # s consent.
513
+ # Corresponds to the JSON property `consentContentScreenshots`
514
+ # @return [Array<Google::Apis::HealthcareV1::Image>]
515
+ attr_accessor :consent_content_screenshots
516
+
517
+ # Optional. An string indicating the version of the consent information shown to
518
+ # the user.
519
+ # Corresponds to the JSON property `consentContentVersion`
520
+ # @return [String]
521
+ attr_accessor :consent_content_version
522
+
523
+ # User signature.
524
+ # Corresponds to the JSON property `guardianSignature`
525
+ # @return [Google::Apis::HealthcareV1::Signature]
526
+ attr_accessor :guardian_signature
527
+
528
+ # Optional. Metadata associated with the Consent artifact. For example, the
529
+ # consent locale or user agent version.
530
+ # Corresponds to the JSON property `metadata`
531
+ # @return [Hash<String,String>]
532
+ attr_accessor :metadata
533
+
534
+ # Resource name of the Consent artifact, of the form `projects/`project_id`/
535
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
536
+ # consentArtifacts/`consent_artifact_id``. Cannot be changed after creation.
537
+ # Corresponds to the JSON property `name`
538
+ # @return [String]
539
+ attr_accessor :name
540
+
541
+ # Required. User's UUID provided by the client.
542
+ # Corresponds to the JSON property `userId`
543
+ # @return [String]
544
+ attr_accessor :user_id
545
+
546
+ # User signature.
547
+ # Corresponds to the JSON property `userSignature`
548
+ # @return [Google::Apis::HealthcareV1::Signature]
549
+ attr_accessor :user_signature
550
+
551
+ # User signature.
552
+ # Corresponds to the JSON property `witnessSignature`
553
+ # @return [Google::Apis::HealthcareV1::Signature]
554
+ attr_accessor :witness_signature
555
+
556
+ def initialize(**args)
557
+ update!(**args)
558
+ end
559
+
560
+ # Update properties of this object
561
+ def update!(**args)
562
+ @consent_content_screenshots = args[:consent_content_screenshots] if args.key?(:consent_content_screenshots)
563
+ @consent_content_version = args[:consent_content_version] if args.key?(:consent_content_version)
564
+ @guardian_signature = args[:guardian_signature] if args.key?(:guardian_signature)
565
+ @metadata = args[:metadata] if args.key?(:metadata)
566
+ @name = args[:name] if args.key?(:name)
567
+ @user_id = args[:user_id] if args.key?(:user_id)
568
+ @user_signature = args[:user_signature] if args.key?(:user_signature)
569
+ @witness_signature = args[:witness_signature] if args.key?(:witness_signature)
570
+ end
571
+ end
572
+
573
+ # The detailed evaluation of a particular Consent.
574
+ class ConsentEvaluation
575
+ include Google::Apis::Core::Hashable
576
+
577
+ # The evaluation result.
578
+ # Corresponds to the JSON property `evaluationResult`
579
+ # @return [String]
580
+ attr_accessor :evaluation_result
581
+
582
+ def initialize(**args)
583
+ update!(**args)
584
+ end
585
+
586
+ # Update properties of this object
587
+ def update!(**args)
588
+ @evaluation_result = args[:evaluation_result] if args.key?(:evaluation_result)
589
+ end
590
+ end
591
+
592
+ # List of resource names of Consent resources.
593
+ class ConsentList
594
+ include Google::Apis::Core::Hashable
595
+
596
+ # The resource names of the Consents to evaluate against, of the form `projects/`
597
+ # project_id`/locations/`location_id`/datasets/`dataset_id`/consentStores/`
598
+ # consent_store_id`/consents/`consent_id``.
599
+ # Corresponds to the JSON property `consents`
600
+ # @return [Array<String>]
601
+ attr_accessor :consents
602
+
603
+ def initialize(**args)
604
+ update!(**args)
605
+ end
606
+
607
+ # Update properties of this object
608
+ def update!(**args)
609
+ @consents = args[:consents] if args.key?(:consents)
610
+ end
611
+ end
612
+
613
+ # Represents a consent store.
614
+ class ConsentStore
615
+ include Google::Apis::Core::Hashable
616
+
617
+ # Optional. Default time to live for Consents created in this store. Must be at
618
+ # least 24 hours. Updating this field will not affect the expiration time of
619
+ # existing consents.
620
+ # Corresponds to the JSON property `defaultConsentTtl`
621
+ # @return [String]
622
+ attr_accessor :default_consent_ttl
623
+
624
+ # Optional. If `true`, UpdateConsent creates the Consent if it does not already
625
+ # exist. If unspecified, defaults to `false`.
626
+ # Corresponds to the JSON property `enableConsentCreateOnUpdate`
627
+ # @return [Boolean]
628
+ attr_accessor :enable_consent_create_on_update
629
+ alias_method :enable_consent_create_on_update?, :enable_consent_create_on_update
630
+
631
+ # Optional. User-supplied key-value pairs used to organize consent stores. Label
632
+ # keys must be between 1 and 63 characters long, have a UTF-8 encoding of
633
+ # maximum 128 bytes, and must conform to the following PCRE regular expression: \
634
+ # p`Ll`\p`Lo``0,62`. Label values must be between 1 and 63 characters long, have
635
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
636
+ # regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`. No more than 64 labels can be
637
+ # associated with a given store. For more information: https://cloud.google.com/
638
+ # healthcare/docs/how-tos/labeling-resources
639
+ # Corresponds to the JSON property `labels`
640
+ # @return [Hash<String,String>]
641
+ attr_accessor :labels
642
+
643
+ # Resource name of the consent store, of the form `projects/`project_id`/
644
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id``
645
+ # . Cannot be changed after creation.
646
+ # Corresponds to the JSON property `name`
647
+ # @return [String]
648
+ attr_accessor :name
649
+
650
+ def initialize(**args)
651
+ update!(**args)
652
+ end
653
+
654
+ # Update properties of this object
655
+ def update!(**args)
656
+ @default_consent_ttl = args[:default_consent_ttl] if args.key?(:default_consent_ttl)
657
+ @enable_consent_create_on_update = args[:enable_consent_create_on_update] if args.key?(:enable_consent_create_on_update)
658
+ @labels = args[:labels] if args.key?(:labels)
659
+ @name = args[:name] if args.key?(:name)
660
+ end
661
+ end
662
+
199
663
  # Creates a new message.
200
664
  class CreateMessageRequest
201
665
  include Google::Apis::Core::Hashable
@@ -581,6 +1045,94 @@ module Google
581
1045
  end
582
1046
  end
583
1047
 
1048
+ # Evaluate a user's Consents for all matching User data mappings. Note: User
1049
+ # data mappings are indexed asynchronously, causing slight delays between the
1050
+ # time mappings are created or updated and when they are included in
1051
+ # EvaluateUserConsents results.
1052
+ class EvaluateUserConsentsRequest
1053
+ include Google::Apis::Core::Hashable
1054
+
1055
+ # List of resource names of Consent resources.
1056
+ # Corresponds to the JSON property `consentList`
1057
+ # @return [Google::Apis::HealthcareV1::ConsentList]
1058
+ attr_accessor :consent_list
1059
+
1060
+ # Optional. Limit on the number of User data mappings to return in a single
1061
+ # response. If not specified, 100 is used. May not be larger than 1000.
1062
+ # Corresponds to the JSON property `pageSize`
1063
+ # @return [Fixnum]
1064
+ attr_accessor :page_size
1065
+
1066
+ # Optional. Token to retrieve the next page of results, or empty to get the
1067
+ # first page.
1068
+ # Corresponds to the JSON property `pageToken`
1069
+ # @return [String]
1070
+ attr_accessor :page_token
1071
+
1072
+ # Required. The values of request attributes associated with this access request.
1073
+ # Corresponds to the JSON property `requestAttributes`
1074
+ # @return [Hash<String,String>]
1075
+ attr_accessor :request_attributes
1076
+
1077
+ # Optional. The values of resource attributes associated with the resources
1078
+ # being requested. If no values are specified, then all resources are queried.
1079
+ # Corresponds to the JSON property `resourceAttributes`
1080
+ # @return [Hash<String,String>]
1081
+ attr_accessor :resource_attributes
1082
+
1083
+ # Optional. The view for EvaluateUserConsentsResponse. If unspecified, defaults
1084
+ # to `BASIC` and returns `consented` as `TRUE` or `FALSE`.
1085
+ # Corresponds to the JSON property `responseView`
1086
+ # @return [String]
1087
+ attr_accessor :response_view
1088
+
1089
+ # Required. User ID to evaluate consents for.
1090
+ # Corresponds to the JSON property `userId`
1091
+ # @return [String]
1092
+ attr_accessor :user_id
1093
+
1094
+ def initialize(**args)
1095
+ update!(**args)
1096
+ end
1097
+
1098
+ # Update properties of this object
1099
+ def update!(**args)
1100
+ @consent_list = args[:consent_list] if args.key?(:consent_list)
1101
+ @page_size = args[:page_size] if args.key?(:page_size)
1102
+ @page_token = args[:page_token] if args.key?(:page_token)
1103
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
1104
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
1105
+ @response_view = args[:response_view] if args.key?(:response_view)
1106
+ @user_id = args[:user_id] if args.key?(:user_id)
1107
+ end
1108
+ end
1109
+
1110
+ #
1111
+ class EvaluateUserConsentsResponse
1112
+ include Google::Apis::Core::Hashable
1113
+
1114
+ # Token to retrieve the next page of results, or empty if there are no more
1115
+ # results in the list. This token is valid for 72 hours after it is created.
1116
+ # Corresponds to the JSON property `nextPageToken`
1117
+ # @return [String]
1118
+ attr_accessor :next_page_token
1119
+
1120
+ # The consent evaluation result for each `data_id`.
1121
+ # Corresponds to the JSON property `results`
1122
+ # @return [Array<Google::Apis::HealthcareV1::Result>]
1123
+ attr_accessor :results
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1132
+ @results = args[:results] if args.key?(:results)
1133
+ end
1134
+ end
1135
+
584
1136
  # Exports data from the specified DICOM store. If a given resource, such as a
585
1137
  # DICOM object with the same SOPInstance UID, already exists in the output, it
586
1138
  # is overwritten with the version in the source dataset. Exported DICOM data
@@ -862,6 +1414,52 @@ module Google
862
1414
  end
863
1415
  end
864
1416
 
1417
+ # A (sub) field of a type.
1418
+ class Field
1419
+ include Google::Apis::Core::Hashable
1420
+
1421
+ # The maximum number of times this field can be repeated. 0 or -1 means
1422
+ # unbounded.
1423
+ # Corresponds to the JSON property `maxOccurs`
1424
+ # @return [Fixnum]
1425
+ attr_accessor :max_occurs
1426
+
1427
+ # The minimum number of times this field must be present/repeated.
1428
+ # Corresponds to the JSON property `minOccurs`
1429
+ # @return [Fixnum]
1430
+ attr_accessor :min_occurs
1431
+
1432
+ # The name of the field. For example, "PID-1" or just "1".
1433
+ # Corresponds to the JSON property `name`
1434
+ # @return [String]
1435
+ attr_accessor :name
1436
+
1437
+ # The HL7v2 table this field refers to. For example, PID-15 (Patient's Primary
1438
+ # Language) usually refers to table "0296".
1439
+ # Corresponds to the JSON property `table`
1440
+ # @return [String]
1441
+ attr_accessor :table
1442
+
1443
+ # The type of this field. A Type with this name must be defined in an
1444
+ # Hl7TypesConfig.
1445
+ # Corresponds to the JSON property `type`
1446
+ # @return [String]
1447
+ attr_accessor :type
1448
+
1449
+ def initialize(**args)
1450
+ update!(**args)
1451
+ end
1452
+
1453
+ # Update properties of this object
1454
+ def update!(**args)
1455
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
1456
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
1457
+ @name = args[:name] if args.key?(:name)
1458
+ @table = args[:table] if args.key?(:table)
1459
+ @type = args[:type] if args.key?(:type)
1460
+ end
1461
+ end
1462
+
865
1463
  # Specifies FHIR paths to match, and how to handle de-identification of matching
866
1464
  # fields.
867
1465
  class FieldMetadata
@@ -895,6 +1493,71 @@ module Google
895
1493
  end
896
1494
  end
897
1495
 
1496
+ # The Cloud Storage location for export.
1497
+ class GoogleCloudHealthcareV1ConsentGcsDestination
1498
+ include Google::Apis::Core::Hashable
1499
+
1500
+ # URI for a Cloud Storage directory where the server writes result files, in the
1501
+ # format `gs://`bucket-id`/`path/to/destination/dir``. If there is no trailing
1502
+ # slash, the service appends one when composing the object path. The user is
1503
+ # responsible for creating the Cloud Storage bucket and directory referenced in `
1504
+ # uri_prefix`.
1505
+ # Corresponds to the JSON property `uriPrefix`
1506
+ # @return [String]
1507
+ attr_accessor :uri_prefix
1508
+
1509
+ def initialize(**args)
1510
+ update!(**args)
1511
+ end
1512
+
1513
+ # Update properties of this object
1514
+ def update!(**args)
1515
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
1516
+ end
1517
+ end
1518
+
1519
+ # Represents a user's consent in terms of the resources that can be accessed and
1520
+ # under what conditions.
1521
+ class GoogleCloudHealthcareV1ConsentPolicy
1522
+ include Google::Apis::Core::Hashable
1523
+
1524
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
1525
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
1526
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
1527
+ # "Summary size limit" description: "Determines if a summary is less than 100
1528
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
1529
+ # Requestor is owner" description: "Determines if requestor is the document
1530
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
1531
+ # Logic): title: "Public documents" description: "Determine whether the document
1532
+ # should be publicly visible" expression: "document.type != 'private' &&
1533
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
1534
+ # string" description: "Create a notification string with a timestamp."
1535
+ # expression: "'New message received at ' + string(document.create_time)" The
1536
+ # exact variables and functions that may be referenced within an expression are
1537
+ # determined by the service that evaluates it. See the service documentation for
1538
+ # additional information.
1539
+ # Corresponds to the JSON property `authorizationRule`
1540
+ # @return [Google::Apis::HealthcareV1::Expr]
1541
+ attr_accessor :authorization_rule
1542
+
1543
+ # The resources that this policy applies to. A resource is a match if it matches
1544
+ # all the attributes listed here. If empty, this policy applies to all User data
1545
+ # mappings for the given user.
1546
+ # Corresponds to the JSON property `resourceAttributes`
1547
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
1548
+ attr_accessor :resource_attributes
1549
+
1550
+ def initialize(**args)
1551
+ update!(**args)
1552
+ end
1553
+
1554
+ # Update properties of this object
1555
+ def update!(**args)
1556
+ @authorization_rule = args[:authorization_rule] if args.key?(:authorization_rule)
1557
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
1558
+ end
1559
+ end
1560
+
898
1561
  # Contains a summary of the DeidentifyDicomStore operation.
899
1562
  class GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary
900
1563
  include Google::Apis::Core::Hashable
@@ -1125,6 +1788,86 @@ module Google
1125
1788
  end
1126
1789
  end
1127
1790
 
1791
+ # Construct representing a logical group or a segment.
1792
+ class GroupOrSegment
1793
+ include Google::Apis::Core::Hashable
1794
+
1795
+ # An HL7v2 logical group construct.
1796
+ # Corresponds to the JSON property `group`
1797
+ # @return [Google::Apis::HealthcareV1::SchemaGroup]
1798
+ attr_accessor :group
1799
+
1800
+ # An HL7v2 Segment.
1801
+ # Corresponds to the JSON property `segment`
1802
+ # @return [Google::Apis::HealthcareV1::SchemaSegment]
1803
+ attr_accessor :segment
1804
+
1805
+ def initialize(**args)
1806
+ update!(**args)
1807
+ end
1808
+
1809
+ # Update properties of this object
1810
+ def update!(**args)
1811
+ @group = args[:group] if args.key?(:group)
1812
+ @segment = args[:segment] if args.key?(:segment)
1813
+ end
1814
+ end
1815
+
1816
+ # Root config message for HL7v2 schema. This contains a schema structure of
1817
+ # groups and segments, and filters that determine which messages to apply the
1818
+ # schema structure to.
1819
+ class Hl7SchemaConfig
1820
+ include Google::Apis::Core::Hashable
1821
+
1822
+ # Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to
1823
+ # its schema configuration root group.
1824
+ # Corresponds to the JSON property `messageSchemaConfigs`
1825
+ # @return [Hash<String,Google::Apis::HealthcareV1::SchemaGroup>]
1826
+ attr_accessor :message_schema_configs
1827
+
1828
+ # Each VersionSource is tested and only if they all match is the schema used for
1829
+ # the message.
1830
+ # Corresponds to the JSON property `version`
1831
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1832
+ attr_accessor :version
1833
+
1834
+ def initialize(**args)
1835
+ update!(**args)
1836
+ end
1837
+
1838
+ # Update properties of this object
1839
+ def update!(**args)
1840
+ @message_schema_configs = args[:message_schema_configs] if args.key?(:message_schema_configs)
1841
+ @version = args[:version] if args.key?(:version)
1842
+ end
1843
+ end
1844
+
1845
+ # Root config for HL7v2 datatype definitions for a specific HL7v2 version.
1846
+ class Hl7TypesConfig
1847
+ include Google::Apis::Core::Hashable
1848
+
1849
+ # The HL7v2 type definitions.
1850
+ # Corresponds to the JSON property `type`
1851
+ # @return [Array<Google::Apis::HealthcareV1::Type>]
1852
+ attr_accessor :type
1853
+
1854
+ # The version selectors that this config applies to. A message must match ALL
1855
+ # version sources to apply.
1856
+ # Corresponds to the JSON property `version`
1857
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1858
+ attr_accessor :version
1859
+
1860
+ def initialize(**args)
1861
+ update!(**args)
1862
+ end
1863
+
1864
+ # Update properties of this object
1865
+ def update!(**args)
1866
+ @type = args[:type] if args.key?(:type)
1867
+ @version = args[:version] if args.key?(:version)
1868
+ end
1869
+ end
1870
+
1128
1871
  # Specifies where and whether to send notifications upon changes to a data store.
1129
1872
  class Hl7V2NotificationConfig
1130
1873
  include Google::Apis::Core::Hashable
@@ -1309,6 +2052,40 @@ module Google
1309
2052
  end
1310
2053
  end
1311
2054
 
2055
+ # Raw bytes representing consent artifact content.
2056
+ class Image
2057
+ include Google::Apis::Core::Hashable
2058
+
2059
+ # Input only. Points to a Cloud Storage URI containing the consent artifact
2060
+ # content. The URI must be in the following format: `gs://`bucket_id`/`object_id`
2061
+ # `. The Cloud Healthcare API service account must have the `roles/storage.
2062
+ # objectViewer` Cloud IAM role for this Cloud Storage location. The consent
2063
+ # artifact content at this URI is copied to a Cloud Storage location managed by
2064
+ # the Cloud Healthcare API. Responses to fetching requests return the consent
2065
+ # artifact content in raw_bytes.
2066
+ # Corresponds to the JSON property `gcsUri`
2067
+ # @return [String]
2068
+ attr_accessor :gcs_uri
2069
+
2070
+ # Consent artifact content represented as a stream of bytes. This field is
2071
+ # populated when returned in GetConsentArtifact response, but not included in
2072
+ # CreateConsentArtifact and ListConsentArtifact response.
2073
+ # Corresponds to the JSON property `rawBytes`
2074
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2075
+ # @return [String]
2076
+ attr_accessor :raw_bytes
2077
+
2078
+ def initialize(**args)
2079
+ update!(**args)
2080
+ end
2081
+
2082
+ # Update properties of this object
2083
+ def update!(**args)
2084
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
2085
+ @raw_bytes = args[:raw_bytes] if args.key?(:raw_bytes)
2086
+ end
2087
+ end
2088
+
1312
2089
  # Specifies how to handle de-identification of image pixels.
1313
2090
  class ImageConfig
1314
2091
  include Google::Apis::Core::Hashable
@@ -1506,6 +2283,141 @@ module Google
1506
2283
  end
1507
2284
  end
1508
2285
 
2286
+ #
2287
+ class ListAttributeDefinitionsResponse
2288
+ include Google::Apis::Core::Hashable
2289
+
2290
+ # The returned Attribute definitions. The maximum number of attributes returned
2291
+ # is determined by the value of page_size in the ListAttributeDefinitionsRequest.
2292
+ # Corresponds to the JSON property `attributeDefinitions`
2293
+ # @return [Array<Google::Apis::HealthcareV1::AttributeDefinition>]
2294
+ attr_accessor :attribute_definitions
2295
+
2296
+ # Token to retrieve the next page of results, or empty if there are no more
2297
+ # results in the list.
2298
+ # Corresponds to the JSON property `nextPageToken`
2299
+ # @return [String]
2300
+ attr_accessor :next_page_token
2301
+
2302
+ def initialize(**args)
2303
+ update!(**args)
2304
+ end
2305
+
2306
+ # Update properties of this object
2307
+ def update!(**args)
2308
+ @attribute_definitions = args[:attribute_definitions] if args.key?(:attribute_definitions)
2309
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2310
+ end
2311
+ end
2312
+
2313
+ #
2314
+ class ListConsentArtifactsResponse
2315
+ include Google::Apis::Core::Hashable
2316
+
2317
+ # The returned Consent artifacts. The maximum number of artifacts returned is
2318
+ # determined by the value of page_size in the ListConsentArtifactsRequest.
2319
+ # Corresponds to the JSON property `consentArtifacts`
2320
+ # @return [Array<Google::Apis::HealthcareV1::ConsentArtifact>]
2321
+ attr_accessor :consent_artifacts
2322
+
2323
+ # Token to retrieve the next page of results, or empty if there are no more
2324
+ # results in the list.
2325
+ # Corresponds to the JSON property `nextPageToken`
2326
+ # @return [String]
2327
+ attr_accessor :next_page_token
2328
+
2329
+ def initialize(**args)
2330
+ update!(**args)
2331
+ end
2332
+
2333
+ # Update properties of this object
2334
+ def update!(**args)
2335
+ @consent_artifacts = args[:consent_artifacts] if args.key?(:consent_artifacts)
2336
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2337
+ end
2338
+ end
2339
+
2340
+ #
2341
+ class ListConsentRevisionsResponse
2342
+ include Google::Apis::Core::Hashable
2343
+
2344
+ # The returned Consent revisions. The maximum number of revisions returned is
2345
+ # determined by the value of `page_size` in the ListConsentRevisionsRequest.
2346
+ # Corresponds to the JSON property `consents`
2347
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2348
+ attr_accessor :consents
2349
+
2350
+ # Token to retrieve the next page of results, or empty if there are no more
2351
+ # results in the list.
2352
+ # Corresponds to the JSON property `nextPageToken`
2353
+ # @return [String]
2354
+ attr_accessor :next_page_token
2355
+
2356
+ def initialize(**args)
2357
+ update!(**args)
2358
+ end
2359
+
2360
+ # Update properties of this object
2361
+ def update!(**args)
2362
+ @consents = args[:consents] if args.key?(:consents)
2363
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2364
+ end
2365
+ end
2366
+
2367
+ #
2368
+ class ListConsentStoresResponse
2369
+ include Google::Apis::Core::Hashable
2370
+
2371
+ # The returned consent stores. The maximum number of stores returned is
2372
+ # determined by the value of page_size in the ListConsentStoresRequest.
2373
+ # Corresponds to the JSON property `consentStores`
2374
+ # @return [Array<Google::Apis::HealthcareV1::ConsentStore>]
2375
+ attr_accessor :consent_stores
2376
+
2377
+ # Token to retrieve the next page of results, or empty if there are no more
2378
+ # results in the list.
2379
+ # Corresponds to the JSON property `nextPageToken`
2380
+ # @return [String]
2381
+ attr_accessor :next_page_token
2382
+
2383
+ def initialize(**args)
2384
+ update!(**args)
2385
+ end
2386
+
2387
+ # Update properties of this object
2388
+ def update!(**args)
2389
+ @consent_stores = args[:consent_stores] if args.key?(:consent_stores)
2390
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2391
+ end
2392
+ end
2393
+
2394
+ #
2395
+ class ListConsentsResponse
2396
+ include Google::Apis::Core::Hashable
2397
+
2398
+ # The returned Consents. The maximum number of Consents returned is determined
2399
+ # by the value of page_size in the ListConsentsRequest.
2400
+ # Corresponds to the JSON property `consents`
2401
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2402
+ attr_accessor :consents
2403
+
2404
+ # Token to retrieve the next page of results, or empty if there are no more
2405
+ # results in the list.
2406
+ # Corresponds to the JSON property `nextPageToken`
2407
+ # @return [String]
2408
+ attr_accessor :next_page_token
2409
+
2410
+ def initialize(**args)
2411
+ update!(**args)
2412
+ end
2413
+
2414
+ # Update properties of this object
2415
+ def update!(**args)
2416
+ @consents = args[:consents] if args.key?(:consents)
2417
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2418
+ end
2419
+ end
2420
+
1509
2421
  # Lists the available datasets.
1510
2422
  class ListDatasetsResponse
1511
2423
  include Google::Apis::Core::Hashable
@@ -1690,6 +2602,34 @@ module Google
1690
2602
  end
1691
2603
  end
1692
2604
 
2605
+ #
2606
+ class ListUserDataMappingsResponse
2607
+ include Google::Apis::Core::Hashable
2608
+
2609
+ # Token to retrieve the next page of results, or empty if there are no more
2610
+ # results in the list.
2611
+ # Corresponds to the JSON property `nextPageToken`
2612
+ # @return [String]
2613
+ attr_accessor :next_page_token
2614
+
2615
+ # The returned User data mappings. The maximum number of User data mappings
2616
+ # returned is determined by the value of page_size in the
2617
+ # ListUserDataMappingsRequest.
2618
+ # Corresponds to the JSON property `userDataMappings`
2619
+ # @return [Array<Google::Apis::HealthcareV1::UserDataMapping>]
2620
+ attr_accessor :user_data_mappings
2621
+
2622
+ def initialize(**args)
2623
+ update!(**args)
2624
+ end
2625
+
2626
+ # Update properties of this object
2627
+ def update!(**args)
2628
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2629
+ @user_data_mappings = args[:user_data_mappings] if args.key?(:user_data_mappings)
2630
+ end
2631
+ end
2632
+
1693
2633
  # A resource that represents Google Cloud Platform location.
1694
2634
  class Location
1695
2635
  include Google::Apis::Core::Hashable
@@ -1786,6 +2726,12 @@ module Google
1786
2726
  # @return [Array<Google::Apis::HealthcareV1::PatientId>]
1787
2727
  attr_accessor :patient_ids
1788
2728
 
2729
+ # The content of an HL7v2 message in a structured format as specified by a
2730
+ # schema.
2731
+ # Corresponds to the JSON property `schematizedData`
2732
+ # @return [Google::Apis::HealthcareV1::SchematizedData]
2733
+ attr_accessor :schematized_data
2734
+
1789
2735
  # The hospital that this message came from. MSH-4.
1790
2736
  # Corresponds to the JSON property `sendFacility`
1791
2737
  # @return [String]
@@ -1809,6 +2755,7 @@ module Google
1809
2755
  @name = args[:name] if args.key?(:name)
1810
2756
  @parsed_data = args[:parsed_data] if args.key?(:parsed_data)
1811
2757
  @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
2758
+ @schematized_data = args[:schematized_data] if args.key?(:schematized_data)
1812
2759
  @send_facility = args[:send_facility] if args.key?(:send_facility)
1813
2760
  @send_time = args[:send_time] if args.key?(:send_time)
1814
2761
  end
@@ -1992,6 +2939,11 @@ module Google
1992
2939
  attr_accessor :allow_null_header
1993
2940
  alias_method :allow_null_header?, :allow_null_header
1994
2941
 
2942
+ # A schema package contains a set of schemas and type definitions.
2943
+ # Corresponds to the JSON property `schema`
2944
+ # @return [Google::Apis::HealthcareV1::SchemaPackage]
2945
+ attr_accessor :schema
2946
+
1995
2947
  # Byte(s) to use as the segment terminator. If this is unset, '\r' is used as
1996
2948
  # segment terminator, matching the HL7 version 2 specification.
1997
2949
  # Corresponds to the JSON property `segmentTerminator`
@@ -2006,6 +2958,7 @@ module Google
2006
2958
  # Update properties of this object
2007
2959
  def update!(**args)
2008
2960
  @allow_null_header = args[:allow_null_header] if args.key?(:allow_null_header)
2961
+ @schema = args[:schema] if args.key?(:schema)
2009
2962
  @segment_terminator = args[:segment_terminator] if args.key?(:segment_terminator)
2010
2963
  end
2011
2964
  end
@@ -2156,6 +3109,43 @@ module Google
2156
3109
  end
2157
3110
  end
2158
3111
 
3112
+ # Queries all data_ids that are consented for a given use in the given consent
3113
+ # store and writes them to a specified destination. The returned Operation
3114
+ # includes a progress counter for the number of User data mappings processed.
3115
+ # Errors are logged to Cloud Logging (see [Viewing logs] (/healthcare/docs/how-
3116
+ # tos/logging) and [QueryAccessibleData] for a sample log entry).
3117
+ class QueryAccessibleDataRequest
3118
+ include Google::Apis::Core::Hashable
3119
+
3120
+ # The Cloud Storage location for export.
3121
+ # Corresponds to the JSON property `gcsDestination`
3122
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentGcsDestination]
3123
+ attr_accessor :gcs_destination
3124
+
3125
+ # The values of request attributes associated with this access request.
3126
+ # Corresponds to the JSON property `requestAttributes`
3127
+ # @return [Hash<String,String>]
3128
+ attr_accessor :request_attributes
3129
+
3130
+ # Optional. The values of resource attributes associated with the type of
3131
+ # resources being requested. If no values are specified, then all resource types
3132
+ # are included in the output.
3133
+ # Corresponds to the JSON property `resourceAttributes`
3134
+ # @return [Hash<String,String>]
3135
+ attr_accessor :resource_attributes
3136
+
3137
+ def initialize(**args)
3138
+ update!(**args)
3139
+ end
3140
+
3141
+ # Update properties of this object
3142
+ def update!(**args)
3143
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
3144
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
3145
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3146
+ end
3147
+ end
3148
+
2159
3149
  # Define how to redact sensitive values. Default behaviour is erase. For example,
2160
3150
  # "My name is Jane." becomes "My name is ."
2161
3151
  class RedactConfig
@@ -2170,6 +3160,31 @@ module Google
2170
3160
  end
2171
3161
  end
2172
3162
 
3163
+ # Rejects the latest revision of the specified Consent by committing a new
3164
+ # revision with `state` updated to `REJECTED`. If the latest revision of the
3165
+ # given Consent is in the `REJECTED` state, no new revision is committed.
3166
+ class RejectConsentRequest
3167
+ include Google::Apis::Core::Hashable
3168
+
3169
+ # Optional. The resource name of the Consent artifact that contains
3170
+ # documentation of the user's rejection of the draft Consent, of the form `
3171
+ # projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
3172
+ # consentStores/`consent_store_id`/consentArtifacts/`consent_artifact_id``. If
3173
+ # the draft Consent had a Consent artifact, this Consent artifact overwrites it.
3174
+ # Corresponds to the JSON property `consentArtifact`
3175
+ # @return [String]
3176
+ attr_accessor :consent_artifact
3177
+
3178
+ def initialize(**args)
3179
+ update!(**args)
3180
+ end
3181
+
3182
+ # Update properties of this object
3183
+ def update!(**args)
3184
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3185
+ end
3186
+ end
3187
+
2173
3188
  # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the
2174
3189
  # name of the info_type. For example, "My name is Jane" becomes "My name is [
2175
3190
  # PERSON_NAME]." The TRANSFORM action is equivalent to redacting.
@@ -2204,6 +3219,62 @@ module Google
2204
3219
  end
2205
3220
  end
2206
3221
 
3222
+ # The consent evaluation result for a single `data_id`.
3223
+ class Result
3224
+ include Google::Apis::Core::Hashable
3225
+
3226
+ # The resource names of all evaluated Consents mapped to their evaluation.
3227
+ # Corresponds to the JSON property `consentDetails`
3228
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
3229
+ attr_accessor :consent_details
3230
+
3231
+ # Whether the resource is consented for the given use.
3232
+ # Corresponds to the JSON property `consented`
3233
+ # @return [Boolean]
3234
+ attr_accessor :consented
3235
+ alias_method :consented?, :consented
3236
+
3237
+ # The unique identifier of the evaluated resource.
3238
+ # Corresponds to the JSON property `dataId`
3239
+ # @return [String]
3240
+ attr_accessor :data_id
3241
+
3242
+ def initialize(**args)
3243
+ update!(**args)
3244
+ end
3245
+
3246
+ # Update properties of this object
3247
+ def update!(**args)
3248
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
3249
+ @consented = args[:consented] if args.key?(:consented)
3250
+ @data_id = args[:data_id] if args.key?(:data_id)
3251
+ end
3252
+ end
3253
+
3254
+ # Revokes the latest revision of the specified Consent by committing a new
3255
+ # revision with `state` updated to `REVOKED`. If the latest revision of the
3256
+ # given Consent is in the `REVOKED` state, no new revision is committed.
3257
+ class RevokeConsentRequest
3258
+ include Google::Apis::Core::Hashable
3259
+
3260
+ # Optional. The resource name of the Consent artifact that contains proof of the
3261
+ # user's revocation of the Consent, of the form `projects/`project_id`/locations/
3262
+ # `location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3263
+ # consentArtifacts/`consent_artifact_id``.
3264
+ # Corresponds to the JSON property `consentArtifact`
3265
+ # @return [String]
3266
+ attr_accessor :consent_artifact
3267
+
3268
+ def initialize(**args)
3269
+ update!(**args)
3270
+ end
3271
+
3272
+ # Update properties of this object
3273
+ def update!(**args)
3274
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3275
+ end
3276
+ end
3277
+
2207
3278
  # Configuration for the FHIR BigQuery schema. Determines how the server
2208
3279
  # generates the schema.
2209
3280
  class SchemaConfig
@@ -2234,6 +3305,156 @@ module Google
2234
3305
  end
2235
3306
  end
2236
3307
 
3308
+ # An HL7v2 logical group construct.
3309
+ class SchemaGroup
3310
+ include Google::Apis::Core::Hashable
3311
+
3312
+ # True indicates that this is a choice group, meaning that only one of its
3313
+ # segments can exist in a given message.
3314
+ # Corresponds to the JSON property `choice`
3315
+ # @return [Boolean]
3316
+ attr_accessor :choice
3317
+ alias_method :choice?, :choice
3318
+
3319
+ # The maximum number of times this group can be repeated. 0 or -1 means
3320
+ # unbounded.
3321
+ # Corresponds to the JSON property `maxOccurs`
3322
+ # @return [Fixnum]
3323
+ attr_accessor :max_occurs
3324
+
3325
+ # Nested groups and/or segments.
3326
+ # Corresponds to the JSON property `members`
3327
+ # @return [Array<Google::Apis::HealthcareV1::GroupOrSegment>]
3328
+ attr_accessor :members
3329
+
3330
+ # The minimum number of times this group must be present/repeated.
3331
+ # Corresponds to the JSON property `minOccurs`
3332
+ # @return [Fixnum]
3333
+ attr_accessor :min_occurs
3334
+
3335
+ # The name of this group. For example, "ORDER_DETAIL".
3336
+ # Corresponds to the JSON property `name`
3337
+ # @return [String]
3338
+ attr_accessor :name
3339
+
3340
+ def initialize(**args)
3341
+ update!(**args)
3342
+ end
3343
+
3344
+ # Update properties of this object
3345
+ def update!(**args)
3346
+ @choice = args[:choice] if args.key?(:choice)
3347
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3348
+ @members = args[:members] if args.key?(:members)
3349
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3350
+ @name = args[:name] if args.key?(:name)
3351
+ end
3352
+ end
3353
+
3354
+ # A schema package contains a set of schemas and type definitions.
3355
+ class SchemaPackage
3356
+ include Google::Apis::Core::Hashable
3357
+
3358
+ # Flag to ignore all min_occurs restrictions in the schema. This means that
3359
+ # incoming messages can omit any group, segment, field, component, or
3360
+ # subcomponent.
3361
+ # Corresponds to the JSON property `ignoreMinOccurs`
3362
+ # @return [Boolean]
3363
+ attr_accessor :ignore_min_occurs
3364
+ alias_method :ignore_min_occurs?, :ignore_min_occurs
3365
+
3366
+ # Schema configs that are layered based on their VersionSources that match the
3367
+ # incoming message. Schema configs present in higher indices override those in
3368
+ # lower indices with the same message type and trigger event if their
3369
+ # VersionSources all match an incoming message.
3370
+ # Corresponds to the JSON property `schemas`
3371
+ # @return [Array<Google::Apis::HealthcareV1::Hl7SchemaConfig>]
3372
+ attr_accessor :schemas
3373
+
3374
+ # Determines how messages that fail to parse are handled.
3375
+ # Corresponds to the JSON property `schematizedParsingType`
3376
+ # @return [String]
3377
+ attr_accessor :schematized_parsing_type
3378
+
3379
+ # Schema type definitions that are layered based on their VersionSources that
3380
+ # match the incoming message. Type definitions present in higher indices
3381
+ # override those in lower indices with the same type name if their
3382
+ # VersionSources all match an incoming message.
3383
+ # Corresponds to the JSON property `types`
3384
+ # @return [Array<Google::Apis::HealthcareV1::Hl7TypesConfig>]
3385
+ attr_accessor :types
3386
+
3387
+ def initialize(**args)
3388
+ update!(**args)
3389
+ end
3390
+
3391
+ # Update properties of this object
3392
+ def update!(**args)
3393
+ @ignore_min_occurs = args[:ignore_min_occurs] if args.key?(:ignore_min_occurs)
3394
+ @schemas = args[:schemas] if args.key?(:schemas)
3395
+ @schematized_parsing_type = args[:schematized_parsing_type] if args.key?(:schematized_parsing_type)
3396
+ @types = args[:types] if args.key?(:types)
3397
+ end
3398
+ end
3399
+
3400
+ # An HL7v2 Segment.
3401
+ class SchemaSegment
3402
+ include Google::Apis::Core::Hashable
3403
+
3404
+ # The maximum number of times this segment can be present in this group. 0 or -1
3405
+ # means unbounded.
3406
+ # Corresponds to the JSON property `maxOccurs`
3407
+ # @return [Fixnum]
3408
+ attr_accessor :max_occurs
3409
+
3410
+ # The minimum number of times this segment can be present in this group.
3411
+ # Corresponds to the JSON property `minOccurs`
3412
+ # @return [Fixnum]
3413
+ attr_accessor :min_occurs
3414
+
3415
+ # The Segment type. For example, "PID".
3416
+ # Corresponds to the JSON property `type`
3417
+ # @return [String]
3418
+ attr_accessor :type
3419
+
3420
+ def initialize(**args)
3421
+ update!(**args)
3422
+ end
3423
+
3424
+ # Update properties of this object
3425
+ def update!(**args)
3426
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3427
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3428
+ @type = args[:type] if args.key?(:type)
3429
+ end
3430
+ end
3431
+
3432
+ # The content of an HL7v2 message in a structured format as specified by a
3433
+ # schema.
3434
+ class SchematizedData
3435
+ include Google::Apis::Core::Hashable
3436
+
3437
+ # JSON output of the parser.
3438
+ # Corresponds to the JSON property `data`
3439
+ # @return [String]
3440
+ attr_accessor :data
3441
+
3442
+ # The error output of the parser.
3443
+ # Corresponds to the JSON property `error`
3444
+ # @return [String]
3445
+ attr_accessor :error
3446
+
3447
+ def initialize(**args)
3448
+ update!(**args)
3449
+ end
3450
+
3451
+ # Update properties of this object
3452
+ def update!(**args)
3453
+ @data = args[:data] if args.key?(:data)
3454
+ @error = args[:error] if args.key?(:error)
3455
+ end
3456
+ end
3457
+
2237
3458
  # Request to search the resources in the specified FHIR store.
2238
3459
  class SearchResourcesRequest
2239
3460
  include Google::Apis::Core::Hashable
@@ -2350,6 +3571,44 @@ module Google
2350
3571
  end
2351
3572
  end
2352
3573
 
3574
+ # User signature.
3575
+ class Signature
3576
+ include Google::Apis::Core::Hashable
3577
+
3578
+ # Raw bytes representing consent artifact content.
3579
+ # Corresponds to the JSON property `image`
3580
+ # @return [Google::Apis::HealthcareV1::Image]
3581
+ attr_accessor :image
3582
+
3583
+ # Optional. Metadata associated with the user's signature. For example, the user'
3584
+ # s name or the user's title.
3585
+ # Corresponds to the JSON property `metadata`
3586
+ # @return [Hash<String,String>]
3587
+ attr_accessor :metadata
3588
+
3589
+ # Optional. Timestamp of the signature.
3590
+ # Corresponds to the JSON property `signatureTime`
3591
+ # @return [String]
3592
+ attr_accessor :signature_time
3593
+
3594
+ # Required. User's UUID provided by the client.
3595
+ # Corresponds to the JSON property `userId`
3596
+ # @return [String]
3597
+ attr_accessor :user_id
3598
+
3599
+ def initialize(**args)
3600
+ update!(**args)
3601
+ end
3602
+
3603
+ # Update properties of this object
3604
+ def update!(**args)
3605
+ @image = args[:image] if args.key?(:image)
3606
+ @metadata = args[:metadata] if args.key?(:metadata)
3607
+ @signature_time = args[:signature_time] if args.key?(:signature_time)
3608
+ @user_id = args[:user_id] if args.key?(:user_id)
3609
+ end
3610
+ end
3611
+
2353
3612
  # The `Status` type defines a logical error model that is suitable for different
2354
3613
  # programming environments, including REST APIs and RPC APIs. It is used by [
2355
3614
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2497,6 +3756,119 @@ module Google
2497
3756
  @transformations = args[:transformations] if args.key?(:transformations)
2498
3757
  end
2499
3758
  end
3759
+
3760
+ # A type definition for some HL7v2 type (incl. Segments and Datatypes).
3761
+ class Type
3762
+ include Google::Apis::Core::Hashable
3763
+
3764
+ # The (sub) fields this type has (if not primitive).
3765
+ # Corresponds to the JSON property `fields`
3766
+ # @return [Array<Google::Apis::HealthcareV1::Field>]
3767
+ attr_accessor :fields
3768
+
3769
+ # The name of this type. This would be the segment or datatype name. For example,
3770
+ # "PID" or "XPN".
3771
+ # Corresponds to the JSON property `name`
3772
+ # @return [String]
3773
+ attr_accessor :name
3774
+
3775
+ # If this is a primitive type then this field is the type of the primitive For
3776
+ # example, STRING. Leave unspecified for composite types.
3777
+ # Corresponds to the JSON property `primitive`
3778
+ # @return [String]
3779
+ attr_accessor :primitive
3780
+
3781
+ def initialize(**args)
3782
+ update!(**args)
3783
+ end
3784
+
3785
+ # Update properties of this object
3786
+ def update!(**args)
3787
+ @fields = args[:fields] if args.key?(:fields)
3788
+ @name = args[:name] if args.key?(:name)
3789
+ @primitive = args[:primitive] if args.key?(:primitive)
3790
+ end
3791
+ end
3792
+
3793
+ # Maps a resource to the associated user and Attributes.
3794
+ class UserDataMapping
3795
+ include Google::Apis::Core::Hashable
3796
+
3797
+ # Output only. Indicates the time when this mapping was archived.
3798
+ # Corresponds to the JSON property `archiveTime`
3799
+ # @return [String]
3800
+ attr_accessor :archive_time
3801
+
3802
+ # Output only. Indicates whether this mapping is archived.
3803
+ # Corresponds to the JSON property `archived`
3804
+ # @return [Boolean]
3805
+ attr_accessor :archived
3806
+ alias_method :archived?, :archived
3807
+
3808
+ # Required. A unique identifier for the mapped resource.
3809
+ # Corresponds to the JSON property `dataId`
3810
+ # @return [String]
3811
+ attr_accessor :data_id
3812
+
3813
+ # Resource name of the User data mapping, of the form `projects/`project_id`/
3814
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3815
+ # userDataMappings/`user_data_mapping_id``.
3816
+ # Corresponds to the JSON property `name`
3817
+ # @return [String]
3818
+ attr_accessor :name
3819
+
3820
+ # Attributes of the resource. Only explicitly set attributes are displayed here.
3821
+ # Attribute definitions with defaults set implicitly apply to these User data
3822
+ # mappings. Attributes listed here must be single valued, that is, exactly one
3823
+ # value is specified for the field "values" in each Attribute.
3824
+ # Corresponds to the JSON property `resourceAttributes`
3825
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
3826
+ attr_accessor :resource_attributes
3827
+
3828
+ # Required. User's UUID provided by the client.
3829
+ # Corresponds to the JSON property `userId`
3830
+ # @return [String]
3831
+ attr_accessor :user_id
3832
+
3833
+ def initialize(**args)
3834
+ update!(**args)
3835
+ end
3836
+
3837
+ # Update properties of this object
3838
+ def update!(**args)
3839
+ @archive_time = args[:archive_time] if args.key?(:archive_time)
3840
+ @archived = args[:archived] if args.key?(:archived)
3841
+ @data_id = args[:data_id] if args.key?(:data_id)
3842
+ @name = args[:name] if args.key?(:name)
3843
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3844
+ @user_id = args[:user_id] if args.key?(:user_id)
3845
+ end
3846
+ end
3847
+
3848
+ # Describes a selector for extracting and matching an MSH field to a value.
3849
+ class VersionSource
3850
+ include Google::Apis::Core::Hashable
3851
+
3852
+ # The field to extract from the MSH segment. For example, "3.1" or "18[1].1".
3853
+ # Corresponds to the JSON property `mshField`
3854
+ # @return [String]
3855
+ attr_accessor :msh_field
3856
+
3857
+ # The value to match with the field. For example, "My Application Name" or "2.3".
3858
+ # Corresponds to the JSON property `value`
3859
+ # @return [String]
3860
+ attr_accessor :value
3861
+
3862
+ def initialize(**args)
3863
+ update!(**args)
3864
+ end
3865
+
3866
+ # Update properties of this object
3867
+ def update!(**args)
3868
+ @msh_field = args[:msh_field] if args.key?(:msh_field)
3869
+ @value = args[:value] if args.key?(:value)
3870
+ end
3871
+ end
2500
3872
  end
2501
3873
  end
2502
3874
  end