google-apis-healthcare_v1 0.3.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2112a721d8dbd19788e6fc189e4092140fa1fe20d313f5a3b9d8ae45f29cc85
4
- data.tar.gz: c37c73cee2ffb42bdc4745093820c9a1393d29769278dec9678f426b3f62341d
3
+ metadata.gz: 1cf3a0f0171d1922ca3437b12db02bd43068ae732460a05a54b7b808ebb9abd7
4
+ data.tar.gz: 715c89d103e7e1d63a6bf5e0f83cba828a4080f7b2e5837d5037b19d502f457a
5
5
  SHA512:
6
- metadata.gz: 2259a399f0b787adb36d3920ad1b9d0bc6042a3720834a67f29f86db5901ecffd5ec2a05aa0af6539a57334033f18304f73050a6f1bf0b83802a0bbbafe19a0f
7
- data.tar.gz: feb8924d5c6993b8e5f73f4383148e8c69526f3b47c08003ba0f889a91d547a4e5e101b7f24dc36b4cf22e6566d092ae4bf27d2e2c654fa0ac842ad757b4394a
6
+ metadata.gz: a387f143dd8247877710d4c720f238a575b3904c29f39e8156b5776ea1dc3bf195d4ece196fac72ec05913ff7995a3523ffb4aaa1e889caef15b27b8fafab221
7
+ data.tar.gz: 9bc2c9b8baeb8b4a433087f3ea5f9c08ae3ffcf6b9735b1c0c16d5f3e7afaae27a9f55f2afe445c5d33139162fe5edaa74c0dc346dd988f5044c84d1b1920798
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-healthcare_v1
2
2
 
3
+ ### v0.8.0 (2021-05-21)
4
+
5
+ * Regenerated from discovery document revision 20210507
6
+ * Unspecified changes
7
+
8
+ ### v0.7.0 (2021-04-28)
9
+
10
+ * Regenerated from discovery document revision 20210414
11
+
12
+ ### v0.6.0 (2021-03-26)
13
+
14
+ * Regenerated from discovery document revision 20210317
15
+
16
+ ### v0.5.0 (2021-03-13)
17
+
18
+ * Regenerated from discovery document revision 20210301
19
+ * Regenerated using generator version 0.2.0
20
+
21
+ ### v0.4.0 (2021-03-04)
22
+
23
+ * Regenerated from discovery document revision 20210217
24
+
3
25
  ### v0.3.0 (2021-02-18)
4
26
 
5
27
  * Regenerated from discovery document revision 20210205
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
  end
35
35
  end
@@ -22,6 +22,159 @@ module Google
22
22
  module Apis
23
23
  module HealthcareV1
24
24
 
25
+ # Activates the latest revision of the specified Consent by committing a new
26
+ # revision with `state` updated to `ACTIVE`. If the latest revision of the given
27
+ # Consent is in the `ACTIVE` state, no new revision is committed. A
28
+ # FAILED_PRECONDITION error occurs if the latest revision of the given consent
29
+ # is in the `REJECTED` or `REVOKED` state.
30
+ class ActivateConsentRequest
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # Required. The resource name of the Consent artifact that contains
34
+ # documentation of the user's consent, of the form `projects/`project_id`/
35
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
36
+ # consentArtifacts/`consent_artifact_id``. If the draft Consent had a Consent
37
+ # artifact, this Consent artifact overwrites it.
38
+ # Corresponds to the JSON property `consentArtifact`
39
+ # @return [String]
40
+ attr_accessor :consent_artifact
41
+
42
+ # Timestamp in UTC of when this Consent is considered expired.
43
+ # Corresponds to the JSON property `expireTime`
44
+ # @return [String]
45
+ attr_accessor :expire_time
46
+
47
+ # The time to live for this Consent from when it is marked as active.
48
+ # Corresponds to the JSON property `ttl`
49
+ # @return [String]
50
+ attr_accessor :ttl
51
+
52
+ def initialize(**args)
53
+ update!(**args)
54
+ end
55
+
56
+ # Update properties of this object
57
+ def update!(**args)
58
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
59
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
60
+ @ttl = args[:ttl] if args.key?(:ttl)
61
+ end
62
+ end
63
+
64
+ # Archives the specified User data mapping.
65
+ class ArchiveUserDataMappingRequest
66
+ include Google::Apis::Core::Hashable
67
+
68
+ def initialize(**args)
69
+ update!(**args)
70
+ end
71
+
72
+ # Update properties of this object
73
+ def update!(**args)
74
+ end
75
+ end
76
+
77
+ # Archives the specified User data mapping.
78
+ class ArchiveUserDataMappingResponse
79
+ include Google::Apis::Core::Hashable
80
+
81
+ def initialize(**args)
82
+ update!(**args)
83
+ end
84
+
85
+ # Update properties of this object
86
+ def update!(**args)
87
+ end
88
+ end
89
+
90
+ # An attribute value for a Consent or User data mapping. Each Attribute must
91
+ # have a corresponding AttributeDefinition in the consent store that defines the
92
+ # default and allowed values.
93
+ class Attribute
94
+ include Google::Apis::Core::Hashable
95
+
96
+ # Indicates the name of an attribute defined in the consent store.
97
+ # Corresponds to the JSON property `attributeDefinitionId`
98
+ # @return [String]
99
+ attr_accessor :attribute_definition_id
100
+
101
+ # Required. The value of the attribute. Must be an acceptable value as defined
102
+ # in the consent store. For example, if the consent store defines "data type"
103
+ # with acceptable values "questionnaire" and "step-count", when the attribute
104
+ # name is data type, this field must contain one of those values.
105
+ # Corresponds to the JSON property `values`
106
+ # @return [Array<String>]
107
+ attr_accessor :values
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @attribute_definition_id = args[:attribute_definition_id] if args.key?(:attribute_definition_id)
116
+ @values = args[:values] if args.key?(:values)
117
+ end
118
+ end
119
+
120
+ # A client-defined consent attribute.
121
+ class AttributeDefinition
122
+ include Google::Apis::Core::Hashable
123
+
124
+ # Required. Possible values for the attribute. The number of allowed values must
125
+ # not exceed 100. An empty list is invalid. The list can only be expanded after
126
+ # creation.
127
+ # Corresponds to the JSON property `allowedValues`
128
+ # @return [Array<String>]
129
+ attr_accessor :allowed_values
130
+
131
+ # Required. The category of the attribute. The value of this field cannot be
132
+ # changed after creation.
133
+ # Corresponds to the JSON property `category`
134
+ # @return [String]
135
+ attr_accessor :category
136
+
137
+ # Optional. Default values of the attribute in Consents. If no default values
138
+ # are specified, it defaults to an empty value.
139
+ # Corresponds to the JSON property `consentDefaultValues`
140
+ # @return [Array<String>]
141
+ attr_accessor :consent_default_values
142
+
143
+ # Optional. Default value of the attribute in User data mappings. If no default
144
+ # value is specified, it defaults to an empty value. This field is only
145
+ # applicable to attributes of the category `RESOURCE`.
146
+ # Corresponds to the JSON property `dataMappingDefaultValue`
147
+ # @return [String]
148
+ attr_accessor :data_mapping_default_value
149
+
150
+ # Optional. A description of the attribute.
151
+ # Corresponds to the JSON property `description`
152
+ # @return [String]
153
+ attr_accessor :description
154
+
155
+ # Resource name of the Attribute definition, of the form `projects/`project_id`/
156
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
157
+ # attributeDefinitions/`attribute_definition_id``. Cannot be changed after
158
+ # creation.
159
+ # Corresponds to the JSON property `name`
160
+ # @return [String]
161
+ attr_accessor :name
162
+
163
+ def initialize(**args)
164
+ update!(**args)
165
+ end
166
+
167
+ # Update properties of this object
168
+ def update!(**args)
169
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
170
+ @category = args[:category] if args.key?(:category)
171
+ @consent_default_values = args[:consent_default_values] if args.key?(:consent_default_values)
172
+ @data_mapping_default_value = args[:data_mapping_default_value] if args.key?(:data_mapping_default_value)
173
+ @description = args[:description] if args.key?(:description)
174
+ @name = args[:name] if args.key?(:name)
175
+ end
176
+ end
177
+
25
178
  # Specifies the audit configuration for a service. The configuration determines
26
179
  # which permission types are logged, and what identities, if any, are exempted
27
180
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -196,6 +349,317 @@ module Google
196
349
  end
197
350
  end
198
351
 
