lib/google/apis/healthcare_v1/classes.rb in google-apis-healthcare_v1-0.3.0 vs lib/google/apis/healthcare_v1/classes.rb in google-apis-healthcare_v1-0.4.0
- old
+ new
@@ -20,10 +20,163 @@
module Google
module Apis
module HealthcareV1
+ # Activates the latest revision of the specified Consent by committing a new
+ # revision with `state` updated to `ACTIVE`. If the latest revision of the given
+ # Consent is in the `ACTIVE` state, no new revision is committed. A
+ # FAILED_PRECONDITION error occurs if the latest revision of the given consent
+ # is in the `REJECTED` or `REVOKED` state.
+ class ActivateConsentRequest
+ include Google::Apis::Core::Hashable
+
+ # Required. The resource name of the Consent artifact that contains
+ # documentation of the user's consent, of the form `projects/`project_id`/
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
+ # consentArtifacts/`consent_artifact_id``. If the draft Consent had a Consent
+ # artifact, this Consent artifact overwrites it.
+ # Corresponds to the JSON property `consentArtifact`
+ # @return [String]
+ attr_accessor :consent_artifact
+
+ # Timestamp in UTC of when this Consent is considered expired.
+ # Corresponds to the JSON property `expireTime`
+ # @return [String]
+ attr_accessor :expire_time
+
+ # The time to live for this Consent from when it is marked as active.
+ # Corresponds to the JSON property `ttl`
+ # @return [String]
+ attr_accessor :ttl
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
+ @ttl = args[:ttl] if args.key?(:ttl)
+ end
+ end
+
+ # Archives the specified User data mapping.
+ class ArchiveUserDataMappingRequest
+ include Google::Apis::Core::Hashable
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ end
+ end
+
+ # Archives the specified User data mapping.
+ class ArchiveUserDataMappingResponse
+ include Google::Apis::Core::Hashable
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ end
+ end
+
+ # An attribute value for a Consent or User data mapping. Each Attribute must
+ # have a corresponding AttributeDefinition in the consent store that defines the
+ # default and allowed values.
+ class Attribute
+ include Google::Apis::Core::Hashable
+
+ # Indicates the name of an attribute defined in the consent store.
+ # Corresponds to the JSON property `attributeDefinitionId`
+ # @return [String]
+ attr_accessor :attribute_definition_id
+
+ # Required. The value of the attribute. Must be an acceptable value as defined
+ # in the consent store. For example, if the consent store defines "data type"
+ # with acceptable values "questionnaire" and "step-count", when the attribute
+ # name is data type, this field must contain one of those values.
+ # Corresponds to the JSON property `values`
+ # @return [Array<String>]
+ attr_accessor :values
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @attribute_definition_id = args[:attribute_definition_id] if args.key?(:attribute_definition_id)
+ @values = args[:values] if args.key?(:values)
+ end
+ end
+
+ # A client-defined consent attribute.
+ class AttributeDefinition
+ include Google::Apis::Core::Hashable
+
+ # Required. Possible values for the attribute. The number of allowed values must
+ # not exceed 100. An empty list is invalid. The list can only be expanded after
+ # creation.
+ # Corresponds to the JSON property `allowedValues`
+ # @return [Array<String>]
+ attr_accessor :allowed_values
+
+ # Required. The category of the attribute. The value of this field cannot be
+ # changed after creation.
+ # Corresponds to the JSON property `category`
+ # @return [String]
+ attr_accessor :category
+
+ # Optional. Default values of the attribute in Consents. If no default values
+ # are specified, it defaults to an empty value.
+ # Corresponds to the JSON property `consentDefaultValues`
+ # @return [Array<String>]
+ attr_accessor :consent_default_values
+
+ # Optional. Default value of the attribute in User data mappings. If no default
+ # value is specified, it defaults to an empty value. This field is only
+ # applicable to attributes of the category `RESOURCE`.
+ # Corresponds to the JSON property `dataMappingDefaultValue`
+ # @return [String]
+ attr_accessor :data_mapping_default_value
+
+ # Optional. A description of the attribute.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # Resource name of the Attribute definition, of the form `projects/`project_id`/
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
+ # attributeDefinitions/`attribute_definition_id``. Cannot be changed after
+ # creation.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
+ @category = args[:category] if args.key?(:category)
+ @consent_default_values = args[:consent_default_values] if args.key?(:consent_default_values)
+ @data_mapping_default_value = args[:data_mapping_default_value] if args.key?(:data_mapping_default_value)
+ @description = args[:description] if args.key?(:description)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
# Specifies the audit configuration for a service. The configuration determines
# which permission types are logged, and what identities, if any, are exempted
# from logging. An AuditConfig must have one or more AuditLogConfigs. If there
# are AuditConfigs for both `allServices` and a specific service, the union of
# the two AuditConfigs is used for that service: the log_types specified in each
@@ -194,10 +347,321 @@
def update!(**args)
@masking_character = args[:masking_character] if args.key?(:masking_character)
end
end
+ # Checks if a particular data_id of a User data mapping in the given consent
+ # store is consented for a given use.
+ class CheckDataAccessRequest
+ include Google::Apis::Core::Hashable
+
+ # List of resource names of Consent resources.
+ # Corresponds to the JSON property `consentList`
+ # @return [Google::Apis::HealthcareV1::ConsentList]
+ attr_accessor :consent_list
+
+ # Required. The unique identifier of the resource to check access for. This
+ # identifier must correspond to a User data mapping in the given consent store.
+ # Corresponds to the JSON property `dataId`
+ # @return [String]
+ attr_accessor :data_id
+
+ # The values of request attributes associated with this access request.
+ # Corresponds to the JSON property `requestAttributes`
+ # @return [Hash<String,String>]
+ attr_accessor :request_attributes
+
+ # Optional. The view for CheckDataAccessResponse. If unspecified, defaults to `
+ # BASIC` and returns `consented` as `TRUE` or `FALSE`.
+ # Corresponds to the JSON property `responseView`
+ # @return [String]
+ attr_accessor :response_view
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_list = args[:consent_list] if args.key?(:consent_list)
+ @data_id = args[:data_id] if args.key?(:data_id)
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
+ @response_view = args[:response_view] if args.key?(:response_view)
+ end
+ end
+
+ # Checks if a particular data_id of a User data mapping in the given consent
+ # store is consented for a given use.
+ class CheckDataAccessResponse
+ include Google::Apis::Core::Hashable
+
+ # The resource names of all evaluated Consents mapped to their evaluation.
+ # Corresponds to the JSON property `consentDetails`
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
+ attr_accessor :consent_details
+
+ # Whether the requested resource is consented for the given use.
+ # Corresponds to the JSON property `consented`
+ # @return [Boolean]
+ attr_accessor :consented
+ alias_method :consented?, :consented
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
+ @consented = args[:consented] if args.key?(:consented)
+ end
+ end
+
+ # Represents a user's consent.
+ class Consent
+ include Google::Apis::Core::Hashable
+
+ # Required. The resource name of the Consent artifact that contains proof of the
+ # end user's consent, of the form `projects/`project_id`/locations/`location_id`/
+ # datasets/`dataset_id`/consentStores/`consent_store_id`/consentArtifacts/`
+ # consent_artifact_id``.
+ # Corresponds to the JSON property `consentArtifact`
+ # @return [String]
+ attr_accessor :consent_artifact
+
+ # Timestamp in UTC of when this Consent is considered expired.
+ # Corresponds to the JSON property `expireTime`
+ # @return [String]
+ attr_accessor :expire_time
+
+ # Optional. User-supplied key-value pairs used to organize Consent resources.
+ # Metadata keys must: - be between 1 and 63 characters long - have a UTF-8
+ # encoding of maximum 128 bytes - begin with a letter - consist of up to 63
+ # characters including lowercase letters, numeric characters, underscores, and
+ # dashes Metadata values must be: - be between 1 and 63 characters long - have a
+ # UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including
+ # lowercase letters, numeric characters, underscores, and dashes No more than 64
+ # metadata entries can be associated with a given consent.
+ # Corresponds to the JSON property `metadata`
+ # @return [Hash<String,String>]
+ attr_accessor :metadata
+
+ # Resource name of the Consent, of the form `projects/`project_id`/locations/`
+ # location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/consents/`
+ # consent_id``. Cannot be changed after creation.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Optional. Represents a user's consent in terms of the resources that can be
+ # accessed and under what conditions.
+ # Corresponds to the JSON property `policies`
+ # @return [Array<Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentPolicy>]
+ attr_accessor :policies
+
+ # Output only. The timestamp that the revision was created.
+ # Corresponds to the JSON property `revisionCreateTime`
+ # @return [String]
+ attr_accessor :revision_create_time
+
+ # Output only. The revision ID of the Consent. The format is an 8-character
+ # hexadecimal string. Refer to a specific revision of a Consent by appending `@`
+ # revision_id`` to the Consent's resource name.
+ # Corresponds to the JSON property `revisionId`
+ # @return [String]
+ attr_accessor :revision_id
+
+ # Required. Indicates the current state of this Consent.
+ # Corresponds to the JSON property `state`
+ # @return [String]
+ attr_accessor :state
+
+ # Input only. The time to live for this Consent from when it is created.
+ # Corresponds to the JSON property `ttl`
+ # @return [String]
+ attr_accessor :ttl
+
+ # Required. User's UUID provided by the client.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
+ @metadata = args[:metadata] if args.key?(:metadata)
+ @name = args[:name] if args.key?(:name)
+ @policies = args[:policies] if args.key?(:policies)
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
+ @state = args[:state] if args.key?(:state)
+ @ttl = args[:ttl] if args.key?(:ttl)
+ @user_id = args[:user_id] if args.key?(:user_id)
+ end
+ end
+
+ # Documentation of a user's consent.
+ class ConsentArtifact
+ include Google::Apis::Core::Hashable
+
+ # Optional. Screenshots, PDFs, or other binary information documenting the user'
+ # s consent.
+ # Corresponds to the JSON property `consentContentScreenshots`
+ # @return [Array<Google::Apis::HealthcareV1::Image>]
+ attr_accessor :consent_content_screenshots
+
+ # Optional. An string indicating the version of the consent information shown to
+ # the user.
+ # Corresponds to the JSON property `consentContentVersion`
+ # @return [String]
+ attr_accessor :consent_content_version
+
+ # User signature.
+ # Corresponds to the JSON property `guardianSignature`
+ # @return [Google::Apis::HealthcareV1::Signature]
+ attr_accessor :guardian_signature
+
+ # Optional. Metadata associated with the Consent artifact. For example, the
+ # consent locale or user agent version.
+ # Corresponds to the JSON property `metadata`
+ # @return [Hash<String,String>]
+ attr_accessor :metadata
+
+ # Resource name of the Consent artifact, of the form `projects/`project_id`/
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
+ # consentArtifacts/`consent_artifact_id``. Cannot be changed after creation.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Required. User's UUID provided by the client.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ # User signature.
+ # Corresponds to the JSON property `userSignature`
+ # @return [Google::Apis::HealthcareV1::Signature]
+ attr_accessor :user_signature
+
+ # User signature.
+ # Corresponds to the JSON property `witnessSignature`
+ # @return [Google::Apis::HealthcareV1::Signature]
+ attr_accessor :witness_signature
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_content_screenshots = args[:consent_content_screenshots] if args.key?(:consent_content_screenshots)
+ @consent_content_version = args[:consent_content_version] if args.key?(:consent_content_version)
+ @guardian_signature = args[:guardian_signature] if args.key?(:guardian_signature)
+ @metadata = args[:metadata] if args.key?(:metadata)
+ @name = args[:name] if args.key?(:name)
+ @user_id = args[:user_id] if args.key?(:user_id)
+ @user_signature = args[:user_signature] if args.key?(:user_signature)
+ @witness_signature = args[:witness_signature] if args.key?(:witness_signature)
+ end
+ end
+
+ # The detailed evaluation of a particular Consent.
+ class ConsentEvaluation
+ include Google::Apis::Core::Hashable
+
+ # The evaluation result.
+ # Corresponds to the JSON property `evaluationResult`
+ # @return [String]
+ attr_accessor :evaluation_result
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @evaluation_result = args[:evaluation_result] if args.key?(:evaluation_result)
+ end
+ end
+
+ # List of resource names of Consent resources.
+ class ConsentList
+ include Google::Apis::Core::Hashable
+
+ # The resource names of the Consents to evaluate against, of the form `projects/`
+ # project_id`/locations/`location_id`/datasets/`dataset_id`/consentStores/`
+ # consent_store_id`/consents/`consent_id``.
+ # Corresponds to the JSON property `consents`
+ # @return [Array<String>]
+ attr_accessor :consents
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consents = args[:consents] if args.key?(:consents)
+ end
+ end
+
+ # Represents a consent store.
+ class ConsentStore
+ include Google::Apis::Core::Hashable
+
+ # Optional. Default time to live for Consents created in this store. Must be at
+ # least 24 hours. Updating this field will not affect the expiration time of
+ # existing consents.
+ # Corresponds to the JSON property `defaultConsentTtl`
+ # @return [String]
+ attr_accessor :default_consent_ttl
+
+ # Optional. If `true`, UpdateConsent creates the Consent if it does not already
+ # exist. If unspecified, defaults to `false`.
+ # Corresponds to the JSON property `enableConsentCreateOnUpdate`
+ # @return [Boolean]
+ attr_accessor :enable_consent_create_on_update
+ alias_method :enable_consent_create_on_update?, :enable_consent_create_on_update
+
+ # Optional. User-supplied key-value pairs used to organize consent stores. Label
+ # keys must be between 1 and 63 characters long, have a UTF-8 encoding of
+ # maximum 128 bytes, and must conform to the following PCRE regular expression: \
+ # p`Ll`\p`Lo``0,62`. Label values must be between 1 and 63 characters long, have
+ # a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE
+ # regular expression: [\p`Ll`\p`Lo`\p`N`_-]`0,63`. No more than 64 labels can be
+ # associated with a given store. For more information: https://cloud.google.com/
+ # healthcare/docs/how-tos/labeling-resources
+ # Corresponds to the JSON property `labels`
+ # @return [Hash<String,String>]
+ attr_accessor :labels
+
+ # Resource name of the consent store, of the form `projects/`project_id`/
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id``
+ # . Cannot be changed after creation.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @default_consent_ttl = args[:default_consent_ttl] if args.key?(:default_consent_ttl)
+ @enable_consent_create_on_update = args[:enable_consent_create_on_update] if args.key?(:enable_consent_create_on_update)
+ @labels = args[:labels] if args.key?(:labels)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
# Creates a new message.
class CreateMessageRequest
include Google::Apis::Core::Hashable
# A complete HL7v2 message. See [Introduction to HL7 Standards] (https://www.hl7.
@@ -579,10 +1043,98 @@
# Update properties of this object
def update!(**args)
end
end
+ # Evaluate a user's Consents for all matching User data mappings. Note: User
+ # data mappings are indexed asynchronously, causing slight delays between the
+ # time mappings are created or updated and when they are included in
+ # EvaluateUserConsents results.
+ class EvaluateUserConsentsRequest
+ include Google::Apis::Core::Hashable
+
+ # List of resource names of Consent resources.
+ # Corresponds to the JSON property `consentList`
+ # @return [Google::Apis::HealthcareV1::ConsentList]
+ attr_accessor :consent_list
+
+ # Optional. Limit on the number of User data mappings to return in a single
+ # response. If not specified, 100 is used. May not be larger than 1000.
+ # Corresponds to the JSON property `pageSize`
+ # @return [Fixnum]
+ attr_accessor :page_size
+
+ # Optional. Token to retrieve the next page of results, or empty to get the
+ # first page.
+ # Corresponds to the JSON property `pageToken`
+ # @return [String]
+ attr_accessor :page_token
+
+ # Required. The values of request attributes associated with this access request.
+ # Corresponds to the JSON property `requestAttributes`
+ # @return [Hash<String,String>]
+ attr_accessor :request_attributes
+
+ # Optional. The values of resource attributes associated with the resources
+ # being requested. If no values are specified, then all resources are queried.
+ # Corresponds to the JSON property `resourceAttributes`
+ # @return [Hash<String,String>]
+ attr_accessor :resource_attributes
+
+ # Optional. The view for EvaluateUserConsentsResponse. If unspecified, defaults
+ # to `BASIC` and returns `consented` as `TRUE` or `FALSE`.
+ # Corresponds to the JSON property `responseView`
+ # @return [String]
+ attr_accessor :response_view
+
+ # Required. User ID to evaluate consents for.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_list = args[:consent_list] if args.key?(:consent_list)
+ @page_size = args[:page_size] if args.key?(:page_size)
+ @page_token = args[:page_token] if args.key?(:page_token)
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
+ @response_view = args[:response_view] if args.key?(:response_view)
+ @user_id = args[:user_id] if args.key?(:user_id)
+ end
+ end
+
+ #
+ class EvaluateUserConsentsResponse
+ include Google::Apis::Core::Hashable
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list. This token is valid for 72 hours after it is created.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ # The consent evaluation result for each `data_id`.
+ # Corresponds to the JSON property `results`
+ # @return [Array<Google::Apis::HealthcareV1::Result>]
+ attr_accessor :results
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ @results = args[:results] if args.key?(:results)
+ end
+ end
+
# Exports data from the specified DICOM store. If a given resource, such as a
# DICOM object with the same SOPInstance UID, already exists in the output, it
# is overwritten with the version in the source dataset. Exported DICOM data
# persists when the DICOM store from which it was exported is deleted.
class ExportDicomDataRequest
@@ -860,10 +1412,56 @@
@stream_configs = args[:stream_configs] if args.key?(:stream_configs)
@version = args[:version] if args.key?(:version)
end
end
+ # A (sub) field of a type.
+ class Field
+ include Google::Apis::Core::Hashable
+
+ # The maximum number of times this field can be repeated. 0 or -1 means
+ # unbounded.
+ # Corresponds to the JSON property `maxOccurs`
+ # @return [Fixnum]
+ attr_accessor :max_occurs
+
+ # The minimum number of times this field must be present/repeated.
+ # Corresponds to the JSON property `minOccurs`
+ # @return [Fixnum]
+ attr_accessor :min_occurs
+
+ # The name of the field. For example, "PID-1" or just "1".
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The HL7v2 table this field refers to. For example, PID-15 (Patient's Primary
+ # Language) usually refers to table "0296".
+ # Corresponds to the JSON property `table`
+ # @return [String]
+ attr_accessor :table
+
+ # The type of this field. A Type with this name must be defined in an
+ # Hl7TypesConfig.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
+ @name = args[:name] if args.key?(:name)
+ @table = args[:table] if args.key?(:table)
+ @type = args[:type] if args.key?(:type)
+ end
+ end
+
# Specifies FHIR paths to match, and how to handle de-identification of matching
# fields.
class FieldMetadata
include Google::Apis::Core::Hashable
@@ -893,10 +1491,75 @@
@action = args[:action] if args.key?(:action)
@paths = args[:paths] if args.key?(:paths)
end
end
+ # The Cloud Storage location for export.
+ class GoogleCloudHealthcareV1ConsentGcsDestination
+ include Google::Apis::Core::Hashable
+
+ # URI for a Cloud Storage directory where the server writes result files, in the
+ # format `gs://`bucket-id`/`path/to/destination/dir``. If there is no trailing
+ # slash, the service appends one when composing the object path. The user is
+ # responsible for creating the Cloud Storage bucket and directory referenced in `
+ # uri_prefix`.
+ # Corresponds to the JSON property `uriPrefix`
+ # @return [String]
+ attr_accessor :uri_prefix
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @uri_prefix = args[:uri_prefix] if args.key?(:uri_prefix)
+ end
+ end
+
+ # Represents a user's consent in terms of the resources that can be accessed and
+ # under what conditions.
+ class GoogleCloudHealthcareV1ConsentPolicy
+ include Google::Apis::Core::Hashable
+
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
+ # "Summary size limit" description: "Determines if a summary is less than 100
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
+ # Requestor is owner" description: "Determines if requestor is the document
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
+ # Logic): title: "Public documents" description: "Determine whether the document
+ # should be publicly visible" expression: "document.type != 'private' &&
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
+ # string" description: "Create a notification string with a timestamp."
+ # expression: "'New message received at ' + string(document.create_time)" The
+ # exact variables and functions that may be referenced within an expression are
+ # determined by the service that evaluates it. See the service documentation for
+ # additional information.
+ # Corresponds to the JSON property `authorizationRule`
+ # @return [Google::Apis::HealthcareV1::Expr]
+ attr_accessor :authorization_rule
+
+ # The resources that this policy applies to. A resource is a match if it matches
+ # all the attributes listed here. If empty, this policy applies to all User data
+ # mappings for the given user.
+ # Corresponds to the JSON property `resourceAttributes`
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
+ attr_accessor :resource_attributes
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @authorization_rule = args[:authorization_rule] if args.key?(:authorization_rule)
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
+ end
+ end
+
# Contains a summary of the DeidentifyDicomStore operation.
class GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary
include Google::Apis::Core::Hashable
def initialize(**args)
@@ -1123,10 +1786,90 @@
def update!(**args)
@uri = args[:uri] if args.key?(:uri)
end
end
+ # Construct representing a logical group or a segment.
+ class GroupOrSegment
+ include Google::Apis::Core::Hashable
+
+ # An HL7v2 logical group construct.
+ # Corresponds to the JSON property `group`
+ # @return [Google::Apis::HealthcareV1::SchemaGroup]
+ attr_accessor :group
+
+ # An HL7v2 Segment.
+ # Corresponds to the JSON property `segment`
+ # @return [Google::Apis::HealthcareV1::SchemaSegment]
+ attr_accessor :segment
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @group = args[:group] if args.key?(:group)
+ @segment = args[:segment] if args.key?(:segment)
+ end
+ end
+
+ # Root config message for HL7v2 schema. This contains a schema structure of
+ # groups and segments, and filters that determine which messages to apply the
+ # schema structure to.
+ class Hl7SchemaConfig
+ include Google::Apis::Core::Hashable
+
+ # Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to
+ # its schema configuration root group.
+ # Corresponds to the JSON property `messageSchemaConfigs`
+ # @return [Hash<String,Google::Apis::HealthcareV1::SchemaGroup>]
+ attr_accessor :message_schema_configs
+
+ # Each VersionSource is tested and only if they all match is the schema used for
+ # the message.
+ # Corresponds to the JSON property `version`
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
+ attr_accessor :version
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @message_schema_configs = args[:message_schema_configs] if args.key?(:message_schema_configs)
+ @version = args[:version] if args.key?(:version)
+ end
+ end
+
+ # Root config for HL7v2 datatype definitions for a specific HL7v2 version.
+ class Hl7TypesConfig
+ include Google::Apis::Core::Hashable
+
+ # The HL7v2 type definitions.
+ # Corresponds to the JSON property `type`
+ # @return [Array<Google::Apis::HealthcareV1::Type>]
+ attr_accessor :type
+
+ # The version selectors that this config applies to. A message must match ALL
+ # version sources to apply.
+ # Corresponds to the JSON property `version`
+ # @return [Array<Google::Apis::HealthcareV1::VersionSource>]
+ attr_accessor :version
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @type = args[:type] if args.key?(:type)
+ @version = args[:version] if args.key?(:version)
+ end
+ end
+
# Specifies where and whether to send notifications upon changes to a data store.
class Hl7V2NotificationConfig
include Google::Apis::Core::Hashable
# Restricts notifications sent for messages matching a filter. If this is empty,
@@ -1307,10 +2050,44 @@
@data = args[:data] if args.key?(:data)
@extensions = args[:extensions] if args.key?(:extensions)
end
end
+ # Raw bytes representing consent artifact content.
+ class Image
+ include Google::Apis::Core::Hashable
+
+ # Input only. Points to a Cloud Storage URI containing the consent artifact
+ # content. The URI must be in the following format: `gs://`bucket_id`/`object_id`
+ # `. The Cloud Healthcare API service account must have the `roles/storage.
+ # objectViewer` Cloud IAM role for this Cloud Storage location. The consent
+ # artifact content at this URI is copied to a Cloud Storage location managed by
+ # the Cloud Healthcare API. Responses to fetching requests return the consent
+ # artifact content in raw_bytes.
+ # Corresponds to the JSON property `gcsUri`
+ # @return [String]
+ attr_accessor :gcs_uri
+
+ # Consent artifact content represented as a stream of bytes. This field is
+ # populated when returned in GetConsentArtifact response, but not included in
+ # CreateConsentArtifact and ListConsentArtifact response.
+ # Corresponds to the JSON property `rawBytes`
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
+ # @return [String]
+ attr_accessor :raw_bytes
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
+ @raw_bytes = args[:raw_bytes] if args.key?(:raw_bytes)
+ end
+ end
+
# Specifies how to handle de-identification of image pixels.
class ImageConfig
include Google::Apis::Core::Hashable
# Determines how to redact text from image.
@@ -1504,10 +2281,145 @@
@hl7_ack = args[:hl7_ack] if args.key?(:hl7_ack)
@message = args[:message] if args.key?(:message)
end
end
+ #
+ class ListAttributeDefinitionsResponse
+ include Google::Apis::Core::Hashable
+
+ # The returned Attribute definitions. The maximum number of attributes returned
+ # is determined by the value of page_size in the ListAttributeDefinitionsRequest.
+ # Corresponds to the JSON property `attributeDefinitions`
+ # @return [Array<Google::Apis::HealthcareV1::AttributeDefinition>]
+ attr_accessor :attribute_definitions
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @attribute_definitions = args[:attribute_definitions] if args.key?(:attribute_definitions)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ end
+ end
+
+ #
+ class ListConsentArtifactsResponse
+ include Google::Apis::Core::Hashable
+
+ # The returned Consent artifacts. The maximum number of artifacts returned is
+ # determined by the value of page_size in the ListConsentArtifactsRequest.
+ # Corresponds to the JSON property `consentArtifacts`
+ # @return [Array<Google::Apis::HealthcareV1::ConsentArtifact>]
+ attr_accessor :consent_artifacts
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_artifacts = args[:consent_artifacts] if args.key?(:consent_artifacts)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ end
+ end
+
+ #
+ class ListConsentRevisionsResponse
+ include Google::Apis::Core::Hashable
+
+ # The returned Consent revisions. The maximum number of revisions returned is
+ # determined by the value of `page_size` in the ListConsentRevisionsRequest.
+ # Corresponds to the JSON property `consents`
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
+ attr_accessor :consents
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consents = args[:consents] if args.key?(:consents)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ end
+ end
+
+ #
+ class ListConsentStoresResponse
+ include Google::Apis::Core::Hashable
+
+ # The returned consent stores. The maximum number of stores returned is
+ # determined by the value of page_size in the ListConsentStoresRequest.
+ # Corresponds to the JSON property `consentStores`
+ # @return [Array<Google::Apis::HealthcareV1::ConsentStore>]
+ attr_accessor :consent_stores
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_stores = args[:consent_stores] if args.key?(:consent_stores)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ end
+ end
+
+ #
+ class ListConsentsResponse
+ include Google::Apis::Core::Hashable
+
+ # The returned Consents. The maximum number of Consents returned is determined
+ # by the value of page_size in the ListConsentsRequest.
+ # Corresponds to the JSON property `consents`
+ # @return [Array<Google::Apis::HealthcareV1::Consent>]
+ attr_accessor :consents
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consents = args[:consents] if args.key?(:consents)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ end
+ end
+
# Lists the available datasets.
class ListDatasetsResponse
include Google::Apis::Core::Hashable
# The first page of datasets.
@@ -1688,10 +2600,38 @@
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
@operations = args[:operations] if args.key?(:operations)
end
end
+ #
+ class ListUserDataMappingsResponse
+ include Google::Apis::Core::Hashable
+
+ # Token to retrieve the next page of results, or empty if there are no more
+ # results in the list.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ # The returned User data mappings. The maximum number of User data mappings
+ # returned is determined by the value of page_size in the
+ # ListUserDataMappingsRequest.
+ # Corresponds to the JSON property `userDataMappings`
+ # @return [Array<Google::Apis::HealthcareV1::UserDataMapping>]
+ attr_accessor :user_data_mappings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+ @user_data_mappings = args[:user_data_mappings] if args.key?(:user_data_mappings)
+ end
+ end
+
# A resource that represents Google Cloud Platform location.
class Location
include Google::Apis::Core::Hashable
# The friendly name for this location, typically a nearby city name. For example,
@@ -1784,10 +2724,16 @@
# All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
# Corresponds to the JSON property `patientIds`
# @return [Array<Google::Apis::HealthcareV1::PatientId>]
attr_accessor :patient_ids
+ # The content of an HL7v2 message in a structured format as specified by a
+ # schema.
+ # Corresponds to the JSON property `schematizedData`
+ # @return [Google::Apis::HealthcareV1::SchematizedData]
+ attr_accessor :schematized_data
+
# The hospital that this message came from. MSH-4.
# Corresponds to the JSON property `sendFacility`
# @return [String]
attr_accessor :send_facility
@@ -1807,10 +2753,11 @@
@labels = args[:labels] if args.key?(:labels)
@message_type = args[:message_type] if args.key?(:message_type)
@name = args[:name] if args.key?(:name)
@parsed_data = args[:parsed_data] if args.key?(:parsed_data)
@patient_ids = args[:patient_ids] if args.key?(:patient_ids)
+ @schematized_data = args[:schematized_data] if args.key?(:schematized_data)
@send_facility = args[:send_facility] if args.key?(:send_facility)
@send_time = args[:send_time] if args.key?(:send_time)
end
end
@@ -1990,10 +2937,15 @@
# Corresponds to the JSON property `allowNullHeader`
# @return [Boolean]
attr_accessor :allow_null_header
alias_method :allow_null_header?, :allow_null_header
+ # A schema package contains a set of schemas and type definitions.
+ # Corresponds to the JSON property `schema`
+ # @return [Google::Apis::HealthcareV1::SchemaPackage]
+ attr_accessor :schema
+
# Byte(s) to use as the segment terminator. If this is unset, '\r' is used as
# segment terminator, matching the HL7 version 2 specification.
# Corresponds to the JSON property `segmentTerminator`
# NOTE: Values are automatically base64 encoded/decoded in the client library.
# @return [String]
@@ -2004,10 +2956,11 @@
end
# Update properties of this object
def update!(**args)
@allow_null_header = args[:allow_null_header] if args.key?(:allow_null_header)
+ @schema = args[:schema] if args.key?(:schema)
@segment_terminator = args[:segment_terminator] if args.key?(:segment_terminator)
end
end
# A patient identifier and associated type.
@@ -2154,10 +3107,47 @@
@pending = args[:pending] if args.key?(:pending)
@success = args[:success] if args.key?(:success)
end
end
+ # Queries all data_ids that are consented for a given use in the given consent
+ # store and writes them to a specified destination. The returned Operation
+ # includes a progress counter for the number of User data mappings processed.
+ # Errors are logged to Cloud Logging (see [Viewing logs] (/healthcare/docs/how-
+ # tos/logging) and [QueryAccessibleData] for a sample log entry).
+ class QueryAccessibleDataRequest
+ include Google::Apis::Core::Hashable
+
+ # The Cloud Storage location for export.
+ # Corresponds to the JSON property `gcsDestination`
+ # @return [Google::Apis::HealthcareV1::GoogleCloudHealthcareV1ConsentGcsDestination]
+ attr_accessor :gcs_destination
+
+ # The values of request attributes associated with this access request.
+ # Corresponds to the JSON property `requestAttributes`
+ # @return [Hash<String,String>]
+ attr_accessor :request_attributes
+
+ # Optional. The values of resource attributes associated with the type of
+ # resources being requested. If no values are specified, then all resource types
+ # are included in the output.
+ # Corresponds to the JSON property `resourceAttributes`
+ # @return [Hash<String,String>]
+ attr_accessor :resource_attributes
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
+ @request_attributes = args[:request_attributes] if args.key?(:request_attributes)
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
+ end
+ end
+
# Define how to redact sensitive values. Default behaviour is erase. For example,
# "My name is Jane." becomes "My name is ."
class RedactConfig
include Google::Apis::Core::Hashable
@@ -2168,10 +3158,35 @@
# Update properties of this object
def update!(**args)
end
end
+ # Rejects the latest revision of the specified Consent by committing a new
+ # revision with `state` updated to `REJECTED`. If the latest revision of the
+ # given Consent is in the `REJECTED` state, no new revision is committed.
+ class RejectConsentRequest
+ include Google::Apis::Core::Hashable
+
+ # Optional. The resource name of the Consent artifact that contains
+ # documentation of the user's rejection of the draft Consent, of the form `
+ # projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/
+ # consentStores/`consent_store_id`/consentArtifacts/`consent_artifact_id``. If
+ # the draft Consent had a Consent artifact, this Consent artifact overwrites it.
+ # Corresponds to the JSON property `consentArtifact`
+ # @return [String]
+ attr_accessor :consent_artifact
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
+ end
+ end
+
# When using the INSPECT_AND_TRANSFORM action, each match is replaced with the
# name of the info_type. For example, "My name is Jane" becomes "My name is [
# PERSON_NAME]." The TRANSFORM action is equivalent to redacting.
class ReplaceWithInfoTypeConfig
include Google::Apis::Core::Hashable
@@ -2202,10 +3217,66 @@
def update!(**args)
@resources = args[:resources] if args.key?(:resources)
end
end
+ # The consent evaluation result for a single `data_id`.
+ class Result
+ include Google::Apis::Core::Hashable
+
+ # The resource names of all evaluated Consents mapped to their evaluation.
+ # Corresponds to the JSON property `consentDetails`
+ # @return [Hash<String,Google::Apis::HealthcareV1::ConsentEvaluation>]
+ attr_accessor :consent_details
+
+ # Whether the resource is consented for the given use.
+ # Corresponds to the JSON property `consented`
+ # @return [Boolean]
+ attr_accessor :consented
+ alias_method :consented?, :consented
+
+ # The unique identifier of the evaluated resource.
+ # Corresponds to the JSON property `dataId`
+ # @return [String]
+ attr_accessor :data_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_details = args[:consent_details] if args.key?(:consent_details)
+ @consented = args[:consented] if args.key?(:consented)
+ @data_id = args[:data_id] if args.key?(:data_id)
+ end
+ end
+
+ # Revokes the latest revision of the specified Consent by committing a new
+ # revision with `state` updated to `REVOKED`. If the latest revision of the
+ # given Consent is in the `REVOKED` state, no new revision is committed.
+ class RevokeConsentRequest
+ include Google::Apis::Core::Hashable
+
+ # Optional. The resource name of the Consent artifact that contains proof of the
+ # user's revocation of the Consent, of the form `projects/`project_id`/locations/
+ # `location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
+ # consentArtifacts/`consent_artifact_id``.
+ # Corresponds to the JSON property `consentArtifact`
+ # @return [String]
+ attr_accessor :consent_artifact
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consent_artifact = args[:consent_artifact] if args.key?(:consent_artifact)
+ end
+ end
+
# Configuration for the FHIR BigQuery schema. Determines how the server
# generates the schema.
class SchemaConfig
include Google::Apis::Core::Hashable
@@ -2232,10 +3303,160 @@
@recursive_structure_depth = args[:recursive_structure_depth] if args.key?(:recursive_structure_depth)
@schema_type = args[:schema_type] if args.key?(:schema_type)
end
end
+ # An HL7v2 logical group construct.
+ class SchemaGroup
+ include Google::Apis::Core::Hashable
+
+ # True indicates that this is a choice group, meaning that only one of its
+ # segments can exist in a given message.
+ # Corresponds to the JSON property `choice`
+ # @return [Boolean]
+ attr_accessor :choice
+ alias_method :choice?, :choice
+
+ # The maximum number of times this group can be repeated. 0 or -1 means
+ # unbounded.
+ # Corresponds to the JSON property `maxOccurs`
+ # @return [Fixnum]
+ attr_accessor :max_occurs
+
+ # Nested groups and/or segments.
+ # Corresponds to the JSON property `members`
+ # @return [Array<Google::Apis::HealthcareV1::GroupOrSegment>]
+ attr_accessor :members
+
+ # The minimum number of times this group must be present/repeated.
+ # Corresponds to the JSON property `minOccurs`
+ # @return [Fixnum]
+ attr_accessor :min_occurs
+
+ # The name of this group. For example, "ORDER_DETAIL".
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @choice = args[:choice] if args.key?(:choice)
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
+ @members = args[:members] if args.key?(:members)
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # A schema package contains a set of schemas and type definitions.
+ class SchemaPackage
+ include Google::Apis::Core::Hashable
+
+ # Flag to ignore all min_occurs restrictions in the schema. This means that
+ # incoming messages can omit any group, segment, field, component, or
+ # subcomponent.
+ # Corresponds to the JSON property `ignoreMinOccurs`
+ # @return [Boolean]
+ attr_accessor :ignore_min_occurs
+ alias_method :ignore_min_occurs?, :ignore_min_occurs
+
+ # Schema configs that are layered based on their VersionSources that match the
+ # incoming message. Schema configs present in higher indices override those in
+ # lower indices with the same message type and trigger event if their
+ # VersionSources all match an incoming message.
+ # Corresponds to the JSON property `schemas`
+ # @return [Array<Google::Apis::HealthcareV1::Hl7SchemaConfig>]
+ attr_accessor :schemas
+
+ # Determines how messages that fail to parse are handled.
+ # Corresponds to the JSON property `schematizedParsingType`
+ # @return [String]
+ attr_accessor :schematized_parsing_type
+
+ # Schema type definitions that are layered based on their VersionSources that
+ # match the incoming message. Type definitions present in higher indices
+ # override those in lower indices with the same type name if their
+ # VersionSources all match an incoming message.
+ # Corresponds to the JSON property `types`
+ # @return [Array<Google::Apis::HealthcareV1::Hl7TypesConfig>]
+ attr_accessor :types
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @ignore_min_occurs = args[:ignore_min_occurs] if args.key?(:ignore_min_occurs)
+ @schemas = args[:schemas] if args.key?(:schemas)
+ @schematized_parsing_type = args[:schematized_parsing_type] if args.key?(:schematized_parsing_type)
+ @types = args[:types] if args.key?(:types)
+ end
+ end
+
+ # An HL7v2 Segment.
+ class SchemaSegment
+ include Google::Apis::Core::Hashable
+
+ # The maximum number of times this segment can be present in this group. 0 or -1
+ # means unbounded.
+ # Corresponds to the JSON property `maxOccurs`
+ # @return [Fixnum]
+ attr_accessor :max_occurs
+
+ # The minimum number of times this segment can be present in this group.
+ # Corresponds to the JSON property `minOccurs`
+ # @return [Fixnum]
+ attr_accessor :min_occurs
+
+ # The Segment type. For example, "PID".
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @max_occurs = args[:max_occurs] if args.key?(:max_occurs)
+ @min_occurs = args[:min_occurs] if args.key?(:min_occurs)
+ @type = args[:type] if args.key?(:type)
+ end
+ end
+
+ # The content of an HL7v2 message in a structured format as specified by a
+ # schema.
+ class SchematizedData
+ include Google::Apis::Core::Hashable
+
+ # JSON output of the parser.
+ # Corresponds to the JSON property `data`
+ # @return [String]
+ attr_accessor :data
+
+ # The error output of the parser.
+ # Corresponds to the JSON property `error`
+ # @return [String]
+ attr_accessor :error
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @data = args[:data] if args.key?(:data)
+ @error = args[:error] if args.key?(:error)
+ end
+ end
+
# Request to search the resources in the specified FHIR store.
class SearchResourcesRequest
include Google::Apis::Core::Hashable
# The FHIR resource type to search, such as Patient or Observation. For a
@@ -2348,10 +3569,48 @@
@policy = args[:policy] if args.key?(:policy)
@update_mask = args[:update_mask] if args.key?(:update_mask)
end
end
+ # User signature.
+ class Signature
+ include Google::Apis::Core::Hashable
+
+ # Raw bytes representing consent artifact content.
+ # Corresponds to the JSON property `image`
+ # @return [Google::Apis::HealthcareV1::Image]
+ attr_accessor :image
+
+ # Optional. Metadata associated with the user's signature. For example, the user'
+ # s name or the user's title.
+ # Corresponds to the JSON property `metadata`
+ # @return [Hash<String,String>]
+ attr_accessor :metadata
+
+ # Optional. Timestamp of the signature.
+ # Corresponds to the JSON property `signatureTime`
+ # @return [String]
+ attr_accessor :signature_time
+
+ # Required. User's UUID provided by the client.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @image = args[:image] if args.key?(:image)
+ @metadata = args[:metadata] if args.key?(:metadata)
+ @signature_time = args[:signature_time] if args.key?(:signature_time)
+ @user_id = args[:user_id] if args.key?(:user_id)
+ end
+ end
+
# The `Status` type defines a logical error model that is suitable for different
# programming environments, including REST APIs and RPC APIs. It is used by [
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
# data: error code, error message, and error details. You can find out more
# about this error model and how to work with it in the [API Design Guide](https:
@@ -2493,9 +3752,122 @@
end
# Update properties of this object
def update!(**args)
@transformations = args[:transformations] if args.key?(:transformations)
+ end
+ end
+
+ # A type definition for some HL7v2 type (incl. Segments and Datatypes).
+ class Type
+ include Google::Apis::Core::Hashable
+
+ # The (sub) fields this type has (if not primitive).
+ # Corresponds to the JSON property `fields`
+ # @return [Array<Google::Apis::HealthcareV1::Field>]
+ attr_accessor :fields
+
+ # The name of this type. This would be the segment or datatype name. For example,
+ # "PID" or "XPN".
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # If this is a primitive type then this field is the type of the primitive For
+ # example, STRING. Leave unspecified for composite types.
+ # Corresponds to the JSON property `primitive`
+ # @return [String]
+ attr_accessor :primitive
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @fields = args[:fields] if args.key?(:fields)
+ @name = args[:name] if args.key?(:name)
+ @primitive = args[:primitive] if args.key?(:primitive)
+ end
+ end
+
+ # Maps a resource to the associated user and Attributes.
+ class UserDataMapping
+ include Google::Apis::Core::Hashable
+
+ # Output only. Indicates the time when this mapping was archived.
+ # Corresponds to the JSON property `archiveTime`
+ # @return [String]
+ attr_accessor :archive_time
+
+ # Output only. Indicates whether this mapping is archived.
+ # Corresponds to the JSON property `archived`
+ # @return [Boolean]
+ attr_accessor :archived
+ alias_method :archived?, :archived
+
+ # Required. A unique identifier for the mapped resource.
+ # Corresponds to the JSON property `dataId`
+ # @return [String]
+ attr_accessor :data_id
+
+ # Resource name of the User data mapping, of the form `projects/`project_id`/
+ # locations/`location_id`/datasets/`dataset_id`/consentStores/`consent_store_id`/
+ # userDataMappings/`user_data_mapping_id``.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Attributes of the resource. Only explicitly set attributes are displayed here.
+ # Attribute definitions with defaults set implicitly apply to these User data
+ # mappings. Attributes listed here must be single valued, that is, exactly one
+ # value is specified for the field "values" in each Attribute.
+ # Corresponds to the JSON property `resourceAttributes`
+ # @return [Array<Google::Apis::HealthcareV1::Attribute>]
+ attr_accessor :resource_attributes
+
+ # Required. User's UUID provided by the client.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @archive_time = args[:archive_time] if args.key?(:archive_time)
+ @archived = args[:archived] if args.key?(:archived)
+ @data_id = args[:data_id] if args.key?(:data_id)
+ @name = args[:name] if args.key?(:name)
+ @resource_attributes = args[:resource_attributes] if args.key?(:resource_attributes)
+ @user_id = args[:user_id] if args.key?(:user_id)
+ end
+ end
+
+ # Describes a selector for extracting and matching an MSH field to a value.
+ class VersionSource
+ include Google::Apis::Core::Hashable
+
+ # The field to extract from the MSH segment. For example, "3.1" or "18[1].1".
+ # Corresponds to the JSON property `mshField`
+ # @return [String]
+ attr_accessor :msh_field
+
+ # The value to match with the field. For example, "My Application Name" or "2.3".
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @msh_field = args[:msh_field] if args.key?(:msh_field)
+ @value = args[:value] if args.key?(:value)
end
end
end
end
end