google-apis-healthcare_v1 0.2.0 → 0.7.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: 882ca8b6c1b528bea416ee217eccaed9044075d981943d62300091ef021f5d7b
4
- data.tar.gz: b00068b7de55daec0c0b73905fa8a16f93635eaf3ddcd97e59c2ecb17acfbd22
3
+ metadata.gz: a5d2de19d2f03d14a571d579d2fd64382fb71b121fda04857436496f89139d2d
4
+ data.tar.gz: d3be5e1a1b99ae250508847a48722132e71b56263b856bd9657170ceb32b9a66
5
5
  SHA512:
6
- metadata.gz: 705943a8d282166cb2af839dabe8965aa6b09fd3b4bbb5e25060fd5bc528413da00d1a2a8df5f6779f0888613d3b5064c74e6c1f88e7956f1daf393e28f4737d
7
- data.tar.gz: 604d81c5e22cde796ec9fa6928fbf1b28f8c66131448680d2694d53c9ee7af1eb7475c79e7db544cda477106aeb777ecd8f4bc0e4e2da0e6066ec16d0ed015e9
6
+ metadata.gz: 6a3fa460765b1e2cb1656cbaa6de947dfbf11ff975eaa226257c5c58411ec9184ed4067297b3248846fcd78755fe23a5f71c308b2bf870fd5cb72064da6a8e21
7
+ data.tar.gz: 9844381d74be7e36d39971af52b7e5267b593d5393271cdc207ac7bb3921a0eb2c4900ea5a9dd3f82cdd7f3e72dd682a0cf748a73ade2b7d65c5b059d8737ea7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-healthcare_v1
2
2
 
3
+ ### v0.7.0 (2021-04-28)
4
+
5
+ * Regenerated from discovery document revision 20210414
6
+
7
+ ### v0.6.0 (2021-03-26)
8
+
9
+ * Regenerated from discovery document revision 20210317
10
+
11
+ ### v0.5.0 (2021-03-13)
12
+
13
+ * Regenerated from discovery document revision 20210301
14
+ * Regenerated using generator version 0.2.0
15
+
16
+ ### v0.4.0 (2021-03-04)
17
+
18
+ * Regenerated from discovery document revision 20210217
19
+
20
+ ### v0.3.0 (2021-02-18)
21
+
22
+ * Regenerated from discovery document revision 20210205
23
+
3
24
  ### v0.2.0 (2021-02-05)
4
25
 
5
26
  * Regenerated from discovery document revision 20210203
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
  end
35
35
  end
@@ -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
@@ -564,20 +1028,108 @@ module Google
564
1028
  end
565
1029
  end
566
1030
 
567
- # A generic empty message that you can re-use to avoid defining duplicated empty
568
- # messages in your APIs. A typical example is to use it as the request or the
569
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
570
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
571
- # `Empty` is empty JSON object ````.
572
- class Empty
1031
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1032
+ # messages in your APIs. A typical example is to use it as the request or the
1033
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1034
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
1035
+ # `Empty` is empty JSON object ````.
1036
+ class Empty
1037
+ include Google::Apis::Core::Hashable
1038
+
1039
+ def initialize(**args)
1040
+ update!(**args)
1041
+ end
1042
+
1043
+ # Update properties of this object
1044
+ def update!(**args)
1045
+ end
1046
+ end
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
573
1112
  include Google::Apis::Core::Hashable
574
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
+
575
1125
  def initialize(**args)
576
1126
  update!(**args)
577
1127
  end
578
1128
 
579
1129
  # Update properties of this object
580
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)
581
1133
  end
582
1134
  end
583
1135
 
@@ -761,6 +1313,17 @@ module Google
761
1313
  class FhirStore
762
1314
  include Google::Apis::Core::Hashable
763
1315
 
1316
+ # If true, overrides the default search behavior for this FHIR store to `
1317
+ # handling=strict` which returns an error for unrecognized search parameters. If
1318
+ # false, uses the FHIR specification default `handling=lenient` which ignores
1319
+ # unrecognized search parameters. The handling can always be changed from the
1320
+ # default on an individual API call by setting the HTTP header `Prefer: handling=
1321
+ # strict` or `Prefer: handling=lenient`.
1322
+ # Corresponds to the JSON property `defaultSearchHandlingStrict`
1323
+ # @return [Boolean]
1324
+ attr_accessor :default_search_handling_strict
1325
+ alias_method :default_search_handling_strict?, :default_search_handling_strict
1326
+
764
1327
  # Immutable. Whether to disable referential integrity in this FHIR store. This
765
1328
  # field is immutable after FHIR store creation. The default value is false,
766
1329
  # meaning that the API enforces referential integrity and fails the requests
@@ -793,8 +1356,8 @@ module Google
793
1356
  # resource return errors. It is strongly advised not to include or encode any
794
1357
  # sensitive data such as patient identifiers in client-specified resource IDs.
795
1358
  # Those IDs are part of the FHIR resource path recorded in Cloud audit logs and
796
- # Cloud Pub/Sub notifications. Those IDs can also be contained in reference
797
- # fields within other resources.
1359
+ # Pub/Sub notifications. Those IDs can also be contained in reference fields
1360
+ # within other resources.
798
1361
  # Corresponds to the JSON property `enableUpdateCreate`
799
1362
  # @return [Boolean]
800
1363
  attr_accessor :enable_update_create
@@ -851,6 +1414,7 @@ module Google
851
1414
 
852
1415
  # Update properties of this object
853
1416
  def update!(**args)
1417
+ @default_search_handling_strict = args[:default_search_handling_strict] if args.key?(:default_search_handling_strict)
854
1418
  @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity)
855
1419
  @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning)
856
1420
  @enable_update_create = args[:enable_update_create] if args.key?(:enable_update_create)
@@ -862,6 +1426,52 @@ module Google
862
1426
  end
863
1427
  end
864
1428
 
1429
+ # A (sub) field of a type.
1430
+ class Field
1431
+ include Google::Apis::Core::Hashable
1432
+
1433
+ # The maximum number of times this field can be repeated. 0 or -1 means
1434
+ # unbounded.
1435
+ # Corresponds to the JSON property `maxOccurs`
1436
+ # @return [Fixnum]
1437
+ attr_accessor :max_occurs
1438
+
1439
+ # The minimum number of times this field must be present/repeated.
1440
+ # Corresponds to the JSON property `minOccurs`
1441
+ # @return [Fixnum]
1442
+ attr_accessor :min_occurs
1443
+
1444
+ # The name of the field. For example, "PID-1" or just "1".
1445
+ # Corresponds to the JSON property `name`
1446
+ # @return [String]
1447
+ attr_accessor :name
1448
+
1449
+ # The HL7v2 table this field refers to. For example, PID-15 (Patient's Primary
1450
+ # Language) usually refers to table "0296".
1451
+ # Corresponds to the JSON property `table`
1452
+ # @return [String]
1453
+ attr_accessor :table
1454
+
1455
+ # The type of this field. A Type with this name must be defined in an
1456
+ # Hl7TypesConfig.
1457
+ # Corresponds to the JSON property `type`
1458
+ # @return [String]
1459
+ attr_accessor :type
1460
+
1461
+ def initialize(**args)
1462
+ update!(**args)
1463
+ end
1464
+
1465
+ # Update properties of this object
1466
+ def update!(**args)
1467
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
1468
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
1469
+ @name = args[:name] if args.key?(:name)
1470
+ @table = args[:table] if args.key?(:table)
1471
+ @type = args[:type] if args.key?(:type)
1472
+ end
1473
+ end
1474
+
865
1475
  # Specifies FHIR paths to match, and how to handle de-identification of matching
