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