352
+ # Checks if a particular data_id of a User data mapping in the given consent
353
+ # store is consented for a given use.
354
+ class CheckDataAccessRequest
355
+ include Google::Apis::Core::Hashable
356
+
357
+ # List of resource names of Consent resources.
358
+ # Corresponds to the JSON property `consentList`
359
+ # @return [Google::Apis::HealthcareV1::ConsentList]
360
+ attr_accessor :consent_list
361
+
362
+ # Required. The unique identifier of the resource to check access for. This
363
+ # identifier must correspond to a User data mapping in the given consent store.
364
+ # Corresponds to the JSON property `dataId`
365
+ # @return [String]
366
+ attr_accessor :data_id
367
+
368
+ # The values of request attributes associated with this access request.
369
+ # Corresponds to the JSON property `requestAttributes`
370
+ # @return [Hash<String,String>]
371
+ attr_accessor :request_attributes
372
+
373
+ # Optional. The view for CheckDataAccessResponse. If unspecified, defaults to `
374
+ # BASIC` and returns `consented` as `TRUE` or `FALSE`.
375
+ # Corresponds to the JSON property `responseView`
376
+ # @return [String]
377
+ attr_accessor :response_view
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @consent_list = args[:consent_list] if args.key?(:consent_list)
386
+ @data_id = args[:data_id] if args.key?(:data_id)
387
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
388
+ @response_view = args[:response_view] if args.key?(:response_view)
389
+ end
390
+ end
391
+
392
+ # Checks if a particular data_id of a User data mapping in the given consent
393
+ # store is consented for a given use.
394
+ class CheckDataAccessResponse
395
+ include Google::Apis::Core::Hashable
396
+
397
+ # The resource names of all evaluated Consents mapped to their evaluation.
398
+ # Corresponds to the JSON property `consentDetails`
399
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
400
+ attr_accessor :consent_details
401
+
402
+ # Whether the requested resource is consented for the given use.
403
+ # Corresponds to the JSON property `consented`
404
+ # @return [Boolean]
405
+ attr_accessor :consented
406
+ alias_method :consented?, :consented
407
+
408
+ def initialize(**args)
409
+ update!(**args)
410
+ end
411
+
412
+ # Update properties of this object
413
+ def update!(**args)
414
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
415
+ @consented = args[:consented] if args.key?(:consented)
416
+ end
417
+ end
418
+
419
+ # Represents a user's consent.
420
+ class Consent
421
+ include Google::Apis::Core::Hashable
422
+
423
+ # Required. The resource name of the Consent artifact that contains proof of the
424
+ # end user's consent, of the form `projects/`project_id`/locations/`location_id`/
425
+ # datasets/`dataset_id`/consentStores/`consent_store_id`/consentArtifacts/`
426
+ # consent_artifact_id``.
427
+ # Corresponds to the JSON property `consentArtifact`
428
+ # @return [String]
429
+ attr_accessor :consent_artifact
430
+
431
+ # Timestamp in UTC of when this Consent is considered expired.
432
+ # Corresponds to the JSON property `expireTime`
433
+ # @return [String]
434
+ attr_accessor :expire_time
435
+
436
+ # Optional. User-supplied key-value pairs used to organize Consent resources.
437
+ # Metadata keys must: - be between 1 and 63 characters long - have a UTF-8
438
+ # encoding of maximum 128 bytes - begin with a letter - consist of up to 63
439
+ # characters including lowercase letters, numeric characters, underscores, and
440
+ # dashes Metadata values must be: - be between 1 and 63 characters long - have a
441
+ # UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including
442
+ # lowercase letters, numeric characters, underscores, and dashes No more than 64
443
+ # metadata entries can be associated with a given consent.
444
+ # Corresponds to the JSON property `metadata`
445
+ # @return [Hash<String,String>]
446
+ attr_accessor :metadata
447
+
448
+ # Resource name of the Consent, of the form `projects/`project_id`/locations/`
449
+ # location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/consents/`
450
+ # consent_id``. Cannot be changed after creation.
451
+ # Corresponds to the JSON property `name`
452
+ # @return [String]
453
+ attr_accessor :name
454
+
455
+ # Optional. Represents a user's consent in terms of the resources that can be
456
+ # accessed and under what conditions.
457
+ # Corresponds to the JSON property `policies`
458
+ # @return [Array<Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentPolicy>]
459
+ attr_accessor :policies
460
+
461
+ # Output only. The timestamp that the revision was created.
462
+ # Corresponds to the JSON property `revisionCreateTime`
463
+ # @return [String]
464
+ attr_accessor :revision_create_time
465
+
466
+ # Output only. The revision ID of the Consent. The format is an 8-character
467
+ # hexadecimal string. Refer to a specific revision of a Consent by appending `@`
468
+ # revision_id`` to the Consent's resource name.
469
+ # Corresponds to the JSON property `revisionId`
470
+ # @return [String]
471
+ attr_accessor :revision_id
472
+
473
+ # Required. Indicates the current state of this Consent.
474
+ # Corresponds to the JSON property `state`
475
+ # @return [String]
476
+ attr_accessor :state
477
+
478
+ # Input only. The time to live for this Consent from when it is created.
479
+ # Corresponds to the JSON property `ttl`
480
+ # @return [String]
481
+ attr_accessor :ttl
482
+
483
+ # Required. User's UUID provided by the client.
484
+ # Corresponds to the JSON property `userId`
485
+ # @return [String]
486
+ attr_accessor :user_id
487
+
488
+ def initialize(**args)
489
+ update!(**args)
490
+ end
491
+
492
+ # Update properties of this object
493
+ def update!(**args)
494
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
495
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
496
+ @metadata = args[:metadata] if args.key?(:metadata)
497
+ @name = args[:name] if args.key?(:name)
498
+ @policies = args[:policies] if args.key?(:policies)
499
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
500
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
501
+ @state = args[:state] if args.key?(:state)
502
+ @ttl = args[:ttl] if args.key?(:ttl)
503
+ @user_id = args[:user_id] if args.key?(:user_id)
504
+ end
505
+ end
506
+
507
+ # Documentation of a user's consent.
508
+ class ConsentArtifact
509
+ include Google::Apis::Core::Hashable
510
+
511
+ # Optional. Screenshots, PDFs, or other binary information documenting the user'
512
+ # s consent.
513
+ # Corresponds to the JSON property `consentContentScreenshots`
514
+ # @return [Array<Google::Apis::HealthcareV1::Image>]
515
+ attr_accessor :consent_content_screenshots
516
+
517
+ # Optional. An string indicating the version of the consent information shown to
518
+ # the user.
519
+ # Corresponds to the JSON property `consentContentVersion`
520
+ # @return [String]
521
+ attr_accessor :consent_content_version
522
+
523
+ # User signature.
524
+ # Corresponds to the JSON property `guardianSignature`
525
+ # @return [Google::Apis::HealthcareV1::Signature]
526
+ attr_accessor :guardian_signature
527
+
528
+ # Optional. Metadata associated with the Consent artifact. For example, the
529
+ # consent locale or user agent version.
530
+ # Corresponds to the JSON property `metadata`
531
+ # @return [Hash<String,String>]
532
+ attr_accessor :metadata
533
+
534
+ # Resource name of the Consent artifact, of the form `projects/`project_id`/
535
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
536
+ # consentArtifacts/`consent_artifact_id``. Cannot be changed after creation.
537
+ # Corresponds to the JSON property `name`
538
+ # @return [String]
539
+ attr_accessor :name
540
+
541
+ # Required. User's UUID provided by the client.
542
+ # Corresponds to the JSON property `userId`
543
+ # @return [String]
544
+ attr_accessor :user_id
545
+
546
+ # User signature.
547
+ # Corresponds to the JSON property `userSignature`
548
+ # @return [Google::Apis::HealthcareV1::Signature]
549
+ attr_accessor :user_signature
550
+
551
+ # User signature.
552
+ # Corresponds to the JSON property `witnessSignature`
553
+ # @return [Google::Apis::HealthcareV1::Signature]
554
+ attr_accessor :witness_signature
555
+
556
+ def initialize(**args)
557
+ update!(**args)
558
+ end
559
+
560
+ # Update properties of this object
561
+ def update!(**args)
562
+ @consent_content_screenshots = args[:consent_content_screenshots] if args.key?(:consent_content_screenshots)
563
+ @consent_content_version = args[:consent_content_version] if args.key?(:consent_content_version)
564
+ @guardian_signature = args[:guardian_signature] if args.key?(:guardian_signature)
565
+ @metadata = args[:metadata] if args.key?(:metadata)
566
+ @name = args[:name] if args.key?(:name)
567
+ @user_id = args[:user_id] if args.key?(:user_id)
568
+ @user_signature = args[:user_signature] if args.key?(:user_signature)
569
+ @witness_signature = args[:witness_signature] if args.key?(:witness_signature)
570
+ end
571
+ end
572
+
573
+ # The detailed evaluation of a particular Consent.
574
+ class ConsentEvaluation
575
+ include Google::Apis::Core::Hashable
576
+
577
+ # The evaluation result.
578
+ # Corresponds to the JSON property `evaluationResult`
579
+ # @return [String]
580
+ attr_accessor :evaluation_result
581
+
582
+ def initialize(**args)
583
+ update!(**args)
584
+ end
585
+
586
+ # Update properties of this object
587
+ def update!(**args)
588
+ @evaluation_result = args[:evaluation_result] if args.key?(:evaluation_result)
589
+ end
590
+ end
591
+
592
+ # List of resource names of Consent resources.
593
+ class ConsentList
594
+ include Google::Apis::Core::Hashable
595
+
596
+ # The resource names of the Consents to evaluate against, of the form `projects/`
597
+ # project_id`/locations/`location_id`/datasets/`dataset_id`/consentStores/`
598
+ # consent_store_id`/consents/`consent_id``.
599
+ # Corresponds to the JSON property `consents`
600
+ # @return [Array<String>]
601
+ attr_accessor :consents
602
+
603
+ def initialize(**args)
604
+ update!(**args)
605
+ end
606
+
607
+ # Update properties of this object
608
+ def update!(**args)
609
+ @consents = args[:consents] if args.key?(:consents)
610
+ end
611
+ end
612
+
613
+ # Represents a consent store.
614
+ class ConsentStore
615
+ include Google::Apis::Core::Hashable
616
+
617
+ # Optional. Default time to live for Consents created in this store. Must be at
618
+ # least 24 hours. Updating this field will not affect the expiration time of
619
+ # existing consents.
620
+ # Corresponds to the JSON property `defaultConsentTtl`
621
+ # @return [String]
622
+ attr_accessor :default_consent_ttl
623
+
624
+ # Optional. If `true`, UpdateConsent creates the Consent if it does not already
625
+ # exist. If unspecified, defaults to `false`.
626
+ # Corresponds to the JSON property `enableConsentCreateOnUpdate`
627
+ # @return [Boolean]
628
+ attr_accessor :enable_consent_create_on_update
629
+ alias_method :enable_consent_create_on_update?, :enable_consent_create_on_update
630
+
631
+ # Optional. User-supplied key-value pairs used to organize consent stores. Label
632
+ # keys must be between 1 and 63 characters long, have a UTF-8 encoding of
633
+ # maximum 128 bytes, and must conform to the following PCRE regular expression: \
634
+ # p`Ll`\p`Lo``0,62`. Label values must be between 1 and 63 characters long, have
635
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
636
+ # regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`. No more than 64 labels can be
637
+ # associated with a given store. For more information: https://cloud.google.com/
638
+ # healthcare/docs/how-tos/labeling-resources
639
+ # Corresponds to the JSON property `labels`
640
+ # @return [Hash<String,String>]
641
+ attr_accessor :labels
642
+
643
+ # Resource name of the consent store, of the form `projects/`project_id`/
644
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id``
645
+ # . Cannot be changed after creation.
646
+ # Corresponds to the JSON property `name`
647
+ # @return [String]
648
+ attr_accessor :name
649
+
650
+ def initialize(**args)
651
+ update!(**args)
652
+ end
653
+
654
+ # Update properties of this object
655
+ def update!(**args)
656
+ @default_consent_ttl = args[:default_consent_ttl] if args.key?(:default_consent_ttl)
657
+ @enable_consent_create_on_update = args[:enable_consent_create_on_update] if args.key?(:enable_consent_create_on_update)
658
+ @labels = args[:labels] if args.key?(:labels)
659
+ @name = args[:name] if args.key?(:name)
660
+ end
661
+ end
662
+
199
663
  # Creates a new message.