866
1476
  # fields.
867
1477
  class FieldMetadata
@@ -895,6 +1505,71 @@ module Google
895
1505
  end
896
1506
  end
897
1507
 
1508
+ # The Cloud Storage location for export.
1509
+ class GoogleCloudHealthcareV1ConsentGcsDestination
1510
+ include Google::Apis::Core::Hashable
1511
+
1512
+ # URI for a Cloud Storage directory where the server writes result files, in the
1513
+ # format `gs://`bucket-id`/`path/to/destination/dir``. If there is no trailing
1514
+ # slash, the service appends one when composing the object path. The user is
1515
+ # responsible for creating the Cloud Storage bucket and directory referenced in `
1516
+ # uri_prefix`.
1517
+ # Corresponds to the JSON property `uriPrefix`
1518
+ # @return [String]
1519
+ attr_accessor :uri_prefix
1520
+
1521
+ def initialize(**args)
1522
+ update!(**args)
1523
+ end
1524
+
1525
+ # Update properties of this object
1526
+ def update!(**args)
1527
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
1528
+ end
1529
+ end
1530
+
1531
+ # Represents a user's consent in terms of the resources that can be accessed and
1532
+ # under what conditions.
1533
+ class GoogleCloudHealthcareV1ConsentPolicy
1534
+ include Google::Apis::Core::Hashable
1535
+
1536
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
1537
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
1538
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
1539
+ # "Summary size limit" description: "Determines if a summary is less than 100
1540
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
1541
+ # Requestor is owner" description: "Determines if requestor is the document
1542
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
1543
+ # Logic): title: "Public documents" description: "Determine whether the document
1544
+ # should be publicly visible" expression: "document.type != 'private' &&
1545
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
1546
+ # string" description: "Create a notification string with a timestamp."
1547
+ # expression: "'New message received at ' + string(document.create_time)" The
1548
+ # exact variables and functions that may be referenced within an expression are
1549
+ # determined by the service that evaluates it. See the service documentation for
1550
+ # additional information.
1551
+ # Corresponds to the JSON property `authorizationRule`
1552
+ # @return [Google::Apis::HealthcareV1::Expr]
1553
+ attr_accessor :authorization_rule
1554
+
1555
+ # The resources that this policy applies to. A resource is a match if it matches
1556
+ # all the attributes listed here. If empty, this policy applies to all User data
1557
+ # mappings for the given user.
1558
+ # Corresponds to the JSON property `resourceAttributes`
1559
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
1560
+ attr_accessor :resource_attributes
1561
+
1562
+ def initialize(**args)
1563
+ update!(**args)
1564
+ end
1565
+
1566
+ # Update properties of this object
1567
+ def update!(**args)
1568
+ @authorization_rule = args[:authorization_rule] if args.key?(:authorization_rule)
1569
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
1570
+ end
1571
+ end
1572
+
898
1573
  # Contains a summary of the DeidentifyDicomStore operation.
899
1574
  class GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary
900
1575
  include Google::Apis::Core::Hashable
@@ -1004,14 +1679,15 @@ module Google
1004
1679
  # Points to a Cloud Storage URI containing file(s) with content only. The URI
1005
1680
  # must be in the following format: `gs://`bucket_id`/`object_id``. The URI can
1006
1681
  # include wildcards in `object_id` and thus identify multiple files. Supported
1007
- # wildcards: '*' to match 0 or more non-separator characters '**' to match 0 or
1008
- # more characters (including separators). Must be used at the end of a path and
1009
- # with no other wildcards in the path. Can also be used with a file extension (
1010
- # such as .dcm), which imports all files with the extension in the specified
1011
- # directory and its sub-directories. For example, `gs://my-bucket/my-directory/**
1012
- # .dcm` imports all files with .dcm extensions in `my-directory/` and its sub-
1013
- # directories. '?' to match 1 character All other URI formats are invalid. Files
1014
- # matching the wildcard are expected to contain content only, no metadata.
1682
+ # wildcards: * '*' to match 0 or more non-separator characters * '**' to match 0
1683
+ # or more characters (including separators). Must be used at the end of a path
1684
+ # and with no other wildcards in the path. Can also be used with a file
1685
+ # extension (such as .dcm), which imports all files with the extension in the
1686
+ # specified directory and its sub-directories. For example, `gs://my-bucket/my-
1687
+ # directory/**.dcm` imports all files with .dcm extensions in `my-directory/`
1688
+ # and its sub-directories. * '?' to match 1 character. All other URI formats are
1689
+ # invalid. Files matching the wildcard are expected to contain content only, no
1690
+ # metadata.
1015
1691
  # Corresponds to the JSON property `uri`
1016
1692
  # @return [String]
1017
1693
  attr_accessor :uri
@@ -1053,9 +1729,9 @@ module Google
1053
1729
  # @return [Google::Apis::HealthcareV1::SchemaConfig]
1054
1730
  attr_accessor :schema_config
1055
1731
 
1056
- # Determines whether existing tables in the destination dataset are overwritten
1057
- # or appended to. If a write_disposition is specified, the `force` parameter is
1058
- # ignored.
1732
+ # Determines if existing data in the destination dataset is overwritten,
1733
+ # appended to, or not written if the tables contain data. If a write_disposition
1734
+ # is specified, the `force` parameter is ignored.
1059
1735
  # Corresponds to the JSON property `writeDisposition`
1060
1736
  # @return [String]
1061
1737
  attr_accessor :write_disposition
@@ -1125,45 +1801,146 @@ module Google
1125
1801
  end
1126
1802
  end
1127
1803
 
