"""Generated message classes for healthcare version v1alpha2.

Manage, store, and access healthcare data in Google Cloud Platform.
"""
# NOTE: This file is autogenerated and should not be edited by hand.

from apitools.base.protorpclite import messages as _messages
from apitools.base.py import encoding
from apitools.base.py import extra_types


package = 'healthcare'


class AnnotationStore(_messages.Message):
  r"""An Annotation store that can store annotation resources such as labels
  and tags for text, image and audio.

  Messages:
    LabelsValue: Optional. User-supplied key-value pairs used to organize
      Annotation 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.

  Fields:
    labels: Optional. User-supplied key-value pairs used to organize
      Annotation 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.
    name: Output only. Resource name of the Annotation store, of the form `pro
      jects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotat
      ionStores/{annotation_store_id}`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Optional. User-supplied key-value pairs used to organize Annotation
    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.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  labels = _messages.MessageField('LabelsValue', 1)
  name = _messages.StringField(2)


class ArchiveUserDataMappingResponse(_messages.Message):
  r"""Archives the specified User data mapping."""


class Attribute(_messages.Message):
  r"""An attribute value for a consent or data mapping. Each Attribute must
  have a corresponding AttributeDefinition in the consent store that defines
  the default and allowed values.

  Fields:
    attributeDefinitionId: Indicates the name of an attribute defined at the
      consent store.
    values: 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.
  """

  attributeDefinitionId = _messages.StringField(1)
  values = _messages.StringField(2, repeated=True)


class AttributeDefinition(_messages.Message):
  r"""A client-defined consent attribute.

  Enums:
    CategoryValueValuesEnum: The category of the attribute. The value of this
      field cannot be changed after creation.

  Fields:
    allowedValues: Possible values for the attribute. An empty list is
      invalid. The list can only be expanded after creation.
    category: The category of the attribute. The value of this field cannot be
      changed after creation.
    consentDefaultValues: Default values of the attribute in consents. If no
      default values are specified, it defaults to an empty value.
    dataMappingDefaultValue: 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`.
    description: Optional. A description of the attribute.
    name: Output only. Resource name of the attribute definition, of the form
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/con
      sentStores/{consent_store_id}/attributeDefinitions/{attribute_definition
      _id}`.
  """

  class CategoryValueValuesEnum(_messages.Enum):
    r"""The category of the attribute. The value of this field cannot be
    changed after creation.

    Values:
      CATEGORY_UNSPECIFIED: No category specified. This option is invalid.
      RESOURCE: Specify when this attribute captures properties of data
        resources. For example, data anonmity or data type.
      REQUEST: Specify when this attribute captures properties of access
        requests. For example, requester's role or requester's organization.
    """
    CATEGORY_UNSPECIFIED = 0
    RESOURCE = 1
    REQUEST = 2

  allowedValues = _messages.StringField(1, repeated=True)
  category = _messages.EnumField('CategoryValueValuesEnum', 2)
  consentDefaultValues = _messages.StringField(3, repeated=True)
  dataMappingDefaultValue = _messages.StringField(4)
  description = _messages.StringField(5)
  name = _messages.StringField(6)


class AuditConfig(_messages.Message):
  r"""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 AuditConfig are enabled, and the
  exempted_members in each AuditLogConfig are exempted.  Example Policy with
  multiple AuditConfigs:      {       "audit_configs": [         {
  "service": "allServices"           "audit_log_configs": [             {
  "log_type": "DATA_READ",               "exempted_members": [
  "user:jose@example.com"               ]             },             {
  "log_type": "DATA_WRITE",             },             {
  "log_type": "ADMIN_READ",             }           ]         },         {
  "service": "sampleservice.googleapis.com"           "audit_log_configs": [
  {               "log_type": "DATA_READ",             },             {
  "log_type": "DATA_WRITE",               "exempted_members": [
  "user:aliya@example.com"               ]             }           ]         }
  ]     }  For sampleservice, this policy enables DATA_READ, DATA_WRITE and
  ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging,
  and aliya@example.com from DATA_WRITE logging.

  Fields:
    auditLogConfigs: The configuration for logging of each type of permission.
    service: Specifies a service that will be enabled for audit logging. For
      example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
      `allServices` is a special value that covers all services.
  """

  auditLogConfigs = _messages.MessageField('AuditLogConfig', 1, repeated=True)
  service = _messages.StringField(2)


class AuditLogConfig(_messages.Message):
  r"""Provides the configuration for logging a type of permissions. Example:
  {       "audit_log_configs": [         {           "log_type": "DATA_READ",
  "exempted_members": [             "user:jose@example.com"           ]
  },         {           "log_type": "DATA_WRITE",         }       ]     }
  This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
  jose@example.com from DATA_READ logging.

  Enums:
    LogTypeValueValuesEnum: The log type that this config enables.

  Fields:
    exemptedMembers: Specifies the identities that do not cause logging for
      this type of permission. Follows the same format of Binding.members.
    logType: The log type that this config enables.
  """

  class LogTypeValueValuesEnum(_messages.Enum):
    r"""The log type that this config enables.

    Values:
      LOG_TYPE_UNSPECIFIED: Default case. Should never be this.
      ADMIN_READ: Admin reads. Example: CloudIAM getIamPolicy
      DATA_WRITE: Data writes. Example: CloudSQL Users create
      DATA_READ: Data reads. Example: CloudSQL Users list
    """
    LOG_TYPE_UNSPECIFIED = 0
    ADMIN_READ = 1
    DATA_WRITE = 2
    DATA_READ = 3

  exemptedMembers = _messages.StringField(1, repeated=True)
  logType = _messages.EnumField('LogTypeValueValuesEnum', 2)


class Binding(_messages.Message):
  r"""Associates `members` with a `role`.

  Fields:
    condition: The condition that is associated with this binding. NOTE: An
      unsatisfied condition will not allow user access via current binding.
      Different bindings, including their conditions, are examined
      independently.
    members: Specifies the identities requesting access for a Cloud Platform
      resource. `members` can have the following values:  * `allUsers`: A
      special identifier that represents anyone who is    on the internet;
      with or without a Google account.  * `allAuthenticatedUsers`: A special
      identifier that represents anyone    who is authenticated with a Google
      account or a service account.  * `user:{emailid}`: An email address that
      represents a specific Google    account. For example,
      `alice@example.com` .   * `serviceAccount:{emailid}`: An email address
      that represents a service    account. For example, `my-other-
      app@appspot.gserviceaccount.com`.  * `group:{emailid}`: An email address
      that represents a Google group.    For example, `admins@example.com`.  *
      `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
      identifier) representing a user that has been recently deleted. For
      example, `alice@example.com?uid=123456789012345678901`. If the user is
      recovered, this value reverts to `user:{emailid}` and the recovered user
      retains the role in the binding.  *
      `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
      (plus    unique identifier) representing a service account that has been
      recently    deleted. For example,    `my-other-
      app@appspot.gserviceaccount.com?uid=123456789012345678901`.    If the
      service account is undeleted, this value reverts to
      `serviceAccount:{emailid}` and the undeleted service account retains the
      role in the binding.  * `deleted:group:{emailid}?uid={uniqueid}`: An
      email address (plus unique    identifier) representing a Google group
      that has been recently    deleted. For example,
      `admins@example.com?uid=123456789012345678901`. If    the group is
      recovered, this value reverts to `group:{emailid}` and the    recovered
      group retains the role in the binding.   * `domain:{domain}`: The G
      Suite domain (primary) that represents all the    users of that domain.
      For example, `google.com` or `example.com`.
    role: Role that is assigned to `members`. For example, `roles/viewer`,
      `roles/editor`, or `roles/owner`.
  """

  condition = _messages.MessageField('Expr', 1)
  members = _messages.StringField(2, repeated=True)
  role = _messages.StringField(3)


class CancelOperationRequest(_messages.Message):
  r"""The request message for Operations.CancelOperation."""


class CharacterMaskConfig(_messages.Message):
  r"""Masks a string by replacing its characters with a fixed character.

  Fields:
    maskingCharacter: Character to mask the sensitive values. If not supplied,
      defaults to "*".
  """

  maskingCharacter = _messages.StringField(1)


class CheckDataAccessRequest(_messages.Message):
  r"""Checks if a particular data_id of a User data mapping in the given
  Consent store is consented for a given use.

  Messages:
    RequestAttributesValue: The values of request attributes associated with
      this access request.

  Fields:
    dataId: The unique identifier of the data to check access for.
    requestAttributes: The values of request attributes associated with this
      access request.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class RequestAttributesValue(_messages.Message):
    r"""The values of request attributes associated with this access request.

    Messages:
      AdditionalProperty: An additional property for a RequestAttributesValue
        object.

    Fields:
      additionalProperties: Additional properties of type
        RequestAttributesValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a RequestAttributesValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  dataId = _messages.StringField(1)
  requestAttributes = _messages.MessageField('RequestAttributesValue', 2)


class CheckDataAccessResponse(_messages.Message):
  r"""Checks if a particular data_id of a User data mapping in the given
  Consent store is consented for a given use.

  Fields:
    consented: Whether the requested data is consented for the given use.
  """

  consented = _messages.BooleanField(1)


class Consent(_messages.Message):
  r"""Represents an end user's consent.

  Enums:
    StateValueValuesEnum:

  Fields:
    consentArtifact: 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/{consen
      t_store_id}/consentArtifacts/{consent_artifact_id}`.
    name: Output only. Resource name of the Consent, of the form `projects/{pr
      oject_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{c
      onsent_store_id}/consents/{consent_id}`.
    policies: Represents an end user's consent in terms of the resources that
      can be accessed and under what conditions.
    state: A StateValueValuesEnum attribute.
    stateChangeTime: Output only. Indicates the timestamp when the state of
      this consent last changed.
    userId: User's UUID provided by the client.
  """

  class StateValueValuesEnum(_messages.Enum):
    r"""StateValueValuesEnum enum type.

    Values:
      STATE_UNSPECIFIED: No state specified.
      ACTIVE: The consent is active and is considered when evaluating user's
        consent on resources.
      ARCHIVED: When a consent is updated, the current version is archived and
        a new one is created with active state.
      REVOKED: A revoked consent is not considered when evaluating user's
        consent on resources.
    """
    STATE_UNSPECIFIED = 0
    ACTIVE = 1
    ARCHIVED = 2
    REVOKED = 3

  consentArtifact = _messages.StringField(1)
  name = _messages.StringField(2)
  policies = _messages.MessageField('GoogleCloudHealthcareV1alpha2ConsentPolicy', 3, repeated=True)
  state = _messages.EnumField('StateValueValuesEnum', 4)
  stateChangeTime = _messages.StringField(5)
  userId = _messages.StringField(6)


class ConsentArtifact(_messages.Message):
  r"""Proof of an end user's consent.

  Messages:
    MetadataValue: Optional. Metadata associated with the consent artifact.
      For example, the consent locale or user agent version.

  Fields:
    consentContentScreenshots: Optional. Screenshots of the consent content.
    consentContentVersion: Optional. An string indicating the version of the
      consent content.
    guardianSignature: Optional. A signature from guardian.
    metadata: Optional. Metadata associated with the consent artifact. For
      example, the consent locale or user agent version.
    name: Output only. Resource name of the Consent artifact, of the form `pro
      jects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consent
      Stores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`.
    userId: User's UUID provided by the client.
    userSignature: User's signature.
    witnessSignature: Optional. A signature from a witness.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Optional. Metadata associated with the consent artifact. For example,
    the consent locale or user agent version.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  consentContentScreenshots = _messages.MessageField('Image', 1, repeated=True)
  consentContentVersion = _messages.StringField(2)
  guardianSignature = _messages.MessageField('Signature', 3)
  metadata = _messages.MessageField('MetadataValue', 4)
  name = _messages.StringField(5)
  userId = _messages.StringField(6)
  userSignature = _messages.MessageField('Signature', 7)
  witnessSignature = _messages.MessageField('Signature', 8)


class ConsentStore(_messages.Message):
  r"""Represents a Consent store.

  Messages:
    LabelsValue: 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.

  Fields:
    labels: 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.
    name: Output only. Resource name of the Consent store, of the form `projec
      ts/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentSto
      res/{consent_store_id}`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""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.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  labels = _messages.MessageField('LabelsValue', 1)
  name = _messages.StringField(2)


class CryptoHashConfig(_messages.Message):
  r"""Pseudonymization method that generates surrogates using cryptographic
  hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed
  output. For example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`.

  Fields:
    cryptoKey: An AES 128/192/256 bit key. Causes the hash to be computed
      based on this key. A default key is generated for each Deidentify
      operation and is used when crypto_key is not specified.
  """

  cryptoKey = _messages.BytesField(1)


class Dataset(_messages.Message):
  r"""A message representing a health dataset.  A health dataset represents a
  collection of healthcare data pertaining to one or more patients. This may
  include multiple modalities of healthcare data, such as electronic medical
  records or medical imaging data.

  Fields:
    name: Output only. Resource name of the dataset, of the form
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
    timeZone: The default timezone used by this dataset. Must be a either a
      valid IANA time zone name such as "America/New_York" or empty, which
      defaults to UTC. This is used for parsing times in resources, such as
      HL7v2 messages, where no explicit timezone is specified.
  """

  name = _messages.StringField(1)
  timeZone = _messages.StringField(2)


class DateShiftConfig(_messages.Message):
  r"""Shifts a date forward or backward in time by a random amount that is
  consistent for a given patient and crypto key combination.

  Fields:
    cryptoKey: An AES 128/192/256 bit key. Causes the shift to be computed
      based on this key and the patient ID. A default key is generated for
      each de-identification operation and is used when crypto_key is not
      specified.
  """

  cryptoKey = _messages.BytesField(1)


class DeidentifyConfig(_messages.Message):
  r"""Configures de-id options specific to different types of content. Each
  submessage customizes the handling of an https://tools.ietf.org/html/rfc6838
  media type or subtype. Configs are applied in a nested manner at runtime.

  Fields:
    dicom: Configures de-id of application/DICOM content.
    fhir: Configures de-id of application/FHIR content.
    image: Configures the de-identification of image pixels in the
      source_dataset.
    text: Configures the de-identification of text in `source_dataset`.
  """

  dicom = _messages.MessageField('DicomConfig', 1)
  fhir = _messages.MessageField('FhirConfig', 2)
  image = _messages.MessageField('ImageConfig', 3)
  text = _messages.MessageField('TextConfig', 4)


class DeidentifyDatasetRequest(_messages.Message):
  r"""Redacts identifying information from the specified dataset.

  Fields:
    config: Deidentify configuration.
    destinationDataset: The name of the dataset resource to create and write
      the redacted data to. For example,
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
      * The destination dataset must not exist.  * The destination dataset
      must be in the same project and location as the  source dataset. De-
      identifying data across multiple projects or locations  is not
      supported.
  """

  config = _messages.MessageField('DeidentifyConfig', 1)
  destinationDataset = _messages.StringField(2)


class DeidentifyErrorDetails(_messages.Message):
  r"""Contains the status of the Deidentify operation.

  Fields:
    failureResourceCount: Number of resources that failed to process.
    failureStoreCount: Number of stores that failed to process.
    successResourceCount: Number of resources successfully processed.
    successStoreCount: Number of stores successfully processed.
  """

  failureResourceCount = _messages.IntegerField(1)
  failureStoreCount = _messages.IntegerField(2)
  successResourceCount = _messages.IntegerField(3)
  successStoreCount = _messages.IntegerField(4)


class DeidentifySummary(_messages.Message):
  r"""Contains a detailed summary of the Deidentify operation.

  Fields:
    successResourceCount: Number of resources successfully processed.
    successStoreCount: Number of stores successfully processed.
  """

  successResourceCount = _messages.IntegerField(1)
  successStoreCount = _messages.IntegerField(2)


class DeleteAllConsentHistoryRequest(_messages.Message):
  r"""Deletes historical versions of the Consent excluding the current version
  from the Consent store. This operation does not affect the related consent
  artifact.
  """



class DicomConfig(_messages.Message):
  r"""Specifies the parameters needed for the de-identification of DICOM
  stores.

  Enums:
    FilterProfileValueValuesEnum: Tag filtering profile that determines the
      tags to keep or remove.

  Fields:
    filterProfile: Tag filtering profile that determines the tags to keep or
      remove.
    keepList: List of tags to keep. Remove all other tags.
    removeList: List of tags to remove. Keep all other tags.
  """

  class FilterProfileValueValuesEnum(_messages.Enum):
    r"""Tag filtering profile that determines the tags to keep or remove.

    Values:
      TAG_FILTER_PROFILE_UNSPECIFIED: No tag filtration profile provided. Same
        as KEEP_ALL_PROFILE.
      MINIMAL_KEEP_LIST_PROFILE: Keep only tags required to produce valid
        DICOM.
      ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE: Remove tags based on DICOM
        Standard's Attribute Confidentiality Basic Profile (DICOM Standard
        Edition 2018e) http://dicom.nema.org/medical/dicom/2018e/output/chtml/
        part15/chapter_E.html.
      KEEP_ALL_PROFILE: Keep all tags.
      DEIDENTIFY_TAG_CONTENTS: Inspects within tag contents (including tags
        nested in a sequence) and replaces sensitive text. The process can be
        configured using the TextConfig. Applies to all tags with the
        following Value Representation names: AE, LO, LT, PN, SH, ST, UC, UT,
        DA, DT, AS.
    """
    TAG_FILTER_PROFILE_UNSPECIFIED = 0
    MINIMAL_KEEP_LIST_PROFILE = 1
    ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE = 2
    KEEP_ALL_PROFILE = 3
    DEIDENTIFY_TAG_CONTENTS = 4

  filterProfile = _messages.EnumField('FilterProfileValueValuesEnum', 1)
  keepList = _messages.MessageField('TagFilterList', 2)
  removeList = _messages.MessageField('TagFilterList', 3)


class DicomStore(_messages.Message):
  r"""Represents a DICOM store.

  Messages:
    LabelsValue: User-supplied key-value pairs used to organize DICOM 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 are optional, 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.

  Fields:
    labels: User-supplied key-value pairs used to organize DICOM 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 are optional, 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.
    name: Output only. Resource name of the DICOM store, of the form `projects
      /{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/
      {dicom_store_id}`.
    notificationConfig: Notification destination for new DICOM instances.
      Supplied by the client.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""User-supplied key-value pairs used to organize DICOM 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 are optional, 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.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  labels = _messages.MessageField('LabelsValue', 1)
  name = _messages.StringField(2)
  notificationConfig = _messages.MessageField('NotificationConfig', 3)