200
664
  class CreateMessageRequest
201
665
  include Google::Apis::Core::Hashable
@@ -581,6 +1045,94 @@ module Google
581
1045
  end
582
1046
  end
583
1047
 
1048
+ # Evaluate a user's Consents for all matching User data mappings. Note: User
1049
+ # data mappings are indexed asynchronously, causing slight delays between the
1050
+ # time mappings are created or updated and when they are included in
1051
+ # EvaluateUserConsents results.
1052
+ class EvaluateUserConsentsRequest
1053
+ include Google::Apis::Core::Hashable
1054
+
1055
+ # List of resource names of Consent resources.
1056
+ # Corresponds to the JSON property `consentList`
1057
+ # @return [Google::Apis::HealthcareV1::ConsentList]
1058
+ attr_accessor :consent_list
1059
+
1060
+ # Optional. Limit on the number of User data mappings to return in a single
1061
+ # response. If not specified, 100 is used. May not be larger than 1000.
1062
+ # Corresponds to the JSON property `pageSize`
1063
+ # @return [Fixnum]
1064
+ attr_accessor :page_size
1065
+
1066
+ # Optional. Token to retrieve the next page of results, or empty to get the
1067
+ # first page.
1068
+ # Corresponds to the JSON property `pageToken`
1069
+ # @return [String]
1070
+ attr_accessor :page_token
1071
+
1072
+ # Required. The values of request attributes associated with this access request.
1073
+ # Corresponds to the JSON property `requestAttributes`
1074
+ # @return [Hash<String,String>]
1075
+ attr_accessor :request_attributes
1076
+
1077
+ # Optional. The values of resource attributes associated with the resources
1078
+ # being requested. If no values are specified, then all resources are queried.
1079
+ # Corresponds to the JSON property `resourceAttributes`
1080
+ # @return [Hash<String,String>]
1081
+ attr_accessor :resource_attributes
1082
+
1083
+ # Optional. The view for EvaluateUserConsentsResponse. If unspecified, defaults
1084
+ # to `BASIC` and returns `consented` as `TRUE` or `FALSE`.
1085
+ # Corresponds to the JSON property `responseView`
1086
+ # @return [String]
1087
+ attr_accessor :response_view
1088
+
1089
+ # Required. User ID to evaluate consents for.
1090
+ # Corresponds to the JSON property `userId`
1091
+ # @return [String]
1092
+ attr_accessor :user_id
1093
+
1094
+ def initialize(**args)
1095
+ update!(**args)
1096
+ end
1097
+
1098
+ # Update properties of this object
1099
+ def update!(**args)
1100
+ @consent_list = args[:consent_list] if args.key?(:consent_list)
1101
+ @page_size = args[:page_size] if args.key?(:page_size)
1102
+ @page_token = args[:page_token] if args.key?(:page_token)
1103
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
1104
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
1105
+ @response_view = args[:response_view] if args.key?(:response_view)
1106
+ @user_id = args[:user_id] if args.key?(:user_id)
1107
+ end
1108
+ end
1109
+
1110
+ #
1111
+ class EvaluateUserConsentsResponse
1112
+ include Google::Apis::Core::Hashable
1113
+
1114
+ # Token to retrieve the next page of results, or empty if there are no more
1115
+ # results in the list. This token is valid for 72 hours after it is created.
1116
+ # Corresponds to the JSON property `nextPageToken`
1117
+ # @return [String]
1118
+ attr_accessor :next_page_token
1119
+
1120
+ # The consent evaluation result for each `data_id`.
1121
+ # Corresponds to the JSON property `results`
1122
+ # @return [Array<Google::Apis::HealthcareV1::Result>]
1123
+ attr_accessor :results
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1132
+ @results = args[:results] if args.key?(:results)
1133
+ end
1134
+ end
1135
+
584
1136
  # Exports data from the specified DICOM store. If a given resource, such as a
585
1137
  # DICOM object with the same SOPInstance UID, already exists in the output, it
586
1138
  # is overwritten with the version in the source dataset. Exported DICOM data
@@ -761,6 +1313,17 @@ module Google
761
1313
  class FhirStore
762
1314
  include Google::Apis::Core::Hashable
763
1315
 
1316
+ # If true, overrides the default search behavior for this FHIR store to `
1317
+ # handling=strict` which returns an error for unrecognized search parameters. If
1318
+ # false, uses the FHIR specification default `handling=lenient` which ignores
1319
+ # unrecognized search parameters. The handling can always be changed from the
1320
+ # default on an individual API call by setting the HTTP header `Prefer: handling=
1321
+ # strict` or `Prefer: handling=lenient`.
1322
+ # Corresponds to the JSON property `defaultSearchHandlingStrict`
1323
+ # @return [Boolean]
1324
+ attr_accessor :default_search_handling_strict
1325
+ alias_method :default_search_handling_strict?, :default_search_handling_strict
1326
+
764
1327
  # Immutable. Whether to disable referential integrity in this FHIR store. This
765
1328
  # field is immutable after FHIR store creation. The default value is false,
766
1329
  # meaning that the API enforces referential integrity and fails the requests
@@ -793,8 +1356,8 @@ module Google
793
1356
  # resource return errors. It is strongly advised not to include or encode any
794
1357
  # sensitive data such as patient identifiers in client-specified resource IDs.
795
1358
  # Those IDs are part of the FHIR resource path recorded in Cloud audit logs and
796
- # Cloud Pub/Sub notifications. Those IDs can also be contained in reference
797
- # fields within other resources.
1359
+ # Pub/Sub notifications. Those IDs can also be contained in reference fields
1360
+ # within other resources.
798
1361
  # Corresponds to the JSON property `enableUpdateCreate`
799
1362
  # @return [Boolean]
800
1363
  attr_accessor :enable_update_create
@@ -837,13 +1400,63 @@ module Google
837
1400
  # @return [Array<Google::Apis::HealthcareV1::StreamConfig>]
838
1401
  attr_accessor :stream_configs
839
1402
 
840
- # Immutable. The FHIR specification version that this FHIR store supports
841
- # natively. This field is immutable after store creation. Requests are rejected
842
- # if they contain FHIR resources of a different version. Version is required for
843
- # every FHIR store.
844
- # Corresponds to the JSON property `version`
1403
+ # Immutable. The FHIR specification version that this FHIR store supports
1404
+ # natively. This field is immutable after store creation. Requests are rejected
1405
+ # if they contain FHIR resources of a different version. Version is required for
1406
+ # every FHIR store.
1407
+ # Corresponds to the JSON property `version`
1408
+ # @return [String]
1409
+ attr_accessor :version
1410
+
1411
+ def initialize(**args)
1412
+ update!(**args)
1413
+ end
1414
+
1415
+ # Update properties of this object
1416
+ def update!(**args)
1417
+ @default_search_handling_strict = args[:default_search_handling_strict] if args.key?(:default_search_handling_strict)
1418
+ @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity)
1419
+ @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning)
1420
+ @enable_update_create = args[:enable_update_create] if args.key?(:enable_update_create)
1421
+ @labels = args[:labels] if args.key?(:labels)
1422
+ @name = args[:name] if args.key?(:name)
1423
+ @notification_config = args[:notification_config] if args.key?(:notification_config)
1424
+ @stream_configs = args[:stream_configs] if args.key?(:stream_configs)
1425
+ @version = args[:version] if args.key?(:version)
1426
+ end
1427
+ end
1428
+
1429
+ # A (sub) field of a type.
1430
+ class Field
1431
+ include Google::Apis::Core::Hashable
1432
+
1433
+ # The maximum number of times this field can be repeated. 0 or -1 means
1434
+ # unbounded.
1435
+ # Corresponds to the JSON property `maxOccurs`
1436
+ # @return [Fixnum]
1437
+ attr_accessor :max_occurs
1438
+
1439
+ # The minimum number of times this field must be present/repeated.
1440
+ # Corresponds to the JSON property `minOccurs`
1441
+ # @return [Fixnum]
1442
+ attr_accessor :min_occurs
1443
+
1444
+ # The name of the field. For example, "PID-1" or just "1".
1445
+ # Corresponds to the JSON property `name`
845
1446
  # @return [String]
