google-apis-healthcare_v1 0.1.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b41cff94f66c9cae9713edc92fde7cd5048e864e4ba81a865ce4d7f1525fb2c
4
- data.tar.gz: f68b907260cb9dde73cfb034bfe2014b7fb1607a75d1c6e9ff21dbe8fdf5f5f3
3
+ metadata.gz: eca70b7a7bbcd56edd591ae0c61a287ed10ea6ab508338a0d6b1aa0acbb007df
4
+ data.tar.gz: '025859622da97b54c7fd84767133a77b12a274454e9515fa530404df8dbd0a08'
5
5
  SHA512:
6
- metadata.gz: 1cb85c6f036047267c6eb14e0595ca63abcb65a3bf97cab0ff4d80f063334802eb2f7af640238d9fe52ca6be1e864821b25fd8025a6f8ccf89947b14c9f1f3fb
7
- data.tar.gz: 75b0b7a190330dd1c095363f7d0b94050cf4e59ae71d17ac4c82daee707f2f027df7831bf74d300d5159a961a3dc1bc1a07b3d131ff41aa0a8c99cc1d9a56041
6
+ metadata.gz: 2b2ca21fcb75c96e944f944ee78481412da9cd5566475f88228606474a3639fd90b3b989122f6c0bee5c4ebd6b2745abcfd9f22a6c8600f7b3ddd26e92c8fc17
7
+ data.tar.gz: a8eaf5a83e8f11a029b2779a4783bdcc05fc1ab337e34eb7dcf4161314022dc40df972276623a6e368541f2a7a5b6b436d7fbc33711bd8c32684b9c931f6143e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-healthcare_v1
2
2
 
3
+ ### v0.6.0 (2021-03-26)
4
+
5
+ * Regenerated from discovery document revision 20210317
6
+
7
+ ### v0.5.0 (2021-03-13)
8
+
9
+ * Regenerated from discovery document revision 20210301
10
+ * Regenerated using generator version 0.2.0
11
+
12
+ ### v0.4.0 (2021-03-04)
13
+
14
+ * Regenerated from discovery document revision 20210217
15
+
16
+ ### v0.3.0 (2021-02-18)
17
+
18
+ * Regenerated from discovery document revision 20210205
19
+
20
+ ### v0.2.0 (2021-02-05)
21
+
22
+ * Regenerated from discovery document revision 20210203
23
+ * Regenerated using generator version 0.1.2
24
+
3
25
  ### v0.1.0 (2021-01-07)
4
26
 
5
27
  * Regenerated using generator version 0.1.1
@@ -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
 
@@ -790,10 +1342,11 @@ module Google
790
1342
  # updateCreate). This determines if the client can use an Update operation to
791
1343
  # create a new resource with a client-specified ID. If false, all IDs are server-
792
1344
  # assigned through the Create operation and attempts to update a non-existent
793
- # resource return errors. Be careful with the audit logs if client-specified
794
- # resource IDs contain sensitive data such as patient identifiers, those IDs are
795
- # part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
796
- # notifications.
1345
+ # resource return errors. It is strongly advised not to include or encode any
1346
+ # sensitive data such as patient identifiers in client-specified resource IDs.
1347
+ # Those IDs are part of the FHIR resource path recorded in Cloud audit logs and
1348
+ # Pub/Sub notifications. Those IDs can also be contained in reference fields
1349
+ # within other resources.
797
1350
  # Corresponds to the JSON property `enableUpdateCreate`
798
1351
  # @return [Boolean]
799
1352
  attr_accessor :enable_update_create
@@ -861,6 +1414,52 @@ module Google
861
1414
  end
862
1415
  end
863
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
+
864
1463
  # Specifies FHIR paths to match, and how to handle de-identification of matching
865
1464
  # fields.
866
1465
  class FieldMetadata
@@ -894,6 +1493,71 @@ module Google
894
1493
  end
895
1494
  end
896
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
+
897
1561
  # Contains a summary of the DeidentifyDicomStore operation.
898
1562
  class GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary
899
1563
  include Google::Apis::Core::Hashable
@@ -1003,14 +1667,15 @@ module Google
1003
1667
  # Points to a Cloud Storage URI containing file(s) with content only. The URI
1004
1668
  # must be in the following format: `gs://`bucket_id`/`object_id``. The URI can
1005
1669
  # include wildcards in `object_id` and thus identify multiple files. Supported
1006
- # wildcards: '*' to match 0 or more non-separator characters '**' to match 0 or
1007
- # more characters (including separators). Must be used at the end of a path and
1008
- # with no other wildcards in the path. Can also be used with a file extension (
1009
- # such as .dcm), which imports all files with the extension in the specified
1010
- # directory and its sub-directories. For example, `gs://my-bucket/my-directory/**
1011
- # .dcm` imports all files with .dcm extensions in `my-directory/` and its sub-
1012
- # directories. '?' to match 1 character All other URI formats are invalid. Files
1013
- # matching the wildcard are expected to contain content only, no metadata.
1670
+ # wildcards: * '*' to match 0 or more non-separator characters * '**' to match 0
1671
+ # or more characters (including separators). Must be used at the end of a path
1672
+ # and with no other wildcards in the path. Can also be used with a file
1673
+ # extension (such as .dcm), which imports all files with the extension in the
1674
+ # specified directory and its sub-directories. For example, `gs://my-bucket/my-
1675
+ # directory/**.dcm` imports all files with .dcm extensions in `my-directory/`
1676
+ # and its sub-directories. * '?' to match 1 character. All other URI formats are
1677
+ # invalid. Files matching the wildcard are expected to contain content only, no
1678
+ # metadata.
1014
1679
  # Corresponds to the JSON property `uri`
1015
1680
  # @return [String]
1016
1681
  attr_accessor :uri
@@ -1037,7 +1702,10 @@ module Google
1037
1702
 
1038
1703
  # If this flag is `TRUE`, all tables are deleted from the dataset before the new
1039
1704
  # exported tables are written. If the flag is not set and the destination