class Empty(_messages.Message):
  r"""A generic empty message that you can re-use to avoid defining duplicated
  empty messages in your APIs. A typical example is to use it as the request
  or the response type of an API method. For instance:      service Foo {
  rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);     }  The
  JSON representation for `Empty` is empty JSON object `{}`.
  """



class ErrorDetail(_messages.Message):
  r"""Structure to describe the error encountered during batch operation on
  one resource. This is used both for sample errors in operation response, and
  for format of errors in error reports.

  Fields:
    error: The status of the error.
    resource: The identifier of the resource.
  """

  error = _messages.MessageField('Status', 1)
  resource = _messages.StringField(2)


class EvaluateAnnotationStoreRequest(_messages.Message):
  r"""Request to evaluate an Annotation store against a ground truth
  [Annotation store].

  Fields:
    bigqueryDestination: The BigQuery table where the server writes the
      output. BigQueryDestination requires the `roles/bigquery.dataEditor` and
      `roles/bigquery.jobUser` Cloud IAM roles.
    goldenStore: The Annotation store to use as ground truth, in the format `p
      rojects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annot
      ationStores/{annotation_store_id}`.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2AnnotationBigQueryDestination', 1)
  goldenStore = _messages.StringField(2)


class EvaluateAnnotationStoreResponse(_messages.Message):
  r"""Response for successful Annotation store evaluation operations. This
  structure is included in the response upon operation completion.

  Fields:
    evalStore: The evaluated Annotation store in the format `projects/{project
      _id}/locations/{location_id}/datasets/{dataset_id}/annotationStores/{ann
      otation_store_id}`.
    goldenCount: The number of Annotations in the ground truth Annotation
      store successfully processed.
    goldenStore: The ground truth Annotation store in the format `projects/{pr
      oject_id}/locations/{location_id}/datasets/{dataset_id}/annotationStores
      /{annotation_store_id}`.
    matchedCount: The number of Annotations in the eval store that match with
      corresponding annotations in the ground truth Annotation store. Two
      matched annotations both annotate the same resource defined in
      AnnotationSource.
  """

  evalStore = _messages.StringField(1)
  goldenCount = _messages.IntegerField(2)
  goldenStore = _messages.StringField(3)
  matchedCount = _messages.IntegerField(4)


class ExportAnnotationsErrorDetails(_messages.Message):
  r"""Response for failed annotation export operations. This structure is
  included in the details field of the error upon operation completion.

  Fields:
    annotationStore: The annotation_store used for the export operation, in
      the format `projects/{project_id}/locations/{location_id}/datasets/{data
      set_id}/annotationStores/{annotation_store_id}`.
    errorCount: The number of annotations that had errors.
    successCount: The number of annotations successfully exported.
  """

  annotationStore = _messages.StringField(1)
  errorCount = _messages.IntegerField(2)
  successCount = _messages.IntegerField(3)


class ExportAnnotationsRequest(_messages.Message):
  r"""Request to export Annotations. The export operation is not atomic. If a
  failure occurs, any annotations already imported are not removed.

  Fields:
    bigqueryDestination: The BigQuery output destination, which requires two
      IAM roles:   `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
    gcsDestination: The Cloud Storage destination, which requires the
      `roles/storage.objectAdmin` Cloud IAM role.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2AnnotationBigQueryDestination', 1)
  gcsDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2AnnotationGcsDestination', 2)


class ExportAnnotationsResponse(_messages.Message):
  r"""Response for successful annotation export operations. This structure is
  included in response upon operation completion.

  Fields:
    annotationStore: The annotation_store used for the export operation, in
      the format `projects/{project_id}/locations/{location_id}/datasets/{data
      set_id}/annotationStores/{annotation_store_id}`.
    successCount: The total number of annotations successfully exported.
  """

  annotationStore = _messages.StringField(1)
  successCount = _messages.IntegerField(2)


class ExportDicomDataRequest(_messages.Message):
  r"""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.

  Fields:
    bigqueryDestination: The BigQuery output destination.  You can only export
      to a BigQuery dataset that's in the same project as the DICOM store
      you're exporting from.  The BigQuery location requires two IAM roles:
      `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
    gcsDestination: The Cloud Storage output destination.  The Cloud Storage
      location requires the `roles/storage.objectAdmin` Cloud IAM role.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2DicomBigQueryDestination', 1)
  gcsDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2DicomGcsDestination', 2)


class ExportDicomDataResponse(_messages.Message):
  r"""Returns additional information in regards to a completed DICOM store
  export.
  """