846
- attr_accessor :version
1447
+ attr_accessor :name
1448
+
1449
+ # The HL7v2 table this field refers to. For example, PID-15 (Patient's Primary
1450
+ # Language) usually refers to table "0296".
1451
+ # Corresponds to the JSON property `table`
1452
+ # @return [String]
1453
+ attr_accessor :table
1454
+
1455
+ # The type of this field. A Type with this name must be defined in an
1456
+ # Hl7TypesConfig.
1457
+ # Corresponds to the JSON property `type`
1458
+ # @return [String]
1459
+ attr_accessor :type
847
1460
 
848
1461
  def initialize(**args)
849
1462
  update!(**args)
@@ -851,14 +1464,11 @@ module Google
851
1464
 
852
1465
  # Update properties of this object
853
1466
  def update!(**args)
854
- @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity)
855
- @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning)
856
- @enable_update_create = args[:enable_update_create] if args.key?(:enable_update_create)
857
- @labels = args[:labels] if args.key?(:labels)
1467
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
1468
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
858
1469
  @name = args[:name] if args.key?(:name)
859
- @notification_config = args[:notification_config] if args.key?(:notification_config)
860
- @stream_configs = args[:stream_configs] if args.key?(:stream_configs)
861
- @version = args[:version] if args.key?(:version)
1470
+ @table = args[:table] if args.key?(:table)
1471
+ @type = args[:type] if args.key?(:type)
862
1472
  end
863
1473
  end
864
1474
 
@@ -895,6 +1505,71 @@ module Google
895
1505
  end
896
1506
  end
897
1507
 
1508
+ # The Cloud Storage location for export.
1509
+ class GoogleCloudHealthcareV1ConsentGcsDestination
1510
+ include Google::Apis::Core::Hashable
1511
+
1512
+ # URI for a Cloud Storage directory where the server writes result files, in the
1513
+ # format `gs://`bucket-id`/`path/to/destination/dir``. If there is no trailing
1514
+ # slash, the service appends one when composing the object path. The user is
1515
+ # responsible for creating the Cloud Storage bucket and directory referenced in `
1516
+ # uri_prefix`.
1517
+ # Corresponds to the JSON property `uriPrefix`
1518
+ # @return [String]
1519
+ attr_accessor :uri_prefix
1520
+
1521
+ def initialize(**args)
1522
+ update!(**args)
1523
+ end
1524
+
1525
+ # Update properties of this object
1526
+ def update!(**args)
1527
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
1528
+ end
1529
+ end
1530
+
1531
+ # Represents a user's consent in terms of the resources that can be accessed and
1532
+ # under what conditions.
1533
+ class GoogleCloudHealthcareV1ConsentPolicy
1534
+ include Google::Apis::Core::Hashable
1535
+
1536
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
1537
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
1538
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
1539
+ # "Summary size limit" description: "Determines if a summary is less than 100
1540
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
1541
+ # Requestor is owner" description: "Determines if requestor is the document
1542
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
1543
+ # Logic): title: "Public documents" description: "Determine whether the document
1544
+ # should be publicly visible" expression: "document.type != 'private' &&
1545
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
1546
+ # string" description: "Create a notification string with a timestamp."
1547
+ # expression: "'New message received at ' + string(document.create_time)" The
1548
+ # exact variables and functions that may be referenced within an expression are
1549
+ # determined by the service that evaluates it. See the service documentation for
1550
+ # additional information.
1551
+ # Corresponds to the JSON property `authorizationRule`
1552
+ # @return [Google::Apis::HealthcareV1::Expr]
1553
+ attr_accessor :authorization_rule
1554
+
1555
+ # The resources that this policy applies to. A resource is a match if it matches
1556
+ # all the attributes listed here. If empty, this policy applies to all User data
1557
+ # mappings for the given user.
1558
+ # Corresponds to the JSON property `resourceAttributes`
1559
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
1560
+ attr_accessor :resource_attributes
1561
+
1562
+ def initialize(**args)
1563
+ update!(**args)
1564
+ end
1565
+
1566
+ # Update properties of this object
1567
+ def update!(**args)
1568
+ @authorization_rule = args[:authorization_rule] if args.key?(:authorization_rule)
1569
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
1570
+ end
1571
+ end
1572
+
898
1573
  # Contains a summary of the DeidentifyDicomStore operation.
899
1574
  class GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary
900
1575
  include Google::Apis::Core::Hashable
@@ -1004,14 +1679,15 @@ module Google
1004
1679
  # Points to a Cloud Storage URI containing file(s) with content only. The URI
1005
1680
  # must be in the following format: `gs://`bucket_id`/`object_id``. The URI can
1006
1681
  # include wildcards in `object_id` and thus identify multiple files. Supported
1007
- # wildcards: '*' to match 0 or more non-separator characters '**' to match 0 or
1008
- # more characters (including separators). Must be used at the end of a path and
1009
- # with no other wildcards in the path. Can also be used with a file extension (
1010
- # such as .dcm), which imports all files with the extension in the specified
1011
- # directory and its sub-directories. For example, `gs://my-bucket/my-directory/**
1012
- # .dcm` imports all files with .dcm extensions in `my-directory/` and its sub-
1013
- # directories. '?' to match 1 character All other URI formats are invalid. Files
1014
- # matching the wildcard are expected to contain content only, no metadata.
1682
+ # wildcards: * '*' to match 0 or more non-separator characters * '**' to match 0
1683
+ # or more characters (including separators). Must be used at the end of a path
1684
+ # and with no other wildcards in the path. Can also be used with a file
1685
+ # extension (such as .dcm), which imports all files with the extension in the
1686
+ # specified directory and its sub-directories. For example, `gs://my-bucket/my-
1687
+ # directory/**.dcm` imports all files with .dcm extensions in `my-directory/`
1688
+ # and its sub-directories. * '?' to match 1 character. All other URI formats are
1689
+ # invalid. Files matching the wildcard are expected to contain content only, no
1690
+ # metadata.
1015
1691
  # Corresponds to the JSON property `uri`
1016
1692
  # @return [String]
1017
1693
  attr_accessor :uri
@@ -1053,9 +1729,9 @@ module Google
1053
1729
  # @return [Google::Apis::HealthcareV1::SchemaConfig]
1054
1730
  attr_accessor :schema_config
1055
1731
 
1056
- # Determines whether existing tables in the destination dataset are overwritten
1057
- # or appended to. If a write_disposition is specified, the `force` parameter is
1058
- # ignored.
1732
+ # Determines if existing data in the destination dataset is overwritten,
1733
+ # appended to, or not written if the tables contain data. If a write_disposition
1734
+ # is specified, the `force` parameter is ignored.
1059
1735
  # Corresponds to the JSON property `writeDisposition`
1060
1736
  # @return [String]
1061
1737
  attr_accessor :write_disposition
@@ -1125,6 +1801,86 @@ module Google
1125
1801
  end
1126
1802
  end
1127
1803
 
1804
+ # Construct representing a logical group or a segment.
1805
+ class GroupOrSegment
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # An HL7v2 logical group construct.
1809
+ # Corresponds to the JSON property `group`
1810
+ # @return [Google::Apis::HealthcareV1::SchemaGroup]
1811
+ attr_accessor :group
1812
+
1813
+ # An HL7v2 Segment.
1814
+ # Corresponds to the JSON property `segment`
1815
+ # @return [Google::Apis::HealthcareV1::SchemaSegment]
1816
+ attr_accessor :segment
1817
+
1818
+ def initialize(**args)
1819
+ update!(**args)
1820
+ end
1821
+
1822
+ # Update properties of this object
1823
+ def update!(**args)
1824
+ @group = args[:group] if args.key?(:group)
1825
+ @segment = args[:segment] if args.key?(:segment)
1826
+ end
1827
+ end
1828
+
1829
+ # Root config message for HL7v2 schema. This contains a schema structure of
1830
+ # groups and segments, and filters that determine which messages to apply the
1831
+ # schema structure to.
1832
+ class Hl7SchemaConfig
1833
+ include Google::Apis::Core::Hashable
1834
+
1835
+ # Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to
1836
+ # its schema configuration root group.
1837
+ # Corresponds to the JSON property `messageSchemaConfigs`
1838
+ # @return [Hash<String,Google::Apis::HealthcareV1::SchemaGroup>]
1839
+ attr_accessor :message_schema_configs
1840
+
1841
+ # Each VersionSource is tested and only if they all match is the schema used for
1842
+ # the message.
1843
+ # Corresponds to the JSON property `version`
1844
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1845
+ attr_accessor :version
1846
+
1847
+ def initialize(**args)
1848
+ update!(**args)
1849
+ end
1850
+
1851
+ # Update properties of this object
1852
+ def update!(**args)
1853
+ @message_schema_configs = args[:message_schema_configs] if args.key?(:message_schema_configs)
1854
+ @version = args[:version] if args.key?(:version)
1855
+ end
1856
+ end
1857
+
1858
+ # Root config for HL7v2 datatype definitions for a specific HL7v2 version.
1859
+ class Hl7TypesConfig
1860
+ include Google::Apis::Core::Hashable
1861
+
1862
+ # The HL7v2 type definitions.
1863
+ # Corresponds to the JSON property `type`
1864
+ # @return [Array<Google::Apis::HealthcareV1::Type>]
1865
+ attr_accessor :type
1866
+
1867
+ # The version selectors that this config applies to. A message must match ALL
1868
+ # version sources to apply.
1869
+ # Corresponds to the JSON property `version`
1870
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
1871
+ attr_accessor :version
1872
+
1873
+ def initialize(**args)
1874
+ update!(**args)
1875
+ end
1876
+
1877
+ # Update properties of this object
1878
+ def update!(**args)
1879
+ @type = args[:type] if args.key?(:type)
1880
+ @version = args[:version] if args.key?(:version)
1881
+ end
1882
+ end
1883
+
1128
1884
  # Specifies where and whether to send notifications upon changes to a data store.
