google-apis-healthcare_v1 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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