1804
+ # Construct representing a logical group or a segment.
1805
+ class GroupOrSegment
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # An HL7v2 logical group construct.
1809
+ # Corresponds to the JSON property `group`
1810
+ # @return [Google::Apis::HealthcareV1::SchemaGroup]
1811
+ attr_accessor :group
1812
+
1813
+ # An HL7v2 Segment.
1814
+ # Corresponds to the JSON property `segment`
1815
+ # @return [Google::Apis::HealthcareV1::SchemaSegment]
1816
+ attr_accessor :segment
1817
+
1818
+ def initialize(**args)
1819
+ update!(**args)
1820
+ end
1821
+
1822
+ # Update properties of this object
1823
+ def update!(**args)
1824
+ @group = args[:group] if args.key?(:group)
1825
+ @segment = args[:segment] if args.key?(:segment)
1826
+ end
1827
+ end
1828
+
1829
+ # Root config message for HL7v2 schema. This contains a schema structure of
1830
+ # groups and segments, and filters that determine which messages to apply the
1831
+ # schema structure to.
1832
+ class Hl7SchemaConfig
1833
+ include Google::Apis::Core::Hashable
1834
+
1835
+ # Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to
1836
+ # its schema configuration root group.
1837
+ # Corresponds to the JSON property `messageSchemaConfigs`
1838
+ # @return [Hash<String,Google::Apis::HealthcareV1::SchemaGroup>]
1839
+ attr_accessor :message_schema_configs
1840
+
1841
+ # Each VersionSource is tested and only if they all match is the schema used for
1842
+ # the message.
1843
+ # Corresponds to the JSON property `version`
1844
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1845
+ attr_accessor :version
1846
+
1847
+ def initialize(**args)
1848
+ update!(**args)
1849
+ end
1850
+
1851
+ # Update properties of this object
1852
+ def update!(**args)
1853
+ @message_schema_configs = args[:message_schema_configs] if args.key?(:message_schema_configs)
1854
+ @version = args[:version] if args.key?(:version)
1855
+ end
1856
+ end
1857
+
1858
+ # Root config for HL7v2 datatype definitions for a specific HL7v2 version.
1859
+ class Hl7TypesConfig
1860
+ include Google::Apis::Core::Hashable
1861
+
1862
+ # The HL7v2 type definitions.
1863
+ # Corresponds to the JSON property `type`
1864
+ # @return [Array<Google::Apis::HealthcareV1::Type>]
1865
+ attr_accessor :type
1866
+
1867
+ # The version selectors that this config applies to. A message must match ALL
1868
+ # version sources to apply.
1869
+ # Corresponds to the JSON property `version`
1870
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1871
+ attr_accessor :version
1872
+
1873
+ def initialize(**args)
1874
+ update!(**args)
1875
+ end
1876
+
1877
+ # Update properties of this object
1878
+ def update!(**args)
1879
+ @type = args[:type] if args.key?(:type)
1880
+ @version = args[:version] if args.key?(:version)
1881
+ end
1882
+ end
1883
+
1128
1884
  # Specifies where and whether to send notifications upon changes to a data store.
1129
1885
  class Hl7V2NotificationConfig
1130
1886
  include Google::Apis::Core::Hashable
1131
1887
 
1132
1888
  # Restricts notifications sent for messages matching a filter. If this is empty,
1133
- # all messages are matched. Syntax: https://cloud.google.com/appengine/docs/
1134
- # standard/python/search/query_strings The following fields and functions are
1135
- # available for filtering: * `message_type`, from the MSH-9.1 field. For example,
1136
- # `NOT message_type = "ADT"`. * `send_date` or `sendDate`, the YYYY-MM-DD date
1137
- # the message was sent in the dataset's time_zone, from the MSH-7 segment. For
1889
+ # all messages are matched. The following syntax is available: * A string field
1890
+ # value can be written as text inside quotation marks, for example `"query text"`
1891
+ # . The only valid relational operation for text fields is equality (`=`), where
1892
+ # text is searched within the field, rather than having the field be equal to
1893
+ # the text. For example, `"Comment = great"` returns messages with `great` in
1894
+ # the comment field. * A number field value can be written as an integer, a
1895
+ # decimal, or an exponential. The valid relational operators for number fields
1896
+ # are the equality operator (`=`), along with the less than/greater than
1897
+ # operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`)
1898
+ # operator. You can prepend the `NOT` operator to an expression to negate it. *
1899
+ # A date field value must be written in `yyyy-mm-dd` form. Fields with date and
1900
+ # time use the RFC3339 time format. Leading zeros are required for one-digit
1901
+ # months and days. The valid relational operators for date fields are the
1902
+ # equality operator (`=`) , along with the less than/greater than operators (`<`,
1903
+ # `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can
1904
+ # prepend the `NOT` operator to an expression to negate it. * Multiple field
1905
+ # query expressions can be combined in one query by adding `AND` or `OR`
1906
+ # operators between the expressions. If a boolean operator appears within a
1907
+ # quoted string, it is not treated as special, it's just another part of the
1908
+ # character string to be matched. You can prepend the `NOT` operator to an
1909
+ # expression to negate it. The following fields and functions are available for
1910
+ # filtering: * `message_type`, from the MSH-9.1 field. For example, `NOT
1911
+ # message_type = "ADT"`. * `send_date` or `sendDate`, the YYYY-MM-DD date the
1912
+ # message was sent in the dataset's time_zone, from the MSH-7 segment. For
1138
1913
  # example, `send_date < "2017-01-02"`. * `send_time`, the timestamp when the
1139
1914
  # message was sent, using the RFC3339 time format for comparisons, from the MSH-
1140
1915
  # 7 segment. For example, `send_time < "2017-01-02T00:00:00-05:00"`. * `
1141
- # send_facility`, the care center that the message came from, from the MSH-4
1142
- # segment. For example, `send_facility = "ABC"`. * `PatientId(value, type)`,
1143
- # which matches if the message lists a patient having an ID of the given value
1144
- # and type in the PID-2, PID-3, or PID-4 segments. For example, `PatientId("
1145
- # 123456", "MRN")`. * `labels.x`, a string value of the label with key `x` as
1146
- # set using the Message.labels map. For example, `labels."priority"="high"`. The
1147
- # operator `:*` can be used to assert the existence of a label. For example, `
1148
- # labels."priority":*`.
1916
+ # create_time`, the timestamp when the message was created in the HL7v2 store.
1917
+ # Use the RFC3339 time format for comparisons. For example, `create_time < "2017-
1918
+ # 01-02T00:00:00-05:00"`. * `send_facility`, the care center that the message
1919
+ # came from, from the MSH-4 segment. For example, `send_facility = "ABC"`. * `
1920
+ # PatientId(value, type)`, which matches if the message lists a patient having
1921
+ # an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For
1922
+ # example, `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
1923
+ # label with key `x` as set using the Message.labels map. For example, `labels."
1924
+ # priority"="high"`. The operator `:*` can be used to assert the existence of a
1925
+ # label. For example, `labels."priority":*`.
1149
1926
  # Corresponds to the JSON property `filter`