1129
1885
  class Hl7V2NotificationConfig
1130
1886
  include Google::Apis::Core::Hashable
@@ -1157,32 +1913,34 @@ module Google
1157
1913
  # example, `send_date < "2017-01-02"`. * `send_time`, the timestamp when the
1158
1914
  # message was sent, using the RFC3339 time format for comparisons, from the MSH-
1159
1915
  # 7 segment. For example, `send_time < "2017-01-02T00:00:00-05:00"`. * `
1160
- # send_facility`, the care center that the message came from, from the MSH-4
1161
- # segment. For example, `send_facility = "ABC"`. * `PatientId(value, type)`,
1162
- # which matches if the message lists a patient having an ID of the given value
1163
- # and type in the PID-2, PID-3, or PID-4 segments. For example, `PatientId("
1164
- # 123456", "MRN")`. * `labels.x`, a string value of the label with key `x` as
1165
- # set using the Message.labels map. For example, `labels."priority"="high"`. The
1166
- # operator `:*` can be used to assert the existence of a label. For example, `
1167
- # labels."priority":*`.
1916
+ # create_time`, the timestamp when the message was created in the HL7v2 store.
1917
+ # Use the RFC3339 time format for comparisons. For example, `create_time < "2017-
1918
+ # 01-02T00:00:00-05:00"`. * `send_facility`, the care center that the message
1919
+ # came from, from the MSH-4 segment. For example, `send_facility = "ABC"`. * `
1920
+ # PatientId(value, type)`, which matches if the message lists a patient having
1921
+ # an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For
1922
+ # example, `PatientId("123456", "MRN")`. * `labels.x`, a string value of the
1923
+ # label with key `x` as set using the Message.labels map. For example, `labels."
1924
+ # priority"="high"`. The operator `:*` can be used to assert the existence of a
1925
+ # label. For example, `labels."priority":*`.
1168
1926
  # Corresponds to the JSON property `filter`
1169
1927
  # @return [String]
1170
1928
  attr_accessor :filter
1171
1929
 
1172
- # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1173
- # notifications of changes are published on. Supplied by the client. The
1174
- # notification is a `PubsubMessage` with the following fields: * `PubsubMessage.
1175
- # Data` contains the resource name. * `PubsubMessage.MessageId` is the ID of
1176
- # this notification. It's guaranteed to be unique within the topic. * `
1177
- # PubsubMessage.PublishTime` is the time when the message was published. Note
1178
- # that notifications are only sent if the topic is non-empty. [Topic names](
1179
- # https://cloud.google.com/pubsub/docs/overview#names) must be scoped to a
1180
- # project. The Cloud Healthcare API service account, service-PROJECT_NUMBER@gcp-
1181
- # sa-healthcare.iam.gserviceaccount.com, must have publisher permissions on the
1182
- # given Pub/Sub topic. Not having adequate permissions causes the calls that
1183
- # send notifications to fail. If a notification cannot be published to Cloud Pub/
1184
- # Sub, errors are logged to Cloud Logging. For more information, see [Viewing
1185
- # error logs in Cloud Logging](/healthcare/docs/how-tos/logging)).
1930
+ # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications
1931
+ # of changes are published on. Supplied by the client. The notification is a `
1932
+ # PubsubMessage` with the following fields: * `PubsubMessage.Data` contains the
1933
+ # resource name. * `PubsubMessage.MessageId` is the ID of this notification. It'
1934
+ # s guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is
1935
+ # the time when the message was published. Note that notifications are only sent
1936
+ # if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/
1937
+ # overview#names) must be scoped to a project. The Cloud Healthcare API service
1938
+ # account, service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com,
1939
+ # must have publisher permissions on the given Pub/Sub topic. Not having
1940
+ # adequate permissions causes the calls that send notifications to fail. If a
1941
+ # notification cannot be published to Pub/Sub, errors are logged to Cloud
1942
+ # Logging. For more information, see [Viewing error logs in Cloud Logging](https:
1943
+ # //cloud.google.com/healthcare/docs/how-tos/logging)).
1186
1944
  # Corresponds to the JSON property `pubsubTopic`
1187
1945
  # @return [String]
1188
1946
  attr_accessor :pubsub_topic
@@ -1309,6 +2067,40 @@ module Google
1309
2067
  end
1310
2068
  end
1311
2069
 
2070
+ # Raw bytes representing consent artifact content.
2071
+ class Image
2072
+ include Google::Apis::Core::Hashable
2073
+
2074
+ # Input only. Points to a Cloud Storage URI containing the consent artifact
2075
+ # content. The URI must be in the following format: `gs://`bucket_id`/`object_id`
2076
+ # `. The Cloud Healthcare API service account must have the `roles/storage.
2077
+ # objectViewer` Cloud IAM role for this Cloud Storage location. The consent
2078
+ # artifact content at this URI is copied to a Cloud Storage location managed by
2079
+ # the Cloud Healthcare API. Responses to fetching requests return the consent
2080
+ # artifact content in raw_bytes.
2081
+ # Corresponds to the JSON property `gcsUri`
2082
+ # @return [String]
2083
+ attr_accessor :gcs_uri
2084
+
2085
+ # Consent artifact content represented as a stream of bytes. This field is
2086
+ # populated when returned in GetConsentArtifact response, but not included in
2087
+ # CreateConsentArtifact and ListConsentArtifact response.
2088
+ # Corresponds to the JSON property `rawBytes`
2089
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2090
+ # @return [String]
2091
+ attr_accessor :raw_bytes
2092
+
2093
+ def initialize(**args)
2094
+ update!(**args)
2095
+ end
2096
+
2097
+ # Update properties of this object
2098
+ def update!(**args)
2099
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
2100
+ @raw_bytes = args[:raw_bytes] if args.key?(:raw_bytes)
2101
+ end
2102
+ end
2103
+
1312
2104
  # Specifies how to handle de-identification of image pixels.
1313
2105
  class ImageConfig
1314
2106
  include Google::Apis::Core::Hashable
@@ -1506,6 +2298,141 @@ module Google
1506
2298
  end
1507
2299
  end
1508
2300
 
2301
+ #
2302
+ class ListAttributeDefinitionsResponse
2303
+ include Google::Apis::Core::Hashable
2304
+
2305
+ # The returned Attribute definitions. The maximum number of attributes returned
2306
+ # is determined by the value of page_size in the ListAttributeDefinitionsRequest.
2307
+ # Corresponds to the JSON property `attributeDefinitions`
2308
+ # @return [Array<Google::Apis::HealthcareV1::AttributeDefinition>]
2309
+ attr_accessor :attribute_definitions
2310
+
2311
+ # Token to retrieve the next page of results, or empty if there are no more
2312
+ # results in the list.
2313
+ # Corresponds to the JSON property `nextPageToken`
2314
+ # @return [String]
2315
+ attr_accessor :next_page_token
2316
+
2317
+ def initialize(**args)
2318
+ update!(**args)
2319
+ end
2320
+
2321
+ # Update properties of this object
2322
+ def update!(**args)
2323
+ @attribute_definitions = args[:attribute_definitions] if args.key?(:attribute_definitions)
2324
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2325
+ end
2326
+ end
2327
+
2328
+ #
2329
+ class ListConsentArtifactsResponse
2330
+ include Google::Apis::Core::Hashable
2331
+
2332
+ # The returned Consent artifacts. The maximum number of artifacts returned is
2333
+ # determined by the value of page_size in the ListConsentArtifactsRequest.
2334
+ # Corresponds to the JSON property `consentArtifacts`
2335
+ # @return [Array<Google::Apis::HealthcareV1::ConsentArtifact>]
2336
+ attr_accessor :consent_artifacts
2337
+
2338
+ # Token to retrieve the next page of results, or empty if there are no more
2339
+ # results in the list.
2340
+ # Corresponds to the JSON property `nextPageToken`
2341
+ # @return [String]
2342
+ attr_accessor :next_page_token
2343
+
2344
+ def initialize(**args)
2345
+ update!(**args)
2346
+ end
2347
+
2348
+ # Update properties of this object
2349
+ def update!(**args)
2350
+ @consent_artifacts = args[:consent_artifacts] if args.key?(:consent_artifacts)
2351
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2352
+ end
2353
+ end
2354
+
2355
+ #
2356
+ class ListConsentRevisionsResponse
2357
+ include Google::Apis::Core::Hashable
2358
+
2359
+ # The returned Consent revisions. The maximum number of revisions returned is
2360
+ # determined by the value of `page_size` in the ListConsentRevisionsRequest.
2361
+ # Corresponds to the JSON property `consents`
2362
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2363
+ attr_accessor :consents
2364
+
2365
+ # Token to retrieve the next page of results, or empty if there are no more
2366
+ # results in the list.
2367
+ # Corresponds to the JSON property `nextPageToken`
2368
+ # @return [String]
2369
+ attr_accessor :next_page_token
2370
+
2371
+ def initialize(**args)
2372
+ update!(**args)
2373
+ end
2374
+
2375
+ # Update properties of this object
2376
+ def update!(**args)
2377
+ @consents = args[:consents] if args.key?(:consents)
2378
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2379
+ end
2380
+ end
2381
+
2382
+ #
2383
+ class ListConsentStoresResponse
2384
+ include Google::Apis::Core::Hashable
2385
+
2386
+ # The returned consent stores. The maximum number of stores returned is
2387
+ # determined by the value of page_size in the ListConsentStoresRequest.
2388
+ # Corresponds to the JSON property `consentStores`
2389
+ # @return [Array<Google::Apis::HealthcareV1::ConsentStore>]
2390
+ attr_accessor :consent_stores
2391
+
2392
+ # Token to retrieve the next page of results, or empty if there are no more
2393
+ # results in the list.
2394
+ # Corresponds to the JSON property `nextPageToken`
2395
+ # @return [String]
2396
+ attr_accessor :next_page_token
2397
+
2398
+ def initialize(**args)
2399
+ update!(**args)
2400
+ end
2401
+
2402
+ # Update properties of this object
2403
+ def update!(**args)
2404
+ @consent_stores = args[:consent_stores] if args.key?(:consent_stores)
2405
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2406
+ end
2407
+ end
2408
+
2409
+ #
2410
+ class ListConsentsResponse
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # The returned Consents. The maximum number of Consents returned is determined
2414
+ # by the value of page_size in the ListConsentsRequest.
2415
+ # Corresponds to the JSON property `consents`
2416
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
2417
+ attr_accessor :consents
2418
+
2419
+ # Token to retrieve the next page of results, or empty if there are no more
2420
+ # results in the list.
2421
+ # Corresponds to the JSON property `nextPageToken`
2422
+ # @return [String]
2423
+ attr_accessor :next_page_token
2424
+
2425
+ def initialize(**args)
2426
+ update!(**args)
2427
+ end
2428
+
2429
+ # Update properties of this object
2430
+ def update!(**args)
2431
+ @consents = args[:consents] if args.key?(:consents)
2432
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2433
+ end
2434
+ end
2435
+
1509
2436
  # Lists the available datasets.