1040
- # dataset contains tables, the export call returns an error.
1705
+ # dataset contains tables, the export call returns an error. If `
1706
+ # write_disposition` is specified, this parameter is ignored. force=false is
1707
+ # equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to
1708
+ # write_disposition=WRITE_TRUNCATE.
1041
1709
  # Corresponds to the JSON property `force`
1042
1710
  # @return [Boolean]
1043
1711
  attr_accessor :force
@@ -1049,6 +1717,13 @@ module Google
1049
1717
  # @return [Google::Apis::HealthcareV1::SchemaConfig]
1050
1718
  attr_accessor :schema_config
1051
1719
 
1720
+ # Determines whether existing tables in the destination dataset are overwritten
1721
+ # or appended to. If a write_disposition is specified, the `force` parameter is
1722
+ # ignored.
1723
+ # Corresponds to the JSON property `writeDisposition`
1724
+ # @return [String]
1725
+ attr_accessor :write_disposition
1726
+
1052
1727
  def initialize(**args)
1053
1728
  update!(**args)
1054
1729
  end
@@ -1058,6 +1733,7 @@ module Google
1058
1733
  @dataset_uri = args[:dataset_uri] if args.key?(:dataset_uri)
1059
1734
  @force = args[:force] if args.key?(:force)
1060
1735
  @schema_config = args[:schema_config] if args.key?(:schema_config)
1736
+ @write_disposition = args[:write_disposition] if args.key?(:write_disposition)
1061
1737
  end
1062
1738
  end
1063
1739
 
@@ -1113,45 +1789,146 @@ module Google
1113
1789
  end
1114
1790
  end
1115
1791
 
1792
+ # Construct representing a logical group or a segment.
1793
+ class GroupOrSegment
1794
+ include Google::Apis::Core::Hashable
1795
+
1796
+ # An HL7v2 logical group construct.
1797
+ # Corresponds to the JSON property `group`
1798
+ # @return [Google::Apis::HealthcareV1::SchemaGroup]
1799
+ attr_accessor :group
1800
+
1801
+ # An HL7v2 Segment.
1802
+ # Corresponds to the JSON property `segment`
1803
+ # @return [Google::Apis::HealthcareV1::SchemaSegment]
1804
+ attr_accessor :segment
1805
+
1806
+ def initialize(**args)
1807
+ update!(**args)
1808
+ end
1809
+
1810
+ # Update properties of this object
1811
+ def update!(**args)
1812
+ @group = args[:group] if args.key?(:group)
1813
+ @segment = args[:segment] if args.key?(:segment)
1814
+ end
1815
+ end
1816
+
1817
+ # Root config message for HL7v2 schema. This contains a schema structure of
1818
+ # groups and segments, and filters that determine which messages to apply the
1819
+ # schema structure to.
1820
+ class Hl7SchemaConfig
1821
+ include Google::Apis::Core::Hashable
1822
+
1823
+ # Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to
1824
+ # its schema configuration root group.
1825
+ # Corresponds to the JSON property `messageSchemaConfigs`
1826
+ # @return [Hash<String,Google::Apis::HealthcareV1::SchemaGroup>]
1827
+ attr_accessor :message_schema_configs
1828
+
1829
+ # Each VersionSource is tested and only if they all match is the schema used for
1830
+ # the message.
1831
+ # Corresponds to the JSON property `version`
1832
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1833
+ attr_accessor :version
1834
+
1835
+ def initialize(**args)
1836
+ update!(**args)
1837
+ end
1838
+
1839
+ # Update properties of this object
1840
+ def update!(**args)
1841
+ @message_schema_configs = args[:message_schema_configs] if args.key?(:message_schema_configs)
1842
+ @version = args[:version] if args.key?(:version)
1843
+ end
1844
+ end
1845
+
1846
+ # Root config for HL7v2 datatype definitions for a specific HL7v2 version.
1847
+ class Hl7TypesConfig
1848
+ include Google::Apis::Core::Hashable
1849
+
1850
+ # The HL7v2 type definitions.
1851
+ # Corresponds to the JSON property `type`
1852
+ # @return [Array<Google::Apis::HealthcareV1::Type>]
1853
+ attr_accessor :type
1854
+
1855
+ # The version selectors that this config applies to. A message must match ALL
1856
+ # version sources to apply.
1857
+ # Corresponds to the JSON property `version`
1858
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1859
+ attr_accessor :version
1860
+
1861
+ def initialize(**args)
1862
+ update!(**args)
1863
+ end
1864
+
1865
+ # Update properties of this object
1866
+ def update!(**args)
1867
+ @type = args[:type] if args.key?(:type)
1868
+ @version = args[:version] if args.key?(:version)
1869
+ end
1870
+ end
1871
+
1116
1872
  # Specifies where and whether to send notifications upon changes to a data store.
1117
1873
  class Hl7V2NotificationConfig
1118
1874
  include Google::Apis::Core::Hashable
1119
1875
 
1120
1876
  # Restricts notifications sent for messages matching a filter. If this is empty,
1121
- # all messages are matched. Syntax: https://cloud.google.com/appengine/docs/
1122
- # standard/python/search/query_strings The following fields and functions are
1123
- # available for filtering: * `message_type`, from the MSH-9.1 field. For example,
1124
- # `NOT message_type = "ADT"`. * `send_date` or `sendDate`, the YYYY-MM-DD date
1125
- # the message was sent in the dataset's time_zone, from the MSH-7 segment. For
1877
+ # all messages are matched. The following syntax is available: * A string field
1878
+ # value can be written as text inside quotation marks, for example `"query text"`
1879
+ # . The only valid relational operation for text fields is equality (`=`), where
1880
+ # text is searched within the field, rather than having the field be equal to
1881
+ # the text. For example, `"Comment = great"` returns messages with `great` in
1882
+ # the comment field. * A number field value can be written as an integer, a
1883
+ # decimal, or an exponential. The valid relational operators for number fields
1884
+ # are the equality operator (`=`), along with the less than/greater than
1885
+ # operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`)
1886
+ # operator. You can prepend the `NOT` operator to an expression to negate it. *
1887
+ # A date field value must be written in `yyyy-mm-dd` form. Fields with date and
1888
+ # time use the RFC3339 time format. Leading zeros are required for one-digit
1889
+ # months and days. The valid relational operators for date fields are the
1890
+ # equality operator (`=`) , along with the less than/greater than operators (`<`,
1891
+ # `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can
1892
+ # prepend the `NOT` operator to an expression to negate it. * Multiple field
1893
+ # query expressions can be combined in one query by adding `AND` or `OR`
1894
+ # operators between the expressions. If a boolean operator appears within a
1895
+ # quoted string, it is not treated as special, it's just another part of the
1896
+ # character string to be matched. You can prepend the `NOT` operator to an
1897
+ # expression to negate it. The following fields and functions are available for
1898
+ # filtering: * `message_type`, from the MSH-9.1 field. For example, `NOT
1899
+ # message_type = "ADT"`. * `send_date` or `sendDate`, the YYYY-MM-DD date the
1900
+ # message was sent in the dataset's time_zone, from the MSH-7 segment. For
1126
1901
  # example, `send_date < "2017-01-02"`. * `send_time`, the timestamp when the
