google-apis-healthcare_v1 0.1.0 → 0.6.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: 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