1510
2437
  class ListDatasetsResponse
1511
2438
  include Google::Apis::Core::Hashable
@@ -1669,15 +2596,43 @@ module Google
1669
2596
  class ListOperationsResponse
1670
2597
  include Google::Apis::Core::Hashable
1671
2598
 
1672
- # The standard List next-page token.
2599
+ # The standard List next-page token.
2600
+ # Corresponds to the JSON property `nextPageToken`
2601
+ # @return [String]
2602
+ attr_accessor :next_page_token
2603
+
2604
+ # A list of operations that matches the specified filter in the request.
2605
+ # Corresponds to the JSON property `operations`
2606
+ # @return [Array<Google::Apis::HealthcareV1::Operation>]
2607
+ attr_accessor :operations
2608
+
2609
+ def initialize(**args)
2610
+ update!(**args)
2611
+ end
2612
+
2613
+ # Update properties of this object
2614
+ def update!(**args)
2615
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2616
+ @operations = args[:operations] if args.key?(:operations)
2617
+ end
2618
+ end
2619
+
2620
+ #
2621
+ class ListUserDataMappingsResponse
2622
+ include Google::Apis::Core::Hashable
2623
+
2624
+ # Token to retrieve the next page of results, or empty if there are no more
2625
+ # results in the list.
1673
2626
  # Corresponds to the JSON property `nextPageToken`
1674
2627
  # @return [String]
1675
2628
  attr_accessor :next_page_token
1676
2629
 
1677
- # A list of operations that matches the specified filter in the request.
1678
- # Corresponds to the JSON property `operations`
1679
- # @return [Array<Google::Apis::HealthcareV1::Operation>]
1680
- attr_accessor :operations
2630
+ # The returned User data mappings. The maximum number of User data mappings
2631
+ # returned is determined by the value of page_size in the
2632
+ # ListUserDataMappingsRequest.
2633
+ # Corresponds to the JSON property `userDataMappings`
2634
+ # @return [Array<Google::Apis::HealthcareV1::UserDataMapping>]
2635
+ attr_accessor :user_data_mappings
1681
2636
 
1682
2637
  def initialize(**args)
1683
2638
  update!(**args)
@@ -1686,7 +2641,7 @@ module Google
1686
2641
  # Update properties of this object
1687
2642
  def update!(**args)
1688
2643
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1689
- @operations = args[:operations] if args.key?(:operations)
2644
+ @user_data_mappings = args[:user_data_mappings] if args.key?(:user_data_mappings)
1690
2645
  end
1691
2646
  end
1692
2647
 
@@ -1786,6 +2741,12 @@ module Google
1786
2741
  # @return [Array<Google::Apis::HealthcareV1::PatientId>]
1787
2742
  attr_accessor :patient_ids
1788
2743
 
2744
+ # The content of an HL7v2 message in a structured format as specified by a
2745
+ # schema.
2746
+ # Corresponds to the JSON property `schematizedData`
2747
+ # @return [Google::Apis::HealthcareV1::SchematizedData]
2748
+ attr_accessor :schematized_data
2749
+
1789
2750
  # The hospital that this message came from. MSH-4.
1790
2751
  # Corresponds to the JSON property `sendFacility`
1791
2752
  # @return [String]
@@ -1809,6 +2770,7 @@ module Google
1809
2770
  @name = args[:name] if args.key?(:name)
1810
2771
  @parsed_data = args[:parsed_data] if args.key?(:parsed_data)
1811
2772
  @patient_ids = args[:patient_ids] if args.key?(:patient_ids)
2773
+ @schematized_data = args[:schematized_data] if args.key?(:schematized_data)
1812
2774
  @send_facility = args[:send_facility] if args.key?(:send_facility)
1813
2775
  @send_time = args[:send_time] if args.key?(:send_time)
1814
2776
  end
@@ -1818,17 +2780,17 @@ module Google
1818
2780
  class NotificationConfig
1819
2781
  include Google::Apis::Core::Hashable
1820
2782
 
1821
- # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
1822
- # notifications of changes are published on. Supplied by the client.
1823
- # PubsubMessage.Data contains the resource name. PubsubMessage.MessageId is the
1824
- # ID of this message. It is guaranteed to be unique within the topic.
1825
- # PubsubMessage.PublishTime is the time at which the message was published.
1826
- # Notifications are only sent if the topic is non-empty. [Topic names](https://
1827
- # cloud.google.com/pubsub/docs/overview#names) must be scoped to a project.
1828
- # Cloud Healthcare API service account must have publisher permissions on the
1829
- # given Cloud Pub/Sub topic. Not having adequate permissions causes the calls
1830
- # that send notifications to fail. If a notification can't be published to Cloud
1831
- # Pub/Sub, errors are logged to Cloud Logging (see [Viewing logs](/healthcare/
2783
+ # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications
2784
+ # of changes are published on. Supplied by the client. PubsubMessage.Data
2785
+ # contains the resource name. PubsubMessage.MessageId is the ID of this message.
2786
+ # It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is
2787
+ # the time at which the message was published. Notifications are only sent if
2788
+ # the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/
2789
+ # overview#names) must be scoped to a project. Cloud Healthcare API service
2790
+ # account must have publisher permissions on the given Pub/Sub topic. Not having
2791
+ # adequate permissions causes the calls that send notifications to fail. If a
2792
+ # notification can't be published to Pub/Sub, errors are logged to Cloud Logging
2793
+ # (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/
1832
2794
  # docs/how-tos/logging)). If the number of errors exceeds a certain rate, some
1833
2795
  # aren't submitted. Note that not all operations trigger notifications, see [
1834
2796
  # Configuring Pub/Sub notifications](https://cloud.google.com/healthcare/docs/
@@ -1941,8 +2903,8 @@ module Google
1941
2903
  attr_accessor :end_time
1942
2904
 
1943
2905
  # A link to audit and error logs in the log viewer. Error logs are generated
1944
- # only by some operations, listed at [Viewing logs](/healthcare/docs/how-tos/
1945
- # logging).
2906
+ # only by some operations, listed at [Viewing error logs in Cloud Logging](https:
2907
+ # //cloud.google.com/healthcare/docs/how-tos/logging).
1946
2908
  # Corresponds to the JSON property `logsUrl`
1947
2909
  # @return [String]
1948
2910
  attr_accessor :logs_url
@@ -1992,6 +2954,11 @@ module Google
1992
2954
  attr_accessor :allow_null_header
1993
2955
  alias_method :allow_null_header?, :allow_null_header
1994
2956
 
2957
+ # A schema package contains a set of schemas and type definitions.
2958
+ # Corresponds to the JSON property `schema`
2959
+ # @return [Google::Apis::HealthcareV1::SchemaPackage]
2960
+ attr_accessor :schema
2961
+
1995
2962
  # Byte(s) to use as the segment terminator. If this is unset, '\r' is used as
1996
2963
  # segment terminator, matching the HL7 version 2 specification.
1997
2964
  # Corresponds to the JSON property `segmentTerminator`
@@ -2006,6 +2973,7 @@ module Google
2006
2973
  # Update properties of this object
2007
2974
  def update!(**args)
2008
2975
  @allow_null_header = args[:allow_null_header] if args.key?(:allow_null_header)