1150
1927
  # @return [String]
1151
1928
  attr_accessor :filter
1152
1929
 
1153
- # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1154
- # notifications of changes are published on. Supplied by the client. The
1155
- # notification is a `PubsubMessage` with the following fields: * `PubsubMessage.
1156
- # Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of
1157
- # this notification. It's guaranteed to be unique within the topic. * `
1158
- # PubsubMessage.PublishTime` is the time when the message was published. Note
1159
- # that notifications are only sent if the topic is non-empty. [Topic names](
1160
- # https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a
1161
- # project. The Cloud Healthcare API service account, service-PROJECT_NUMBER@gcp-
1162
- # sa-healthcare.iam.gserviceaccount.com, must have publisher permissions on the
1163
- # given Pub/Sub topic. Not having adequate permissions causes the calls that
1164
- # send notifications to fail. If a notification cannot be published to Cloud Pub/
1165
- # Sub, errors are logged to Cloud Logging. For more information, see [Viewing
1166
- # error logs in Cloud Logging](/healthcare/docs/how-tos/logging)).
1930
+ # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications
1931
+ # of changes are published on. Supplied by the client. The notification is a `
1932
+ # PubsubMessage` with the following fields: * `PubsubMessage.Data` contains the
1933
+ # resource name. * `PubsubMessage.MessageId` is the ID of this notification. It'
1934
+ # s guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is
1935
+ # the time when the message was published. Note that notifications are only sent
1936
+ # if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/
1937
+ # overview#names) must be scoped to a project. The Cloud Healthcare API service
1938
+ # account, service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com,
1939
+ # must have publisher permissions on the given Pub/Sub topic. Not having
1940
+ # adequate permissions causes the calls that send notifications to fail. If a
1941
+ # notification cannot be published to Pub/Sub, errors are logged to Cloud
1942
+ # Logging. For more information, see [Viewing error logs in Cloud Logging](https:
1943
+ # //cloud.google.com/healthcare/docs/how-tos/logging)).
1167
1944
  # Corresponds to the JSON property `pubsubTopic`
1168
1945
  # @return [String]
1169
1946
  attr_accessor :pubsub_topic
@@ -1290,6 +2067,40 @@ module Google
1290
2067
  end
1291
2068
  end
1292
2069
 
2070
+ # Raw bytes representing consent artifact content.
2071
+ class Image
2072
+ include Google::Apis::Core::Hashable
2073
+
2074
+ # Input only. Points to a Cloud Storage URI containing the consent artifact
2075
+ # content. The URI must be in the following format: `gs://`bucket_id`/`object_id`
2076
+ # `. The Cloud Healthcare API service account must have the `roles/storage.
2077
+ # objectViewer` Cloud IAM role for this Cloud Storage location. The consent
2078
+ # artifact content at this URI is copied to a Cloud Storage location managed by
2079
+ # the Cloud Healthcare API. Responses to fetching requests return the consent
2080
+ # artifact content in raw_bytes.
2081
+ # Corresponds to the JSON property `gcsUri`
2082
+ # @return [String]
2083
+ attr_accessor :gcs_uri
2084
+
2085
+ # Consent artifact content represented as a stream of bytes. This field is
2086
+ # populated when returned in GetConsentArtifact response, but not included in
2087
+ # CreateConsentArtifact and ListConsentArtifact response.
2088
+ # Corresponds to the JSON property `rawBytes`
2089
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2090
+ # @return [String]
2091
+ attr_accessor :raw_bytes
2092
+
2093
+ def initialize(**args)
2094
+ update!(**args)
2095
+ end
2096
+
2097
+ # Update properties of this object
2098
+ def update!(**args)
2099
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
2100
+ @raw_bytes = args[:raw_bytes] if args.key?(:raw_bytes)
2101
+ end
2102
+ end
2103
+
1293
2104
  # Specifies how to handle de-identification of image pixels.
1294
2105
  class ImageConfig
1295
2106
  include Google::Apis::Core::Hashable
@@ -1487,6 +2298,141 @@ module Google
1487
2298
  end
1488
2299
  end
1489
2300
 
2301
+ #
2302
+ class ListAttributeDefinitionsResponse
2303
+ include Google::Apis::Core::Hashable
2304
+
2305
+ # The returned Attribute definitions. The maximum number of attributes returned
2306
+ # is determined by the value of page_size in the ListAttributeDefinitionsRequest.
2307
+ # Corresponds to the JSON property `attributeDefinitions`
2308
+ # @return [Array<Google::Apis::HealthcareV1::AttributeDefinition>]
2309
+ attr_accessor :attribute_definitions
2310
+
2311
+ # Token to retrieve the next page of results, or empty if there are no more
2312
+ # results in the list.
2313
+ # Corresponds to the JSON property `nextPageToken`
2314
+ # @return [String]
2315
+ attr_accessor :next_page_token
2316
+
2317
+ def initialize(**args)
2318
+ update!(**args)
2319
+ end
2320
+
2321
+ # Update properties of this object
2322
+ def update!(**args)
2323
+ @attribute_definitions = args[:attribute_definitions] if args.key?(:attribute_definitions)
2324
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2325
+ end
2326
+ end
2327
+
2328
+ #
2329
+ class ListConsentArtifactsResponse
2330
+ include Google::Apis::Core::Hashable
2331
+
2332
+ # The returned Consent artifacts. The maximum number of artifacts returned is
2333
+ # determined by the value of page_size in the ListConsentArtifactsRequest.
2334
+ # Corresponds to the JSON property `consentArtifacts`
2335
+ # @return [Array<Google::Apis::HealthcareV1::ConsentArtifact>]
2336
+ attr_accessor :consent_artifacts
2337
+
2338
+ # Token to retrieve the next page of results, or empty if there are no more
2339
+ # results in the list.
2340
+ # Corresponds to the JSON property `nextPageToken`
2341
+ # @return [String]
2342
+ attr_accessor :next_page_token
2343
+
2344
+ def initialize(**args)
2345
+ update!(**args)
2346
+ end
2347
+
2348
+ # Update properties of this object
2349
+ def update!(**args)
2350
+ @consent_artifacts = args[:consent_artifacts] if args.key?(:consent_artifacts)
2351
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2352
+ end
2353
+ end
2354
+
2355
+ #
2356
+ class ListConsentRevisionsResponse
2357
+ include Google::Apis::Core::Hashable
2358
+
2359
+ # The returned Consent revisions. The maximum number of revisions returned is
2360
+ # determined by the value of `page_size` in the ListConsentRevisionsRequest.
2361
+ # Corresponds to the JSON property `consents`
2362
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2363
+ attr_accessor :consents
2364
+
2365
+ # Token to retrieve the next page of results, or empty if there are no more
2366
+ # results in the list.
2367
+ # Corresponds to the JSON property `nextPageToken`
2368
+ # @return [String]
2369
+ attr_accessor :next_page_token
2370
+
2371
+ def initialize(**args)
2372
+ update!(**args)
2373
+ end
2374
+
2375
+ # Update properties of this object
2376
+ def update!(**args)
2377
+ @consents = args[:consents] if args.key?(:consents)
2378
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2379
+ end
2380
+ end
2381
+
2382
+ #
2383
+ class ListConsentStoresResponse
2384
+ include Google::Apis::Core::Hashable
2385
+
2386
+ # The returned consent stores. The maximum number of stores returned is
2387
+ # determined by the value of page_size in the ListConsentStoresRequest.
2388
+ # Corresponds to the JSON property `consentStores`
2389
+ # @return [Array<Google::Apis::HealthcareV1::ConsentStore>]
2390
+ attr_accessor :consent_stores
2391
+
2392
+ # Token to retrieve the next page of results, or empty if there are no more
2393
+ # results in the list.
2394
+ # Corresponds to the JSON property `nextPageToken`
2395
+ # @return [String]
2396
+ attr_accessor :next_page_token
2397
+
2398
+ def initialize(**args)
2399
+ update!(**args)
2400
+ end
2401
+
2402
+ # Update properties of this object
2403
+ def update!(**args)
2404
+ @consent_stores = args[:consent_stores] if args.key?(:consent_stores)
2405
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2406
+ end
2407
+ end
2408
+
2409
+ #
2410
+ class ListConsentsResponse
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # The returned Consents. The maximum number of Consents returned is determined
2414
+ # by the value of page_size in the ListConsentsRequest.
2415
+ # Corresponds to the JSON property `consents`
2416
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2417
+ attr_accessor :consents
2418
+
2419
+ # Token to retrieve the next page of results, or empty if there are no more
2420
+ # results in the list.
2421
+ # Corresponds to the JSON property `nextPageToken`
2422
+ # @return [String]
2423
+ attr_accessor :next_page_token
2424
+
2425
+ def initialize(**args)
2426
+ update!(**args)
2427
+ end
2428
+
2429
+ # Update properties of this object
2430
+ def update!(**args)
2431
+ @consents = args[:consents] if args.key?(:consents)
2432
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2433
+ end
2434
+ end
2435
+
1490
2436
  # Lists the available datasets.