1127
1902
  # message was sent, using the RFC3339 time format for comparisons, from the MSH-
1128
1903
  # 7 segment. For example, `send_time < "2017-01-02T00:00:00-05:00"`. * `
1129
- # send_facility`, the care center that the message came from, from the MSH-4
1130
- # segment. For example, `send_facility = "ABC"`. * `PatientId(value, type)`,
1131
- # which matches if the message lists a patient having an ID of the given value
1132
- # and type in the PID-2, PID-3, or PID-4 segments. For example, `PatientId("
1133
- # 123456", "MRN")`. * `labels.x`, a string value of the label with key `x` as
1134
- # set using the Message.labels map. For example, `labels."priority"="high"`. The
1135
- # operator `:*` can be used to assert the existence of a label. For example, `
1136
- # labels."priority":*`.
1904
+ # create_time`, the timestamp when the message was created in the HL7v2 store.
1905
+ # Use the RFC3339 time format for comparisons. For example, `create_time < "2017-
1906
+ # 01-02T00:00:00-05:00"`. * `send_facility`, the care center that the message
1907
+ # came from, from the MSH-4 segment. For example, `send_facility = "ABC"`. * `
1908
+ # PatientId(value, type)`, which matches if the message lists a patient having
1909
+ # an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For
1910
+ # example, `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
1911
+ # label with key `x` as set using the Message.labels map. For example, `labels."
1912
+ # priority"="high"`. The operator `:*` can be used to assert the existence of a
1913
+ # label. For example, `labels."priority":*`.
1137
1914
  # Corresponds to the JSON property `filter`
1138
1915
  # @return [String]
1139
1916
  attr_accessor :filter
1140
1917
 
1141
- # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1142
- # notifications of changes are published on. Supplied by the client. The
1143
- # notification is a `PubsubMessage` with the following fields: * `PubsubMessage.
1144
- # Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of
1145
- # this notification. It's guaranteed to be unique within the topic. * `
1146
- # PubsubMessage.PublishTime` is the time when the message was published. Note
1147
- # that notifications are only sent if the topic is non-empty. [Topic names](
1148
- # https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a
1149
- # project. The Cloud Healthcare API service account, service-PROJECT_NUMBER@gcp-
1150
- # sa-healthcare.iam.gserviceaccount.com, must have publisher permissions on the
1151
- # given Pub/Sub topic. Not having adequate permissions causes the calls that
1152
- # send notifications to fail. If a notification cannot be published to Cloud Pub/
1153
- # Sub, errors are logged to Cloud Logging. For more information, see [Viewing
1154
- # error logs in Cloud Logging](/healthcare/docs/how-tos/logging)).
1918
+ # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications
1919
+ # of changes are published on. Supplied by the client. The notification is a `
1920
+ # PubsubMessage` with the following fields: * `PubsubMessage.Data` contains the
1921
+ # resource name. * `PubsubMessage.MessageId` is the ID of this notification. It'
1922
+ # s guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is
1923
+ # the time when the message was published. Note that notifications are only sent
1924
+ # if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/
1925
+ # overview#names) must be scoped to a project. The Cloud Healthcare API service
1926
+ # account, service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com,
1927
+ # must have publisher permissions on the given Pub/Sub topic. Not having
1928
+ # adequate permissions causes the calls that send notifications to fail. If a
1929
+ # notification cannot be published to Pub/Sub, errors are logged to Cloud
1930
+ # Logging. For more information, see [Viewing error logs in Cloud Logging](https:
1931
+ # //cloud.google.com/healthcare/docs/how-tos/logging)).
1155
1932
  # Corresponds to the JSON property `pubsubTopic`
1156
1933
  # @return [String]
1157
1934
  attr_accessor :pubsub_topic
@@ -1278,6 +2055,40 @@ module Google
1278
2055
  end
1279
2056
  end
1280
2057
 
2058
+ # Raw bytes representing consent artifact content.
2059
+ class Image
2060
+ include Google::Apis::Core::Hashable
2061
+
2062
+ # Input only. Points to a Cloud Storage URI containing the consent artifact
2063
+ # content. The URI must be in the following format: `gs://`bucket_id`/`object_id`
2064
+ # `. The Cloud Healthcare API service account must have the `roles/storage.
2065
+ # objectViewer` Cloud IAM role for this Cloud Storage location. The consent
2066
+ # artifact content at this URI is copied to a Cloud Storage location managed by
2067
+ # the Cloud Healthcare API. Responses to fetching requests return the consent
2068
+ # artifact content in raw_bytes.
2069
+ # Corresponds to the JSON property `gcsUri`
2070
+ # @return [String]
2071
+ attr_accessor :gcs_uri
2072
+
2073
+ # Consent artifact content represented as a stream of bytes. This field is
2074
+ # populated when returned in GetConsentArtifact response, but not included in
2075
+ # CreateConsentArtifact and ListConsentArtifact response.
2076
+ # Corresponds to the JSON property `rawBytes`
2077
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2078
+ # @return [String]
2079
+ attr_accessor :raw_bytes
2080
+
2081
+ def initialize(**args)
2082
+ update!(**args)
2083
+ end
2084
+
2085
+ # Update properties of this object
2086
+ def update!(**args)
2087
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
2088
+ @raw_bytes = args[:raw_bytes] if args.key?(:raw_bytes)
2089
+ end
2090
+ end
2091
+
1281
2092
  # Specifies how to handle de-identification of image pixels.