2976
+ @schema = args[:schema] if args.key?(:schema)
2009
2977
  @segment_terminator = args[:segment_terminator] if args.key?(:segment_terminator)
2010
2978
  end
2011
2979
  end
@@ -2156,6 +3124,58 @@ module Google
2156
3124
  end
2157
3125
  end
2158
3126
 
3127
+ # Queries all data_ids that are consented for a given use in the given consent
3128
+ # store and writes them to a specified destination. The returned Operation
3129
+ # includes a progress counter for the number of User data mappings processed.
3130
+ # Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging] (
3131
+ # https://cloud.google.com/healthcare/docs/how-tos/logging) and [
3132
+ # QueryAccessibleData] for a sample log entry).
3133
+ class QueryAccessibleDataRequest
3134
+ include Google::Apis::Core::Hashable
3135
+
3136
+ # The Cloud Storage location for export.
3137
+ # Corresponds to the JSON property `gcsDestination`
3138
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentGcsDestination]
3139
+ attr_accessor :gcs_destination
3140
+
3141
+ # The values of request attributes associated with this access request.
3142
+ # Corresponds to the JSON property `requestAttributes`
3143
+ # @return [Hash<String,String>]
3144
+ attr_accessor :request_attributes
3145
+
3146
+ # Optional. The values of resource attributes associated with the type of
3147
+ # resources being requested. If no values are specified, then all resource types
3148
+ # are included in the output.
3149
+ # Corresponds to the JSON property `resourceAttributes`
3150
+ # @return [Hash<String,String>]
3151
+ attr_accessor :resource_attributes
3152
+
3153
+ def initialize(**args)
3154
+ update!(**args)
3155
+ end
3156
+
3157
+ # Update properties of this object
3158
+ def update!(**args)
3159
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
3160
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
3161
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3162
+ end
3163
+ end
3164
+
3165
+ # Response for successful QueryAccessibleData operations. This structure is
3166
+ # included in the response upon operation completion.
3167
+ class QueryAccessibleDataResponse
3168
+ include Google::Apis::Core::Hashable
3169
+
3170
+ def initialize(**args)
3171
+ update!(**args)
3172
+ end
3173
+
3174
+ # Update properties of this object
3175
+ def update!(**args)
3176
+ end
3177
+ end
3178
+
2159
3179
  # Define how to redact sensitive values. Default behaviour is erase. For example,
2160
3180
  # "My name is Jane." becomes "My name is ."
2161
3181
  class RedactConfig
@@ -2170,6 +3190,31 @@ module Google
2170
3190
  end
2171
3191
  end
2172
3192
 
3193
+ # Rejects the latest revision of the specified Consent by committing a new
3194
+ # revision with `state` updated to `REJECTED`. If the latest revision of the
3195
+ # given Consent is in the `REJECTED` state, no new revision is committed.
3196
+ class RejectConsentRequest
3197
+ include Google::Apis::Core::Hashable
3198
+
3199
+ # Optional. The resource name of the Consent artifact that contains
3200
+ # documentation of the user's rejection of the draft Consent, of the form `
3201
+ # projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
3202
+ # consentStores/`consent_store_id`/consentArtifacts/`consent_artifact_id``. If
3203
+ # the draft Consent had a Consent artifact, this Consent artifact overwrites it.
3204
+ # Corresponds to the JSON property `consentArtifact`
3205
+ # @return [String]
3206
+ attr_accessor :consent_artifact
3207
+
3208
+ def initialize(**args)
3209
+ update!(**args)
3210
+ end
3211
+
3212
+ # Update properties of this object
3213
+ def update!(**args)
3214
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3215
+ end
3216
+ end
3217
+
2173
3218
  # When using the INSPECT_AND_TRANSFORM action, each match is replaced with the
2174
3219
  # name of the info_type. For example, "My name is Jane" becomes "My name is [
2175
3220
  # PERSON_NAME]." The TRANSFORM action is equivalent to redacting.
@@ -2204,6 +3249,62 @@ module Google
2204
3249
  end
2205
3250
  end
2206
3251
 
3252
+ # The consent evaluation result for a single `data_id`.
3253
+ class Result
3254
+ include Google::Apis::Core::Hashable
3255
+
3256
+ # The resource names of all evaluated Consents mapped to their evaluation.
3257
+ # Corresponds to the JSON property `consentDetails`
3258
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
3259
+ attr_accessor :consent_details
3260
+
3261
+ # Whether the resource is consented for the given use.
3262
+ # Corresponds to the JSON property `consented`
3263
+ # @return [Boolean]
3264
+ attr_accessor :consented
3265
+ alias_method :consented?, :consented
3266
+
3267
+ # The unique identifier of the evaluated resource.
3268
+ # Corresponds to the JSON property `dataId`
3269
+ # @return [String]
3270
+ attr_accessor :data_id
3271
+
3272
+ def initialize(**args)
3273
+ update!(**args)
3274
+ end
3275
+
3276
+ # Update properties of this object
3277
+ def update!(**args)
3278
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
3279
+ @consented = args[:consented] if args.key?(:consented)
3280
+ @data_id = args[:data_id] if args.key?(:data_id)
3281
+ end
3282
+ end
3283
+
3284
+ # Revokes the latest revision of the specified Consent by committing a new
3285
+ # revision with `state` updated to `REVOKED`. If the latest revision of the
3286
+ # given Consent is in the `REVOKED` state, no new revision is committed.
3287
+ class RevokeConsentRequest
3288
+ include Google::Apis::Core::Hashable
3289
+
3290
+ # Optional. The resource name of the Consent artifact that contains proof of the
3291
+ # user's revocation of the Consent, of the form `projects/`project_id`/locations/
3292
+ # `location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3293
+ # consentArtifacts/`consent_artifact_id``.
3294
+ # Corresponds to the JSON property `consentArtifact`
3295
+ # @return [String]
3296
+ attr_accessor :consent_artifact
3297
+
3298
+ def initialize(**args)
3299
+ update!(**args)
3300
+ end
3301
+
3302
+ # Update properties of this object
3303
+ def update!(**args)
3304
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
3305
+ end
3306
+ end
3307
+
2207
3308
  # Configuration for the FHIR BigQuery schema. Determines how the server
2208
3309
  # generates the schema.
2209
3310
  class SchemaConfig
@@ -2234,6 +3335,156 @@ module Google
2234
3335
  end
2235
3336
  end
2236
3337
 
3338
+ # An HL7v2 logical group construct.
3339
+ class SchemaGroup
3340
+ include Google::Apis::Core::Hashable
3341
+
3342
+ # True indicates that this is a choice group, meaning that only one of its
3343
+ # segments can exist in a given message.
3344
+ # Corresponds to the JSON property `choice`
3345
+ # @return [Boolean]
3346
+ attr_accessor :choice
3347
+ alias_method :choice?, :choice
3348
+
3349
+ # The maximum number of times this group can be repeated. 0 or -1 means
3350
+ # unbounded.
3351
+ # Corresponds to the JSON property `maxOccurs`
3352
+ # @return [Fixnum]
3353
+ attr_accessor :max_occurs
3354
+
3355
+ # Nested groups and/or segments.
3356
+ # Corresponds to the JSON property `members`
3357
+ # @return [Array<Google::Apis::HealthcareV1::GroupOrSegment>]
3358
+ attr_accessor :members
3359
+
3360
+ # The minimum number of times this group must be present/repeated.
3361
+ # Corresponds to the JSON property `minOccurs`
3362
+ # @return [Fixnum]
3363
+ attr_accessor :min_occurs
3364
+
3365
+ # The name of this group. For example, "ORDER_DETAIL".
3366
+ # Corresponds to the JSON property `name`
3367
+ # @return [String]
3368
+ attr_accessor :name
3369
+
3370
+ def initialize(**args)
3371
+ update!(**args)
3372
+ end
3373
+
3374
+ # Update properties of this object
3375
+ def update!(**args)
3376
+ @choice = args[:choice] if args.key?(:choice)
3377
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3378
+ @members = args[:members] if args.key?(:members)
3379
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3380
+ @name = args[:name] if args.key?(:name)
3381
+ end
3382
+ end
3383
+
3384
+ # A schema package contains a set of schemas and type definitions.
3385
+ class SchemaPackage
3386
+ include Google::Apis::Core::Hashable
3387
+
3388
+ # Flag to ignore all min_occurs restrictions in the schema. This means that
3389
+ # incoming messages can omit any group, segment, field, component, or
3390
+ # subcomponent.
3391
+ # Corresponds to the JSON property `ignoreMinOccurs`
3392
+ # @return [Boolean]
3393
+ attr_accessor :ignore_min_occurs
3394
+ alias_method :ignore_min_occurs?, :ignore_min_occurs
3395
+
3396
+ # Schema configs that are layered based on their VersionSources that match the
3397
+ # incoming message. Schema configs present in higher indices override those in
3398
+ # lower indices with the same message type and trigger event if their
3399
+ # VersionSources all match an incoming message.
3400
+ # Corresponds to the JSON property `schemas`
3401
+ # @return [Array<Google::Apis::HealthcareV1::Hl7SchemaConfig>]
3402
+ attr_accessor :schemas
3403
+
3404
+ # Determines how messages that fail to parse are handled.
3405
+ # Corresponds to the JSON property `schematizedParsingType`
3406
+ # @return [String]
3407
+ attr_accessor :schematized_parsing_type
3408
+
3409
+ # Schema type definitions that are layered based on their VersionSources that
3410
+ # match the incoming message. Type definitions present in higher indices
3411
+ # override those in lower indices with the same type name if their
3412
+ # VersionSources all match an incoming message.
3413
+ # Corresponds to the JSON property `types`
3414
+ # @return [Array<Google::Apis::HealthcareV1::Hl7TypesConfig>]
3415
+ attr_accessor :types
3416
+
3417
+ def initialize(**args)
3418
+ update!(**args)
3419
+ end
3420
+
3421
+ # Update properties of this object
3422
+ def update!(**args)
3423
+ @ignore_min_occurs = args[:ignore_min_occurs] if args.key?(:ignore_min_occurs)
3424
+ @schemas = args[:schemas] if args.key?(:schemas)
3425
+ @schematized_parsing_type = args[:schematized_parsing_type] if args.key?(:schematized_parsing_type)
3426
+ @types = args[:types] if args.key?(:types)
3427
+ end
3428
+ end
3429
+
3430
+ # An HL7v2 Segment.
3431
+ class SchemaSegment
3432
+ include Google::Apis::Core::Hashable
3433
+
3434
+ # The maximum number of times this segment can be present in this group. 0 or -1
3435
+ # means unbounded.
3436
+ # Corresponds to the JSON property `maxOccurs`
3437
+ # @return [Fixnum]
3438
+ attr_accessor :max_occurs
3439
+
3440
+ # The minimum number of times this segment can be present in this group.
3441
+ # Corresponds to the JSON property `minOccurs`
3442
+ # @return [Fixnum]
3443
+ attr_accessor :min_occurs
3444
+
3445
+ # The Segment type. For example, "PID".
3446
+ # Corresponds to the JSON property `type`
3447
+ # @return [String]
3448
+ attr_accessor :type
3449
+
3450
+ def initialize(**args)
3451
+ update!(**args)
3452
+ end
3453
+
3454
+ # Update properties of this object
3455
+ def update!(**args)
3456
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
3457
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
3458
+ @type = args[:type] if args.key?(:type)
3459
+ end
3460
+ end
3461
+
3462
+ # The content of an HL7v2 message in a structured format as specified by a
3463
+ # schema.
3464
+ class SchematizedData
3465
+ include Google::Apis::Core::Hashable
3466
+
3467
+ # JSON output of the parser.
3468
+ # Corresponds to the JSON property `data`
3469
+ # @return [String]
3470
+ attr_accessor :data
3471
+
3472
+ # The error output of the parser.
3473
+ # Corresponds to the JSON property `error`
3474
+ # @return [String]
3475
+ attr_accessor :error
3476
+
3477
+ def initialize(**args)
3478
+ update!(**args)
3479
+ end
3480
+
3481
+ # Update properties of this object
3482
+ def update!(**args)
3483
+ @data = args[:data] if args.key?(:data)
3484
+ @error = args[:error] if args.key?(:error)
3485
+ end
3486
+ end
3487
+
2237
3488
  # Request to search the resources in the specified FHIR store.