1491
2437
  class ListDatasetsResponse
1492
2438
  include Google::Apis::Core::Hashable
@@ -1671,6 +2617,34 @@ module Google
1671
2617
  end
1672
2618
  end
1673
2619
 
2620
+ #
2621
+ class ListUserDataMappingsResponse
2622
+ include Google::Apis::Core::Hashable
2623
+
2624
+ # Token to retrieve the next page of results, or empty if there are no more
2625
+ # results in the list.
2626
+ # Corresponds to the JSON property `nextPageToken`
2627
+ # @return [String]
2628
+ attr_accessor :next_page_token
2629
+
2630
+ # The returned User data mappings. The maximum number of User data mappings
2631
+ # returned is determined by the value of page_size in the
2632
+ # ListUserDataMappingsRequest.
2633
+ # Corresponds to the JSON property `userDataMappings`
2634
+ # @return [Array<Google::Apis::HealthcareV1::UserDataMapping>]
2635
+ attr_accessor :user_data_mappings
2636
+
2637
+ def initialize(**args)
2638
+ update!(**args)
2639
+ end
2640
+
2641
+ # Update properties of this object
2642
+ def update!(**args)
2643
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2644
+ @user_data_mappings = args[:user_data_mappings] if args.key?(:user_data_mappings)
2645
+ end
2646
+ end
2647
+
1674
2648
  # A resource that represents Google Cloud Platform location.
1675
2649
  class Location
1676
2650
  include Google::Apis::Core::Hashable
@@ -1767,6 +2741,12 @@ module Google
1767
2741
  # @return [Array<Google::Apis::HealthcareV1::PatientId>]
1768
2742
  attr_accessor :patient_ids
1769
2743
 
2744
+ # The content of an HL7v2 message in a structured format as specified by a
2745
+ # schema.
2746
+ # Corresponds to the JSON property `schematizedData`
2747
+ # @return [Google::Apis::HealthcareV1::SchematizedData]
2748
+ attr_accessor :schematized_data
2749
+
1770
2750
  # The hospital that this message came from. MSH-4.
1771
2751
  # Corresponds to the JSON property `sendFacility`
1772
2752
  # @return [String]
@@ -1790,6 +2770,7 @@ module Google
1790
2770
  @name = args[:name] if args.key?(:name)
1791
2771
  @parsed_data = args[:parsed_data] if args.key?(:parsed_data)
1792
2772
  @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
2773
+ @schematized_data = args[:schematized_data] if args.key?(:schematized_data)
1793
2774
  @send_facility = args[:send_facility] if args.key?(:send_facility)
1794
2775
  @send_time = args[:send_time] if args.key?(:send_time)
1795
2776
  end
@@ -1799,17 +2780,17 @@ module Google
1799
2780
  class NotificationConfig
1800
2781
  include Google::Apis::Core::Hashable
1801
2782
 
1802
- # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1803
- # notifications of changes are published on. Supplied by the client.
1804
- # PubsubMessage.Data contains the resource name. PubsubMessage.MessageId is the
1805
- # ID of this message. It is guaranteed to be unique within the topic.
1806
- # PubsubMessage.PublishTime is the time at which the message was published.
1807
- # Notifications are only sent if the topic is non-empty. [Topic names](https://
1808
- # cloud.google.com/pubsub/docs/overview#names) must be scoped to a project.
1809
- # Cloud Healthcare API service account must have publisher permissions on the
1810
- # given Cloud Pub/Sub topic. Not having adequate permissions causes the calls
1811
- # that send notifications to fail. If a notification can't be published to Cloud
1812
- # Pub/Sub, errors are logged to Cloud Logging (see [Viewing logs](/healthcare/
2783
+ # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications
2784
+ # of changes are published on. Supplied by the client. PubsubMessage.Data
2785
+ # contains the resource name. PubsubMessage.MessageId is the ID of this message.
2786
+ # It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is
2787
+ # the time at which the message was published. Notifications are only sent if
2788
+ # the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/
2789
+ # overview#names) must be scoped to a project. Cloud Healthcare API service
2790
+ # account must have publisher permissions on the given Pub/Sub topic. Not having
2791
+ # adequate permissions causes the calls that send notifications to fail. If a
2792
+ # notification can't be published to Pub/Sub, errors are logged to Cloud Logging
2793
+ # (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/
1813
2794
  # docs/how-tos/logging)). If the number of errors exceeds a certain rate, some
1814
2795
  # aren't submitted. Note that not all operations trigger notifications, see [