class ExportResourcesRequest(_messages.Message):
  r"""Request to export resources.

  Fields:
    bigqueryDestination: The BigQuery output destination.  The BigQuery
      location requires two IAM roles: `roles/bigquery.dataEditor` and
      `roles/bigquery.jobUser`.  The output is one BigQuery table per resource
      type.
    gcsDestination: The Cloud Storage output destination.  The Cloud Storage
      location requires the `roles/storage.objectAdmin` Cloud IAM role.  The
      exported outputs are organized by FHIR resource types. The server
      creates one object per resource type. Each object contains newline
      delimited JSON, and each line is a FHIR resource.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2FhirBigQueryDestination', 1)
  gcsDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2FhirRestGcsDestination', 2)


class Expr(_messages.Message):
  r"""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.

  Fields:
    description: Optional. Description of the expression. This is a longer
      text which describes the expression, e.g. when hovered over it in a UI.
    expression: Textual representation of an expression in Common Expression
      Language syntax.
    location: Optional. String indicating the location of the expression for
      error reporting, e.g. a file name and a position in the file.
    title: Optional. Title for the expression, i.e. a short string describing
      its purpose. This can be used e.g. in UIs which allow to enter the
      expression.
  """

  description = _messages.StringField(1)
  expression = _messages.StringField(2)
  location = _messages.StringField(3)
  title = _messages.StringField(4)


class FhirConfig(_messages.Message):
  r"""Specifies how to handle the de-identification of a FHIR store.

  Fields:
    fieldMetadataList: Specifies FHIR paths to match and how to transform
      them. Any field that is not matched by a FieldMetadata is passed through
      to the output dataset unmodified. All extensions are removed in the
      output. If a field can be matched by more than one FieldMetadata, the
      first FieldMetadata.Action is applied.
  """

  fieldMetadataList = _messages.MessageField('FieldMetadata', 1, repeated=True)


class FhirStore(_messages.Message):
  r"""Represents a FHIR store.

  Enums:
    VersionValueValuesEnum: The FHIR specification version that this FHIR
      store supports natively. This field is immutable after store creation.
      Requests are rejected if they contain FHIR resources of a different
      version. An empty value is treated as STU3.

  Messages:
    LabelsValue: User-supplied key-value pairs used to organize FHIR 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 are optional, 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.

  Fields:
    disableReferentialIntegrity: Whether to disable referential integrity in
      this FHIR store. This field is immutable after FHIR store creation. The
      default value is false, meaning that the API enforces referential
      integrity and fail the requests that result in inconsistent state in the
      FHIR store. When this field is set to true, the API skips referential
      integrity checks. Consequently, operations that rely on references, such
      as GetPatientEverything, do not return all the results if broken
      references exist.
    disableResourceVersioning: Whether to disable resource versioning for this
      FHIR store. This field can not be changed after the creation of FHIR
      store. If set to false, which is the default behavior, all write
      operations cause historical versions to be recorded automatically. The
      historical versions can be fetched through the history APIs, but cannot
      be updated. If set to true, no historical versions are kept. The server
      sends errors for attempts to read the historical versions.
    enableUpdateCreate: Whether this FHIR store has the [updateCreate
      capability](https://www.hl7.org/fhir/capabilitystatement-
      definitions.html#CapabilityStatement.rest.resource.updateCreate). This
      determines if the client can use an Update operation to create a new
      resource with a client-specified ID. If false, all IDs are server-
      assigned through the Create operation and attempts to update a non-
      existent resource return errors. Please treat the audit logs with
      appropriate levels of care if client-specified resource IDs contain
      sensitive data such as patient identifiers, those IDs are part of the
      FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
      notifications.
    labels: User-supplied key-value pairs used to organize FHIR 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 are optional, 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.
    name: Output only. Resource name of the FHIR store, of the form
      `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`
      .
    notificationConfig: If non-empty, publish all resource modifications of
      this FHIR store to this destination. The Cloud Pub/Sub message
      attributes contain a map with a string describing the action that has
      triggered the notification. For example, "action":"CreateResource".
    streamConfigs: A list of streaming configs that configure the destinations
      of streaming export for every resource mutation in this FHIR store. Each
      store is allowed to have up to 10 streaming configs. After a new config
      is added, the next resource mutation is streamed to the new location in
      addition to the existing ones. When a location is removed from the list,
      the server stops streaming to that location. Before adding a new config,
      you must add the required
      [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-
      control#bigquery.dataEditor) role to your project's **Cloud Healthcare
      Service Agent** [service account](https://cloud.google.com/iam/docs
      /service-accounts). Some lag (typically on the order of dozens of
      seconds) is expected before the results show up in the streaming
      destination.
    validationConfig: Configuration for how to validate incoming FHIR
      resources against configured profiles.
    version: The FHIR specification version that this FHIR store supports
      natively. This field is immutable after store creation. Requests are
      rejected if they contain FHIR resources of a different version. An empty
      value is treated as STU3.
  """

  class VersionValueValuesEnum(_messages.Enum):
    r"""The FHIR specification version that this FHIR store supports natively.
    This field is immutable after store creation. Requests are rejected if
    they contain FHIR resources of a different version. An empty value is
    treated as STU3.

    Values:
      VERSION_UNSPECIFIED: VERSION_UNSPECIFIED is treated as STU3 to
        accommodate the existing FHIR stores.
      DSTU2: Draft Standard for Trial Use, [Release
        2](https://www.hl7.org/fhir/DSTU2)
      STU3: Standard for Trial Use, [Release 3](https://www.hl7.org/fhir/STU3)
      R4: [Release 4](https://www.hl7.org/fhir/R4)
    """
    VERSION_UNSPECIFIED = 0
    DSTU2 = 1
    STU3 = 2
    R4 = 3

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""User-supplied key-value pairs used to organize FHIR 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 are optional, 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.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  disableReferentialIntegrity = _messages.BooleanField(1)
  disableResourceVersioning = _messages.BooleanField(2)
  enableUpdateCreate = _messages.BooleanField(3)
  labels = _messages.MessageField('LabelsValue', 4)
  name = _messages.StringField(5)
  notificationConfig = _messages.MessageField('NotificationConfig', 6)
  streamConfigs = _messages.MessageField('StreamConfig', 7, repeated=True)
  validationConfig = _messages.MessageField('ValidationConfig', 8)
  version = _messages.EnumField('VersionValueValuesEnum', 9)


class FieldMetadata(_messages.Message):
  r"""Specifies FHIR paths to match and how to handle the de-identification of
  matching fields.

  Enums:
    ActionValueValuesEnum: Deidentify action for one field.

  Fields:
    action: Deidentify action for one field.
    paths: List of paths to FHIR fields to redact. Each path is a period-
      separated list where each component is either a field name or FHIR type
      name. All types begin with an upper case letter. For example, the
      resource field "Patient.Address.city", which uses a string type, can be
      matched by "Patient.Address.String". Path also supports partial
      matching. For example, "Patient.Address.city" can be matched by
      "Address.city" (Patient omitted). Partial matching and type matching can
      be combined, for example "Patient.Address.city" can be matched by
      "Address.String". For "choice" types (those defined in the FHIR spec
      with the form: field[x]), use two separate components. For example,
      "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported types
      are: AdministrativeGenderCode, Code, Date, DateTime, Decimal, HumanName,
      Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml. The sub-type
      for HumanName(for example HumanName.given, HumanName.family) can be
      omitted.
  """

  class ActionValueValuesEnum(_messages.Enum):
    r"""Deidentify action for one field.

    Values:
      ACTION_UNSPECIFIED: No action specified.
      TRANSFORM: Transform the entire field based on transformations specified
        in TextConfig. When the specified transformation cannot be applied to
        a field (for example, a Crypto Hash transformation cannot be applied
        to a FHIR Date field), RedactConfig is used.
      INSPECT_AND_TRANSFORM: Inspect and transform any found PHI. When
        `AnnotationConfig` is provided, annotations of PHI are generated,
        except for Date and Datetime.
      DO_NOT_TRANSFORM: Do not transform.
    """
    ACTION_UNSPECIFIED = 0
    TRANSFORM = 1
    INSPECT_AND_TRANSFORM = 2
    DO_NOT_TRANSFORM = 3

  action = _messages.EnumField('ActionValueValuesEnum', 1)
  paths = _messages.StringField(2, repeated=True)


class GoogleCloudHealthcareV1alpha2AnnotationBigQueryDestination(_messages.Message):
  r"""The BigQuery table for export.

  Enums:
    SchemaTypeValueValuesEnum: Specifies the schema format to export.

  Fields:
    force: If the destination table already exists and this flag is `TRUE`,
      the table is overwritten by the contents of the input store. If the flag
      is not set and the destination table already exists, the export call
      returns an error.
    schemaType: Specifies the schema format to export.
    tableUri: BigQuery URI to a table, up to 2000 characters long, must be of
      the form bq://projectId.bqDatasetId.tableId.
  """

  class SchemaTypeValueValuesEnum(_messages.Enum):
    r"""Specifies the schema format to export.

    Values:
      SCHEMA_TYPE_UNSPECIFIED: Same as SIMPLE.
      SIMPLE: A flatterned version of Annotation.
    """
    SCHEMA_TYPE_UNSPECIFIED = 0
    SIMPLE = 1

  force = _messages.BooleanField(1)
  schemaType = _messages.EnumField('SchemaTypeValueValuesEnum', 2)
  tableUri = _messages.StringField(3)


class GoogleCloudHealthcareV1alpha2AnnotationGcsDestination(_messages.Message):
  r"""The Cloud Storage location for export.

  Fields:
    uriPrefix: The Cloud Storage destination to export to. 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 referenced in
      `uri_prefix`.
  """

  uriPrefix = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2AnnotationGcsSource(_messages.Message):
  r"""Specifies the configuration for importing data from Cloud Storage.

  Fields:
    uri: Points to a Cloud Storage URI containing file(s) with content only.
      The URI must be in the following format: `gs://{bucket_id}/{object_id}`.
      The URI can include wildcards in `object_id` and thus identify multiple
      files. Supported wildcards:  '*' to match 0 or more non-separator
      characters  '**' to match 0 or more characters (including separators).
      Must be used  at       the end of a path and with no other wildcards in
      the       path. Can also be used with a file extension (such as .dcm),
      which       imports all files with the extension in the specified
      directory and       its sub-directories. For example,       `gs://my-
      bucket/my-directory/**.json` imports all files with .json
      extensions in `my-directory/` and its sub-directories.  '?' to match 1
      character All other URI formats are invalid. Files matching the wildcard
      are expected to contain content only, no metadata.
  """

  uri = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2ConsentGcsDestination(_messages.Message):
  r"""The Cloud Storage location for export.

  Fields:
    uriPrefix: 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`.
  """

  uriPrefix = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2ConsentPolicy(_messages.Message):
  r"""Represents an end user's consent in terms of the resources that can be
  accessed and under what conditions.

  Fields:
    authorizationRule: The request conditions to meet to grant access.
    resourceAttributes: The data resources that this policy applies to. A data
      resource is a match if it matches all the attributes listed here.
  """

  authorizationRule = _messages.MessageField('Expr', 1)
  resourceAttributes = _messages.MessageField('Attribute', 2, repeated=True)


class GoogleCloudHealthcareV1alpha2DicomBigQueryDestination(_messages.Message):
  r"""The BigQuery table where the server writes output.

  Fields:
    force: This flag is only used for ExportDicomData operations. If the
      destination table already exists and this flag is `TRUE`, the table is
      overwritten by the contents of the DICOM store. If the flag is not set
      and the destination table already exists, the export call returns an
      error.
    tableUri: BigQuery URI to a table, up to 2000 characters long, in the
      format `bq://projectId.bqDatasetId.tableId`
  """

  force = _messages.BooleanField(1)
  tableUri = _messages.StringField(2)


class GoogleCloudHealthcareV1alpha2DicomGcsDestination(_messages.Message):
  r"""The Cloud Storage location where the server writes the output and the
  export configuration.

  Fields:
    mimeType: MIME types supported by DICOM spec. Each file is written in the
      following format:
      `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}`
      The frame_number component exists only for multi-frame instances.
      Supported MIME types are consistent with supported formats in DICOMweb:
      https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
      Specifically, the following are supported:    - application/dicom;
      transfer-syntax=1.2.840.10008.1.2.1     (uncompressed DICOM)   -
      application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50     (DICOM
      with embedded JPEG Baseline)   - application/dicom; transfer-
      syntax=1.2.840.10008.1.2.4.90     (DICOM with embedded JPEG 2000
      Lossless Only)   - application/dicom; transfer-
      syntax=1.2.840.10008.1.2.4.91     (DICOM with embedded JPEG 2000)   -
      application/dicom; transfer-syntax=*     (DICOM with no transcoding)   -
      application/octet-stream; transfer-syntax=1.2.840.10008.1.2.1     (raw
      uncompressed PixelData)   - application/octet-stream; transfer-syntax=*
      (raw PixelData in whatever format it was uploaded in)   - image/jpeg;
      transfer-syntax=1.2.840.10008.1.2.4.50     (Consumer JPEG)   - image/png
      The following extensions are used for output files:   -
      application/dicom -> .dcm  - image/jpeg -> .jpg  - image/png -> .png  -
      application/octet-stream -> no extension  If unspecified, the instances
      are exported in the original DICOM format they were uploaded in.
    uriPrefix: The Cloud Storage destination to export to.  URI for a Cloud
      Storage directory where the server writes the 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 referenced
      in `uri_prefix`.
  """

  mimeType = _messages.StringField(1)
  uriPrefix = _messages.StringField(2)


class GoogleCloudHealthcareV1alpha2DicomGcsSource(_messages.Message):
  r"""Specifies the configuration for importing data from Cloud Storage.

  Fields:
    uri: Points to a Cloud Storage URI containing file(s) with content only.
      The URI must be in the following format: `gs://{bucket_id}/{object_id}`.
      The URI can include wildcards in `object_id` and thus identify multiple
      files. Supported wildcards:  '*' to match 0 or more non-separator
      characters  '**' to match 0 or more characters (including separators).
      Must be used at       the end of a path and with no other wildcards in
      the       path. Can also be used with a file extension (such as .dcm),
      which       imports all files with the extension in the specified
      directory and       its sub-directories. For example,       `gs://my-
      bucket/my-directory/**.dcm` imports all files with .dcm       extensions
      in `my-directory/` and its sub-directories.  '?' to match 1 character
      All other URI formats are invalid. Files matching the wildcard are
      expected to contain content only, no metadata.
  """

  uri = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2FhirBigQueryDestination(_messages.Message):
  r"""The configuration for exporting to BigQuery.

  Fields:
    datasetUri: BigQuery URI to a dataset, up to 2000 characters long, in the
      format `bq://projectId.bqDatasetId`
    schemaConfig: The configuration for the exported BigQuery schema.
  """

  datasetUri = _messages.StringField(1)
  schemaConfig = _messages.MessageField('SchemaConfig', 2)


class GoogleCloudHealthcareV1alpha2FhirRestExportResourcesErrorDetails(_messages.Message):
  r"""Response when errors occur while exporting resources. This structure is
  included in the error details to describe the detailed outcome. It is only
  included when the operation finishes with errors.

  Fields:
    errorCount: The number of resources that had errors.
    fhirStore: The name of the FHIR store where resources have been exported,
      in the format `projects/{project_id}/locations/{location_id}/datasets/{d
      ataset_id}/fhirStores/{fhir_store_id}`.
    resourceCount: The total number of resources included in the export
      operation. This is the sum of the success and error counts.
    successCount: The number of resources that were exported.
  """

  errorCount = _messages.IntegerField(1)
  fhirStore = _messages.StringField(2)
  resourceCount = _messages.IntegerField(3)
  successCount = _messages.IntegerField(4)


class GoogleCloudHealthcareV1alpha2FhirRestExportResourcesResponse(_messages.Message):
  r"""Response when all resources export successfully. This structure is
  included in the response to describe the detailed outcome. It is only
  included when the operation finishes successfully.

  Fields:
    fhirStore: The name of the FHIR store where resources have been exported,
      in the format `projects/{project_id}/locations/{location_id}/datasets/{d
      ataset_id}/fhirStores/{fhir_store_id}`.
    resourceCount: The total number of resources exported from the requested
      FHIR store.
  """

  fhirStore = _messages.StringField(1)
  resourceCount = _messages.IntegerField(2)


class GoogleCloudHealthcareV1alpha2FhirRestGcsDestination(_messages.Message):
  r"""The configuration for exporting to Cloud Storage.

  Fields:
    uriPrefix: 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 referenced in
      `uri_prefix`.
  """

  uriPrefix = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2FhirRestGcsErrorDestination(_messages.Message):
  r"""Specifies the Cloud Storage destination where errors are recorded.

  Fields:
    uriPrefix: URI for a Cloud Storage directory where the server writes error
      report 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 referenced in
      `uri_prefix`.
  """

  uriPrefix = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2FhirRestGcsSource(_messages.Message):
  r"""Specifies the configuration for importing data from Cloud Storage.

  Fields:
    uri: Points to a Cloud Storage URI containing file(s) to import.  The URI
      must be in the following format: `gs://{bucket_id}/{object_id}`. The URI
      can include wildcards in `object_id` and thus identify multiple files.
      Supported wildcards:  *  `*` to match 0 or more non-separator characters
      *  `**` to match 0 or more characters (including separators). Must be
      used at the end of a path and with no other wildcards in the path. Can
      also be used with a file extension (such as .ndjson), which imports all
      files with the extension in the specified directory and its sub-
      directories. For example, `gs://my-bucket/my-directory/**.ndjson`
      imports all files with `.ndjson` extensions in `my-directory/` and its
      sub-directories. *  `?` to match 1 character  Files matching the
      wildcard are expected to contain content only, no metadata.
  """

  uri = _messages.StringField(1)


class GoogleCloudHealthcareV1alpha2FhirRestImportResourcesErrorDetails(_messages.Message):
  r"""Error response of importing resources. This structure is included in the
  error details to describe the detailed error. It is only included when the
  operation finishes with some failure.

  Fields:
    errorCount: The number of resources that had errors.
    fhirStore: The name of the FHIR store where resources have been imported,
      in the format `projects/{project_id}/locations/{location_id}/datasets/{d
      ataset_id}/fhirStores/{fhir_store_id}`.
    inputSize: The total number of resources included in the source data. This
      is the sum of the success and error counts.
    successCount: The number of resources that have been imported.
  """

  errorCount = _messages.IntegerField(1)
  fhirStore = _messages.StringField(2)
  inputSize = _messages.IntegerField(3)
  successCount = _messages.IntegerField(4)


class GoogleCloudHealthcareV1alpha2FhirRestImportResourcesResponse(_messages.Message):
  r"""Final response of importing resources. This structure is included in the
  response to describe the detailed outcome. It is only included when the
  operation finishes successfully.

  Fields:
    fhirStore: The name of the FHIR store where the resources have been
      imported, in the format `projects/{project_id}/locations/{location_id}/d
      atasets/{dataset_id}/fhirStores/{fhir_store_id}`.
    inputSize: The total number of resources included in the source data.
  """

  fhirStore = _messages.StringField(1)
  inputSize = _messages.IntegerField(2)


class HealthcareProjectsLocationsDatasetsAnnotationStoresCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresCreateRequest
  object.

  Fields:
    annotationStore: A AnnotationStore resource to be passed as the request
      body.
    annotationStoreId: The ID of the Annotation store that is being created.
      The string must match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
    parent: The name of the dataset this Annotation store belongs to.
  """

  annotationStore = _messages.MessageField('AnnotationStore', 1)
  annotationStoreId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsAnnotationStoresDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresDeleteRequest
  object.

  Fields:
    name: The resource name of the Annotation store to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsAnnotationStoresEvaluateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresEvaluateRequest
  object.

  Fields:
    evalStore: The Annotation store to compare against `golden_store`, in the
      format `projects/{project_id}/locations/{location_id}/datasets/{dataset_
      id}/annotationStores/{annotation_store_id}`.
    evaluateAnnotationStoreRequest: A EvaluateAnnotationStoreRequest resource
      to be passed as the request body.
  """

  evalStore = _messages.StringField(1, required=True)
  evaluateAnnotationStoreRequest = _messages.MessageField('EvaluateAnnotationStoreRequest', 2)


class HealthcareProjectsLocationsDatasetsAnnotationStoresExportRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresExportRequest
  object.

  Fields:
    annotationStore: The Annotation store name to export annotations to, in
      the format `projects/{project_id}/locations/{location_id}/datasets/{data
      set_id}/annotationStores/{annotation_store_id}`.
    exportAnnotationsRequest: A ExportAnnotationsRequest resource to be passed
      as the request body.
  """

  annotationStore = _messages.StringField(1, required=True)
  exportAnnotationsRequest = _messages.MessageField('ExportAnnotationsRequest', 2)


class HealthcareProjectsLocationsDatasetsAnnotationStoresGetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresGetIamPolicyRequest
  object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsAnnotationStoresGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresGetRequest object.

  Fields:
    name: The resource name of the Annotation store to get.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsAnnotationStoresImportRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresImportRequest
  object.

  Fields:
    annotationStore: The name of the Annotation store to which the server
      imports annotations, in the format `projects/{project_id}/locations/{loc
      ation_id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.
    importAnnotationsRequest: A ImportAnnotationsRequest resource to be passed
      as the request body.
  """

  annotationStore = _messages.StringField(1, required=True)
  importAnnotationsRequest = _messages.MessageField('ImportAnnotationsRequest', 2)


class HealthcareProjectsLocationsDatasetsAnnotationStoresListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresListRequest object.

  Fields:
    filter: Restricts stores returned to those matching a filter. Syntax: http
      s://cloud.google.com/appengine/docs/standard/python/search/query_strings
      Only filtering on labels is supported. For example, `labels.key=value`.
    pageSize: Limit on the number of Annotation stores to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
    parent: The name of the dataset.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsAnnotationStoresPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresPatchRequest
  object.

  Fields:
    annotationStore: A AnnotationStore resource to be passed as the request
      body.
    name: Output only. Resource name of the Annotation store, of the form `pro
      jects/{project_id}/locations/{location_id}/datasets/{dataset_id}/annotat
      ionStores/{annotation_store_id}`.
    updateMask: The update mask applies to the resource. For the `FieldMask`
      definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask
  """

  annotationStore = _messages.MessageField('AnnotationStore', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsAnnotationStoresSetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsAnnotationStoresSetIamPolicyRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See the operation documentation for the appropriate value for
      this field.
    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
      passed as the request body.
  """

  resource = _messages.StringField(1, required=True)
  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCr
  eateRequest object.

  Fields:
    attributeDefinition: A AttributeDefinition resource to be passed as the
      request body.
    attributeDefinitionId: The ID of the Attribute definition to create. The
      string must match the following regex: `_a-zA-Z{0,255}` and must not be
      a reserved keyword within the Common Expression Language as listed on
      https://github.com/google/cel-spec/blob/master/doc/langdef.md.
    parent: The name of the consent store that this Attribute definition
      belongs to.
  """

  attributeDefinition = _messages.MessageField('AttributeDefinition', 1)
  attributeDefinitionId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDe
  leteRequest object.

  Fields:
    name: The resource name of the Attribute definition to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGe
  tRequest object.

  Fields:
    name: The resource name of the Attribute definition to get.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsLi
  stRequest object.

  Fields:
    filter: Restricts the attributes returned to those matching a filter.
      Syntax: https://cloud.google.com/appengine/docs/standard/python/search/q
      uery_strings. The only field available for filtering is `category`.
    pageSize: Limit on the number of attribute definitions to return in a
      single response. If zero the default page size of 100 is used.
    pageToken: Token to retrieve the next page of results or empty if there
      are no more results in the list.
    parent: Name of the Consent store to retrieve attribute definitions from.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPa
  tchRequest object.

  Fields:
    attributeDefinition: A AttributeDefinition resource to be passed as the
      request body.
    name: Output only. Resource name of the attribute definition, of the form
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/con
      sentStores/{consent_store_id}/attributeDefinitions/{attribute_definition
      _id}`.
    updateMask: The update mask that applies to the resource. For the
      `FieldMask` definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask. The `description`,
      `possible_values`, `consent_default_values`, and
      `data_mapping_default_value` fields are allowed to be updated. The
      updated `possible_values` must contain all values from the previous
      `possible_values`.
  """

  attributeDefinition = _messages.MessageField('AttributeDefinition', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsConsentStoresCheckDataAccessRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresCheckDataAccessRequest
  object.

  Fields:
    checkDataAccessRequest: A CheckDataAccessRequest resource to be passed as
      the request body.
    consentStore: Name of the Consent store where the requested data_id is
      stored.
  """

  checkDataAccessRequest = _messages.MessageField('CheckDataAccessRequest', 1)
  consentStore = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsCreate
  Request object.

  Fields:
    consentArtifact: A ConsentArtifact resource to be passed as the request
      body.
    parent: The name of the Consent store this consent artifact belongs to.
  """

  consentArtifact = _messages.MessageField('ConsentArtifact', 1)
  parent = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsDelete
  Request object.

  Fields:
    name: The resource name of the consent artifact to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsGetRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsGetRequest
  object.

  Fields:
    name: The resource name of the consent artifact to retrieve.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsListRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsListRequest
  object.

  Fields:
    filter: Restricts the artifacts returned to those matching a filter.
      Syntax: https://cloud.google.com/appengine/docs/standard/python/search/q
      uery_strings The fields available for filtering are:  - user_id -
      consent_content_version
    pageSize: Limit on the number of consent artifacts to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
    parent: Name of the Consent store to retrieve consent artifacts from.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsCreateRequest
  object.

  Fields:
    consent: A Consent resource to be passed as the request body.
    parent: Name of the consent store.
  """

  consent = _messages.MessageField('Consent', 1)
  parent = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsDeleteRequest
  object.

  Fields:
    name: The resource name of the consent to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsGetRequest
  object.

  Fields:
    name: The resource name of the consent to retrieve.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsHistoryDeleteAllRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsHistoryDeleteA
  llRequest object.

  Fields:
    consent: The name of the Consent for which the history is deleted, of the
      form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id
      }/consentStores/{consent_store_id}/consents/{consent_id}`.
    deleteAllConsentHistoryRequest: A DeleteAllConsentHistoryRequest resource
      to be passed as the request body.
  """

  consent = _messages.StringField(1, required=True)
  deleteAllConsentHistoryRequest = _messages.MessageField('DeleteAllConsentHistoryRequest', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsHistoryListRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresConsentsHistoryListRequest
  object.

  Fields:
    consent: The name of the Consent for which the history is listed, of the
      form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id
      }/consentStores/{consent_store_id}/consents/{consent_id}`.
    filter: Restricts the historical versions of consents returned to those
      matching a filter. Syntax: https://cloud.google.com/appengine/docs/stand
      ard/python/search/query_strings The fields available for filtering are:
      - user_id - consent_artifact - state - state_change_time
    pageSize: Limit on the number of historical versions to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
  """

  consent = _messages.StringField(1, required=True)
  filter = _messages.StringField(2)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsListRequest
  object.

  Fields:
    filter: Restricts the consents returned to those matching a filter.
      Syntax: https://cloud.google.com/appengine/docs/standard/python/search/q
      uery_strings The fields available for filtering are:  - user_id -
      consent_artifact - state - state_change_time
    pageSize: Limit on the number of consents to return in a single response.
      If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
    parent: Name of the Consent store to retrieve consents from.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsPatchRequest
  object.

  Fields:
    consent: A Consent resource to be passed as the request body.
    name: Output only. Resource name of the Consent, of the form `projects/{pr
      oject_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{c
      onsent_store_id}/consents/{consent_id}`.
    updateMask: The update mask to apply to the resource. For the `FieldMask`
      definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask. The `user_id`,
      `policies`, `consent_artifact`, and `revoke_consent_artifact` fields can
      be updated.
  """

  consent = _messages.MessageField('Consent', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsConsentStoresConsentsRevokeRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresConsentsRevokeRequest
  object.

  Fields:
    name: The resource name of the consent to revoke.
    revokeConsentRequest: A RevokeConsentRequest resource to be passed as the
      request body.
  """

  name = _messages.StringField(1, required=True)
  revokeConsentRequest = _messages.MessageField('RevokeConsentRequest', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresCreateRequest object.

  Fields:
    consentStore: A ConsentStore resource to be passed as the request body.
    consentStoreId: The ID of the consent store to create. The string must
      match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
    parent: The name of the dataset this Consent store belongs to.
  """

  consentStore = _messages.MessageField('ConsentStore', 1)
  consentStoreId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresDeleteRequest object.

  Fields:
    name: The resource name of the Consent store to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresGetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresGetIamPolicyRequest
  object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresGetRequest object.

  Fields:
    name: The resource name of the Consent store to get.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresListRequest object.

  Fields:
    filter: Restricts the stores returned to those matching a filter. Syntax:
      https://cloud.google.com/appengine/docs/standard/python/search/query_str
      ings. Only filtering on labels is supported. For example,
      `labels.key=value`.
    pageSize: Limit on the number of Consent stores to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: Token to retrieve the next page of results or empty if there
      are no more results in the list.
    parent: Name of the dataset.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresPatchRequest object.

  Fields:
    consentStore: A ConsentStore resource to be passed as the request body.
    name: Output only. Resource name of the Consent store, of the form `projec
      ts/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentSto
      res/{consent_store_id}`.
    updateMask: The update mask that applies to the resource. For the
      `FieldMask` definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask. The `labels` field is
      allowed to be updated.
  """

  consentStore = _messages.MessageField('ConsentStore', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsConsentStoresQueryAccessibleDataRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresQueryAccessibleDataRequest
  object.

  Fields:
    consentStore: Name of the Consent store to retrieve user data mappings
      from.
    queryAccessibleDataRequest: A QueryAccessibleDataRequest resource to be
      passed as the request body.
  """

  consentStore = _messages.StringField(1, required=True)
  queryAccessibleDataRequest = _messages.MessageField('QueryAccessibleDataRequest', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresSetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresSetIamPolicyRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresTestIamPermissionsRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresTestIamPermissionsRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See the operation documentation for the appropriate value for
      this field.
    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
      passed as the request body.
  """

  resource = _messages.StringField(1, required=True)
  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiv
  eRequest object.

  Fields:
    name: The resource name of the user data mapping to archive.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsCreate
  Request object.

  Fields:
    parent: Name of the consent store.
    userDataMapping: A UserDataMapping resource to be passed as the request
      body.
  """

  parent = _messages.StringField(1, required=True)
  userDataMapping = _messages.MessageField('UserDataMapping', 2)


class HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsDelete
  Request object.

  Fields:
    name: The resource name of the user data mapping to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsGetRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsGetRequest
  object.

  Fields:
    name: The resource name of the user data mapping to retrieve.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsListRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsListRequest
  object.

  Fields:
    filter: Restricts the user data mappings returned to those matching a
      filter. Syntax: https://cloud.google.com/appengine/docs/standard/python/
      search/query_strings
    pageSize: Limit on the number of user data mappings to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: Token to retrieve the next page of results or empty if there
      are no more results in the list.
    parent: Name of the Consent store to retrieve user data mappings from.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchRequest
  object.

  Fields:
    name: Output only. Resource name of the User data mapping, of the form `pr
      ojects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consen
      tStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`.
    updateMask: The update mask that applies to the resource. For the
      `FieldMask` definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask.
    userDataMapping: A UserDataMapping resource to be passed as the request
      body.
  """

  name = _messages.StringField(1, required=True)
  updateMask = _messages.StringField(2)
  userDataMapping = _messages.MessageField('UserDataMapping', 3)


class HealthcareProjectsLocationsDatasetsCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsCreateRequest object.

  Fields:
    dataset: A Dataset resource to be passed as the request body.
    datasetId: The ID of the dataset that is being created. The string must
      match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
    parent: The name of the project in which the server creates the dataset.
      For example,`projects/{project_id}/locations/{location_id}`.
  """

  dataset = _messages.MessageField('Dataset', 1)
  datasetId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsDataProtectionStoresGetIamPolicyRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsDataProtectionStoresGetIamPolicyRequest
  object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsDataProtectionStoresSetIamPolicyRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsDataProtectionStoresSetIamPolicyRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsDeidentifyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDeidentifyRequest object.

  Fields:
    deidentifyDatasetRequest: A DeidentifyDatasetRequest resource to be passed
      as the request body.
    sourceDataset: Source dataset resource name. For example,
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
  """

  deidentifyDatasetRequest = _messages.MessageField('DeidentifyDatasetRequest', 1)
  sourceDataset = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDeleteRequest object.

  Fields:
    name: The name of the dataset to delete. For example,
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresCreateRequest object.

  Fields:
    dicomStore: A DicomStore resource to be passed as the request body.
    dicomStoreId: The ID of the DICOM store that is being created. Any string
      value up to 256 characters in length.
    parent: The name of the dataset this DICOM store belongs to.
  """

  dicomStore = _messages.MessageField('DicomStore', 1)
  dicomStoreId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresDeleteRequest object.

  Fields:
    name: The resource name of the DICOM store to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresExportRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresExportRequest object.

  Fields:
    exportDicomDataRequest: A ExportDicomDataRequest resource to be passed as
      the request body.
    name: The DICOM store resource name from which to export the data. For
      example, `projects/{project_id}/locations/{location_id}/datasets/{datase
      t_id}/dicomStores/{dicom_store_id}`.
  """

  exportDicomDataRequest = _messages.MessageField('ExportDicomDataRequest', 1)
  name = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresGetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresGetIamPolicyRequest
  object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresGetRequest object.

  Fields:
    name: The resource name of the DICOM store to get.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresImportRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresImportRequest object.

  Fields:
    importDicomDataRequest: A ImportDicomDataRequest resource to be passed as
      the request body.
    name: The name of the DICOM store resource into which the data is
      imported. For example, `projects/{project_id}/locations/{location_id}/da
      tasets/{dataset_id}/dicomStores/{dicom_store_id}`.
  """

  importDicomDataRequest = _messages.MessageField('ImportDicomDataRequest', 1)
  name = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresListRequest object.

  Fields:
    filter: Restricts stores returned to those matching a filter. Syntax: http
      s://cloud.google.com/appengine/docs/standard/python/search/query_strings
      Only filtering on labels is supported, for example `labels.key=value`.
    pageSize: Limit on the number of DICOM stores to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
    parent: Name of the dataset.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsDicomStoresPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresPatchRequest object.

  Fields:
    dicomStore: A DicomStore resource to be passed as the request body.
    name: Output only. Resource name of the DICOM store, of the form `projects
      /{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/
      {dicom_store_id}`.
    updateMask: The update mask applies to the resource. For the `FieldMask`
      definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask
  """

  dicomStore = _messages.MessageField('DicomStore', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsDicomStoresSetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsDicomStoresSetIamPolicyRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsDicomStoresTestIamPermissionsRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsDicomStoresTestIamPermissionsRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See the operation documentation for the appropriate value for
      this field.
    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
      passed as the request body.
  """

  resource = _messages.StringField(1, required=True)
  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)


class HealthcareProjectsLocationsDatasetsFhirStoresCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresCreateRequest object.

  Fields:
    fhirStore: A FhirStore resource to be passed as the request body.
    fhirStoreId: The ID of the FHIR store that is being created. The string
      must match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
    parent: The name of the dataset this FHIR store belongs to.
  """

  fhirStore = _messages.MessageField('FhirStore', 1)
  fhirStoreId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresDeleteRequest object.

  Fields:
    name: The resource name of the FHIR store to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresExportRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresExportRequest object.

  Fields:
    exportResourcesRequest: A ExportResourcesRequest resource to be passed as
      the request body.
    name: The name of the FHIR store to export resource from, in the format `p
      rojects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirS
      tores/{fhir_store_id}`.
  """

  exportResourcesRequest = _messages.MessageField('ExportResourcesRequest', 1)
  name = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresGetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresGetIamPolicyRequest
  object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresGetRequest object.

  Fields:
    name: The resource name of the FHIR store to get.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresImportRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresImportRequest object.

  Fields:
    importResourcesRequest: A ImportResourcesRequest resource to be passed as
      the request body.
    name: The name of the FHIR store to which the server imports FHIR
      resources, in the format `projects/{project_id}/locations/{location_id}/
      datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
  """

  importResourcesRequest = _messages.MessageField('ImportResourcesRequest', 1)
  name = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresListRequest object.

  Fields:
    filter: Restricts stores returned to those matching a filter. Syntax: http
      s://cloud.google.com/appengine/docs/standard/python/search/query_strings
      Only filtering on labels is supported, for example `labels.key=value`.
    pageSize: Limit on the number of FHIR stores to return in a single
      response.  If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
    parent: Name of the dataset.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsFhirStoresPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresPatchRequest object.

  Fields:
    fhirStore: A FhirStore resource to be passed as the request body.
    name: Output only. Resource name of the FHIR store, of the form
      `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`
      .
    updateMask: The update mask applies to the resource. For the `FieldMask`
      definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask
  """

  fhirStore = _messages.MessageField('FhirStore', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsFhirStoresSetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresSetIamPolicyRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsFhirStoresTestIamPermissionsRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsFhirStoresTestIamPermissionsRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See the operation documentation for the appropriate value for
      this field.
    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
      passed as the request body.
  """

  resource = _messages.StringField(1, required=True)
  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)


class HealthcareProjectsLocationsDatasetsGetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsGetIamPolicyRequest object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsGetRequest object.

  Fields:
    name: The name of the dataset to read. For example,
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsHl7V2StoresCreateRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresCreateRequest object.

  Fields:
    hl7V2Store: A Hl7V2Store resource to be passed as the request body.
    hl7V2StoreId: The ID of the HL7v2 store that is being created. The string
      must match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
    parent: The name of the dataset this HL7v2 store belongs to.
  """

  hl7V2Store = _messages.MessageField('Hl7V2Store', 1)
  hl7V2StoreId = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsHl7V2StoresDeleteRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresDeleteRequest object.

  Fields:
    name: The resource name of the HL7v2 store to delete.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsHl7V2StoresGetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresGetIamPolicyRequest
  object.

  Fields:
    options_requestedPolicyVersion: Optional. The policy format version to be
      returned.  Valid values are 0, 1, and 3. Requests specifying an invalid
      value will be rejected.  Requests for policies with any conditional
      bindings must specify version 3. Policies without any conditional
      bindings may specify any valid value or leave the field unset.
    resource: REQUIRED: The resource for which the policy is being requested.
      See the operation documentation for the appropriate value for this
      field.
  """

  options_requestedPolicyVersion = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  resource = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsHl7V2StoresGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresGetRequest object.

  Fields:
    name: The resource name of the HL7v2 store to get.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsHl7V2StoresListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresListRequest object.

  Fields:
    filter: Restricts stores returned to those matching a filter. Syntax: http
      s://cloud.google.com/appengine/docs/standard/python/search/query_strings
      Only filtering on labels is supported. For example, `labels.key=value`.
    pageSize: Limit on the number of HL7v2 stores to return in a single
      response. If zero the default page size of 100 is used.
    pageToken: The next_page_token value returned from the previous List
      request, if any.
    parent: Name of the dataset.
  """

  filter = _messages.StringField(1)
  pageSize = _messages.IntegerField(2, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(3)
  parent = _messages.StringField(4, required=True)


class HealthcareProjectsLocationsDatasetsHl7V2StoresPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresPatchRequest object.

  Fields:
    hl7V2Store: A Hl7V2Store resource to be passed as the request body.
    name: Output only. Resource name of the HL7v2 store, of the form `projects
      /{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.
    updateMask: The update mask applies to the resource. For the `FieldMask`
      definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask
  """

  hl7V2Store = _messages.MessageField('Hl7V2Store', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsHl7V2StoresSetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsHl7V2StoresSetIamPolicyRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsRequest(_messages.Message):
  r"""A
  HealthcareProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsRequest
  object.

  Fields:
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See the operation documentation for the appropriate value for
      this field.
    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
      passed as the request body.
  """

  resource = _messages.StringField(1, required=True)
  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)


class HealthcareProjectsLocationsDatasetsListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsListRequest object.

  Fields:
    pageSize: The maximum number of items to return. Capped to 100 if not
      specified. May not be larger than 1000.
    pageToken: The next_page_token value returned from a previous List
      request, if any.
    parent: The name of the project whose datasets should be listed. For
      example, `projects/{project_id}/locations/{location_id}`.
  """

  pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(2)
  parent = _messages.StringField(3, required=True)


class HealthcareProjectsLocationsDatasetsOperationsCancelRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsOperationsCancelRequest object.

  Fields:
    cancelOperationRequest: A CancelOperationRequest resource to be passed as
      the request body.
    name: The name of the operation resource to be cancelled.
  """

  cancelOperationRequest = _messages.MessageField('CancelOperationRequest', 1)
  name = _messages.StringField(2, required=True)


class HealthcareProjectsLocationsDatasetsOperationsGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsOperationsGetRequest object.

  Fields:
    name: The name of the operation resource.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsDatasetsOperationsListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsOperationsListRequest object.

  Fields:
    filter: The standard list filter.
    name: The name of the operation's parent resource.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)


class HealthcareProjectsLocationsDatasetsPatchRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsPatchRequest object.

  Fields:
    dataset: A Dataset resource to be passed as the request body.
    name: Output only. Resource name of the dataset, of the form
      `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
    updateMask: The update mask applies to the resource. For the `FieldMask`
      definition, see https://developers.google.com/protocol-
      buffers/docs/reference/google.protobuf#fieldmask
  """

  dataset = _messages.MessageField('Dataset', 1)
  name = _messages.StringField(2, required=True)
  updateMask = _messages.StringField(3)


class HealthcareProjectsLocationsDatasetsSetIamPolicyRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsSetIamPolicyRequest object.

  Fields:
    resource: REQUIRED: The resource for which the policy is being specified.
      See the operation documentation for the appropriate value for this
      field.
    setIamPolicyRequest: A SetIamPolicyRequest resource to be passed as the
      request body.
  """

  resource = _messages.StringField(1, required=True)
  setIamPolicyRequest = _messages.MessageField('SetIamPolicyRequest', 2)


class HealthcareProjectsLocationsDatasetsTestIamPermissionsRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsDatasetsTestIamPermissionsRequest object.

  Fields:
    resource: REQUIRED: The resource for which the policy detail is being
      requested. See the operation documentation for the appropriate value for
      this field.
    testIamPermissionsRequest: A TestIamPermissionsRequest resource to be
      passed as the request body.
  """

  resource = _messages.StringField(1, required=True)
  testIamPermissionsRequest = _messages.MessageField('TestIamPermissionsRequest', 2)


class HealthcareProjectsLocationsGetRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsGetRequest object.

  Fields:
    name: Resource name for the location.
  """

  name = _messages.StringField(1, required=True)


class HealthcareProjectsLocationsListRequest(_messages.Message):
  r"""A HealthcareProjectsLocationsListRequest object.

  Fields:
    filter: The standard list filter.
    name: The resource that owns the locations collection, if applicable.
    pageSize: The standard list page size.
    pageToken: The standard list page token.
  """

  filter = _messages.StringField(1)
  name = _messages.StringField(2, required=True)
  pageSize = _messages.IntegerField(3, variant=_messages.Variant.INT32)
  pageToken = _messages.StringField(4)


class Hl7V2Store(_messages.Message):
  r"""Represents an HL7v2 store.

  Messages:
    LabelsValue: User-supplied key-value pairs used to organize HL7v2 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 are optional, 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.

  Fields:
    labels: User-supplied key-value pairs used to organize HL7v2 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 are optional, 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.
    name: Output only. Resource name of the HL7v2 store, of the form `projects
      /{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.
    notificationConfig: The notification destination all messages (both Ingest
      & Create) are published on. Only the message name is sent as part of the
      notification. If this is unset, no notifications are sent. Supplied by
      the client.
    parserConfig: The configuration for the parser. It determines how the
      server parses the messages.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""User-supplied key-value pairs used to organize HL7v2 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 are optional, 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.

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  labels = _messages.MessageField('LabelsValue', 1)
  name = _messages.StringField(2)
  notificationConfig = _messages.MessageField('NotificationConfig', 3)
  parserConfig = _messages.MessageField('ParserConfig', 4)


class Image(_messages.Message):
  r"""An image.

  Fields:
    gcsUri: Input only. Points to a Cloud Storage URI containing the image.
      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 image at this URI is copied to a Cloud Storage location
      managed by the Cloud Healthcare API. Responses to image fetching
      requests return the image in raw_bytes.
    rawBytes: Image content represented as a stream of bytes. This field is
      populated when returned in GetConsentArtifact response, but not included
      in CreateConsentArtifact and ListConsentArtifact response.
  """

  gcsUri = _messages.StringField(1)
  rawBytes = _messages.BytesField(2)


class ImageConfig(_messages.Message):
  r"""Specifies how to handle the de-identification of image pixels.

  Enums:
    TextRedactionModeValueValuesEnum: Determines how to redact text from
      images.

  Fields:
    textRedactionMode: Determines how to redact text from images.
  """

  class TextRedactionModeValueValuesEnum(_messages.Enum):
    r"""Determines how to redact text from images.

    Values:
      TEXT_REDACTION_MODE_UNSPECIFIED: No text redaction specified. Same as
        REDACT_NO_TEXT.
      REDACT_ALL_TEXT: Redact all text.
      REDACT_SENSITIVE_TEXT: Redact sensitive text.
      REDACT_NO_TEXT: Do not redact text.
    """
    TEXT_REDACTION_MODE_UNSPECIFIED = 0
    REDACT_ALL_TEXT = 1
    REDACT_SENSITIVE_TEXT = 2
    REDACT_NO_TEXT = 3

  textRedactionMode = _messages.EnumField('TextRedactionModeValueValuesEnum', 1)


class ImportAnnotationsErrorDetails(_messages.Message):
  r"""Final response of importing Annotations in partial or total failure
  case. This structure is included in the details field of the error. It is
  only included when the operation finishes.

  Fields:
    annotationStore: The annotation_store that the annotations were imported
      to. The name is in the format `projects/{project_id}/locations/{location
      _id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.
    errorCount: The number of annotations that had errors.
    successCount: The number of annotations that have been imported.
  """

  annotationStore = _messages.StringField(1)
  errorCount = _messages.IntegerField(2)
  successCount = _messages.IntegerField(3)


class ImportAnnotationsRequest(_messages.Message):
  r"""Request to import Annotations. The Annotations to be imported must have
  client-supplied resource names which indicate the annotation resource. The
  import operation is not atomic. If a failure occurs, any annotations already
  imported are not removed.

  Fields:
    gcsSource: A GoogleCloudHealthcareV1alpha2AnnotationGcsSource attribute.
  """

  gcsSource = _messages.MessageField('GoogleCloudHealthcareV1alpha2AnnotationGcsSource', 1)


class ImportAnnotationsResponse(_messages.Message):
  r"""Final response of importing Annotations in successful case. This
  structure is included in the response. It is only included when the
  operation finishes.

  Fields:
    annotationStore: The annotation_store that the annotations were imported
      to. The name is in the format `projects/{project_id}/locations/{location
      _id}/datasets/{dataset_id}/annotationStores/{annotation_store_id}`.
    successCount: The number of the input annotations. All input have been
      imported successfully.
  """

  annotationStore = _messages.StringField(1)
  successCount = _messages.IntegerField(2)


class ImportDicomDataErrorDetails(_messages.Message):
  r"""Returns the errors encountered during DICOM store import.

  Fields:
    sampleErrors: Deprecated. Use only for debugging purposes.  Contains
      sample errors encountered in imports of individual resources, such as a
      Cloud Storage object.
  """

  sampleErrors = _messages.MessageField('ErrorDetail', 1, repeated=True)


class ImportDicomDataRequest(_messages.Message):
  r"""Imports data into the specified DICOM store. Returns an error if any of
  the files to import are not DICOM files. This API accepts duplicate DICOM
  instances by ignoring the newly-pushed instance. It does not overwrite.

  Fields:
    gcsSource: Cloud Storage source data location and import configuration.
      The Cloud Storage location requires the `roles/storage.objectViewer`
      Cloud IAM role.
  """

  gcsSource = _messages.MessageField('GoogleCloudHealthcareV1alpha2DicomGcsSource', 1)


class ImportDicomDataResponse(_messages.Message):
  r"""Returns additional information in regards to a completed DICOM store
  import.
  """



class ImportResourcesRequest(_messages.Message):
  r"""Request to import resources.

  Enums:
    ContentStructureValueValuesEnum: The content structure in the source
      location. If not specified, the server treats the input source files as
      BUNDLE.

  Fields:
    contentStructure: The content structure in the source location. If not
      specified, the server treats the input source files as BUNDLE.
    gcsErrorDestination: The Cloud Storage destination to write the error
      report to.  The Cloud Storage location requires the
      `roles/storage.objectAdmin` Cloud IAM role.  Writing a file to the same
      destination multiple times results in the previous version of the file
      being overwritten.
    gcsSource: Cloud Storage source data location and import configuration.
      The Cloud Storage location requires the `roles/storage.objectViewer`
      Cloud IAM role.  For each Cloud Storage object, use a text file that
      contains the format specified in ContentStructu.
  """

  class ContentStructureValueValuesEnum(_messages.Enum):
    r"""The content structure in the source location. If not specified, the
    server treats the input source files as BUNDLE.

    Values:
      CONTENT_STRUCTURE_UNSPECIFIED: If the content structure is not
        specified, the default value `BUNDLE` is used.
      BUNDLE: The source file contains one or more lines of newline-delimited
        JSON (ndjson). Each line is a bundle, which contains one or more
        resources. Set the bundle type to `history` to import resource
        versions.
      RESOURCE: The source file contains one or more lines of newline-
        delimited JSON (ndjson). Each line is a single resource.
      BUNDLE_PRETTY: The entire file is one JSON bundle. The JSON can span
        multiple lines.
      RESOURCE_PRETTY: The entire file is one JSON resource. The JSON can span
        multiple lines.
    """
    CONTENT_STRUCTURE_UNSPECIFIED = 0
    BUNDLE = 1
    RESOURCE = 2
    BUNDLE_PRETTY = 3
    RESOURCE_PRETTY = 4

  contentStructure = _messages.EnumField('ContentStructureValueValuesEnum', 1)
  gcsErrorDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2FhirRestGcsErrorDestination', 2)
  gcsSource = _messages.MessageField('GoogleCloudHealthcareV1alpha2FhirRestGcsSource', 3)


class InfoTypeTransformation(_messages.Message):
  r"""A transformation to apply to text that is identified as a specific
  info_type.

  Fields:
    characterMaskConfig: Config for character mask.
    cryptoHashConfig: Config for crypto hash.
    dateShiftConfig: Config for date shift.
    infoTypes: `InfoTypes` to apply this transformation to. If this is not
      specified, this transformation becomes the default transformation, and
      is used for any `info_type` that is not specified in another
      transformation.
    redactConfig: Config for text redaction.
    replaceWithInfoTypeConfig: Config for replace with InfoType.
  """

  characterMaskConfig = _messages.MessageField('CharacterMaskConfig', 1)
  cryptoHashConfig = _messages.MessageField('CryptoHashConfig', 2)
  dateShiftConfig = _messages.MessageField('DateShiftConfig', 3)
  infoTypes = _messages.StringField(4, repeated=True)
  redactConfig = _messages.MessageField('RedactConfig', 5)
  replaceWithInfoTypeConfig = _messages.MessageField('ReplaceWithInfoTypeConfig', 6)


class ListAnnotationStoresResponse(_messages.Message):
  r"""Lists the Annotation stores in the given dataset.

  Fields:
    annotationStores: The returned Annotation stores. Won't be more Annotation
      stores than the value of page_size in the request.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  annotationStores = _messages.MessageField('AnnotationStore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListAttributeDefinitionsResponse(_messages.Message):
  r"""Lists the Attribute definitions in the given Consent store.

  Fields:
    attributeDefinitions: The returned attribute definitions. The maximum
      number of attributes returned is determined by the value of page_size in
      the ListAttributeDefinitionsRequest.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  attributeDefinitions = _messages.MessageField('AttributeDefinition', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListConsentArtifactsResponse(_messages.Message):
  r"""Lists the Consent artifacts in the given Consent store.

  Fields:
    consentArtifacts: The returned consent artifacts. The maximum number of
      artifacts returned is determined by the value of page_size in the
      ListConsentArtifactsRequest.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  consentArtifacts = _messages.MessageField('ConsentArtifact', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListConsentHistoryResponse(_messages.Message):
  r"""Lists all the historical versions of the Consent from the Consent store.

  Fields:
    consents: The returned historical versions of a consent. The maximum
      number of versions returned is determined by the value of page_size in
      the ListConsentHistoryRequest.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  consents = _messages.MessageField('Consent', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListConsentStoresResponse(_messages.Message):
  r"""Lists the Consent stores in the given dataset.

  Fields:
    consentStores: The returned Consent stores. The maximum number of stores
      returned is determined by the value of page_size in the
      ListConsentStoresRequest.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  consentStores = _messages.MessageField('ConsentStore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListConsentsResponse(_messages.Message):
  r"""Lists the Consents in the given Consent store.

  Fields:
    consents: The returned consents. The maximum number of consents returned
      is determined by the value of page_size in the ListConsentsRequest.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  consents = _messages.MessageField('Consent', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListDatasetsResponse(_messages.Message):
  r"""Lists the available datasets.

  Fields:
    datasets: The first page of datasets.
    nextPageToken: Token to retrieve the next page of results, or empty if
      there are no more results in the list.
  """

  datasets = _messages.MessageField('Dataset', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListDicomStoresResponse(_messages.Message):
  r"""Lists the DICOM stores in the given dataset.

  Fields:
    dicomStores: The returned DICOM stores. Won't be more DICOM stores than
      the value of page_size in the request.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  dicomStores = _messages.MessageField('DicomStore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListFhirStoresResponse(_messages.Message):
  r"""Lists the FHIR stores in the given dataset.

  Fields:
    fhirStores: The returned FHIR stores. Won't be more FHIR stores than the
      value of page_size in the request.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  fhirStores = _messages.MessageField('FhirStore', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListHl7V2StoresResponse(_messages.Message):
  r"""Lists the HL7v2 stores in the given dataset.

  Fields:
    hl7V2Stores: The returned HL7v2 stores. Won't be more HL7v2 stores than
      the value of page_size in the request.
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
  """

  hl7V2Stores = _messages.MessageField('Hl7V2Store', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListLocationsResponse(_messages.Message):
  r"""The response message for Locations.ListLocations.

  Fields:
    locations: A list of locations that matches the specified filter in the
      request.
    nextPageToken: The standard List next-page token.
  """

  locations = _messages.MessageField('Location', 1, repeated=True)
  nextPageToken = _messages.StringField(2)


class ListOperationsResponse(_messages.Message):
  r"""The response message for Operations.ListOperations.

  Fields:
    nextPageToken: The standard List next-page token.
    operations: A list of operations that matches the specified filter in the
      request.
  """

  nextPageToken = _messages.StringField(1)
  operations = _messages.MessageField('Operation', 2, repeated=True)


class ListUserDataMappingsResponse(_messages.Message):
  r"""Lists the User data mappings in the given Consent store.

  Fields:
    nextPageToken: Token to retrieve the next page of results or empty if
      there are no more results in the list.
    userDataMappings: The returned user data mappings. The maximum number of
      user data mappings returned is determined by the value of page_size in
      the ListUserDataMappingsRequest.
  """

  nextPageToken = _messages.StringField(1)
  userDataMappings = _messages.MessageField('UserDataMapping', 2, repeated=True)


class Location(_messages.Message):
  r"""A resource that represents Google Cloud Platform location.

  Messages:
    LabelsValue: Cross-service attributes for the location. For example
      {"cloud.googleapis.com/region": "us-east1"}
    MetadataValue: Service-specific metadata. For example the available
      capacity at the given location.

  Fields:
    displayName: The friendly name for this location, typically a nearby city
      name. For example, "Tokyo".
    labels: Cross-service attributes for the location. For example
      {"cloud.googleapis.com/region": "us-east1"}
    locationId: The canonical id for this location. For example: `"us-east1"`.
    metadata: Service-specific metadata. For example the available capacity at
      the given location.
    name: Resource name for the location, which may vary between
      implementations. For example: `"projects/example-project/locations/us-
      east1"`
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class LabelsValue(_messages.Message):
    r"""Cross-service attributes for the location. For example
    {"cloud.googleapis.com/region": "us-east1"}

    Messages:
      AdditionalProperty: An additional property for a LabelsValue object.

    Fields:
      additionalProperties: Additional properties of type LabelsValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a LabelsValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Service-specific metadata. For example the available capacity at the
    given location.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  displayName = _messages.StringField(1)
  labels = _messages.MessageField('LabelsValue', 2)
  locationId = _messages.StringField(3)
  metadata = _messages.MessageField('MetadataValue', 4)
  name = _messages.StringField(5)


class NotificationConfig(_messages.Message):
  r"""Specifies where the server sends notifications upon changes to a data
  store.

  Fields:
    pubsubTopic: The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/)
      topic that notifications of changes are published on. Supplied by the
      client. PubsubMessage.Data contains the resource name.
      PubsubMessage.MessageId is the ID of this message. It is guaranteed to
      be unique within the topic. PubsubMessage.PublishTime is the time at
      which the message was published. Notifications are only sent if the
      topic is non-empty. [Topic
      names](https://cloud.google.com/pubsub/docs/overview#names) must be
      scoped to a project. cloud-healthcare@system.gserviceaccount.com must
      have publisher permissions on the given Cloud Pub/Sub topic. Not having
      adequate permissions causes the calls that send notifications to fail.
      If a notification can't be published to Cloud Pub/Sub, errors are logged
      to Stackdriver (see [Viewing logs](/healthcare/docs/how-tos/stackdriver-
      logging)). If the number of errors exceeds a certain rate, some aren't
      submitted.
  """

  pubsubTopic = _messages.StringField(1)


class Operation(_messages.Message):
  r"""This resource represents a long-running operation that is the result of
  a network API call.

  Messages:
    MetadataValue: Service-specific metadata associated with the operation.
      It typically contains progress information and common metadata such as
      create time. Some services might not provide such metadata.  Any method
      that returns a long-running operation should document the metadata type,
      if any.
    ResponseValue: The normal response of the operation in case of success.
      If the original method returns no data on success, such as `Delete`, the
      response is `google.protobuf.Empty`.  If the original method is standard
      `Get`/`Create`/`Update`, the response should be the resource.  For other
      methods, the response should have the type `XxxResponse`, where `Xxx` is
      the original method name.  For example, if the original method name is
      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

  Fields:
    done: If the value is `false`, it means the operation is still in
      progress. If `true`, the operation is completed, and either `error` or
      `response` is available.
    error: The error result of the operation in case of failure or
      cancellation.
    metadata: Service-specific metadata associated with the operation.  It
      typically contains progress information and common metadata such as
      create time. Some services might not provide such metadata.  Any method
      that returns a long-running operation should document the metadata type,
      if any.
    name: The server-assigned name, which is only unique within the same
      service that originally returns it. If you use the default HTTP mapping,
      the `name` should be a resource name ending with
      `operations/{unique_id}`.
    response: The normal response of the operation in case of success.  If the
      original method returns no data on success, such as `Delete`, the
      response is `google.protobuf.Empty`.  If the original method is standard
      `Get`/`Create`/`Update`, the response should be the resource.  For other
      methods, the response should have the type `XxxResponse`, where `Xxx` is
      the original method name.  For example, if the original method name is
      `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Service-specific metadata associated with the operation.  It typically
    contains progress information and common metadata such as create time.
    Some services might not provide such metadata.  Any method that returns a
    long-running operation should document the metadata type, if any.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResponseValue(_messages.Message):
    r"""The normal response of the operation in case of success.  If the
    original method returns no data on success, such as `Delete`, the response
    is `google.protobuf.Empty`.  If the original method is standard
    `Get`/`Create`/`Update`, the response should be the resource.  For other
    methods, the response should have the type `XxxResponse`, where `Xxx` is
    the original method name.  For example, if the original method name is
    `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

    Messages:
      AdditionalProperty: An additional property for a ResponseValue object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ResponseValue object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  done = _messages.BooleanField(1)
  error = _messages.MessageField('Status', 2)
  metadata = _messages.MessageField('MetadataValue', 3)
  name = _messages.StringField(4)
  response = _messages.MessageField('ResponseValue', 5)


class OperationMetadata(_messages.Message):
  r"""OperationMetadata provides information about the operation execution.
  Returned in the long-running operation's metadata field.

  Fields:
    apiMethodName: The name of the API method that initiated the operation.
    counter: A ProgressCounter attribute.
    createTime: The time at which the operation was created by the API.
    endTime: The time at which execution was completed.
  """

  apiMethodName = _messages.StringField(1)
  counter = _messages.MessageField('ProgressCounter', 2)
  createTime = _messages.StringField(3)
  endTime = _messages.StringField(4)


class ParserConfig(_messages.Message):
  r"""The configuration for the parser. It determines how the server parses
  the messages.

  Fields:
    allowNullHeader: Determines whether messages with no header are allowed.
    segmentTerminator: Byte(s) to use as the segment terminator. If this is
      unset, '\r' is used as the segment terminator, matching the HL7 version
      2 specification.
  """

  allowNullHeader = _messages.BooleanField(1)
  segmentTerminator = _messages.BytesField(2)


class Policy(_messages.Message):
  r"""An Identity and Access Management (IAM) policy, which specifies access
  controls for Google Cloud resources.   A `Policy` is a collection of
  `bindings`. A `binding` binds one or more `members` to a single `role`.
  Members can be user accounts, service accounts, Google groups, and domains
  (such as G Suite). A `role` is a named list of permissions; each `role` can
  be an IAM predefined role or a user-created custom role.  Optionally, a
  `binding` can specify a `condition`, which is a logical expression that
  allows access to a resource only if the expression evaluates to `true`. A
  condition can add constraints based on attributes of the request, the
  resource, or both.  **JSON example:**      {       "bindings": [         {
  "role": "roles/resourcemanager.organizationAdmin",           "members": [
  "user:mike@example.com",             "group:admins@example.com",
  "domain:google.com",             "serviceAccount:my-project-
  id@appspot.gserviceaccount.com"           ]         },         {
  "role": "roles/resourcemanager.organizationViewer",           "members":
  ["user:eve@example.com"],           "condition": {             "title":
  "expirable access",             "description": "Does not grant access after
  Sep 2020",             "expression": "request.time <
  timestamp('2020-10-01T00:00:00.000Z')",           }         }       ],
  "etag": "BwWWja0YfJA=",       "version": 3     }  **YAML example:**
  bindings:     - members:       - user:mike@example.com       -
  group:admins@example.com       - domain:google.com       - serviceAccount
  :my-project-id@appspot.gserviceaccount.com       role:
  roles/resourcemanager.organizationAdmin     - members:       -
  user:eve@example.com       role: roles/resourcemanager.organizationViewer
  condition:         title: expirable access         description: Does not
  grant access after Sep 2020         expression: request.time <
  timestamp('2020-10-01T00:00:00.000Z')     - etag: BwWWja0YfJA=     -
  version: 3  For a description of IAM and its features, see the [IAM
  documentation](https://cloud.google.com/iam/docs/).

  Fields:
    auditConfigs: Specifies cloud audit logging configuration for this policy.
    bindings: Associates a list of `members` to a `role`. Optionally, may
      specify a `condition` that determines how and when the `bindings` are
      applied. Each of the `bindings` must contain at least one member.
    etag: `etag` is used for optimistic concurrency control as a way to help
      prevent simultaneous updates of a policy from overwriting each other. It
      is strongly suggested that systems make use of the `etag` in the read-
      modify-write cycle to perform policy updates in order to avoid race
      conditions: An `etag` is returned in the response to `getIamPolicy`, and
      systems are expected to put that etag in the request to `setIamPolicy`
      to ensure that their change will be applied to the same version of the
      policy.  **Important:** If you use IAM Conditions, you must include the
      `etag` field whenever you call `setIamPolicy`. If you omit this field,
      then IAM allows you to overwrite a version `3` policy with a version `1`
      policy, and all of the conditions in the version `3` policy are lost.
    version: Specifies the format of the policy.  Valid values are `0`, `1`,
      and `3`. Requests that specify an invalid value are rejected.  Any
      operation that affects conditional role bindings must specify version
      `3`. This requirement applies to the following operations:  * Getting a
      policy that includes a conditional role binding * Adding a conditional
      role binding to a policy * Changing a conditional role binding in a
      policy * Removing any role binding, with or without a condition, from a
      policy   that includes conditions  **Important:** If you use IAM
      Conditions, you must include the `etag` field whenever you call
      `setIamPolicy`. If you omit this field, then IAM allows you to overwrite
      a version `3` policy with a version `1` policy, and all of the
      conditions in the version `3` policy are lost.  If a policy does not
      include any conditions, operations on that policy may specify any valid
      version or leave the field unset.
  """

  auditConfigs = _messages.MessageField('AuditConfig', 1, repeated=True)
  bindings = _messages.MessageField('Binding', 2, repeated=True)
  etag = _messages.BytesField(3)
  version = _messages.IntegerField(4, variant=_messages.Variant.INT32)


class ProgressCounter(_messages.Message):
  r"""ProgressCounter provides counters to describe an operation's progress.

  Fields:
    failure: The number of units that failed in the operation.
    pending: The number of units that are pending in the operation.
    success: The number of units that succeeded in the operation.
  """

  failure = _messages.IntegerField(1)
  pending = _messages.IntegerField(2)
  success = _messages.IntegerField(3)


class QueryAccessibleDataRequest(_messages.Message):
  r"""Queries all data_ids that are consented for a given use in the given
  Consent store and writes them to a specified destination. Note that if a
  user has a Policy in their consents that grants the given use, then the user
  is considered to have consented even if other policies do not allow the
  given use. For example, if a user has a policy with `resource_attributes`
  matching the requested `resource_attributes` and an `authorization_rule`
  supporting the requested `request_attributes`, then the user is considered
  to have consented even if the user has another policy with the same
  `resource_attributes` and an `authorization_rule` rejecting the requested
  `request_attributes`. Errors are logged to Cloud Logging (see [Viewing logs]
  (/healthcare/docs/how-tos/stackdriver-logging) and [QueryAccessibleData] for
  a sample log entry).

  Messages:
    RequestAttributesValue: The values of request attributes associated with
      this access request.
    ResourceAttributesValue: The values of resources attributes associated
      with the type of data being requested. If no values are specified, then
      all data types are included in the output.

  Fields:
    gcsDestination: The Cloud Storage destination. The Cloud Healthcare API
      service account must have the `roles/storage.objectAdmin` Cloud IAM role
      for this Cloud Storage location.
    requestAttributes: The values of request attributes associated with this
      access request.
    resourceAttributes: The values of resources attributes associated with the
      type of data being requested. If no values are specified, then all data
      types are included in the output.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class RequestAttributesValue(_messages.Message):
    r"""The values of request attributes associated with this access request.

    Messages:
      AdditionalProperty: An additional property for a RequestAttributesValue
        object.

    Fields:
      additionalProperties: Additional properties of type
        RequestAttributesValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a RequestAttributesValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  @encoding.MapUnrecognizedFields('additionalProperties')
  class ResourceAttributesValue(_messages.Message):
    r"""The values of resources attributes associated with the type of data
    being requested. If no values are specified, then all data types are
    included in the output.

    Messages:
      AdditionalProperty: An additional property for a ResourceAttributesValue
        object.

    Fields:
      additionalProperties: Additional properties of type
        ResourceAttributesValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a ResourceAttributesValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  gcsDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2ConsentGcsDestination', 1)
  requestAttributes = _messages.MessageField('RequestAttributesValue', 2)
  resourceAttributes = _messages.MessageField('ResourceAttributesValue', 3)


class RedactConfig(_messages.Message):
  r"""Defines how to redact sensitive values. Default behavior is erase. For
  example, "My name is Jane." becomes "My name is ."
  """



class ReplaceWithInfoTypeConfig(_messages.Message):
  r"""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 RevokeConsentRequest(_messages.Message):
  r"""Revokes the current version of the specified Consent."""


class RevokeConsentResponse(_messages.Message):
  r"""Revokes the current version of the specified Consent."""


class SchemaConfig(_messages.Message):
  r"""Configuration for the FHIR BigQuery and Cloud Storage schema. Determines
  how the server generates the schema.

  Enums:
    SchemaTypeValueValuesEnum: Specifies the output schema type. If
      unspecified, the default is `LOSSLESS`.

  Fields:
    recursiveStructureDepth: The depth for all recursive structures in the
      output analytics schema. For example, `concept` in the CodeSystem
      resource is a recursive structure; when the depth is 2, the CodeSystem
      table will have a column called `concept.concept` but not
      `concept.concept.concept`. If not specified or set to 0, the server will
      use the default value 2. The maximum depth allowed is 5.
    schemaType: Specifies the output schema type. If unspecified, the default
      is `LOSSLESS`.
  """

  class SchemaTypeValueValuesEnum(_messages.Enum):
    r"""Specifies the output schema type. If unspecified, the default is
    `LOSSLESS`.

    Values:
      SCHEMA_TYPE_UNSPECIFIED: No schema type specified. Same as `LOSSLESS`.
      LOSSLESS: A data-driven schema generated from the fields present in the
        FHIR data being exported, with no additional simplification.
      ANALYTICS: Analytics schema defined by the FHIR community. See
        https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
    """
    SCHEMA_TYPE_UNSPECIFIED = 0
    LOSSLESS = 1
    ANALYTICS = 2

  recursiveStructureDepth = _messages.IntegerField(1)
  schemaType = _messages.EnumField('SchemaTypeValueValuesEnum', 2)


class SetIamPolicyRequest(_messages.Message):
  r"""Request message for `SetIamPolicy` method.

  Fields:
    policy: REQUIRED: The complete policy to be applied to the `resource`. The
      size of the policy is limited to a few 10s of KB. An empty policy is a
      valid policy but certain Cloud Platform services (such as Projects)
      might reject them.
    updateMask: OPTIONAL: A FieldMask specifying which fields of the policy to
      modify. Only the fields in the mask will be modified. If no mask is
      provided, the following default mask is used: paths: "bindings, etag"
      This field is only used by Cloud IAM.
  """

  policy = _messages.MessageField('Policy', 1)
  updateMask = _messages.StringField(2)


class Signature(_messages.Message):
  r"""User signature.

  Messages:
    MetadataValue: Optional. Metadata associated with the user's signature.
      For example, the user's name or the user's title.

  Fields:
    image: Optional. An image of the user's signature.
    metadata: Optional. Metadata associated with the user's signature. For
      example, the user's name or the user's title.
    signatureTime: Optional. Timestamp of the signature.
    userId: User's UUID provided by the client.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class MetadataValue(_messages.Message):
    r"""Optional. Metadata associated with the user's signature. For example,
    the user's name or the user's title.

    Messages:
      AdditionalProperty: An additional property for a MetadataValue object.

    Fields:
      additionalProperties: Additional properties of type MetadataValue
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a MetadataValue object.

      Fields:
        key: Name of the additional property.
        value: A string attribute.
      """

      key = _messages.StringField(1)
      value = _messages.StringField(2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  image = _messages.MessageField('Image', 1)
  metadata = _messages.MessageField('MetadataValue', 2)
  signatureTime = _messages.StringField(3)
  userId = _messages.StringField(4)


class StandardQueryParameters(_messages.Message):
  r"""Query parameters accepted by all methods.

  Enums:
    FXgafvValueValuesEnum: V1 error format.
    AltValueValuesEnum: Data format for response.

  Fields:
    f__xgafv: V1 error format.
    access_token: OAuth access token.
    alt: Data format for response.
    callback: JSONP
    fields: Selector specifying which fields to include in a partial response.
    key: API key. Your API key identifies your project and provides you with
      API access, quota, and reports. Required unless you provide an OAuth 2.0
      token.
    oauth_token: OAuth 2.0 token for the current user.
    prettyPrint: Returns response with indentations and line breaks.
    quotaUser: Available to use for quota purposes for server-side
      applications. Can be any arbitrary string assigned to a user, but should
      not exceed 40 characters.
    trace: A tracing token of the form "token:<tokenid>" to include in api
      requests.
    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
  """

  class AltValueValuesEnum(_messages.Enum):
    r"""Data format for response.

    Values:
      json: Responses with Content-Type of application/json
      media: Media download with context-dependent Content-Type
      proto: Responses with Content-Type of application/x-protobuf
    """
    json = 0
    media = 1
    proto = 2

  class FXgafvValueValuesEnum(_messages.Enum):
    r"""V1 error format.

    Values:
      _1: v1 error format
      _2: v2 error format
    """
    _1 = 0
    _2 = 1

  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
  access_token = _messages.StringField(2)
  alt = _messages.EnumField('AltValueValuesEnum', 3, default=u'json')
  callback = _messages.StringField(4)
  fields = _messages.StringField(5)
  key = _messages.StringField(6)
  oauth_token = _messages.StringField(7)
  prettyPrint = _messages.BooleanField(8, default=True)
  quotaUser = _messages.StringField(9)
  trace = _messages.StringField(10)
  uploadType = _messages.StringField(11)
  upload_protocol = _messages.StringField(12)


class Status(_messages.Message):
  r"""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://cloud.google.com/apis/design/errors).

  Messages:
    DetailsValueListEntry: A DetailsValueListEntry object.

  Fields:
    code: The status code, which should be an enum value of google.rpc.Code.
    details: A list of messages that carry the error details.  There is a
      common set of message types for APIs to use.
    message: A developer-facing error message, which should be in English. Any
      user-facing error message should be localized and sent in the
      google.rpc.Status.details field, or localized by the client.
  """

  @encoding.MapUnrecognizedFields('additionalProperties')
  class DetailsValueListEntry(_messages.Message):
    r"""A DetailsValueListEntry object.

    Messages:
      AdditionalProperty: An additional property for a DetailsValueListEntry
        object.

    Fields:
      additionalProperties: Properties of the object. Contains field @type
        with type URL.
    """

    class AdditionalProperty(_messages.Message):
      r"""An additional property for a DetailsValueListEntry object.

      Fields:
        key: Name of the additional property.
        value: A extra_types.JsonValue attribute.
      """

      key = _messages.StringField(1)
      value = _messages.MessageField('extra_types.JsonValue', 2)

    additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)

  code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
  details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
  message = _messages.StringField(3)


class StreamConfig(_messages.Message):
  r"""This structure contains configuration for streaming FHIR export.

  Fields:
    bigqueryDestination: The destination BigQuery structure that contains both
      the dataset location and corresponding schema config.  The output is
      organized in one table per resource type. The server reuses the existing
      tables (if any) that are named after the resource types, e.g. "Patient",
      "Observation". When there is no existing table for a given resource
      type, the server attempts to create one.  When a table schema doesn't
      align with the schema config, either because of existing incompatible
      schema or out of band incompatible modification, the server does not
      stream in new data.  One resolution in this case is to delete the
      incompatible table and let the server recreate one, though the newly
      created table only contains data after the table recreation.  BigQuery
      imposes a 1 MB limit on streaming insert row size, therefore any
      resource mutation that generates more than 1 MB of BigQuery data will
      not be streamed.  Results are appended to the corresponding BigQuery
      tables. Different versions of the same resource are distinguishable by
      the meta.versionId and meta.lastUpdated columns. The operation
      (CREATE/UPDATE/DELETE) that results in the new version is recorded in
      the meta.tag.  The tables contain all historical resource versions since
      streaming was enabled. For query convenience, the server also creates
      one view per table of the same name containing only the current resource
      version.  The streamed data in the BigQuery dataset is not guaranteed to
      be completely unique. The combination of the id and meta.versionId
      columns should ideally identify a single unique row. But in rare cases,
      duplicates may exist. At query time, users may use the SQL select
      statement to keep only one of the duplicate rows given an id and
      meta.versionId pair. Alternatively, the server created view mentioned
      above also filters out duplicates.  If a resource mutation cannot be
      streamed to BigQuery, errors will be logged to Stackdriver (see [Viewing
      logs](/healthcare/docs/how- tos/stackdriver-logging)).
    resourceTypes: Supply a FHIR resource type (such as "Patient" or
      "Observation"). See https://www.hl7.org/fhir/valueset-resource-
      types.html for a list of all FHIR resource types. The server treats an
      empty list as an intent to stream all the supported resource types in
      this FHIR store.
  """

  bigqueryDestination = _messages.MessageField('GoogleCloudHealthcareV1alpha2FhirBigQueryDestination', 1)
  resourceTypes = _messages.StringField(2, repeated=True)


class TagFilterList(_messages.Message):
  r"""List of tags to filter.

  Fields:
    tags: Tags to filter. Tags must be DICOM Data Elements, File Meta
      Elements, or Directory Structuring Elements, as defined at: http://dicom
      .nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They
      may be provided by "Keyword" or "Tag". For example, "PatientID",
      "00100010".
  """

  tags = _messages.StringField(1, repeated=True)


class TestIamPermissionsRequest(_messages.Message):
  r"""Request message for `TestIamPermissions` method.

  Fields:
    permissions: The set of permissions to check for the `resource`.
      Permissions with wildcards (such as '*' or 'storage.*') are not allowed.
      For more information see [IAM
      Overview](https://cloud.google.com/iam/docs/overview#permissions).
  """

  permissions = _messages.StringField(1, repeated=True)


class TestIamPermissionsResponse(_messages.Message):
  r"""Response message for `TestIamPermissions` method.

  Fields:
    permissions: A subset of `TestPermissionsRequest.permissions` that the
      caller is allowed.
  """

  permissions = _messages.StringField(1, repeated=True)


class TextConfig(_messages.Message):
  r"""Configures how to transform sensitive text `InfoTypes`.

  Fields:
    transformations: The transformations to apply to the detected data.
  """

  transformations = _messages.MessageField('InfoTypeTransformation', 1, repeated=True)


class UserDataMapping(_messages.Message):
  r"""Maps a user data entry to its end user and Attributes.

  Fields:
    archiveTime: Output only. Indicates the time when this data mapping was
      archived.
    archived: Output only. Indicates whether this data mapping is archived.
    dataId: A unique identifier for the mapped data.
    name: Output only. Resource name of the User data mapping, of the form `pr
      ojects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consen
      tStores/{consent_store_id}/userDataMappings/{user_data_mapping_id}`.
    resourceAttributes: Attributes of end user data. Each attribute can have
      exactly one value specified. 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.
    userId: User's UUID provided by the client.
  """

  archiveTime = _messages.StringField(1)
  archived = _messages.BooleanField(2)
  dataId = _messages.StringField(3)
  name = _messages.StringField(4)
  resourceAttributes = _messages.MessageField('Attribute', 5, repeated=True)
  userId = _messages.StringField(6)


class ValidationConfig(_messages.Message):
  r"""This structure contains the configuration for FHIR profiles and
  validation.

  Fields:
    disableProfileValidation: Whether to disable profile validation for this
      FHIR store. Set this to true to disable checking incoming resources for
      conformance against StructureDefinitions in this FHIR store.
    enabledImplementationGuides: A list of ImplementationGuide URLs in this
      FHIR store that are used to configure which profiles are used for
      validation. For example, if you were using the US Core profiles to your
      FHIR store you would set `enabled_implementation_guides` to
      `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If
      `enabled_implementation_guides` is empty or omitted, then incoming
      resources are only required to conform to the base FHIR profiles.
      Otherwise, a resource must conform to at least one profile listed in the
      `global` property of one of the enabled ImplementationGuides.  The Cloud
      Healthcare API does not currently enforce all of the rules in a
      StructureDefinition. The following rules are supported:     - min/max
      - minValue/maxValue     - maxLength     - type     - fixed[x]     -
      pattern[x] on simple types     - slicing, when using "value" as the
      discriminator type When a URL cannot be resolved (for example, in a type
      assertion), the server does not return an error.
  """

  disableProfileValidation = _messages.BooleanField(1)
  enabledImplementationGuides = _messages.StringField(2, repeated=True)


encoding.AddCustomJsonFieldMapping(
    StandardQueryParameters, 'f__xgafv', '$.xgafv')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
encoding.AddCustomJsonEnumMapping(
    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