1282
2093
  class ImageConfig
1283
2094
  include Google::Apis::Core::Hashable
@@ -1475,6 +2286,141 @@ module Google
1475
2286
  end
1476
2287
  end
1477
2288
 
2289
+ #
2290
+ class ListAttributeDefinitionsResponse
2291
+ include Google::Apis::Core::Hashable
2292
+
2293
+ # The returned Attribute definitions. The maximum number of attributes returned
2294
+ # is determined by the value of page_size in the ListAttributeDefinitionsRequest.
2295
+ # Corresponds to the JSON property `attributeDefinitions`
2296
+ # @return [Array<Google::Apis::HealthcareV1::AttributeDefinition>]
2297
+ attr_accessor :attribute_definitions
2298
+
2299
+ # Token to retrieve the next page of results, or empty if there are no more
2300
+ # results in the list.
2301
+ # Corresponds to the JSON property `nextPageToken`
2302
+ # @return [String]
2303
+ attr_accessor :next_page_token
2304
+
2305
+ def initialize(**args)
2306
+ update!(**args)
2307
+ end
2308
+
2309
+ # Update properties of this object
2310
+ def update!(**args)
2311
+ @attribute_definitions = args[:attribute_definitions] if args.key?(:attribute_definitions)
2312
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2313
+ end
2314
+ end
2315
+
2316
+ #
2317
+ class ListConsentArtifactsResponse
2318
+ include Google::Apis::Core::Hashable
2319
+
2320
+ # The returned Consent artifacts. The maximum number of artifacts returned is
2321
+ # determined by the value of page_size in the ListConsentArtifactsRequest.
2322
+ # Corresponds to the JSON property `consentArtifacts`
2323
+ # @return [Array<Google::Apis::HealthcareV1::ConsentArtifact>]
2324
+ attr_accessor :consent_artifacts
2325
+
2326
+ # Token to retrieve the next page of results, or empty if there are no more
2327
+ # results in the list.
2328
+ # Corresponds to the JSON property `nextPageToken`
2329
+ # @return [String]
2330
+ attr_accessor :next_page_token
2331
+
2332
+ def initialize(**args)
2333
+ update!(**args)
2334
+ end
2335
+
2336
+ # Update properties of this object
2337
+ def update!(**args)
2338
+ @consent_artifacts = args[:consent_artifacts] if args.key?(:consent_artifacts)
2339
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2340
+ end
2341
+ end
2342
+
2343
+ #
2344
+ class ListConsentRevisionsResponse
2345
+ include Google::Apis::Core::Hashable
2346
+
2347
+ # The returned Consent revisions. The maximum number of revisions returned is
2348
+ # determined by the value of `page_size` in the ListConsentRevisionsRequest.
2349
+ # Corresponds to the JSON property `consents`
2350
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2351
+ attr_accessor :consents
2352
+
2353
+ # Token to retrieve the next page of results, or empty if there are no more
2354
+ # results in the list.
2355
+ # Corresponds to the JSON property `nextPageToken`
2356
+ # @return [String]
2357
+ attr_accessor :next_page_token
2358
+
2359
+ def initialize(**args)
2360
+ update!(**args)
2361
+ end
2362
+
2363
+ # Update properties of this object
2364
+ def update!(**args)
2365
+ @consents = args[:consents] if args.key?(:consents)
2366
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2367
+ end
2368
+ end
2369
+
2370
+ #
2371
+ class ListConsentStoresResponse
2372
+ include Google::Apis::Core::Hashable
2373
+
2374
+ # The returned consent stores. The maximum number of stores returned is
2375
+ # determined by the value of page_size in the ListConsentStoresRequest.
2376
+ # Corresponds to the JSON property `consentStores`
2377
+ # @return [Array<Google::Apis::HealthcareV1::ConsentStore>]
2378
+ attr_accessor :consent_stores
2379
+
2380
+ # Token to retrieve the next page of results, or empty if there are no more
2381
+ # results in the list.
2382
+ # Corresponds to the JSON property `nextPageToken`
2383
+ # @return [String]
2384
+ attr_accessor :next_page_token
2385
+
2386
+ def initialize(**args)
2387
+ update!(**args)
2388
+ end
2389
+
2390
+ # Update properties of this object
2391
+ def update!(**args)
2392
+ @consent_stores = args[:consent_stores] if args.key?(:consent_stores)
2393
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2394
+ end
2395
+ end
2396
+
2397
+ #
2398
+ class ListConsentsResponse
2399
+ include Google::Apis::Core::Hashable
2400
+
2401
+ # The returned Consents. The maximum number of Consents returned is determined
2402
+ # by the value of page_size in the ListConsentsRequest.
2403
+ # Corresponds to the JSON property `consents`
2404
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2405
+ attr_accessor :consents
2406
+
2407
+ # Token to retrieve the next page of results, or empty if there are no more
2408
+ # results in the list.
2409
+ # Corresponds to the JSON property `nextPageToken`
2410
+ # @return [String]
2411
+ attr_accessor :next_page_token
2412
+
2413
+ def initialize(**args)
2414
+ update!(**args)
2415
+ end
2416
+
2417
+ # Update properties of this object
2418
+ def update!(**args)
2419
+ @consents = args[:consents] if args.key?(:consents)
2420
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2421
+ end
2422
+ end
2423
+
1478
2424
  # Lists the available datasets.
1479
2425
  class ListDatasetsResponse
1480
2426
  include Google::Apis::Core::Hashable
@@ -1659,6 +2605,34 @@ module Google
1659
2605
  end
1660
2606
  end
1661
2607
 