1815
2796
  # Configuring Pub/Sub notifications](https://cloud.google.com/healthcare/docs/
@@ -1922,8 +2903,8 @@ module Google
1922
2903
  attr_accessor :end_time
1923
2904
 
1924
2905
  # A link to audit and error logs in the log viewer. Error logs are generated
1925
- # only by some operations, listed at [Viewing logs](/healthcare/docs/how-tos/
1926
- # logging).
2906
+ # only by some operations, listed at [Viewing error logs in Cloud Logging](https:
2907
+ # //cloud.google.com/healthcare/docs/how-tos/logging).
1927
2908
  # Corresponds to the JSON property `logsUrl`
1928
2909
  # @return [String]
1929
2910
  attr_accessor :logs_url
@@ -1973,6 +2954,11 @@ module Google
1973
2954
  attr_accessor :allow_null_header
1974
2955
  alias_method :allow_null_header?, :allow_null_header
1975
2956
 
2957
+ # A schema package contains a set of schemas and type definitions.
2958
+ # Corresponds to the JSON property `schema`
2959
+ # @return [Google::Apis::HealthcareV1::SchemaPackage]
2960
+ attr_accessor :schema
2961
+
1976
2962
  # Byte(s) to use as the segment terminator. If this is unset, '\r' is used as
1977
2963
  # segment terminator, matching the HL7 version 2 specification.
1978
2964
  # Corresponds to the JSON property `segmentTerminator`
@@ -1987,6 +2973,7 @@ module Google
1987
2973
  # Update properties of this object
1988
2974
  def update!(**args)
1989
2975
  @allow_null_header = args[:allow_null_header] if args.key?(:allow_null_header)
2976
+ @schema = args[:schema] if args.key?(:schema)
1990
2977
  @segment_terminator = args[:segment_terminator] if args.key?(:segment_terminator)
1991
2978
  end
1992
2979
  end
@@ -2137,6 +3124,44 @@ module Google
2137
3124
  end
2138
3125
  end
2139
3126
 
3127
+ # Queries all data_ids that are consented for a given use in the given consent
3128
+ # store and writes them to a specified destination. The returned Operation
3129
+ # includes a progress counter for the number of User data mappings processed.
3130
+ # Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging] (
3131
+ # https://cloud.google.com/healthcare/docs/how-tos/logging) and [
3132
+ # QueryAccessibleData] for a sample log entry).
3133
+ class QueryAccessibleDataRequest
3134
+ include Google::Apis::Core::Hashable
3135
+
3136
+ # The Cloud Storage location for export.
3137
+ # Corresponds to the JSON property `gcsDestination`
3138
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentGcsDestination]
3139
+ attr_accessor :gcs_destination
3140
+
3141
+ # The values of request attributes associated with this access request.
3142
+ # Corresponds to the JSON property `requestAttributes`
3143
+ # @return [Hash<String,String>]
3144
+ attr_accessor :request_attributes
3145
+
3146
+ # Optional. The values of resource attributes associated with the type of
3147
+ # resources being requested. If no values are specified, then all resource types
3148
+ # are included in the output.
3149
+ # Corresponds to the JSON property `resourceAttributes`
3150
+ # @return [Hash<String,String>]
3151
+ attr_accessor :resource_attributes
3152
+
3153
+ def initialize(**args)
3154
+ update!(**args)
3155
+ end
3156
+
3157
+ # Update properties of this object
3158
+ def update!(**args)
3159
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
3160
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
3161
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3162
+ end
3163
+ end
3164
+
2140
3165
  # Define how to redact sensitive values. Default behaviour is erase. For example,
2141
3166
  # "My name is Jane." becomes "My name is ."
2142
3167
  class RedactConfig
@@ -2151,6 +3176,31 @@ module Google
2151
3176
  end
2152
3177
  end
2153
3178
 
3179
+ # Rejects the latest revision of the specified Consent by committing a new
3180
+ # revision with `state` updated to `REJECTED`. If the latest revision of the
3181
+ # given Consent is in the `REJECTED` state, no new revision is committed.
3182
+ class RejectConsentRequest
3183
+ include Google::Apis::Core::Hashable
3184
+
3185
+ # Optional. The resource name of the Consent artifact that contains
3186
+ # documentation of the user's rejection of the draft Consent, of the form `
3187
+ # projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
3188
+ # consentStores/`consent_store_id`/consentArtifacts/`consent_artifact_id``. If
3189
+ # the draft Consent had a Consent artifact, this Consent artifact overwrites it.
3190
+ # Corresponds to the JSON property `consentArtifact`
3191
+ # @return [String]
3192
+ attr_accessor :consent_artifact
3193
+
3194
+ def initialize(**args)
3195
+ update!(**args)
3196
+ end
3197
+
3198
+ # Update properties of this object
3199
+ def update!(**args)
3200
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3201
+ end
3202
+ end
3203
+
2154
3204
  # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the
2155
3205
  # name of the info_type. For example, "My name is Jane" becomes "My name is [
2156
3206
  # PERSON_NAME]." The TRANSFORM action is equivalent to redacting.
@@ -2185,6 +3235,62 @@ module Google
2185
3235
  end
2186
3236
  end
2187
3237
 
3238
+ # The consent evaluation result for a single `data_id`.
3239
+ class Result
3240
+ include Google::Apis::Core::Hashable
3241
+
3242
+ # The resource names of all evaluated Consents mapped to their evaluation.
3243
+ # Corresponds to the JSON property `consentDetails`
3244
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
3245
+ attr_accessor :consent_details
3246
+
3247
+ # Whether the resource is consented for the given use.
3248
+ # Corresponds to the JSON property `consented`
3249
+ # @return [Boolean]
3250
+ attr_accessor :consented
3251
+ alias_method :consented?, :consented
3252
+
3253
+ # The unique identifier of the evaluated resource.
3254
+ # Corresponds to the JSON property `dataId`
3255
+ # @return [String]
3256
+ attr_accessor :data_id
3257
+
3258
+ def initialize(**args)
3259
+ update!(**args)
3260
+ end
3261
+
3262
+ # Update properties of this object
3263
+ def update!(**args)
3264
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
3265
+ @consented = args[:consented] if args.key?(:consented)
3266
+ @data_id = args[:data_id] if args.key?(:data_id)
3267
+ end
3268
+ end
3269
+
3270
+ # Revokes the latest revision of the specified Consent by committing a new
3271
+ # revision with `state` updated to `REVOKED`. If the latest revision of the
3272
+ # given Consent is in the `REVOKED` state, no new revision is committed.
3273
+ class RevokeConsentRequest
3274
+ include Google::Apis::Core::Hashable
3275
+
3276
+ # Optional. The resource name of the Consent artifact that contains proof of the
3277
+ # user's revocation of the Consent, of the form `projects/`project_id`/locations/
3278
+ # `location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3279
+ # consentArtifacts/`consent_artifact_id``.
3280
+ # Corresponds to the JSON property `consentArtifact`
3281
+ # @return [String]
3282
+ attr_accessor :consent_artifact
3283
+
3284
+ def initialize(**args)
3285
+ update!(**args)
3286
+ end
3287
+
3288
+ # Update properties of this object
3289
+ def update!(**args)
3290
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3291
+ end
3292
+ end
3293
+
2188
3294
  # Configuration for the FHIR BigQuery schema. Determines how the server