2238
3489
  class SearchResourcesRequest
2239
3490
  include Google::Apis::Core::Hashable
@@ -2350,6 +3601,44 @@ module Google
2350
3601
  end
2351
3602
  end
2352
3603
 
3604
+ # User signature.
3605
+ class Signature
3606
+ include Google::Apis::Core::Hashable
3607
+
3608
+ # Raw bytes representing consent artifact content.
3609
+ # Corresponds to the JSON property `image`
3610
+ # @return [Google::Apis::HealthcareV1::Image]
3611
+ attr_accessor :image
3612
+
3613
+ # Optional. Metadata associated with the user's signature. For example, the user'
3614
+ # s name or the user's title.
3615
+ # Corresponds to the JSON property `metadata`
3616
+ # @return [Hash<String,String>]
3617
+ attr_accessor :metadata
3618
+
3619
+ # Optional. Timestamp of the signature.
3620
+ # Corresponds to the JSON property `signatureTime`
3621
+ # @return [String]
3622
+ attr_accessor :signature_time
3623
+
3624
+ # Required. User's UUID provided by the client.
3625
+ # Corresponds to the JSON property `userId`
3626
+ # @return [String]
3627
+ attr_accessor :user_id
3628
+
3629
+ def initialize(**args)
3630
+ update!(**args)
3631
+ end
3632
+
3633
+ # Update properties of this object
3634
+ def update!(**args)
3635
+ @image = args[:image] if args.key?(:image)
3636
+ @metadata = args[:metadata] if args.key?(:metadata)
3637
+ @signature_time = args[:signature_time] if args.key?(:signature_time)
3638
+ @user_id = args[:user_id] if args.key?(:user_id)
3639
+ end
3640
+ end
3641
+
2353
3642
  # The `Status` type defines a logical error model that is suitable for different
2354
3643
  # programming environments, including REST APIs and RPC APIs. It is used by [
2355
3644
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -2497,6 +3786,119 @@ module Google
2497
3786
  @transformations = args[:transformations] if args.key?(:transformations)
2498
3787
  end
2499
3788
  end
3789
+
3790
+ # A type definition for some HL7v2 type (incl. Segments and Datatypes).
3791
+ class Type
3792
+ include Google::Apis::Core::Hashable
3793
+
3794
+ # The (sub) fields this type has (if not primitive).
3795
+ # Corresponds to the JSON property `fields`
3796
+ # @return [Array<Google::Apis::HealthcareV1::Field>]
3797
+ attr_accessor :fields
3798
+
3799
+ # The name of this type. This would be the segment or datatype name. For example,
3800
+ # "PID" or "XPN".
3801
+ # Corresponds to the JSON property `name`
3802
+ # @return [String]
3803
+ attr_accessor :name
3804
+
3805
+ # If this is a primitive type then this field is the type of the primitive For
3806
+ # example, STRING. Leave unspecified for composite types.
3807
+ # Corresponds to the JSON property `primitive`
3808
+ # @return [String]
3809
+ attr_accessor :primitive
3810
+
3811
+ def initialize(**args)
3812
+ update!(**args)
3813
+ end
3814
+
3815
+ # Update properties of this object
3816
+ def update!(**args)
3817
+ @fields = args[:fields] if args.key?(:fields)
3818
+ @name = args[:name] if args.key?(:name)
3819
+ @primitive = args[:primitive] if args.key?(:primitive)
3820
+ end
3821
+ end
3822
+
3823
+ # Maps a resource to the associated user and Attributes.
3824
+ class UserDataMapping
3825
+ include Google::Apis::Core::Hashable
3826
+
3827
+ # Output only. Indicates the time when this mapping was archived.
3828
+ # Corresponds to the JSON property `archiveTime`
3829
+ # @return [String]
3830
+ attr_accessor :archive_time
3831
+
3832
+ # Output only. Indicates whether this mapping is archived.
3833
+ # Corresponds to the JSON property `archived`
3834
+ # @return [Boolean]
3835
+ attr_accessor :archived
3836
+ alias_method :archived?, :archived
3837
+
3838
+ # Required. A unique identifier for the mapped resource.
3839
+ # Corresponds to the JSON property `dataId`
3840
+ # @return [String]
3841
+ attr_accessor :data_id
3842
+
3843
+ # Resource name of the User data mapping, of the form `projects/`project_id`/
3844
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
3845
+ # userDataMappings/`user_data_mapping_id``.
3846
+ # Corresponds to the JSON property `name`
3847
+ # @return [String]
3848
+ attr_accessor :name
3849
+
3850
+ # Attributes of the resource. Only explicitly set attributes are displayed here.
3851
+ # Attribute definitions with defaults set implicitly apply to these User data
3852
+ # mappings. Attributes listed here must be single valued, that is, exactly one
3853
+ # value is specified for the field "values" in each Attribute.
3854
+ # Corresponds to the JSON property `resourceAttributes`
3855
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
3856
+ attr_accessor :resource_attributes
3857
+
3858
+ # Required. User's UUID provided by the client.
3859
+ # Corresponds to the JSON property `userId`
3860
+ # @return [String]
3861
+ attr_accessor :user_id
3862
+
3863
+ def initialize(**args)
3864
+ update!(**args)
3865
+ end
3866
+
3867
+ # Update properties of this object
3868
+ def update!(**args)
3869
+ @archive_time = args[:archive_time] if args.key?(:archive_time)
3870
+ @archived = args[:archived] if args.key?(:archived)
3871
+ @data_id = args[:data_id] if args.key?(:data_id)
3872
+ @name = args[:name] if args.key?(:name)
3873
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
3874
+ @user_id = args[:user_id] if args.key?(:user_id)
3875
+ end
3876
+ end
3877
+
3878
+ # Describes a selector for extracting and matching an MSH field to a value.
3879
+ class VersionSource
3880
+ include Google::Apis::Core::Hashable
3881
+
3882
+ # The field to extract from the MSH segment. For example, "3.1" or "18[1].1".
3883
+ # Corresponds to the JSON property `mshField`
3884
+ # @return [String]
3885
+ attr_accessor :msh_field
3886
+
3887
+ # The value to match with the field. For example, "My Application Name" or "2.3".
3888
+ # Corresponds to the JSON property `value`
3889
+ # @return [String]
3890
+ attr_accessor :value
3891
+
3892
+ def initialize(**args)
3893
+ update!(**args)
3894
+ end
3895
+
3896
+ # Update properties of this object
3897
+ def update!(**args)
3898
+ @msh_field = args[:msh_field] if args.key?(:msh_field)
3899
+ @value = args[:value] if args.key?(:value)
3900
+ end
3901
+ end
2500
3902
  end
2501
3903
  end
2502
3904
  end