2608
+ #
2609
+ class ListUserDataMappingsResponse
2610
+ include Google::Apis::Core::Hashable
2611
+
2612
+ # Token to retrieve the next page of results, or empty if there are no more
2613
+ # results in the list.
2614
+ # Corresponds to the JSON property `nextPageToken`
2615
+ # @return [String]
2616
+ attr_accessor :next_page_token
2617
+
2618
+ # The returned User data mappings. The maximum number of User data mappings
2619
+ # returned is determined by the value of page_size in the
2620
+ # ListUserDataMappingsRequest.
2621
+ # Corresponds to the JSON property `userDataMappings`
2622
+ # @return [Array<Google::Apis::HealthcareV1::UserDataMapping>]
2623
+ attr_accessor :user_data_mappings
2624
+
2625
+ def initialize(**args)
2626
+ update!(**args)
2627
+ end
2628
+
2629
+ # Update properties of this object
2630
+ def update!(**args)
2631
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2632
+ @user_data_mappings = args[:user_data_mappings] if args.key?(:user_data_mappings)
2633
+ end
2634
+ end
2635
+
1662
2636
  # A resource that represents Google Cloud Platform location.
1663
2637
  class Location
1664
2638
  include Google::Apis::Core::Hashable
@@ -1755,6 +2729,12 @@ module Google
1755
2729
  # @return [Array<Google::Apis::HealthcareV1::PatientId>]
1756
2730
  attr_accessor :patient_ids
1757
2731
 
2732
+ # The content of an HL7v2 message in a structured format as specified by a
2733
+ # schema.
2734
+ # Corresponds to the JSON property `schematizedData`
2735
+ # @return [Google::Apis::HealthcareV1::SchematizedData]
2736
+ attr_accessor :schematized_data
2737
+
1758
2738
  # The hospital that this message came from. MSH-4.
1759
2739
  # Corresponds to the JSON property `sendFacility`
1760
2740
  # @return [String]
@@ -1778,6 +2758,7 @@ module Google
1778
2758
  @name = args[:name] if args.key?(:name)
1779
2759
  @parsed_data = args[:parsed_data] if args.key?(:parsed_data)
1780
2760
  @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
2761
+ @schematized_data = args[:schematized_data] if args.key?(:schematized_data)
1781
2762
  @send_facility = args[:send_facility] if args.key?(:send_facility)
1782
2763
  @send_time = args[:send_time] if args.key?(:send_time)
1783
2764
  end
@@ -1787,17 +2768,17 @@ module Google
1787
2768
  class NotificationConfig
1788
2769
  include Google::Apis::Core::Hashable
1789
2770
 
1790
- # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1791
- # notifications of changes are published on. Supplied by the client.
1792
- # PubsubMessage.Data contains the resource name. PubsubMessage.MessageId is the
1793
- # ID of this message. It is guaranteed to be unique within the topic.
1794
- # PubsubMessage.PublishTime is the time at which the message was published.
1795
- # Notifications are only sent if the topic is non-empty. [Topic names](https://
1796
- # cloud.google.com/pubsub/docs/overview#names) must be scoped to a project.
1797
- # Cloud Healthcare API service account must have publisher permissions on the
1798
- # given Cloud Pub/Sub topic. Not having adequate permissions causes the calls
1799
- # that send notifications to fail. If a notification can't be published to Cloud
1800
- # Pub/Sub, errors are logged to Cloud Logging (see [Viewing logs](/healthcare/
2771
+ # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications
2772
+ # of changes are published on. Supplied by the client. PubsubMessage.Data
2773
+ # contains the resource name. PubsubMessage.MessageId is the ID of this message.
2774
+ # It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is
2775
+ # the time at which the message was published. Notifications are only sent if
2776
+ # the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/
2777
+ # overview#names) must be scoped to a project. Cloud Healthcare API service
2778
+ # account must have publisher permissions on the given Pub/Sub topic. Not having
2779
+ # adequate permissions causes the calls that send notifications to fail. If a
2780
+ # notification can't be published to Pub/Sub, errors are logged to Cloud Logging
2781
+ # (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/
1801
2782
  # docs/how-tos/logging)). If the number of errors exceeds a certain rate, some
1802
2783
  # aren't submitted. Note that not all operations trigger notifications, see [
1803
2784
  # Configuring Pub/Sub notifications](https://cloud.google.com/healthcare/docs/
@@ -1910,8 +2891,8 @@ module Google
1910
2891
  attr_accessor :end_time
1911
2892
 
1912
2893
  # A link to audit and error logs in the log viewer. Error logs are generated
1913
- # only by some operations, listed at [Viewing logs](/healthcare/docs/how-tos/
1914
- # logging).
2894
+ # only by some operations, listed at [Viewing error logs in Cloud Logging](https:
2895
+ # //cloud.google.com/healthcare/docs/how-tos/logging).
1915
2896
  # Corresponds to the JSON property `logsUrl`
1916
2897
  # @return [String]
1917
2898
  attr_accessor :logs_url
@@ -1961,8 +2942,13 @@ module Google
1961
2942
  attr_accessor :allow_null_header
1962
2943
  alias_method :allow_null_header?, :allow_null_header
1963
2944
 
2945
+ # A schema package contains a set of schemas and type definitions.
2946
+ # Corresponds to the JSON property `schema`
2947
+ # @return [Google::Apis::HealthcareV1::SchemaPackage]
2948
+ attr_accessor :schema
2949
+
1964
2950
  # Byte(s) to use as the segment terminator. If this is unset, '\r' is used as
1965
- # segment terminator.
2951
+ # segment terminator, matching the HL7 version 2 specification.
1966
2952
  # Corresponds to the JSON property `segmentTerminator`
1967
2953
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
1968
2954
  # @return [String]
@@ -1975,6 +2961,7 @@ module Google
1975
2961
  # Update properties of this object
1976
2962
  def update!(**args)
1977
2963
  @allow_null_header = args[:allow_null_header] if args.key?(:allow_null_header)
2964
+ @schema = args[:schema] if args.key?(:schema)
1978
2965
  @segment_terminator = args[:segment_terminator] if args.key?(:segment_terminator)
1979
2966
  end
1980
2967
  end
@@ -2125,6 +3112,44 @@ module Google
2125
3112
  end
2126
3113
  end
2127
3114
 