2189
3295
  # generates the schema.
2190
3296
  class SchemaConfig
@@ -2215,6 +3321,156 @@ module Google
2215
3321
  end
2216
3322
  end
2217
3323
 
3324
+ # An HL7v2 logical group construct.
3325
+ class SchemaGroup
3326
+ include Google::Apis::Core::Hashable
3327
+
3328
+ # True indicates that this is a choice group, meaning that only one of its
3329
+ # segments can exist in a given message.
3330
+ # Corresponds to the JSON property `choice`
3331
+ # @return [Boolean]
3332
+ attr_accessor :choice
3333
+ alias_method :choice?, :choice
3334
+
3335
+ # The maximum number of times this group can be repeated. 0 or -1 means
3336
+ # unbounded.
3337
+ # Corresponds to the JSON property `maxOccurs`
3338
+ # @return [Fixnum]
3339
+ attr_accessor :max_occurs
3340
+
3341
+ # Nested groups and/or segments.
3342
+ # Corresponds to the JSON property `members`
3343
+ # @return [Array<Google::Apis::HealthcareV1::GroupOrSegment>]
3344
+ attr_accessor :members
3345
+
3346
+ # The minimum number of times this group must be present/repeated.
3347
+ # Corresponds to the JSON property `minOccurs`
3348
+ # @return [Fixnum]
3349
+ attr_accessor :min_occurs
3350
+
3351
+ # The name of this group. For example, "ORDER_DETAIL".
3352
+ # Corresponds to the JSON property `name`
3353
+ # @return [String]
3354
+ attr_accessor :name
3355
+
3356
+ def initialize(**args)
3357
+ update!(**args)
3358
+ end
3359
+
3360
+ # Update properties of this object
3361
+ def update!(**args)
3362
+ @choice = args[:choice] if args.key?(:choice)
3363
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3364
+ @members = args[:members] if args.key?(:members)
3365
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3366
+ @name = args[:name] if args.key?(:name)
3367
+ end
3368
+ end
3369
+
3370
+ # A schema package contains a set of schemas and type definitions.
3371
+ class SchemaPackage
3372
+ include Google::Apis::Core::Hashable
3373
+
3374
+ # Flag to ignore all min_occurs restrictions in the schema. This means that
3375
+ # incoming messages can omit any group, segment, field, component, or
3376
+ # subcomponent.
3377
+ # Corresponds to the JSON property `ignoreMinOccurs`
3378
+ # @return [Boolean]
3379
+ attr_accessor :ignore_min_occurs
3380
+ alias_method :ignore_min_occurs?, :ignore_min_occurs
3381
+
3382
+ # Schema configs that are layered based on their VersionSources that match the
3383
+ # incoming message. Schema configs present in higher indices override those in
3384
+ # lower indices with the same message type and trigger event if their
3385
+ # VersionSources all match an incoming message.
3386
+ # Corresponds to the JSON property `schemas`
3387
+ # @return [Array<Google::Apis::HealthcareV1::Hl7SchemaConfig>]
3388
+ attr_accessor :schemas
3389
+
3390
+ # Determines how messages that fail to parse are handled.
3391
+ # Corresponds to the JSON property `schematizedParsingType`
3392
+ # @return [String]
3393
+ attr_accessor :schematized_parsing_type
3394
+
3395
+ # Schema type definitions that are layered based on their VersionSources that
3396
+ # match the incoming message. Type definitions present in higher indices
3397
+ # override those in lower indices with the same type name if their
3398
+ # VersionSources all match an incoming message.
3399
+ # Corresponds to the JSON property `types`
3400
+ # @return [Array<Google::Apis::HealthcareV1::Hl7TypesConfig>]
3401
+ attr_accessor :types
3402
+
3403
+ def initialize(**args)
3404
+ update!(**args)
3405
+ end
3406
+
3407
+ # Update properties of this object
3408
+ def update!(**args)
3409
+ @ignore_min_occurs = args[:ignore_min_occurs] if args.key?(:ignore_min_occurs)
3410
+ @schemas = args[:schemas] if args.key?(:schemas)
3411
+ @schematized_parsing_type = args[:schematized_parsing_type] if args.key?(:schematized_parsing_type)
3412
+ @types = args[:types] if args.key?(:types)
3413
+ end
3414
+ end
3415
+
3416
+ # An HL7v2 Segment.
3417
+ class SchemaSegment
3418
+ include Google::Apis::Core::Hashable
3419
+
3420
+ # The maximum number of times this segment can be present in this group. 0 or -1
3421
+ # means unbounded.
3422
+ # Corresponds to the JSON property `maxOccurs`
3423
+ # @return [Fixnum]
3424
+ attr_accessor :max_occurs
3425
+
3426
+ # The minimum number of times this segment can be present in this group.
3427
+ # Corresponds to the JSON property `minOccurs`
3428
+ # @return [Fixnum]
3429
+ attr_accessor :min_occurs
3430
+
3431
+ # The Segment type. For example, "PID".
3432
+ # Corresponds to the JSON property `type`
3433
+ # @return [String]
3434
+ attr_accessor :type
3435
+
3436
+ def initialize(**args)
3437
+ update!(**args)
3438
+ end
3439
+
3440
+ # Update properties of this object
3441
+ def update!(**args)
3442
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3443
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3444
+ @type = args[:type] if args.key?(:type)
3445
+ end
3446
+ end
3447
+
3448
+ # The content of an HL7v2 message in a structured format as specified by a
3449
+ # schema.
3450
+ class SchematizedData
3451
+ include Google::Apis::Core::Hashable
3452
+
3453
+ # JSON output of the parser.
3454
+ # Corresponds to the JSON property `data`
3455
+ # @return [String]
3456
+ attr_accessor :data
3457
+
3458
+ # The error output of the parser.
3459
+ # Corresponds to the JSON property `error`
3460
+ # @return [String]
3461
+ attr_accessor :error
3462
+
3463
+ def initialize(**args)
3464
+ update!(**args)
3465
+ end
3466
+
3467
+ # Update properties of this object
3468
+ def update!(**args)
3469
+ @data = args[:data] if args.key?(:data)
3470
+ @error = args[:error] if args.key?(:error)
3471
+ end
3472
+ end
3473
+
2218
3474
  # Request to search the resources in the specified FHIR store.