3115
+ # Queries all data_ids that are consented for a given use in the given consent
3116
+ # store and writes them to a specified destination. The returned Operation
3117
+ # includes a progress counter for the number of User data mappings processed.
3118
+ # Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging] (
3119
+ # https://cloud.google.com/healthcare/docs/how-tos/logging) and [
3120
+ # QueryAccessibleData] for a sample log entry).
3121
+ class QueryAccessibleDataRequest
3122
+ include Google::Apis::Core::Hashable
3123
+
3124
+ # The Cloud Storage location for export.
3125
+ # Corresponds to the JSON property `gcsDestination`
3126
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentGcsDestination]
3127
+ attr_accessor :gcs_destination
3128
+
3129
+ # The values of request attributes associated with this access request.
3130
+ # Corresponds to the JSON property `requestAttributes`
3131
+ # @return [Hash<String,String>]
3132
+ attr_accessor :request_attributes
3133
+
3134
+ # Optional. The values of resource attributes associated with the type of
3135
+ # resources being requested. If no values are specified, then all resource types
3136
+ # are included in the output.
3137
+ # Corresponds to the JSON property `resourceAttributes`
3138
+ # @return [Hash<String,String>]
3139
+ attr_accessor :resource_attributes
3140
+
3141
+ def initialize(**args)
3142
+ update!(**args)
3143
+ end
3144
+
3145
+ # Update properties of this object
3146
+ def update!(**args)
3147
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
3148
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
3149
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3150
+ end
3151
+ end
3152
+
2128
3153
  # Define how to redact sensitive values. Default behaviour is erase. For example,
2129
3154
  # "My name is Jane." becomes "My name is ."
2130
3155
  class RedactConfig
@@ -2139,6 +3164,31 @@ module Google
2139
3164
  end
2140
3165
  end
2141
3166
 
3167
+ # Rejects the latest revision of the specified Consent by committing a new
3168
+ # revision with `state` updated to `REJECTED`. If the latest revision of the
3169
+ # given Consent is in the `REJECTED` state, no new revision is committed.
3170
+ class RejectConsentRequest
3171
+ include Google::Apis::Core::Hashable
3172
+
3173
+ # Optional. The resource name of the Consent artifact that contains
3174
+ # documentation of the user's rejection of the draft Consent, of the form `
3175
+ # projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
3176
+ # consentStores/`consent_store_id`/consentArtifacts/`consent_artifact_id``. If
3177
+ # the draft Consent had a Consent artifact, this Consent artifact overwrites it.
3178
+ # Corresponds to the JSON property `consentArtifact`
3179
+ # @return [String]
3180
+ attr_accessor :consent_artifact
3181
+
3182
+ def initialize(**args)
3183
+ update!(**args)
3184
+ end
3185
+
3186
+ # Update properties of this object
3187
+ def update!(**args)
3188
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3189
+ end
3190
+ end
3191
+
2142
3192
  # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the
2143
3193
  # name of the info_type. For example, "My name is Jane" becomes "My name is [
2144
3194
  # PERSON_NAME]." The TRANSFORM action is equivalent to redacting.
@@ -2173,6 +3223,62 @@ module Google
2173
3223
  end
2174
3224
  end
2175
3225
 
3226
+ # The consent evaluation result for a single `data_id`.
3227
+ class Result
3228
+ include Google::Apis::Core::Hashable
3229
+
3230
+ # The resource names of all evaluated Consents mapped to their evaluation.
3231
+ # Corresponds to the JSON property `consentDetails`
3232
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
3233
+ attr_accessor :consent_details
3234
+
3235
+ # Whether the resource is consented for the given use.
3236
+ # Corresponds to the JSON property `consented`
3237
+ # @return [Boolean]
3238
+ attr_accessor :consented
3239
+ alias_method :consented?, :consented
3240
+
3241
+ # The unique identifier of the evaluated resource.
3242
+ # Corresponds to the JSON property `dataId`
3243
+ # @return [String]
3244
+ attr_accessor :data_id
3245
+
3246
+ def initialize(**args)
3247
+ update!(**args)
3248
+ end
3249
+
3250
+ # Update properties of this object
3251
+ def update!(**args)
3252
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
3253
+ @consented = args[:consented] if args.key?(:consented)
3254
+ @data_id = args[:data_id] if args.key?(:data_id)
3255
+ end
3256
+ end
3257
+
3258
+ # Revokes the latest revision of the specified Consent by committing a new
3259
+ # revision with `state` updated to `REVOKED`. If the latest revision of the
3260
+ # given Consent is in the `REVOKED` state, no new revision is committed.
3261
+ class RevokeConsentRequest
3262
+ include Google::Apis::Core::Hashable
3263
+
3264
+ # Optional. The resource name of the Consent artifact that contains proof of the
3265
+ # user's revocation of the Consent, of the form `projects/`project_id`/locations/
3266
+ # `location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3267
+ # consentArtifacts/`consent_artifact_id``.
3268
+ # Corresponds to the JSON property `consentArtifact`
3269
+ # @return [String]
3270
+ attr_accessor :consent_artifact
3271
+
3272
+ def initialize(**args)
3273
+ update!(**args)
3274
+ end
3275
+
3276
+ # Update properties of this object
3277
+ def update!(**args)
3278
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3279
+ end
3280
+ end
3281
+
2176
3282
  # Configuration for the FHIR BigQuery schema. Determines how the server
2177
3283
  # generates the schema.
2178
3284
  class SchemaConfig
@@ -2203,6 +3309,156 @@ module Google
2203
3309
  end
2204
3310
  end
2205
3311
 
3312
+ # An HL7v2 logical group construct.
3313
+ class SchemaGroup
3314
+ include Google::Apis::Core::Hashable
3315
+
3316
+ # True indicates that this is a choice group, meaning that only one of its
3317
+ # segments can exist in a given message.
3318
+ # Corresponds to the JSON property `choice`
3319
+ # @return [Boolean]
3320
+ attr_accessor :choice
3321
+ alias_method :choice?, :choice
3322
+
3323
+ # The maximum number of times this group can be repeated. 0 or -1 means
3324
+ # unbounded.
3325
+ # Corresponds to the JSON property `maxOccurs`
3326
+ # @return [Fixnum]
3327
+ attr_accessor :max_occurs
3328
+
3329
+ # Nested groups and/or segments.
3330
+ # Corresponds to the JSON property `members`
3331
+ # @return [Array<Google::Apis::HealthcareV1::GroupOrSegment>]
3332
+ attr_accessor :members
3333
+
3334
+ # The minimum number of times this group must be present/repeated.
3335
+ # Corresponds to the JSON property `minOccurs`
3336
+ # @return [Fixnum]
3337
+ attr_accessor :min_occurs
3338
+
3339
+ # The name of this group. For example, "ORDER_DETAIL".
3340
+ # Corresponds to the JSON property `name`
3341
+ # @return [String]
3342
+ attr_accessor :name
3343
+
3344
+ def initialize(**args)
3345
+ update!(**args)
3346
+ end
3347
+
3348
+ # Update properties of this object
3349
+ def update!(**args)
3350
+ @choice = args[:choice] if args.key?(:choice)
3351
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3352
+ @members = args[:members] if args.key?(:members)
3353
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3354
+ @name = args[:name] if args.key?(:name)
3355
+ end
3356
+ end
3357
+
3358
+ # A schema package contains a set of schemas and type definitions.
3359
+ class SchemaPackage
3360
+ include Google::Apis::Core::Hashable
3361
+
3362
+ # Flag to ignore all min_occurs restrictions in the schema. This means that
3363
+ # incoming messages can omit any group, segment, field, component, or
3364
+ # subcomponent.
3365
+ # Corresponds to the JSON property `ignoreMinOccurs`
3366
+ # @return [Boolean]
3367
+ attr_accessor :ignore_min_occurs
3368
+ alias_method :ignore_min_occurs?, :ignore_min_occurs
3369
+
3370
+ # Schema configs that are layered based on their VersionSources that match the
3371
+ # incoming message. Schema configs present in higher indices override those in
3372
+ # lower indices with the same message type and trigger event if their
3373
+ # VersionSources all match an incoming message.
3374
+ # Corresponds to the JSON property `schemas`
3375
+ # @return [Array<Google::Apis::HealthcareV1::Hl7SchemaConfig>]
3376
+ attr_accessor :schemas
3377
+
3378
+ # Determines how messages that fail to parse are handled.
3379
+ # Corresponds to the JSON property `schematizedParsingType`
3380
+ # @return [String]
3381
+ attr_accessor :schematized_parsing_type
3382
+
3383
+ # Schema type definitions that are layered based on their VersionSources that
3384
+ # match the incoming message. Type definitions present in higher indices
3385
+ # override those in lower indices with the same type name if their
3386
+ # VersionSources all match an incoming message.
3387
+ # Corresponds to the JSON property `types`
3388
+ # @return [Array<Google::Apis::HealthcareV1::Hl7TypesConfig>]
3389
+ attr_accessor :types
3390
+
3391
+ def initialize(**args)
3392
+ update!(**args)
3393
+ end
3394
+
3395
+ # Update properties of this object
3396
+ def update!(**args)
3397
+ @ignore_min_occurs = args[:ignore_min_occurs] if args.key?(:ignore_min_occurs)
3398
+ @schemas = args[:schemas] if args.key?(:schemas)
3399
+ @schematized_parsing_type = args[:schematized_parsing_type] if args.key?(:schematized_parsing_type)
3400
+ @types = args[:types] if args.key?(:types)
3401
+ end
3402
+ end
3403
+
3404
+ # An HL7v2 Segment.
3405
+ class SchemaSegment
3406
+ include Google::Apis::Core::Hashable
3407
+
3408
+ # The maximum number of times this segment can be present in this group. 0 or -1
3409
+ # means unbounded.
3410
+ # Corresponds to the JSON property `maxOccurs`
3411
+ # @return [Fixnum]
3412
+ attr_accessor :max_occurs
3413
+
3414
+ # The minimum number of times this segment can be present in this group.
3415
+ # Corresponds to the JSON property `minOccurs`
3416
+ # @return [Fixnum]
3417
+ attr_accessor :min_occurs
3418
+
3419
+ # The Segment type. For example, "PID".
3420
+ # Corresponds to the JSON property `type`
3421
+ # @return [String]
3422
+ attr_accessor :type
3423
+
3424
+ def initialize(**args)
3425
+ update!(**args)
3426
+ end
3427
+
3428
+ # Update properties of this object
3429
+ def update!(**args)
3430
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3431
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3432
+ @type = args[:type] if args.key?(:type)
3433
+ end
3434
+ end
3435
+
3436
+ # The content of an HL7v2 message in a structured format as specified by a
3437
+ # schema.
3438
+ class SchematizedData
3439
+ include Google::Apis::Core::Hashable
3440
+
3441
+ # JSON output of the parser.
3442
+ # Corresponds to the JSON property `data`
3443
+ # @return [String]
3444
+ attr_accessor :data
3445
+
3446
+ # The error output of the parser.
3447
+ # Corresponds to the JSON property `error`
3448
+ # @return [String]
3449
+ attr_accessor :error
3450
+
3451
+ def initialize(**args)
3452
+ update!(**args)
3453
+ end
3454
+
3455
+ # Update properties of this object
3456
+ def update!(**args)
3457
+ @data = args[:data] if args.key?(:data)
3458
+ @error = args[:error] if args.key?(:error)
3459
+ end
3460
+ end
3461
+
2206
3462
  # Request to search the resources in the specified FHIR store.
2207
3463
  class SearchResourcesRequest
2208
3464
  include Google::Apis::Core::Hashable
@@ -2319,6 +3575,44 @@ module Google
2319
3575
  end
2320
3576
  end
2321
3577
 