2219
3475
  class SearchResourcesRequest
2220
3476
  include Google::Apis::Core::Hashable
@@ -2331,6 +3587,44 @@ module Google
2331
3587
  end
2332
3588
  end
2333
3589
 
3590
+ # User signature.
3591
+ class Signature
3592
+ include Google::Apis::Core::Hashable
3593
+
3594
+ # Raw bytes representing consent artifact content.
3595
+ # Corresponds to the JSON property `image`
3596
+ # @return [Google::Apis::HealthcareV1::Image]
3597
+ attr_accessor :image
3598
+
3599
+ # Optional. Metadata associated with the user's signature. For example, the user'
3600
+ # s name or the user's title.
3601
+ # Corresponds to the JSON property `metadata`
3602
+ # @return [Hash<String,String>]
3603
+ attr_accessor :metadata
3604
+
3605
+ # Optional. Timestamp of the signature.
3606
+ # Corresponds to the JSON property `signatureTime`
3607
+ # @return [String]
3608
+ attr_accessor :signature_time
3609
+
3610
+ # Required. User's UUID provided by the client.
3611
+ # Corresponds to the JSON property `userId`
3612
+ # @return [String]
3613
+ attr_accessor :user_id
3614
+
3615
+ def initialize(**args)
3616
+ update!(**args)
3617
+ end
3618
+
3619
+ # Update properties of this object
3620
+ def update!(**args)
3621
+ @image = args[:image] if args.key?(:image)
3622
+ @metadata = args[:metadata] if args.key?(:metadata)
3623
+ @signature_time = args[:signature_time] if args.key?(:signature_time)
3624
+ @user_id = args[:user_id] if args.key?(:user_id)
3625
+ end
3626
+ end
3627
+
2334
3628
  # The `Status` type defines a logical error model that is suitable for different
2335
3629
  # programming environments, including REST APIs and RPC APIs. It is used by [
2336
3630
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2478,6 +3772,119 @@ module Google
2478
3772
  @transformations = args[:transformations] if args.key?(:transformations)
2479
3773
  end
2480
3774
  end
3775
+
3776
+ # A type definition for some HL7v2 type (incl. Segments and Datatypes).
3777
+ class Type
3778
+ include Google::Apis::Core::Hashable
3779
+
3780
+ # The (sub) fields this type has (if not primitive).
3781
+ # Corresponds to the JSON property `fields`
3782
+ # @return [Array<Google::Apis::HealthcareV1::Field>]
3783
+ attr_accessor :fields
3784
+
3785
+ # The name of this type. This would be the segment or datatype name. For example,
3786
+ # "PID" or "XPN".
3787
+ # Corresponds to the JSON property `name`
3788
+ # @return [String]
3789
+ attr_accessor :name
3790
+
3791
+ # If this is a primitive type then this field is the type of the primitive For
3792
+ # example, STRING. Leave unspecified for composite types.
3793
+ # Corresponds to the JSON property `primitive`
3794
+ # @return [String]
3795
+ attr_accessor :primitive
3796
+
3797
+ def initialize(**args)
3798
+ update!(**args)
3799
+ end
3800
+
3801
+ # Update properties of this object
3802
+ def update!(**args)
3803
+ @fields = args[:fields] if args.key?(:fields)
3804
+ @name = args[:name] if args.key?(:name)
3805
+ @primitive = args[:primitive] if args.key?(:primitive)
3806
+ end
3807
+ end
3808
+
3809
+ # Maps a resource to the associated user and Attributes.
3810
+ class UserDataMapping
3811
+ include Google::Apis::Core::Hashable
3812
+
3813
+ # Output only. Indicates the time when this mapping was archived.
3814
+ # Corresponds to the JSON property `archiveTime`
3815
+ # @return [String]
3816
+ attr_accessor :archive_time
3817
+
3818
+ # Output only. Indicates whether this mapping is archived.
3819
+ # Corresponds to the JSON property `archived`
3820
+ # @return [Boolean]
3821
+ attr_accessor :archived
3822
+ alias_method :archived?, :archived
3823
+
3824
+ # Required. A unique identifier for the mapped resource.
3825
+ # Corresponds to the JSON property `dataId`
3826
+ # @return [String]
3827
+ attr_accessor :data_id
3828
+
3829
+ # Resource name of the User data mapping, of the form `projects/`project_id`/
3830
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3831
+ # userDataMappings/`user_data_mapping_id``.
3832
+ # Corresponds to the JSON property `name`
3833
+ # @return [String]
3834
+ attr_accessor :name
3835
+
3836
+ # Attributes of the resource. Only explicitly set attributes are displayed here.
3837
+ # Attribute definitions with defaults set implicitly apply to these User data
3838
+ # mappings. Attributes listed here must be single valued, that is, exactly one
3839
+ # value is specified for the field "values" in each Attribute.
3840
+ # Corresponds to the JSON property `resourceAttributes`
3841
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
3842
+ attr_accessor :resource_attributes
3843
+
3844
+ # Required. User's UUID provided by the client.
3845
+ # Corresponds to the JSON property `userId`
3846
+ # @return [String]
3847
+ attr_accessor :user_id
3848
+
3849
+ def initialize(**args)
3850
+ update!(**args)
3851
+ end
3852
+
3853
+ # Update properties of this object
3854
+ def update!(**args)
3855
+ @archive_time = args[:archive_time] if args.key?(:archive_time)
3856
+ @archived = args[:archived] if args.key?(:archived)
3857
+ @data_id = args[:data_id] if args.key?(:data_id)
3858
+ @name = args[:name] if args.key?(:name)
3859
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3860
+ @user_id = args[:user_id] if args.key?(:user_id)
3861
+ end
3862
+ end
3863
+
3864
+ # Describes a selector for extracting and matching an MSH field to a value.
3865
+ class VersionSource
3866
+ include Google::Apis::Core::Hashable
3867
+
3868
+ # The field to extract from the MSH segment. For example, "3.1" or "18[1].1".
3869
+ # Corresponds to the JSON property `mshField`
3870
+ # @return [String]
3871
+ attr_accessor :msh_field
3872
+
3873
+ # The value to match with the field. For example, "My Application Name" or "2.3".
3874
+ # Corresponds to the JSON property `value`
3875
+ # @return [String]
3876
+ attr_accessor :value
3877
+
3878
+ def initialize(**args)
3879
+ update!(**args)
3880
+ end
3881
+
3882
+ # Update properties of this object
3883
+ def update!(**args)
3884
+ @msh_field = args[:msh_field] if args.key?(:msh_field)
3885
+ @value = args[:value] if args.key?(:value)
3886
+ end
3887
+ end
2481
3888
  end
2482
3889
  end
2483
3890
  end