3578
+ # User signature.
3579
+ class Signature
3580
+ include Google::Apis::Core::Hashable
3581
+
3582
+ # Raw bytes representing consent artifact content.
3583
+ # Corresponds to the JSON property `image`
3584
+ # @return [Google::Apis::HealthcareV1::Image]
3585
+ attr_accessor :image
3586
+
3587
+ # Optional. Metadata associated with the user's signature. For example, the user'
3588
+ # s name or the user's title.
3589
+ # Corresponds to the JSON property `metadata`
3590
+ # @return [Hash<String,String>]
3591
+ attr_accessor :metadata
3592
+
3593
+ # Optional. Timestamp of the signature.
3594
+ # Corresponds to the JSON property `signatureTime`
3595
+ # @return [String]
3596
+ attr_accessor :signature_time
3597
+
3598
+ # Required. User's UUID provided by the client.
3599
+ # Corresponds to the JSON property `userId`
3600
+ # @return [String]
3601
+ attr_accessor :user_id
3602
+
3603
+ def initialize(**args)
3604
+ update!(**args)
3605
+ end
3606
+
3607
+ # Update properties of this object
3608
+ def update!(**args)
3609
+ @image = args[:image] if args.key?(:image)
3610
+ @metadata = args[:metadata] if args.key?(:metadata)
3611
+ @signature_time = args[:signature_time] if args.key?(:signature_time)
3612
+ @user_id = args[:user_id] if args.key?(:user_id)
3613
+ end
3614
+ end
3615
+
2322
3616
  # The `Status` type defines a logical error model that is suitable for different
2323
3617
  # programming environments, including REST APIs and RPC APIs. It is used by [
2324
3618
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2466,6 +3760,119 @@ module Google
2466
3760
  @transformations = args[:transformations] if args.key?(:transformations)
2467
3761
  end
2468
3762
  end
3763
+
3764
+ # A type definition for some HL7v2 type (incl. Segments and Datatypes).
3765
+ class Type
3766
+ include Google::Apis::Core::Hashable
3767
+
3768
+ # The (sub) fields this type has (if not primitive).
3769
+ # Corresponds to the JSON property `fields`
3770
+ # @return [Array<Google::Apis::HealthcareV1::Field>]
3771
+ attr_accessor :fields
3772
+
3773
+ # The name of this type. This would be the segment or datatype name. For example,
3774
+ # "PID" or "XPN".
3775
+ # Corresponds to the JSON property `name`
3776
+ # @return [String]
3777
+ attr_accessor :name
3778
+
3779
+ # If this is a primitive type then this field is the type of the primitive For
3780
+ # example, STRING. Leave unspecified for composite types.
3781
+ # Corresponds to the JSON property `primitive`
3782
+ # @return [String]
3783
+ attr_accessor :primitive
3784
+
3785
+ def initialize(**args)
3786
+ update!(**args)
3787
+ end
3788
+
3789
+ # Update properties of this object
3790
+ def update!(**args)
3791
+ @fields = args[:fields] if args.key?(:fields)
3792
+ @name = args[:name] if args.key?(:name)
3793
+ @primitive = args[:primitive] if args.key?(:primitive)
3794
+ end
3795
+ end
3796
+
3797
+ # Maps a resource to the associated user and Attributes.
3798
+ class UserDataMapping
3799
+ include Google::Apis::Core::Hashable
3800
+
3801
+ # Output only. Indicates the time when this mapping was archived.
3802
+ # Corresponds to the JSON property `archiveTime`
3803
+ # @return [String]
3804
+ attr_accessor :archive_time
3805
+
3806
+ # Output only. Indicates whether this mapping is archived.
3807
+ # Corresponds to the JSON property `archived`
3808
+ # @return [Boolean]
3809
+ attr_accessor :archived
3810
+ alias_method :archived?, :archived
3811
+
3812
+ # Required. A unique identifier for the mapped resource.
3813
+ # Corresponds to the JSON property `dataId`
3814
+ # @return [String]
3815
+ attr_accessor :data_id
3816
+
3817
+ # Resource name of the User data mapping, of the form `projects/`project_id`/
3818
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3819
+ # userDataMappings/`user_data_mapping_id``.
3820
+ # Corresponds to the JSON property `name`
3821
+ # @return [String]
3822
+ attr_accessor :name
3823
+
3824
+ # Attributes of the resource. Only explicitly set attributes are displayed here.
3825
+ # Attribute definitions with defaults set implicitly apply to these User data
3826
+ # mappings. Attributes listed here must be single valued, that is, exactly one
3827
+ # value is specified for the field "values" in each Attribute.
3828
+ # Corresponds to the JSON property `resourceAttributes`
3829
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
3830
+ attr_accessor :resource_attributes
3831
+
3832
+ # Required. User's UUID provided by the client.
3833
+ # Corresponds to the JSON property `userId`
3834
+ # @return [String]
3835
+ attr_accessor :user_id
3836
+
3837
+ def initialize(**args)
3838
+ update!(**args)
3839
+ end
3840
+
3841
+ # Update properties of this object
3842
+ def update!(**args)
3843
+ @archive_time = args[:archive_time] if args.key?(:archive_time)
3844
+ @archived = args[:archived] if args.key?(:archived)
3845
+ @data_id = args[:data_id] if args.key?(:data_id)
3846
+ @name = args[:name] if args.key?(:name)
3847
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3848
+ @user_id = args[:user_id] if args.key?(:user_id)
3849
+ end
3850
+ end
3851
+
3852
+ # Describes a selector for extracting and matching an MSH field to a value.
3853
+ class VersionSource
3854
+ include Google::Apis::Core::Hashable
3855
+
3856
+ # The field to extract from the MSH segment. For example, "3.1" or "18[1].1".
3857
+ # Corresponds to the JSON property `mshField`
3858
+ # @return [String]
3859
+ attr_accessor :msh_field
3860
+
3861
+ # The value to match with the field. For example, "My Application Name" or "2.3".
3862
+ # Corresponds to the JSON property `value`
3863
+ # @return [String]
3864
+ attr_accessor :value
3865
+
3866
+ def initialize(**args)
3867
+ update!(**args)
3868
+ end
3869
+
3870
+ # Update properties of this object
3871
+ def update!(**args)
3872
+ @msh_field = args[:msh_field] if args.key?(:msh_field)
3873
+ @value = args[:value] if args.key?(:value)
3874
+ end
3875
+ end
2469
3876
  end
2470
3877
  end
2471
3878
  end