{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://healthcare.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Cloud Healthcare",
  "description": "Manage, store, and access healthcare data in Google Cloud Platform.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/healthcare",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "healthcare:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://healthcare.mtls.googleapis.com/",
  "name": "healthcare",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "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.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "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.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "datasets": {
              "methods": {
                "create": {
                  "description": "Creates a new health dataset. Results are returned through the\nOperation interface which returns either an\n`Operation.response` which contains a Dataset or\n`Operation.error`. The metadata\nfield type is OperationMetadata.\nA Google Cloud Platform project can contain up to 500 datasets across all\nregions.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets",
                  "httpMethod": "POST",
                  "id": "healthcare.projects.locations.datasets.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "datasetId": {
                      "description": "The ID of the dataset that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "The name of the project where the server creates the dataset. For\nexample, `projects/{project_id}/locations/{location_id}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+parent}/datasets",
                  "request": {
                    "$ref": "Dataset"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "deidentify": {
                  "description": "Creates a new dataset containing de-identified data from the source\ndataset. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifySummary.\nIf errors occur, error is set.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The new de-identified dataset will not contain these\nfailed resources. Failed resource totals are tracked in\nOperation.metadata.\nError details are also logged to Cloud Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/logging).",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify",
                  "httpMethod": "POST",
                  "id": "healthcare.projects.locations.datasets.deidentify",
                  "parameterOrder": [
                    "sourceDataset"
                  ],
                  "parameters": {
                    "sourceDataset": {
                      "description": "Source dataset resource name. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+sourceDataset}:deidentify",
                  "request": {
                    "$ref": "DeidentifyDatasetRequest"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "description": "Deletes the specified health dataset and all data contained in the dataset.\nDeleting a dataset does not affect the sources from which the dataset was\nimported (if any).",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
                  "httpMethod": "DELETE",
                  "id": "healthcare.projects.locations.datasets.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The name of the dataset to delete. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "description": "Gets any metadata associated with a dataset.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
                  "httpMethod": "GET",
                  "id": "healthcare.projects.locations.datasets.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The name of the dataset to read. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Dataset"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "getIamPolicy": {
                  "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy",
                  "httpMethod": "GET",
                  "id": "healthcare.projects.locations.datasets.getIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "options.requestedPolicyVersion": {
                      "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+resource}:getIamPolicy",
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "list": {
                  "description": "Lists the health datasets in the current project.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets",
                  "httpMethod": "GET",
                  "id": "healthcare.projects.locations.datasets.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "The maximum number of items to return. Capped to 100 if not specified.\nMay not be larger than 1000.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "The next_page_token value returned from a previous List request, if any.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "The name of the project whose datasets should be listed.\nFor example, `projects/{project_id}/locations/{location_id}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+parent}/datasets",
                  "response": {
                    "$ref": "ListDatasetsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "patch": {
                  "description": "Updates dataset metadata.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
                  "httpMethod": "PATCH",
                  "id": "healthcare.projects.locations.datasets.patch",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "updateMask": {
                      "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                      "format": "google-fieldmask",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "request": {
                    "$ref": "Dataset"
                  },
                  "response": {
                    "$ref": "Dataset"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "setIamPolicy": {
                  "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy",
                  "httpMethod": "POST",
                  "id": "healthcare.projects.locations.datasets.setIamPolicy",
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+resource}:setIamPolicy",
                  "request": {
                    "$ref": "SetIamPolicyRequest"
                  },
                  "response": {
                    "$ref": "Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "testIamPermissions": {
                  "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions",
                  "httpMethod": "POST",
                  "id": "healthcare.projects.locations.datasets.testIamPermissions",
                  "parameterOrder": [
                    "resource"
                  ],
                  "parameters": {
                    "resource": {
                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+resource}:testIamPermissions",
                  "request": {
                    "$ref": "TestIamPermissionsRequest"
                  },
                  "response": {
                    "$ref": "TestIamPermissionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              },
              "resources": {
                "dicomStores": {
                  "methods": {
                    "create": {
                      "description": "Creates a new DICOM store within the parent dataset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.create",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "dicomStoreId": {
                          "description": "The ID of the DICOM store that is being created.\nAny string value up to 256 characters in length.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the dataset this DICOM store belongs to.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/dicomStores",
                      "request": {
                        "$ref": "DicomStore"
                      },
                      "response": {
                        "$ref": "DicomStore"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "deidentify": {
                      "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyDicomStoreSummary. If errors occur,\nerror is set.\nThe LRO result may still be successful if de-identification fails for some\nDICOM instances. The output DICOM store will not contain\nthese failed resources. Failed resource totals are tracked in\nOperation.metadata.\nError details are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.deidentify",
                      "parameterOrder": [
                        "sourceStore"
                      ],
                      "parameters": {
                        "sourceStore": {
                          "description": "Source DICOM store resource name. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+sourceStore}:deidentify",
                      "request": {
                        "$ref": "DeidentifyDicomStoreRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "delete": {
                      "description": "Deletes the specified DICOM store and removes all images that are contained\nwithin it.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
                      "httpMethod": "DELETE",
                      "id": "healthcare.projects.locations.datasets.dicomStores.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The resource name of the DICOM store to delete.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "export": {
                      "description": "Exports data to the specified destination by copying it from the DICOM\nstore.\nErrors are also logged to Cloud Logging. For more information,\nsee [Viewing logs](/healthcare/docs/how-tos/logging).\nThe metadata field type is\nOperationMetadata.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.export",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The DICOM store resource name from which to export the data. For\nexample,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}:export",
                      "request": {
                        "$ref": "ExportDicomDataRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "description": "Gets the specified DICOM store.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.dicomStores.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The resource name of the DICOM store to get.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "DicomStore"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "getIamPolicy": {
                      "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.dicomStores.getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "options.requestedPolicyVersion": {
                          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "response": {
                        "$ref": "Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "import": {
                      "description": "Imports data into the DICOM store by copying it from the specified source.\nErrors are logged to Cloud Logging. For more information, see\n[Viewing logs](/healthcare/docs/how-tos/logging). The\nmetadata field type is\nOperationMetadata.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.import",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The name of the DICOM store resource into which the data is imported.\nFor example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}:import",
                      "request": {
                        "$ref": "ImportDicomDataRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Lists the DICOM stores in the given dataset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.dicomStores.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "filter": {
                          "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported. For example, `labels.key=value`.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Limit on the number of DICOM stores to return in a single response.\nIf zero the default page size of 100 is used.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "The next_page_token value returned from the previous List request, if any.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Name of the dataset.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/dicomStores",
                      "response": {
                        "$ref": "ListDicomStoresResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "description": "Updates the specified DICOM store.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}",
                      "httpMethod": "PATCH",
                      "id": "healthcare.projects.locations.datasets.dicomStores.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                          "format": "google-fieldmask",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "request": {
                        "$ref": "DicomStore"
                      },
                      "response": {
                        "$ref": "DicomStore"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "searchForInstances": {
                      "description": "SearchForInstances returns a list of matching instances. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.dicomStores.searchForInstances",
                      "parameterOrder": [
                        "parent",
                        "dicomWebPath"
                      ],
                      "parameters": {
                        "dicomWebPath": {
                          "description": "The path of the SearchForInstancesRequest DICOMweb request. For example,\n`instances`, `series/{series_uid}/instances`, or\n`studies/{study_uid}/instances`.",
                          "location": "path",
                          "pattern": "^instances$",
                          "required": true,
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "searchForSeries": {
                      "description": "SearchForSeries returns a list of matching series. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.dicomStores.searchForSeries",
                      "parameterOrder": [
                        "parent",
                        "dicomWebPath"
                      ],
                      "parameters": {
                        "dicomWebPath": {
                          "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or\n`studies/{study_uid}/series`.",
                          "location": "path",
                          "pattern": "^series$",
                          "required": true,
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "searchForStudies": {
                      "description": "SearchForStudies returns a list of matching studies. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.dicomStores.searchForStudies",
                      "parameterOrder": [
                        "parent",
                        "dicomWebPath"
                      ],
                      "parameters": {
                        "dicomWebPath": {
                          "description": "The path of the SearchForStudies DICOMweb request. For example, `studies`.",
                          "location": "path",
                          "pattern": "^studies$",
                          "required": true,
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "setIamPolicy": {
                      "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:setIamPolicy",
                      "request": {
                        "$ref": "SetIamPolicyRequest"
                      },
                      "response": {
                        "$ref": "Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "storeInstances": {
                      "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\n[Store Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.storeInstances",
                      "parameterOrder": [
                        "parent",
                        "dicomWebPath"
                      ],
                      "parameters": {
                        "dicomWebPath": {
                          "description": "The path of the StoreInstances DICOMweb request. For example,\n`studies/[{study_uid}]`. Note that the `study_uid` is optional.",
                          "location": "path",
                          "pattern": "^studies$",
                          "required": true,
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                      "request": {
                        "$ref": "HttpBody"
                      },
                      "response": {
                        "$ref": "HttpBody"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "testIamPermissions": {
                      "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.dicomStores.testIamPermissions",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "request": {
                        "$ref": "TestIamPermissionsRequest"
                      },
                      "response": {
                        "$ref": "TestIamPermissionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  },
                  "resources": {
                    "studies": {
                      "methods": {
                        "delete": {
                          "description": "DeleteStudy deletes all instances within the given study. Delete requests\nare equivalent to the GET requests specified in the Retrieve transaction.\nThe method returns an Operation which\nwill be marked successful when the deletion is complete.\n\nWarning: Inserting instances into a study while a delete operation is\nrunning for that study could result in the new instances not appearing in\nsearch results until the deletion operation finishes.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
                          "httpMethod": "DELETE",
                          "id": "healthcare.projects.locations.datasets.dicomStores.studies.delete",
                          "parameterOrder": [
                            "parent",
                            "dicomWebPath"
                          ],
                          "parameters": {
                            "dicomWebPath": {
                              "description": "The path of the DeleteStudy request. For example, `studies/{study_uid}`.",
                              "location": "path",
                              "pattern": "^studies/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "parent": {
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                          "response": {
                            "$ref": "Operation"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "retrieveMetadata": {
                          "description": "RetrieveStudyMetadata returns instance associated with the given study\npresented as metadata with the bulk data removed. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata",
                          "parameterOrder": [
                            "parent",
                            "dicomWebPath"
                          ],
                          "parameters": {
                            "dicomWebPath": {
                              "description": "The path of the RetrieveStudyMetadata DICOMweb request. For example,\n`studies/{study_uid}/metadata`.",
                              "location": "path",
                              "pattern": "^studies/[^/]+/metadata$",
                              "required": true,
                              "type": "string"
                            },
                            "parent": {
                              "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "retrieveStudy": {
                          "description": "RetrieveStudy returns all instances within the given study. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy",
                          "parameterOrder": [
                            "parent",
                            "dicomWebPath"
                          ],
                          "parameters": {
                            "dicomWebPath": {
                              "description": "The path of the RetrieveStudy DICOMweb request. For example,\n`studies/{study_uid}`.",
                              "location": "path",
                              "pattern": "^studies/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "parent": {
                              "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "searchForInstances": {
                          "description": "SearchForInstances returns a list of matching instances. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances",
                          "parameterOrder": [
                            "parent",
                            "dicomWebPath"
                          ],
                          "parameters": {
                            "dicomWebPath": {
                              "description": "The path of the SearchForInstancesRequest DICOMweb request. For example,\n`instances`, `series/{series_uid}/instances`, or\n`studies/{study_uid}/instances`.",
                              "location": "path",
                              "pattern": "^studies/[^/]+/instances$",
                              "required": true,
                              "type": "string"
                            },
                            "parent": {
                              "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "searchForSeries": {
                          "description": "SearchForSeries returns a list of matching series. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries",
                          "parameterOrder": [
                            "parent",
                            "dicomWebPath"
                          ],
                          "parameters": {
                            "dicomWebPath": {
                              "description": "The path of the SearchForSeries DICOMweb request. For example, `series` or\n`studies/{study_uid}/series`.",
                              "location": "path",
                              "pattern": "^studies/[^/]+/series$",
                              "required": true,
                              "type": "string"
                            },
                            "parent": {
                              "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "storeInstances": {
                          "description": "StoreInstances stores DICOM instances associated with study instance unique\nidentifiers (SUID). See\n[Store Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}",
                          "httpMethod": "POST",
                          "id": "healthcare.projects.locations.datasets.dicomStores.studies.storeInstances",
                          "parameterOrder": [
                            "parent",
                            "dicomWebPath"
                          ],
                          "parameters": {
                            "dicomWebPath": {
                              "description": "The path of the StoreInstances DICOMweb request. For example,\n`studies/[{study_uid}]`. Note that the `study_uid` is optional.",
                              "location": "path",
                              "pattern": "^studies/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "parent": {
                              "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                          "request": {
                            "$ref": "HttpBody"
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      },
                      "resources": {
                        "series": {
                          "methods": {
                            "delete": {
                              "description": "DeleteSeries deletes all instances within the given study and series.\nDelete requests are equivalent to the GET requests specified in the\nRetrieve transaction.\nThe method returns an Operation which\nwill be marked successful when the deletion is complete.\n\nWarning: Inserting instances into a series while a delete operation is\nrunning for that series could result in the new instances not appearing in\nsearch results until the deletion operation finishes.",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
                              "httpMethod": "DELETE",
                              "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.delete",
                              "parameterOrder": [
                                "parent",
                                "dicomWebPath"
                              ],
                              "parameters": {
                                "dicomWebPath": {
                                  "description": "The path of the DeleteSeries request. For example,\n`studies/{study_uid}/series/{series_uid}`.",
                                  "location": "path",
                                  "pattern": "^studies/[^/]+/series/[^/]+$",
                                  "required": true,
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                              "response": {
                                "$ref": "Operation"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            },
                            "retrieveMetadata": {
                              "description": "RetrieveSeriesMetadata returns instance associated with the given study and\nseries, presented as metadata with the bulk data removed. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata",
                              "httpMethod": "GET",
                              "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata",
                              "parameterOrder": [
                                "parent",
                                "dicomWebPath"
                              ],
                              "parameters": {
                                "dicomWebPath": {
                                  "description": "The path of the RetrieveSeriesMetadata DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/metadata`.",
                                  "location": "path",
                                  "pattern": "^studies/[^/]+/series/[^/]+/metadata$",
                                  "required": true,
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            },
                            "retrieveSeries": {
                              "description": "RetrieveSeries returns all instances within the given study and series. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}",
                              "httpMethod": "GET",
                              "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries",
                              "parameterOrder": [
                                "parent",
                                "dicomWebPath"
                              ],
                              "parameters": {
                                "dicomWebPath": {
                                  "description": "The path of the RetrieveSeries DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}`.",
                                  "location": "path",
                                  "pattern": "^studies/[^/]+/series/[^/]+$",
                                  "required": true,
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            },
                            "searchForInstances": {
                              "description": "SearchForInstances returns a list of matching instances. See\n[Search Transaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6).",
                              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances",
                              "httpMethod": "GET",
                              "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances",
                              "parameterOrder": [
                                "parent",
                                "dicomWebPath"
                              ],
                              "parameters": {
                                "dicomWebPath": {
                                  "description": "The path of the SearchForInstancesRequest DICOMweb request. For example,\n`instances`, `series/{series_uid}/instances`, or\n`studies/{study_uid}/instances`.",
                                  "location": "path",
                                  "pattern": "^studies/[^/]+/series/[^/]+/instances$",
                                  "required": true,
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                              "response": {
                                "$ref": "HttpBody"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            }
                          },
                          "resources": {
                            "instances": {
                              "methods": {
                                "delete": {
                                  "description": "DeleteInstance deletes an instance associated with the given study, series,\nand SOP Instance UID. Delete requests are equivalent to the GET requests\nspecified in the Retrieve transaction.\nStudy and series search results can take a few seconds to be updated after\nan instance is deleted using DeleteInstance.",
                                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
                                  "httpMethod": "DELETE",
                                  "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete",
                                  "parameterOrder": [
                                    "parent",
                                    "dicomWebPath"
                                  ],
                                  "parameters": {
                                    "dicomWebPath": {
                                      "description": "The path of the DeleteInstance request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
                                      "location": "path",
                                      "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
                                      "required": true,
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                      "location": "path",
                                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                      "required": true,
                                      "type": "string"
                                    }
                                  },
                                  "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                                  "response": {
                                    "$ref": "Empty"
                                  },
                                  "scopes": [
                                    "https://www.googleapis.com/auth/cloud-platform"
                                  ]
                                },
                                "retrieveInstance": {
                                  "description": "RetrieveInstance returns instance associated with the given study, series,\nand SOP Instance UID. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}",
                                  "httpMethod": "GET",
                                  "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance",
                                  "parameterOrder": [
                                    "parent",
                                    "dicomWebPath"
                                  ],
                                  "parameters": {
                                    "dicomWebPath": {
                                      "description": "The path of the RetrieveInstance DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.",
                                      "location": "path",
                                      "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+$",
                                      "required": true,
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                      "location": "path",
                                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                      "required": true,
                                      "type": "string"
                                    }
                                  },
                                  "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                                  "response": {
                                    "$ref": "HttpBody"
                                  },
                                  "scopes": [
                                    "https://www.googleapis.com/auth/cloud-platform"
                                  ]
                                },
                                "retrieveMetadata": {
                                  "description": "RetrieveInstanceMetadata returns instance associated with the given study,\nseries, and SOP Instance UID presented as metadata with the bulk data\nremoved. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata",
                                  "httpMethod": "GET",
                                  "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata",
                                  "parameterOrder": [
                                    "parent",
                                    "dicomWebPath"
                                  ],
                                  "parameters": {
                                    "dicomWebPath": {
                                      "description": "The path of the RetrieveInstanceMetadata DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.",
                                      "location": "path",
                                      "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/metadata$",
                                      "required": true,
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                      "location": "path",
                                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                      "required": true,
                                      "type": "string"
                                    }
                                  },
                                  "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                                  "response": {
                                    "$ref": "HttpBody"
                                  },
                                  "scopes": [
                                    "https://www.googleapis.com/auth/cloud-platform"
                                  ]
                                },
                                "retrieveRendered": {
                                  "description": "RetrieveRenderedInstance returns instance associated with the given study,\nseries, and SOP Instance UID in an acceptable Rendered Media Type. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered",
                                  "httpMethod": "GET",
                                  "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered",
                                  "parameterOrder": [
                                    "parent",
                                    "dicomWebPath"
                                  ],
                                  "parameters": {
                                    "dicomWebPath": {
                                      "description": "The path of the RetrieveRenderedInstance DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.",
                                      "location": "path",
                                      "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/rendered$",
                                      "required": true,
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                      "location": "path",
                                      "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                      "required": true,
                                      "type": "string"
                                    }
                                  },
                                  "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                                  "response": {
                                    "$ref": "HttpBody"
                                  },
                                  "scopes": [
                                    "https://www.googleapis.com/auth/cloud-platform"
                                  ]
                                }
                              },
                              "resources": {
                                "frames": {
                                  "methods": {
                                    "retrieveFrames": {
                                      "description": "RetrieveFrames returns instances associated with the given study, series,\nSOP Instance UID and frame numbers. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4}.",
                                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}",
                                      "httpMethod": "GET",
                                      "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames",
                                      "parameterOrder": [
                                        "parent",
                                        "dicomWebPath"
                                      ],
                                      "parameters": {
                                        "dicomWebPath": {
                                          "description": "The path of the RetrieveFrames DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}`.",
                                          "location": "path",
                                          "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+$",
                                          "required": true,
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                          "location": "path",
                                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                          "required": true,
                                          "type": "string"
                                        }
                                      },
                                      "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                                      "response": {
                                        "$ref": "HttpBody"
                                      },
                                      "scopes": [
                                        "https://www.googleapis.com/auth/cloud-platform"
                                      ]
                                    },
                                    "retrieveRendered": {
                                      "description": "RetrieveRenderedFrames returns instances associated with the given study,\nseries, SOP Instance UID and frame numbers in an acceptable Rendered Media\nType. See\n[RetrieveTransaction]\n(http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4).",
                                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered",
                                      "httpMethod": "GET",
                                      "id": "healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered",
                                      "parameterOrder": [
                                        "parent",
                                        "dicomWebPath"
                                      ],
                                      "parameters": {
                                        "dicomWebPath": {
                                          "description": "The path of the RetrieveRenderedFrames DICOMweb request. For example,\n`studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/{frame_list}/rendered`.",
                                          "location": "path",
                                          "pattern": "^studies/[^/]+/series/[^/]+/instances/[^/]+/frames/[^/]+/rendered$",
                                          "required": true,
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "The name of the DICOM store that is being accessed. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
                                          "location": "path",
                                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$",
                                          "required": true,
                                          "type": "string"
                                        }
                                      },
                                      "path": "v1/{+parent}/dicomWeb/{+dicomWebPath}",
                                      "response": {
                                        "$ref": "HttpBody"
                                      },
                                      "scopes": [
                                        "https://www.googleapis.com/auth/cloud-platform"
                                      ]
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "fhirStores": {
                  "methods": {
                    "create": {
                      "description": "Creates a new FHIR store within the parent dataset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.fhirStores.create",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "fhirStoreId": {
                          "description": "The ID of the FHIR store that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the dataset this FHIR store belongs to.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/fhirStores",
                      "request": {
                        "$ref": "FhirStore"
                      },
                      "response": {
                        "$ref": "FhirStore"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "deidentify": {
                      "description": "De-identifies data from the source store and writes it to the destination\nstore. The metadata field type\nis OperationMetadata.\nIf the request is successful, the\nresponse field type is\nDeidentifyFhirStoreSummary. If errors occur,\nerror is set.\nError details are also logged to Cloud Logging\n(see [Viewing logs](/healthcare/docs/how-tos/logging)).",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.fhirStores.deidentify",
                      "parameterOrder": [
                        "sourceStore"
                      ],
                      "parameters": {
                        "sourceStore": {
                          "description": "Source FHIR store resource name. For example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+sourceStore}:deidentify",
                      "request": {
                        "$ref": "DeidentifyFhirStoreRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "delete": {
                      "description": "Deletes the specified FHIR store and removes all resources within it.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
                      "httpMethod": "DELETE",
                      "id": "healthcare.projects.locations.datasets.fhirStores.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The resource name of the FHIR store to delete.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "export": {
                      "description": "Export resources from the FHIR store to the specified destination.\n\nThis method returns an Operation that can\nbe used to track the status of the export by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Cloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)).\nOtherwise, when the operation finishes, a detailed response of type\nExportResourcesResponse is returned in the\nresponse field.\nThe metadata field type for this\noperation is OperationMetadata.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.fhirStores.export",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The name of the FHIR store to export resource from, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}:export",
                      "request": {
                        "$ref": "ExportResourcesRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "description": "Gets the configuration of the specified FHIR store.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.fhirStores.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The resource name of the FHIR store to get.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "FhirStore"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "getIamPolicy": {
                      "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.fhirStores.getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "options.requestedPolicyVersion": {
                          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "response": {
                        "$ref": "Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "import": {
                      "description": "Imports resources to the FHIR store by loading data from the specified\nsources. This method is optimized to load large quantities of data using\nimport semantics that ignore some FHIR store configuration options and are\nnot suitable for all use cases. It is primarily intended to load data into\nan empty FHIR store that is not being used by other clients. In cases\nwhere this method is not appropriate, consider using ExecuteBundle to\nload data.\n\nEvery resource in the input must contain a client-supplied ID. Each\nresource is stored using the supplied ID regardless of the\nenable_update_create setting on the FHIR\nstore.\n\nThe import process does not enforce referential integrity, regardless of\nthe\ndisable_referential_integrity\nsetting on the FHIR store. This allows the import of resources with\narbitrary interdependencies without considering grouping or ordering, but\nif the input data contains invalid references or if some resources fail to\nbe imported, the FHIR store might be left in a state that violates\nreferential integrity.\n\nThe import process does not trigger Pub/Sub notification or BigQuery\nstreaming update, regardless of how those are configured on the FHIR store.\n\nIf a resource with the specified ID already exists, the most recent\nversion of the resource is overwritten without creating a new historical\nversion, regardless of the\ndisable_resource_versioning\nsetting on the FHIR store. If transient failures occur during the import,\nit's possible that successfully imported resources will be overwritten\nmore than once.\n\nThe import operation is idempotent unless the input data contains multiple\nvalid resources with the same ID but different contents. In that case,\nafter the import completes, the store contains exactly one resource\nwith that ID but there is no ordering guarantee on which version of the\ncontents it will have. The operation result counters do not count\nduplicate IDs as an error and count one success for each resource in\nthe input, which might result in a success count larger than the number\nof resources in the FHIR store. This often occurs when importing data\norganized in bundles produced by Patient-everything\nwhere each bundle contains its own copy of a resource such as Practitioner\nthat might be referred to by many patients.\n\nIf some resources fail to import, for example due to parsing errors,\nsuccessfully imported resources are not rolled back.\n\nThe location and format of the input data is specified by the parameters\nbelow. Note that if no format is specified, this method assumes the\n`BUNDLE` format. When using the `BUNDLE` format this method ignores the\n`Bundle.type` field, except that `history` bundles are rejected, and does\nnot apply any of the bundle processing semantics for batch or transaction\nbundles. Unlike in ExecuteBundle, transaction bundles are not executed\nas a single transaction and bundle-internal references are not rewritten.\nThe bundle is treated as a collection of resources to be written as\nprovided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As\nan example, this allows the import of `searchset` bundles produced by a\nFHIR search or\nPatient-everything operation.\n\nThis method returns an Operation that can\nbe used to track the status of the import by calling\nGetOperation.\n\nImmediate fatal errors appear in the\nerror field, errors are also logged\nto Cloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)). Otherwise, when the\noperation finishes, a detailed response of type ImportResourcesResponse\nis returned in the response field.\nThe metadata field type for this\noperation is OperationMetadata.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.fhirStores.import",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The name of the FHIR store to import FHIR resources to, in the format of\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}:import",
                      "request": {
                        "$ref": "ImportResourcesRequest"
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Lists the FHIR stores in the given dataset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.fhirStores.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "filter": {
                          "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported, for example `labels.key=value`.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Limit on the number of FHIR stores to return in a single response.  If zero\nthe default page size of 100 is used.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "The next_page_token value returned from the previous List request, if any.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Name of the dataset.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/fhirStores",
                      "response": {
                        "$ref": "ListFhirStoresResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "description": "Updates the configuration of the specified FHIR store.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}",
                      "httpMethod": "PATCH",
                      "id": "healthcare.projects.locations.datasets.fhirStores.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Output only. Resource name of the FHIR store, of the form\n`projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                          "format": "google-fieldmask",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "request": {
                        "$ref": "FhirStore"
                      },
                      "response": {
                        "$ref": "FhirStore"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "setIamPolicy": {
                      "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.fhirStores.setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:setIamPolicy",
                      "request": {
                        "$ref": "SetIamPolicyRequest"
                      },
                      "response": {
                        "$ref": "Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "testIamPermissions": {
                      "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.fhirStores.testIamPermissions",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "request": {
                        "$ref": "TestIamPermissionsRequest"
                      },
                      "response": {
                        "$ref": "TestIamPermissionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  },
                  "resources": {
                    "fhir": {
                      "methods": {
                        "Patient-everything": {
                          "description": "Retrieves a Patient resource and resources related to that patient.\n\nImplements the FHIR extended operation Patient-everything\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything),\n[R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)).\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\noperation.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe resources in scope for the response are:\n\n* The patient resource itself.\n* All the resources directly referenced by the patient resource.\n* Resources directly referencing the patient resource that meet the\n  inclusion criteria. The inclusion criteria are based on the membership\n  rules in the patient compartment definition\n  ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html),\n  [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html),\n  [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which\n  details the eligible resource types and referencing search parameters.\n\nFor samples that show how to call `Patient-everything`, see\n[Getting all patient compartment\nresources](/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "_count": {
                              "description": "Maximum number of resources in a page. Defaults to 100.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "_page_token": {
                              "description": "Used to retrieve the next or previous page of results\nwhen using pagination. Set `_page_token` to the value of _page_token set\nin next or previous page links' url. Next and previous page are returned\nin the response bundle's links field, where `link.relation` is \"previous\"\nor \"next\".\n\nOmit `_page_token` if no previous request has been made.",
                              "location": "query",
                              "type": "string"
                            },
                            "_since": {
                              "description": "If provided, only resources updated after this time are\nreturned. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz.\nFor example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`.\nThe time must be specified to the second and include a time zone.",
                              "location": "query",
                              "type": "string"
                            },
                            "_type": {
                              "description": "String of comma-delimited FHIR resource types. If provided, only resources\nof the specified resource type(s) are returned.",
                              "location": "query",
                              "type": "string"
                            },
                            "end": {
                              "description": "The response includes records prior to the end date. If no end date is\nprovided, all records subsequent to the start date are in scope.",
                              "location": "query",
                              "type": "string"
                            },
                            "name": {
                              "description": "Name of the `Patient` resource for which the information is required.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "start": {
                              "description": "The response includes records subsequent to the start date. If no start\ndate is provided, all records prior to the end date are in scope.",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}/$everything",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "Resource-purge": {
                          "description": "Deletes all the historical versions of a resource (excluding the current\nversion) from the FHIR store. To remove all versions of a resource, first\ndelete the current version and then call this method.\n\nThis is not a FHIR standard operation.\n\nFor samples that show how to call `Resource-purge`, see\n[Deleting historical versions of a FHIR\nresource](/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_of_a_fhir_resource).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge",
                          "httpMethod": "DELETE",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the resource to purge.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}/$purge",
                          "response": {
                            "$ref": "Empty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "capabilities": {
                          "description": "Gets the FHIR capability statement\n([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)),\nor the [conformance\nstatement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html)\nin the DSTU2 case for the store, which contains a description of\nfunctionality supported by the server.\n\nImplements the FHIR standard capabilities interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)),\nor the [conformance\ninteraction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance)\nin the DSTU2 case.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `CapabilityStatement` resource.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.capabilities",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "Name of the FHIR store to retrieve the capabilities for.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}/fhir/metadata",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "create": {
                          "description": "Creates a FHIR resource.\n\nImplements the FHIR standard create interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)),\nwhich creates a new resource with a server-assigned resource ID.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource as it was created on the server, including the\nserver-assigned resource ID and version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nFor samples that show how to call `create`, see\n[Creating a FHIR\nresource](/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}",
                          "httpMethod": "POST",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.create",
                          "parameterOrder": [
                            "parent",
                            "type"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "The name of the FHIR store this resource belongs to.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "type": {
                              "description": "The FHIR resource type to create, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).\nMust match the resource type in the provided content.",
                              "location": "path",
                              "pattern": "^[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/fhir/{+type}",
                          "request": {
                            "$ref": "HttpBody"
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "delete": {
                          "description": "Deletes a FHIR resource.\n\nImplements the FHIR standard delete interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)).\n\nNote: Unless resource versioning is disabled by setting the\ndisable_resource_versioning flag\non the FHIR store, the deleted resources will be moved to a history\nrepository that can still be retrieved through vread\nand related methods, unless they are removed by the\npurge method.\n\nFor samples that show how to call `delete`, see\n[Deleting a FHIR\nresource](/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
                          "httpMethod": "DELETE",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.delete",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the resource to delete.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "executeBundle": {
                          "description": "Executes all the requests in the given Bundle.\n\nImplements the FHIR standard batch/transaction interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#transaction)).\n\nSupports all interactions within a bundle, except search. This method\naccepts Bundles of type `batch` and `transaction`, processing them\naccording to the batch processing rules\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#brules))\nand transaction processing rules\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#trules)).\n\nThe request body must contain a JSON-encoded FHIR `Bundle` resource, and\nthe request headers must contain `Content-Type: application/fhir+json`.\n\nFor a batch bundle or a successful transaction the response body will\ncontain a JSON-encoded representation of a `Bundle` resource of type\n`batch-response` or `transaction-response` containing one entry for each\nentry in the request, with the outcome of processing the entry. In the\ncase of an error for a transaction bundle, the response body will contain\na JSON-encoded `OperationOutcome` resource describing the reason for the\nerror. If the request cannot be mapped to a valid API method on a FHIR\nstore, a generic GCP error might be returned instead.\n\nFor samples that show how to call `executeBundle`, see\n[Managing FHIR resources using FHIR\nbundles](/healthcare/docs/how-tos/fhir-bundles).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir",
                          "httpMethod": "POST",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Name of the FHIR store in which this bundle will be executed.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/fhir",
                          "request": {
                            "$ref": "HttpBody"
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "history": {
                          "description": "Lists all the versions of a resource (including the current version and\ndeleted versions) from the FHIR store.\n\nImplements the per-resource form of the FHIR standard history interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)).\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `history`, containing the version history\nsorted from most recent to oldest versions.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nFor samples that show how to call `history`, see\n[Listing FHIR resource\nversions](/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_versions).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.history",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "_at": {
                              "description": "Only include resource versions that were current at some point during the\ntime period specified in the date time value. The date parameter format is\nyyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm]\n\nClients may specify any of the following:\n\n*  An entire year: `_at=2019`\n*  An entire month: `_at=2019-01`\n*  A specific day: `_at=2019-01-20`\n*  A specific second: `_at=2018-12-31T23:59:58Z`",
                              "location": "query",
                              "type": "string"
                            },
                            "_count": {
                              "description": "The maximum number of search results on a page. Defaults to 1000.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "_page_token": {
                              "description": "Used to retrieve the first, previous, next, or last page of resource\nversions when using pagination. Value should be set to the value of\n`_page_token` set in next or previous page links' URLs. Next and previous\npage are returned in the response bundle's links field, where\n`link.relation` is \"previous\" or \"next\".\n\nOmit `_page_token` if no previous request has been made.",
                              "location": "query",
                              "type": "string"
                            },
                            "_since": {
                              "description": "Only include resource versions that were created at or after the given\ninstant in time. The instant in time uses the format\nYYYY-MM-DDThh:mm:ss.sss+zz:zz (for example 2015-02-07T13:28:17.239+02:00 or\n2017-01-01T00:00:00Z). The time must be specified to the second and\ninclude a time zone.",
                              "location": "query",
                              "type": "string"
                            },
                            "name": {
                              "description": "The name of the resource to retrieve.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}/_history",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "patch": {
                          "description": "Updates part of an existing resource by applying the operations specified\nin a [JSON Patch](http://jsonpatch.com/) document.\n\nImplements the FHIR standard patch interaction\n([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)).\n\nDSTU2 doesn't define a patch method, but the server supports it in the same\nway it supports STU3.\n\nThe request body must contain a JSON Patch document, and the request\nheaders must contain `Content-Type: application/json-patch+json`.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nFor samples that show how to call `patch`, see\n[Patching a FHIR\nresource](/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
                          "httpMethod": "PATCH",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.patch",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the resource to update.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "request": {
                            "$ref": "HttpBody"
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "read": {
                          "description": "Gets the contents of a FHIR resource.\n\nImplements the FHIR standard read interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)).\n\nAlso supports the FHIR standard conditional read interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread))\nspecified by supplying an `If-Modified-Since` header with a date/time value\nor an `If-None-Match` header with an ETag value.\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nFor samples that show how to call `read`, see\n[Getting a FHIR\nresource](/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.read",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the resource to retrieve.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "search": {
                          "description": "Searches for resources in the given FHIR store according to criteria\nspecified as query parameters.\n\nImplements the FHIR standard search interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#search))\nusing the search semantics described in the FHIR Search specification\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/search.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/search.html)).\n\nSupports three methods of search defined by the specification:\n\n*  `GET [base]?[parameters]` to search across all resources.\n*  `GET [base]/[type]?[parameters]` to search resources of a specified\ntype.\n*  `POST [base]/[type]/_search?[parameters]` as an alternate form having\nthe same semantics as the `GET` method.\n\nThe `GET` methods do not support compartment searches. The `POST` method\ndoes not support `application/x-www-form-urlencoded` search parameters.\n\nOn success, the response body will contain a JSON-encoded representation\nof a `Bundle` resource of type `searchset`, containing the results of the\nsearch.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nThe server's capability statement, retrieved through\ncapabilities, indicates what search parameters\nare supported on each FHIR resource. A list of all search parameters\ndefined by the specification can be found in the FHIR Search Parameter\nRegistry\n([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)).\nFHIR search parameters for DSTU2 can be found on each resource's definition\npage.\n\nSupported search modifiers: `:missing`, `:exact`, `:contains`, `:text`,\n`:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`.\n\nSupported search result parameters: `_sort`, `_count`, `_include`,\n`_revinclude`, `_summary=text`, `_summary=data`, and `_elements`.\n\nThe maximum number of search results returned defaults to 100, which can\nbe overridden by the `_count` parameter up to a maximum limit of 1000. If\nthere are additional results, the returned `Bundle` will contain\npagination links.\n\nResources with a total size larger than 5MB or a field count larger than\n50,000 might not be fully searchable as the server might trim its generated\nsearch index in those cases.\n\nNote: FHIR resources are indexed asynchronously, so there might be a slight\ndelay between the time a resource is created or changes and when the change\nis reflected in search results.\n\nFor samples and detailed information, see [Searching for FHIR\nresources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search\nfeatures](/healthcare/docs/how-tos/fhir-advanced-search).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search",
                          "httpMethod": "POST",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.search",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "Name of the FHIR store to retrieve resources from.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/fhir/_search",
                          "request": {
                            "$ref": "SearchResourcesRequest"
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "update": {
                          "description": "Updates the entire contents of a resource.\n\nImplements the FHIR standard update interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)).\n\nIf the specified resource does\nnot exist and the FHIR store has\nenable_update_create set, creates the\nresource with the client-specified ID.\n\nThe request body must contain a JSON-encoded FHIR resource, and the request\nheaders must contain `Content-Type: application/fhir+json`. The resource\nmust contain an `id` element having an identical value to the ID in the\nREST path of the request.\n\nOn success, the response body will contain a JSON-encoded representation\nof the updated resource, including the server-assigned version ID.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nFor samples that show how to call `update`, see\n[Updating a FHIR\nresource](/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}",
                          "httpMethod": "PUT",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.update",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the resource to update.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "request": {
                            "$ref": "HttpBody"
                          },
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "vread": {
                          "description": "Gets the contents of a version (current or historical) of a FHIR resource\nby version ID.\n\nImplements the FHIR standard vread interaction\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread),\n[R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)).\n\nOn success, the response body will contain a JSON-encoded representation\nof the resource.\nErrors generated by the FHIR store will contain a JSON-encoded\n`OperationOutcome` resource describing the reason for the error. If the\nrequest cannot be mapped to a valid API method on a FHIR store, a generic\nGCP error might be returned instead.\n\nFor samples that show how to call `vread`, see\n[Retrieving a FHIR resource\nversion](/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_version).",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.fhirStores.fhir.vread",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The name of the resource version to retrieve.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/[^/]+/[^/]+/_history/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "response": {
                            "$ref": "HttpBody"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    }
                  }
                },
                "hl7V2Stores": {
                  "methods": {
                    "create": {
                      "description": "Creates a new HL7v2 store within the parent dataset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.create",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "hl7V2StoreId": {
                          "description": "The ID of the HL7v2 store that is being created.\nThe string must match the following regex: `[\\p{L}\\p{N}_\\-\\.]{1,256}`.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "The name of the dataset this HL7v2 store belongs to.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/hl7V2Stores",
                      "request": {
                        "$ref": "Hl7V2Store"
                      },
                      "response": {
                        "$ref": "Hl7V2Store"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "delete": {
                      "description": "Deletes the specified HL7v2 store and removes all messages that it\ncontains.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
                      "httpMethod": "DELETE",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The resource name of the HL7v2 store to delete.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Empty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "description": "Gets the specified HL7v2 store.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The resource name of the HL7v2 store to get.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Hl7V2Store"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "getIamPolicy": {
                      "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "options.requestedPolicyVersion": {
                          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:getIamPolicy",
                      "response": {
                        "$ref": "Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Lists the HL7v2 stores in the given dataset.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "filter": {
                          "description": "Restricts stores returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\nOnly filtering on labels is supported. For example, `labels.key=value`.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Limit on the number of HL7v2 stores to return in a single response.\nIf zero the default page size of 100 is used.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "The next_page_token value returned from the previous List request, if any.",
                          "location": "query",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Name of the dataset.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+parent}/hl7V2Stores",
                      "response": {
                        "$ref": "ListHl7V2StoresResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "description": "Updates the HL7v2 store.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}",
                      "httpMethod": "PATCH",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                          "required": true,
                          "type": "string"
                        },
                        "updateMask": {
                          "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                          "format": "google-fieldmask",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "request": {
                        "$ref": "Hl7V2Store"
                      },
                      "response": {
                        "$ref": "Hl7V2Store"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "setIamPolicy": {
                      "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:setIamPolicy",
                      "request": {
                        "$ref": "SetIamPolicyRequest"
                      },
                      "response": {
                        "$ref": "Policy"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "testIamPermissions": {
                      "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions",
                      "parameterOrder": [
                        "resource"
                      ],
                      "parameters": {
                        "resource": {
                          "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+resource}:testIamPermissions",
                      "request": {
                        "$ref": "TestIamPermissionsRequest"
                      },
                      "response": {
                        "$ref": "TestIamPermissionsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  },
                  "resources": {
                    "messages": {
                      "methods": {
                        "create": {
                          "description": "Parses and stores an HL7v2 message. This method triggers an asynchronous\nnotification to any Cloud Pub/Sub topic configured in\nprojects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if the\nfiltering matches the message. If an MLLP adapter is configured to listen\nto a Cloud Pub/Sub topic, the adapter transmits the message when a\nnotification is received.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
                          "httpMethod": "POST",
                          "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.create",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "The name of the dataset this message belongs to.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/messages",
                          "request": {
                            "$ref": "CreateMessageRequest"
                          },
                          "response": {
                            "$ref": "Message"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "delete": {
                          "description": "Deletes an HL7v2 message.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
                          "httpMethod": "DELETE",
                          "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.delete",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The resource name of the HL7v2 message to delete.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "response": {
                            "$ref": "Empty"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "get": {
                          "description": "Gets an HL7v2 message.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.get",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "The resource name of the HL7v2 message to retrieve.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "view": {
                              "description": "Specifies which parts of the Message resource to return in the response.\nWhen unspecified, equivalent to FULL.",
                              "enum": [
                                "MESSAGE_VIEW_UNSPECIFIED",
                                "RAW_ONLY",
                                "PARSED_ONLY",
                                "FULL",
                                "BASIC"
                              ],
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "response": {
                            "$ref": "Message"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "ingest": {
                          "description": "Parses and stores an HL7v2 message. This method triggers an asynchronous\nnotification to any Cloud Pub/Sub topic configured in\nprojects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if the\nfiltering matches the message. If an MLLP adapter is configured to listen\nto a Cloud Pub/Sub topic, the adapter transmits the message when a\nnotification is received. This method also generates a response\ncontaining an HL7v2 acknowledgement (`ACK`) message when successful or a\nnegative acknowledgement (`NACK`) message in case of error, suitable for\nreplying to HL7v2 interface systems that expect these acknowledgements.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest",
                          "httpMethod": "POST",
                          "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "parent": {
                              "description": "The name of the HL7v2 store this message belongs to.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/messages:ingest",
                          "request": {
                            "$ref": "IngestMessageRequest"
                          },
                          "response": {
                            "$ref": "IngestMessageResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "list": {
                          "description": "Lists all the messages in the given HL7v2 store with support for filtering.\n\nNote: HL7v2 messages are indexed asynchronously, so there might be a slight\ndelay between the time a message is created and when it can be found\nthrough a filter.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages",
                          "httpMethod": "GET",
                          "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.list",
                          "parameterOrder": [
                            "parent"
                          ],
                          "parameters": {
                            "filter": {
                              "description": "Restricts messages returned to those matching a filter. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nFields/functions available for filtering are:\n\n*  `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n*  `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date \u003c \"2017-01-02\"`.\n*  `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time \u003c \"2017-01-02T00:00:00-05:00\"`.\n*  `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n*  `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n*  `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be used\nto assert the existence of a label. For example, `labels.\"priority\":*`.",
                              "location": "query",
                              "type": "string"
                            },
                            "orderBy": {
                              "description": "Orders messages returned by the specified order_by clause.\nSyntax: https://cloud.google.com/apis/design/design_patterns#sorting_order\n\nFields available for ordering are:\n\n*  `send_time`",
                              "location": "query",
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "Limit on the number of messages to return in a single response.\nIf zero the default page size of 100 is used.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "pageToken": {
                              "description": "The next_page_token value returned from the previous List request, if any.",
                              "location": "query",
                              "type": "string"
                            },
                            "parent": {
                              "description": "Name of the HL7v2 store to retrieve messages from.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "view": {
                              "description": "Specifies the parts of the Message to return in the response.\nWhen unspecified, equivalent to BASIC. Setting this to anything other than\nBASIC with a `page_size` larger than the default can generate a large\nresponse, which impacts the performance of this method.",
                              "enum": [
                                "MESSAGE_VIEW_UNSPECIFIED",
                                "RAW_ONLY",
                                "PARSED_ONLY",
                                "FULL",
                                "BASIC"
                              ],
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1/{+parent}/messages",
                          "response": {
                            "$ref": "ListMessagesResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "patch": {
                          "description": "Update the message.\n\nThe contents of the message in Message.data and data extracted from\nthe contents such as Message.create_time cannot be altered. Only the\nMessage.labels field is allowed to be updated. The labels in the\nrequest are merged with the existing set of labels. Existing labels with\nthe same keys are updated.",
                          "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}",
                          "httpMethod": "PATCH",
                          "id": "healthcare.projects.locations.datasets.hl7V2Stores.messages.patch",
                          "parameterOrder": [
                            "name"
                          ],
                          "parameters": {
                            "name": {
                              "description": "Resource name of the Message, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`.\nAssigned by the server.",
                              "location": "path",
                              "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+/messages/[^/]+$",
                              "required": true,
                              "type": "string"
                            },
                            "updateMask": {
                              "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                              "format": "google-fieldmask",
                              "location": "query",
                              "type": "string"
                            }
                          },
                          "path": "v1/{+name}",
                          "request": {
                            "$ref": "Message"
                          },
                          "response": {
                            "$ref": "Message"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    }
                  }
                },
                "operations": {
                  "methods": {
                    "cancel": {
                      "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel",
                      "httpMethod": "POST",
                      "id": "healthcare.projects.locations.datasets.operations.cancel",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The name of the operation resource to be cancelled.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}:cancel",
                      "request": {
                        "$ref": "CancelOperationRequest"
                      },
                      "response": {
                        "$ref": "Empty"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.operations.get",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "The name of the operation resource.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}",
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
                      "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations",
                      "httpMethod": "GET",
                      "id": "healthcare.projects.locations.datasets.operations.list",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "filter": {
                          "description": "The standard list filter.",
                          "location": "query",
                          "type": "string"
                        },
                        "name": {
                          "description": "The name of the operation's parent resource.",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The standard list page size.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "The standard list page token.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "v1/{+name}/operations",
                      "response": {
                        "$ref": "ListOperationsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20200813",
  "rootUrl": "https://healthcare.googleapis.com/",
  "schemas": {
    "AuditConfig": {
      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
      "id": "AuditConfig",
      "properties": {
        "auditLogConfigs": {
          "description": "The configuration for logging of each type of permission.",
          "items": {
            "$ref": "AuditLogConfig"
          },
          "type": "array"
        },
        "service": {
          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AuditLogConfig": {
      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
      "id": "AuditLogConfig",
      "properties": {
        "exemptedMembers": {
          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "logType": {
          "description": "The log type that this config enables.",
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ],
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Binding": {
      "description": "Associates `members` with a `role`.",
      "id": "Binding",
      "properties": {
        "condition": {
          "$ref": "Expr",
          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
        },
        "members": {
          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "role": {
          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CancelOperationRequest": {
      "description": "The request message for Operations.CancelOperation.",
      "id": "CancelOperationRequest",
      "properties": {},
      "type": "object"
    },
    "CharacterMaskConfig": {
      "description": "Mask a string by replacing its characters with a fixed character.",
      "id": "CharacterMaskConfig",
      "properties": {
        "maskingCharacter": {
          "description": "Character to mask the sensitive values. If not supplied, defaults to \"*\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateMessageRequest": {
      "description": "Creates a new message.",
      "id": "CreateMessageRequest",
      "properties": {
        "message": {
          "$ref": "Message",
          "description": "HL7v2 message."
        }
      },
      "type": "object"
    },
    "CryptoHashConfig": {
      "description": "Pseudonymization method that generates surrogates via cryptographic hashing.\nUses SHA-256.\nOutputs a base64-encoded representation of the hashed output\n(for example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`).",
      "id": "CryptoHashConfig",
      "properties": {
        "cryptoKey": {
          "description": "An AES 128/192/256 bit key. Causes the hash to be computed based on this\nkey. A default key is generated for each Deidentify operation and is used\nwherever crypto_key is not specified.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Dataset": {
      "description": "A message representing a health dataset.\n\nA health dataset represents a collection of healthcare data pertaining to one\nor more patients. This may include multiple modalities of healthcare data,\nsuch as electronic medical records or medical imaging data.",
      "id": "Dataset",
      "properties": {
        "name": {
          "description": "Resource name of the dataset, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.",
          "type": "string"
        },
        "timeZone": {
          "description": "The default timezone used by this dataset. Must be a either a valid IANA\ntime zone name such as \"America/New_York\" or empty, which defaults to UTC.\nThis is used for parsing times in resources, such as HL7 messages, where no\nexplicit timezone is specified.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DateShiftConfig": {
      "description": "Shift a date forward or backward in time by a random amount which is\nconsistent for a given patient and crypto key combination.",
      "id": "DateShiftConfig",
      "properties": {
        "cryptoKey": {
          "description": "An AES 128/192/256 bit key. Causes the shift to be computed based on this\nkey and the patient ID. A default key is generated for each\nDeidentify operation and is used wherever crypto_key is not specified.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeidentifyConfig": {
      "description": "Configures de-id options specific to different types of content.\nEach submessage customizes the handling of an\nhttps://tools.ietf.org/html/rfc6838 media type or subtype. Configs are\napplied in a nested manner at runtime.",
      "id": "DeidentifyConfig",
      "properties": {
        "dicom": {
          "$ref": "DicomConfig",
          "description": "Configures de-id of application/DICOM content."
        },
        "fhir": {
          "$ref": "FhirConfig",
          "description": "Configures de-id of application/FHIR content."
        },
        "image": {
          "$ref": "ImageConfig",
          "description": "Configures de-identification of image pixels wherever they are found in the\nsource_dataset."
        },
        "text": {
          "$ref": "TextConfig",
          "description": "Configures de-identification of text wherever it is found in the\nsource_dataset."
        }
      },
      "type": "object"
    },
    "DeidentifyDatasetRequest": {
      "description": "Redacts identifying information from the specified dataset.",
      "id": "DeidentifyDatasetRequest",
      "properties": {
        "config": {
          "$ref": "DeidentifyConfig",
          "description": "Deidentify configuration."
        },
        "destinationDataset": {
          "description": "The name of the dataset resource to create and write the redacted data to.\n\n * The destination dataset must not exist.\n * The destination dataset must be in the same project and location as the\n source dataset. De-identifying data across multiple projects or locations\n is not supported.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeidentifyDicomStoreRequest": {
      "description": "Creates a new DICOM store with sensitive information de-identified.",
      "id": "DeidentifyDicomStoreRequest",
      "properties": {
        "config": {
          "$ref": "DeidentifyConfig",
          "description": "De-identify configuration."
        },
        "destinationStore": {
          "description": "The name of the DICOM store to create and write the redacted data to.\nFor example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.\n\n * The destination dataset must exist.\n * The source dataset and destination dataset must both reside in the same\n   project. De-identifying data across multiple projects is not supported.\n * The destination DICOM store must not exist.\n * The caller must have the necessary permissions to create the destination\n   DICOM store.",
          "type": "string"
        },
        "filterConfig": {
          "$ref": "DicomFilterConfig",
          "description": "Filter configuration."
        }
      },
      "type": "object"
    },
    "DeidentifyFhirStoreRequest": {
      "description": "Creates a new FHIR store with sensitive information de-identified.",
      "id": "DeidentifyFhirStoreRequest",
      "properties": {
        "config": {
          "$ref": "DeidentifyConfig",
          "description": "Deidentify configuration."
        },
        "destinationStore": {
          "description": "The name of the FHIR store to create and write the redacted data to.\nFor example,\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.\n\n * The destination dataset must exist.\n * The source dataset and destination dataset must both reside in the same\n   project. De-identifying data across multiple projects is not supported.\n * The destination FHIR store must exist.\n * The caller must have the healthcare.fhirResources.update permission to\n   write to the destination FHIR store.",
          "type": "string"
        },
        "resourceFilter": {
          "$ref": "FhirFilter",
          "description": "A filter specifying the resources to include in the output. If not\nspecified, all resources are included in the output."
        }
      },
      "type": "object"
    },
    "DeidentifySummary": {
      "description": "Contains a summary of the Deidentify operation.",
      "id": "DeidentifySummary",
      "properties": {},
      "type": "object"
    },
    "DicomConfig": {
      "description": "Specifies the parameters needed for de-identification of DICOM stores.",
      "id": "DicomConfig",
      "properties": {
        "filterProfile": {
          "description": "Tag filtering profile that determines which tags to keep/remove.",
          "enum": [
            "TAG_FILTER_PROFILE_UNSPECIFIED",
            "MINIMAL_KEEP_LIST_PROFILE",
            "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE",
            "KEEP_ALL_PROFILE",
            "DEIDENTIFY_TAG_CONTENTS"
          ],
          "enumDescriptions": [
            "No tag filtration profile provided. Same as KEEP_ALL_PROFILE.",
            "Keep only tags required to produce valid DICOM.",
            "Remove tags based on DICOM Standard's Attribute Confidentiality Basic\nProfile (DICOM Standard Edition 2018e)\nhttp://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html.",
            "Keep all tags.",
            "Inspects within tag contents and replaces sensitive text. The process\ncan be configured using the TextConfig.\nApplies to all tags with the following Value Representation names:\nAE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS"
          ],
          "type": "string"
        },
        "keepList": {
          "$ref": "TagFilterList",
          "description": "List of tags to keep. Remove all other tags."
        },
        "removeList": {
          "$ref": "TagFilterList",
          "description": "List of tags to remove. Keep all other tags."
        },
        "skipIdRedaction": {
          "description": "If true, skip replacing StudyInstanceUID, SeriesInstanceUID,\nSOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched.\nThe Cloud Healthcare API regenerates these UIDs by default based on the\nDICOM Standard's reasoning: \"Whilst these UIDs cannot be mapped directly\nto an individual out of context, given access to the original images, or\nto a database of the original images containing the UIDs, it would be\npossible to recover the individual's identity.\"\nhttp://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "DicomFilterConfig": {
      "description": "Specifies the filter configuration for DICOM resources.",
      "id": "DicomFilterConfig",
      "properties": {
        "resourcePathsGcsUri": {
          "description": "The Cloud Storage location of the filter configuration file.\nThe `gcs_uri` must be in the format `gs://bucket/path/to/object`.\nThe filter configuration file must contain a list of resource paths\nseparated by newline characters (\\n or \\r\\n). Each resource path\nmust be in the format\n\"/studies/{studyUID}[/series/{seriesUID}[/instances/{instanceUID}]]\"\n\nThe Cloud Healthcare API service account must have the\n`roles/storage.objectViewer` Cloud IAM role for this Cloud Storage\nlocation.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DicomStore": {
      "description": "Represents a DICOM store.",
      "id": "DicomStore",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "User-supplied key-value pairs used to organize DICOM stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.",
          "type": "object"
        },
        "name": {
          "description": "Resource name of the DICOM store, of the form\n`projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.",
          "type": "string"
        },
        "notificationConfig": {
          "$ref": "NotificationConfig",
          "description": "Notification destination for new DICOM instances.\nSupplied by the client."
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "ExportDicomDataRequest": {
      "description": "Exports data from the specified DICOM store.\nIf a given resource, such as a DICOM object with the same SOPInstance UID,\nalready exists in the output, it is overwritten with the version\nin the source dataset.\nExported DICOM data persists when the DICOM store from which it was\nexported is deleted.",
      "id": "ExportDicomDataRequest",
      "properties": {
        "bigqueryDestination": {
          "$ref": "GoogleCloudHealthcareV1DicomBigQueryDestination",
          "description": "The BigQuery output destination.\n\nYou can only export to a BigQuery dataset that's in the same project as\nthe DICOM store you're exporting from.\n\nThe BigQuery location requires two IAM roles:\n`roles/bigquery.dataEditor` and `roles/bigquery.jobUser`."
        },
        "gcsDestination": {
          "$ref": "GoogleCloudHealthcareV1DicomGcsDestination",
          "description": "The Cloud Storage output destination.\n\nThe Cloud Storage location requires the `roles/storage.objectAdmin` Cloud\nIAM role."
        }
      },
      "type": "object"
    },
    "ExportDicomDataResponse": {
      "description": "Returns additional information in regards to a completed DICOM store export.",
      "id": "ExportDicomDataResponse",
      "properties": {},
      "type": "object"
    },
    "ExportResourcesRequest": {
      "description": "Request to export resources.",
      "id": "ExportResourcesRequest",
      "properties": {
        "bigqueryDestination": {
          "$ref": "GoogleCloudHealthcareV1FhirBigQueryDestination",
          "description": "The BigQuery output destination.\n\nThe BigQuery location requires two IAM roles:\n`roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.\n\nThe output is one BigQuery table per resource type."
        },
        "gcsDestination": {
          "$ref": "GoogleCloudHealthcareV1FhirGcsDestination",
          "description": "The Cloud Storage output destination.\n\nThe Cloud Storage location requires the `roles/storage.objectAdmin` Cloud\nIAM role.\n\nThe exported outputs are\norganized by FHIR resource types. The server creates one object per\nresource type. Each object contains newline delimited JSON, and each line\nis a FHIR resource."
        }
      },
      "type": "object"
    },
    "ExportResourcesResponse": {
      "description": "Response when all resources export successfully.\nThis structure is included in the\nresponse to describe the detailed\noutcome after the operation finishes successfully.",
      "id": "ExportResourcesResponse",
      "properties": {},
      "type": "object"
    },
    "Expr": {
      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
      "id": "Expr",
      "properties": {
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
          "type": "string"
        },
        "title": {
          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FhirConfig": {
      "description": "Specifies how to handle de-identification of a FHIR store.",
      "id": "FhirConfig",
      "properties": {
        "fieldMetadataList": {
          "description": "Specifies FHIR paths to match and how to transform them. Any field that\nis not matched by a FieldMetadata is passed through to the output\ndataset unmodified. All extensions are removed in the output.",
          "items": {
            "$ref": "FieldMetadata"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FhirFilter": {
      "description": "Filter configuration.",
      "id": "FhirFilter",
      "properties": {
        "resources": {
          "$ref": "Resources",
          "description": "List of resources to include in the output. If this list is empty or\nnot specified, all resources are included in the output."
        }
      },
      "type": "object"
    },
    "FhirStore": {
      "description": "Represents a FHIR store.",
      "id": "FhirStore",
      "properties": {
        "disableReferentialIntegrity": {
          "description": "Whether to disable referential integrity in this FHIR store. This field is\nimmutable after FHIR store creation.\nThe default value is false, meaning that the API enforces referential\nintegrity and fails the requests that result in inconsistent state in\nthe FHIR store.\nWhen this field is set to true, the API skips referential integrity\nchecks. Consequently, operations that rely on references, such as\nGetPatientEverything, do not return all the results if broken references\nexist.",
          "type": "boolean"
        },
        "disableResourceVersioning": {
          "description": "Whether to disable resource versioning for this FHIR store. This field can\nnot be changed after the creation of FHIR store.\nIf set to false, which is the default behavior, all write operations\ncause historical versions to be recorded automatically. The historical\nversions can be fetched through the history APIs, but cannot be updated.\nIf set to true, no historical versions are kept. The server sends\nerrors for attempts to read the historical versions.",
          "type": "boolean"
        },
        "enableUpdateCreate": {
          "description": "Whether this FHIR store has the [updateCreate\ncapability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).\nThis determines if the client can use an Update operation to create a new\nresource with a client-specified ID. If false, all IDs are server-assigned\nthrough the Create operation and attempts to update a non-existent resource\nreturn errors. Please treat the audit logs with appropriate levels of\ncare if client-specified resource IDs contain sensitive data such as\npatient identifiers, those IDs are part of the FHIR resource path\nrecorded in Cloud audit logs and Cloud Pub/Sub notifications.",
          "type": "boolean"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "User-supplied key-value pairs used to organize FHIR stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.",
          "type": "object"
        },
        "name": {
          "description": "Output only. Resource name of the FHIR store, of the form\n`projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.",
          "type": "string"
        },
        "notificationConfig": {
          "$ref": "NotificationConfig",
          "description": "If non-empty, publish all resource modifications of this FHIR store to\nthis destination. The Cloud Pub/Sub message attributes contain a map\nwith a string describing the action that has triggered the notification.\nFor example, \"action\":\"CreateResource\"."
        },
        "streamConfigs": {
          "description": "A list of streaming configs that configure the destinations of streaming\nexport for every resource mutation in this FHIR store. Each store is\nallowed to have up to 10 streaming configs.\nAfter a new config is added, the next resource mutation is streamed to\nthe new location in addition to the existing ones.\nWhen a location is removed from the list, the server stops\nstreaming to that location. Before adding a new config, you must add the\nrequired\n[`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)\nrole to your project's **Cloud Healthcare Service Agent**\n[service account](https://cloud.google.com/iam/docs/service-accounts).\nSome lag (typically on the order of dozens of seconds) is expected before\nthe results show up in the streaming destination.",
          "items": {
            "$ref": "StreamConfig"
          },
          "type": "array"
        },
        "version": {
          "description": "The FHIR specification version that this FHIR store supports natively. This\nfield is immutable after store creation. Requests are rejected if they\ncontain FHIR resources of a different version.",
          "enum": [
            "VERSION_UNSPECIFIED",
            "DSTU2",
            "STU3",
            "R4"
          ],
          "enumDescriptions": [
            "Users must specify a version on store creation or an error is\nreturned.",
            "Draft Standard for Trial Use, [Release 2](https://www.hl7.org/fhir/DSTU2)",
            "Standard for Trial Use, [Release 3](https://www.hl7.org/fhir/STU3)",
            "[Release 4](https://www.hl7.org/fhir/R4)"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "FieldMetadata": {
      "description": "Specifies FHIR paths to match, and how to handle de-identification of\nmatching fields.",
      "id": "FieldMetadata",
      "properties": {
        "action": {
          "description": "Deidentify action for one field.",
          "enum": [
            "ACTION_UNSPECIFIED",
            "TRANSFORM",
            "INSPECT_AND_TRANSFORM",
            "DO_NOT_TRANSFORM"
          ],
          "enumDescriptions": [
            "No action specified.",
            "Transform the entire field.",
            "Inspect and transform any found PHI.",
            "Do not transform."
          ],
          "type": "string"
        },
        "paths": {
          "description": "List of paths to FHIR fields to be redacted. Each path is a\nperiod-separated list where each component is either a field name or\nFHIR type name, for example: Patient, HumanName.\nFor \"choice\" types (those defined in the FHIR spec with the form:\nfield[x]) we use two separate components. For example,\n\"deceasedAge.unit\" is matched by \"Deceased.Age.unit\".\nSupported types are: AdministrativeGenderCode, Code, Date, DateTime,\nDecimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid,\nXhtml.\nBase64Binary is also supported, but may only be kept as-is or have all\nthe content removed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary": {
      "description": "Contains a summary of the DeidentifyDicomStore operation.",
      "id": "GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary": {
      "description": "Contains a summary of the DeidentifyFhirStore operation.",
      "id": "GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudHealthcareV1DicomBigQueryDestination": {
      "description": "The BigQuery table where the server writes the output.",
      "id": "GoogleCloudHealthcareV1DicomBigQueryDestination",
      "properties": {
        "force": {
          "description": "If the destination table already exists and this flag is `TRUE`, the table\nis overwritten by the contents of the DICOM store. If the flag is not\nset and the destination table already exists, the export call returns an\nerror.",
          "type": "boolean"
        },
        "tableUri": {
          "description": "BigQuery URI to a table, up to 2000 characters long, in the format\n`bq://projectId.bqDatasetId.tableId`",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudHealthcareV1DicomGcsDestination": {
      "description": "The Cloud Storage location where the server writes the output and the export\nconfiguration.",
      "id": "GoogleCloudHealthcareV1DicomGcsDestination",
      "properties": {
        "mimeType": {
          "description": "MIME types supported by DICOM spec.\nEach file is written in the following format:\n`.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}`\nThe frame_number component exists only for multi-frame instances.\n\nSupported MIME types are consistent with supported formats in DICOMweb:\nhttps://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.\nSpecifically, the following are supported:\n\n  - application/dicom; transfer-syntax=1.2.840.10008.1.2.1\n    (uncompressed DICOM)\n  - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50\n    (DICOM with embedded JPEG Baseline)\n  - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.90\n    (DICOM with embedded JPEG 2000 Lossless Only)\n  - application/dicom; transfer-syntax=1.2.840.10008.1.2.4.91\n    (DICOM with embedded JPEG 2000)\n  - application/dicom; transfer-syntax=*\n    (DICOM with no transcoding)\n  - application/octet-stream; transfer-syntax=1.2.840.10008.1.2.1\n    (raw uncompressed PixelData)\n  - application/octet-stream; transfer-syntax=*\n    (raw PixelData in whatever format it was uploaded in)\n  - image/jpeg; transfer-syntax=1.2.840.10008.1.2.4.50\n    (Consumer JPEG)\n  - image/png\n\nThe following extensions are used for output files:\n\n - application/dicom -\u003e .dcm\n - image/jpeg -\u003e .jpg\n - image/png -\u003e .png\n - application/octet-stream -\u003e no extension\n\nIf unspecified, the instances are exported in the original\nDICOM format they were uploaded in.",
          "type": "string"
        },
        "uriPrefix": {
          "description": "The Cloud Storage destination to export to.\n\nURI for a Cloud Storage directory where the server writes the result files,\nin the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no\ntrailing slash, the service appends one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudHealthcareV1DicomGcsSource": {
      "description": "Specifies the configuration for importing data from Cloud Storage.",
      "id": "GoogleCloudHealthcareV1DicomGcsSource",
      "properties": {
        "uri": {
          "description": "Points to a Cloud Storage URI containing file(s) with\ncontent only. The URI must be in the following format:\n`gs://{bucket_id}/{object_id}`. The URI can include wildcards in\n`object_id` and thus identify multiple files. Supported wildcards:\n '*' to match 0 or more non-separator characters\n '**' to match 0 or more characters (including separators). Must be used at\n      the end of a path and with no other wildcards in the\n      path. Can also be used with a file extension (such as .dcm), which\n      imports all files with the extension in the specified directory and\n      its sub-directories. For example,\n      `gs://my-bucket/my-directory/**.dcm` imports all files with .dcm\n      extensions in `my-directory/` and its sub-directories.\n '?' to match 1 character\nAll other URI formats are invalid.\nFiles matching the wildcard are expected to contain content only, no\nmetadata.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudHealthcareV1FhirBigQueryDestination": {
      "description": "The configuration for exporting to BigQuery.",
      "id": "GoogleCloudHealthcareV1FhirBigQueryDestination",
      "properties": {
        "datasetUri": {
          "description": "BigQuery URI to an existing  dataset, up to 2000 characters long, in the\nformat `bq://projectId.bqDatasetId`.",
          "type": "string"
        },
        "force": {
          "description": "If this flag is `TRUE`, all tables are deleted from the dataset before\nthe new exported tables are written. If the flag is not set and the\ndestination dataset contains tables, the export call returns an error.",
          "type": "boolean"
        },
        "schemaConfig": {
          "$ref": "SchemaConfig",
          "description": "The configuration for the exported BigQuery schema."
        }
      },
      "type": "object"
    },
    "GoogleCloudHealthcareV1FhirGcsDestination": {
      "description": "The configuration for exporting to Cloud Storage.",
      "id": "GoogleCloudHealthcareV1FhirGcsDestination",
      "properties": {
        "uriPrefix": {
          "description": "URI for a Cloud Storage directory where result files should be written, in\nthe format of `gs://{bucket-id}/{path/to/destination/dir}`. If there is no\ntrailing slash, the service appends one when composing the object path.\nThe user is responsible for creating the Cloud Storage bucket referenced in\n`uri_prefix`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudHealthcareV1FhirGcsSource": {
      "description": "Specifies the configuration for importing data from Cloud Storage.",
      "id": "GoogleCloudHealthcareV1FhirGcsSource",
      "properties": {
        "uri": {
          "description": "Points to a Cloud Storage URI containing file(s) to import.\n\nThe URI must be in the following format: `gs://{bucket_id}/{object_id}`.\nThe URI can include wildcards in `object_id` and thus identify multiple\nfiles. Supported wildcards:\n\n*  `*` to match 0 or more non-separator characters\n*  `**` to match 0 or more characters (including separators). Must be used\nat the end of a path and with no other wildcards in the\npath. Can also be used with a file extension (such as .ndjson), which\nimports all files with the extension in the specified directory and\nits sub-directories. For example, `gs://my-bucket/my-directory/**.ndjson`\nimports all files with `.ndjson` extensions in `my-directory/` and its\nsub-directories.\n*  `?` to match 1 character\n\nFiles matching the wildcard are expected to contain content only, no\nmetadata.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Hl7V2NotificationConfig": {
      "description": "Specifies where and whether to send notifications upon changes to a\ndata store.",
      "id": "Hl7V2NotificationConfig",
      "properties": {
        "filter": {
          "description": "Restricts notifications sent for messages matching a filter. If this is\nempty, all messages are matched. Syntax:\nhttps://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nThe following fields and functions are available for filtering:\n\n*  `message_type`, from the MSH-9.1 field. For example,\n`NOT message_type = \"ADT\"`.\n*  `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in\nthe dataset's time_zone, from the MSH-7 segment. For example,\n`send_date \u003c \"2017-01-02\"`.\n*  `send_time`, the timestamp when the message was sent, using the\nRFC3339 time format for comparisons, from the MSH-7 segment. For example,\n`send_time \u003c \"2017-01-02T00:00:00-05:00\"`.\n*  `send_facility`, the care center that the message came from, from the\nMSH-4 segment. For example, `send_facility = \"ABC\"`.\n*  `PatientId(value, type)`, which matches if the message lists a patient\nhaving an ID of the given value and type in the PID-2, PID-3, or PID-4\nsegments. For example, `PatientId(\"123456\", \"MRN\")`.\n*  `labels.x`, a string value of the label with key `x` as set using the\nMessage.labels\nmap. For example, `labels.\"priority\"=\"high\"`. The operator `:*` can be\nused to assert the existence of a label. For example,\n`labels.\"priority\":*`.",
          "type": "string"
        },
        "pubsubTopic": {
          "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client.\n\nThe notification is a `PubsubMessage` with the following fields:\n\n*  `PubsubMessage.Data` contains the resource name.\n*  `PubsubMessage.MessageId` is the ID of this notification. It's\n   guaranteed to be unique within the topic.\n*  `PubsubMessage.PublishTime` is the time when the message was\n   published.\n\nNote that notifications are only sent if the topic is non-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be\nscoped to a project.\n\nThe Cloud Healthcare API service account,\nservice-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com,\nmust have\npublisher permissions on the given Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification cannot be published to Cloud Pub/Sub, errors are\nlogged to Cloud Logging. For more information, see\n[Viewing error logs in Cloud Logging](/healthcare/docs/how-tos/logging)).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Hl7V2Store": {
      "description": "Represents an HL7v2 store.",
      "id": "Hl7V2Store",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "User-supplied key-value pairs used to organize HL7v2 stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.",
          "type": "object"
        },
        "name": {
          "description": "Resource name of the HL7v2 store, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.",
          "type": "string"
        },
        "notificationConfigs": {
          "description": "A list of notification configs. Each configuration uses a filter to\ndetermine whether to publish a message (both Ingest \u0026 Create) on\nthe corresponding notification destination. Only the message name is sent\nas part of the notification. Supplied by the client.",
          "items": {
            "$ref": "Hl7V2NotificationConfig"
          },
          "type": "array"
        },
        "parserConfig": {
          "$ref": "ParserConfig",
          "description": "The configuration for the parser. It determines how the server parses the\nmessages."
        },
        "rejectDuplicateMessage": {
          "description": "Determines whether to reject duplicate messages. A duplicate\nmessage is a message with the same raw bytes as a message that has already\nbeen ingested/created in this HL7v2 store.\nThe default value is false, meaning that the store accepts the duplicate\nmessages and it also returns the same ACK message in the\nIngestMessageResponse as has been returned previously. Note that only\none resource is created in the store.\nWhen this field is set to true,\nCreateMessage/IngestMessage\nrequests with a duplicate message will be rejected by the store, and\nIngestMessageErrorDetail returns a NACK message upon rejection.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "HttpBody": {
      "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n    message GetResourceRequest {\n      // A unique request id.\n      string request_id = 1;\n\n      // The raw HTTP body is bound to this field.\n      google.api.HttpBody http_body = 2;\n    }\n\n    service ResourceService {\n      rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n      rpc UpdateResource(google.api.HttpBody) returns\n      (google.protobuf.Empty);\n    }\n\nExample with streaming methods:\n\n    service CaldavService {\n      rpc GetCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n      rpc UpdateCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n    }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.",
      "id": "HttpBody",
      "properties": {
        "contentType": {
          "description": "The HTTP Content-Type header value specifying the content type of the body.",
          "type": "string"
        },
        "data": {
          "description": "The HTTP request/response body as raw binary.",
          "format": "byte",
          "type": "string"
        },
        "extensions": {
          "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ImageConfig": {
      "description": "Specifies how to handle de-identification of image pixels.",
      "id": "ImageConfig",
      "properties": {
        "textRedactionMode": {
          "description": "Determines how to redact text from image.",
          "enum": [
            "TEXT_REDACTION_MODE_UNSPECIFIED",
            "REDACT_ALL_TEXT",
            "REDACT_SENSITIVE_TEXT",
            "REDACT_NO_TEXT"
          ],
          "enumDescriptions": [
            "No text redaction specified. Same as REDACT_NO_TEXT.",
            "Redact all text.",
            "Redact sensitive text.",
            "Do not redact text."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ImportDicomDataRequest": {
      "description": "Imports data into the specified DICOM store.\nReturns an error if any of the files to import are not DICOM files. This\nAPI accepts duplicate DICOM instances by ignoring the newly-pushed instance.\nIt does not overwrite.",
      "id": "ImportDicomDataRequest",
      "properties": {
        "gcsSource": {
          "$ref": "GoogleCloudHealthcareV1DicomGcsSource",
          "description": "Cloud Storage source data location and import configuration.\n\nThe Cloud Storage location requires the `roles/storage.objectViewer`\nCloud IAM role."
        }
      },
      "type": "object"
    },
    "ImportDicomDataResponse": {
      "description": "Returns additional information in regards to a completed DICOM store import.",
      "id": "ImportDicomDataResponse",
      "properties": {},
      "type": "object"
    },
    "ImportResourcesRequest": {
      "description": "Request to import resources.",
      "id": "ImportResourcesRequest",
      "properties": {
        "contentStructure": {
          "description": "The content structure in the source location. If not specified, the server\ntreats the input source files as BUNDLE.",
          "enum": [
            "CONTENT_STRUCTURE_UNSPECIFIED",
            "BUNDLE",
            "RESOURCE",
            "BUNDLE_PRETTY",
            "RESOURCE_PRETTY"
          ],
          "enumDescriptions": [
            "If the content structure is not specified, the default value `BUNDLE`\nis used.",
            "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a bundle that contains one or more resources.\nSet the bundle type to `history` to import resource versions.",
            "The source file contains one or more lines of newline-delimited JSON\n(ndjson). Each line is a single resource.",
            "The entire file is one JSON bundle. The JSON can span multiple lines.",
            "The entire file is one JSON resource. The JSON can span multiple lines."
          ],
          "type": "string"
        },
        "gcsSource": {
          "$ref": "GoogleCloudHealthcareV1FhirGcsSource",
          "description": "Cloud Storage source data location and import configuration.\n\nThe Cloud Storage location requires the `roles/storage.objectViewer`\nCloud IAM role.\n\nEach Cloud Storage object should be a text file that contains the format\nspecified in ContentStructure."
        }
      },
      "type": "object"
    },
    "ImportResourcesResponse": {
      "description": "Final response of importing resources.\nThis structure is included in the\nresponse to describe the detailed\noutcome after the operation finishes successfully.",
      "id": "ImportResourcesResponse",
      "properties": {},
      "type": "object"
    },
    "InfoTypeTransformation": {
      "description": "A transformation to apply to text that is identified as a specific\ninfo_type.",
      "id": "InfoTypeTransformation",
      "properties": {
        "characterMaskConfig": {
          "$ref": "CharacterMaskConfig",
          "description": "Config for character mask."
        },
        "cryptoHashConfig": {
          "$ref": "CryptoHashConfig",
          "description": "Config for crypto hash."
        },
        "dateShiftConfig": {
          "$ref": "DateShiftConfig",
          "description": "Config for date shift."
        },
        "infoTypes": {
          "description": "InfoTypes to apply this transformation to. If this is not specified, the\ntransformation applies to any info_type.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "redactConfig": {
          "$ref": "RedactConfig",
          "description": "Config for text redaction."
        },
        "replaceWithInfoTypeConfig": {
          "$ref": "ReplaceWithInfoTypeConfig",
          "description": "Config for replace with InfoType."
        }
      },
      "type": "object"
    },
    "IngestMessageRequest": {
      "description": "Ingests a message into the specified HL7v2 store.",
      "id": "IngestMessageRequest",
      "properties": {
        "message": {
          "$ref": "Message",
          "description": "HL7v2 message to ingest."
        }
      },
      "type": "object"
    },
    "IngestMessageResponse": {
      "description": "Acknowledges that a message has been ingested into the specified\nHL7v2 store.",
      "id": "IngestMessageResponse",
      "properties": {
        "hl7Ack": {
          "description": "HL7v2 ACK message.",
          "format": "byte",
          "type": "string"
        },
        "message": {
          "$ref": "Message",
          "description": "Created message resource."
        }
      },
      "type": "object"
    },
    "ListDatasetsResponse": {
      "description": "Lists the available datasets.",
      "id": "ListDatasetsResponse",
      "properties": {
        "datasets": {
          "description": "The first page of datasets.",
          "items": {
            "$ref": "Dataset"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListDicomStoresResponse": {
      "description": "Lists the DICOM stores in the given dataset.",
      "id": "ListDicomStoresResponse",
      "properties": {
        "dicomStores": {
          "description": "The returned DICOM stores. Won't be more DICOM stores than the value of\npage_size in the request.",
          "items": {
            "$ref": "DicomStore"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListFhirStoresResponse": {
      "description": "Lists the FHIR stores in the given dataset.",
      "id": "ListFhirStoresResponse",
      "properties": {
        "fhirStores": {
          "description": "The returned FHIR stores. Won't be more FHIR stores than the value of\npage_size in the request.",
          "items": {
            "$ref": "FhirStore"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListHl7V2StoresResponse": {
      "description": "Lists the HL7v2 stores in the given dataset.",
      "id": "ListHl7V2StoresResponse",
      "properties": {
        "hl7V2Stores": {
          "description": "The returned HL7v2 stores. Won't be more HL7v2 stores than the value of\npage_size in the request.",
          "items": {
            "$ref": "Hl7V2Store"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListMessagesResponse": {
      "description": "Lists the messages in the specified HL7v2 store.",
      "id": "ListMessagesResponse",
      "properties": {
        "hl7V2Messages": {
          "description": "The returned Messages. Won't be more Messages than the value of\npage_size in the request. See\nview for\npopulated fields.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results or empty if there are no more\nresults in the list.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Message": {
      "description": "A complete HL7v2 message.\nSee [Introduction to HL7 Standards]\n(https://www.hl7.org/implement/standards/index.cfm?ref=common) for\ndetails on the standard.",
      "id": "Message",
      "properties": {
        "createTime": {
          "description": "Output only. The datetime when the message was created. Set by the server.",
          "format": "google-datetime",
          "type": "string"
        },
        "data": {
          "description": "Raw message bytes.",
          "format": "byte",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "User-supplied key-value pairs used to organize HL7v2 stores.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression:\n\\p{Ll}\\p{Lo}{0,62}\n\nLabel values are optional, must be between 1 and 63 characters long, have\na UTF-8 encoding of maximum 128 bytes, and must conform to the\nfollowing PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n\nNo more than 64 labels can be associated with a given store.",
          "type": "object"
        },
        "messageType": {
          "description": "The message type for this message. MSH-9.1.",
          "type": "string"
        },
        "name": {
          "description": "Resource name of the Message, of the form\n`projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`.\nAssigned by the server.",
          "type": "string"
        },
        "parsedData": {
          "$ref": "ParsedData",
          "description": "Output only. The parsed version of the raw message data."
        },
        "patientIds": {
          "description": "All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this\nmessage.",
          "items": {
            "$ref": "PatientId"
          },
          "type": "array"
        },
        "sendFacility": {
          "description": "The hospital that this message came from. MSH-4.",
          "type": "string"
        },
        "sendTime": {
          "description": "The datetime the sending application sent this message. MSH-7.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "NotificationConfig": {
      "description": "Specifies where to send notifications upon changes to a data store.",
      "id": "NotificationConfig",
      "properties": {
        "pubsubTopic": {
          "description": "The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that\nnotifications of changes are published on. Supplied by the client.\nPubsubMessage.Data contains the resource name.\nPubsubMessage.MessageId is the ID of this message. It is guaranteed to be\nunique within the topic.\nPubsubMessage.PublishTime is the time at which the message was published.\nNotifications are only sent if the topic is\nnon-empty. [Topic\nnames](https://cloud.google.com/pubsub/docs/overview#names) must be scoped\nto a project. Cloud Healthcare API service account must have publisher\npermissions on the given Cloud Pub/Sub topic. Not having adequate\npermissions causes the calls that send notifications to fail.\n\nIf a notification can't be published to Cloud Pub/Sub, errors are logged to\nCloud Logging (see [Viewing\nlogs](/healthcare/docs/how-tos/logging)). If the number of\nerrors exceeds a certain rate, some aren't submitted.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "OperationMetadata": {
      "description": "OperationMetadata provides information about the operation execution.\nReturned in the long-running operation's metadata field.",
      "id": "OperationMetadata",
      "properties": {
        "apiMethodName": {
          "description": "The name of the API method that initiated the operation.",
          "type": "string"
        },
        "cancelRequested": {
          "description": "Specifies if cancellation was requested for the operation.",
          "type": "boolean"
        },
        "counter": {
          "$ref": "ProgressCounter"
        },
        "createTime": {
          "description": "The time at which the operation was created by the API.",
          "format": "google-datetime",
          "type": "string"
        },
        "endTime": {
          "description": "The time at which execution was completed.",
          "format": "google-datetime",
          "type": "string"
        },
        "logsUrl": {
          "description": "A link to audit and error logs in the log viewer. Error logs are generated\nonly by some operations, listed at\n[Viewing logs](/healthcare/docs/how-tos/logging).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ParsedData": {
      "description": "The content of a HL7v2 message in a structured format.",
      "id": "ParsedData",
      "properties": {
        "segments": {
          "items": {
            "$ref": "Segment"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ParserConfig": {
      "description": "The configuration for the parser. It determines how the server parses the\nmessages.",
      "id": "ParserConfig",
      "properties": {
        "allowNullHeader": {
          "description": "Determines whether messages with no header are allowed.",
          "type": "boolean"
        },
        "segmentTerminator": {
          "description": "Byte(s) to use as the segment terminator. If this is unset, '\\r' is\nused as segment terminator.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PatientId": {
      "description": "A patient identifier and associated type.",
      "id": "PatientId",
      "properties": {
        "type": {
          "description": "ID type. For example, MRN or NHS.",
          "type": "string"
        },
        "value": {
          "description": "The patient's unique identifier.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Policy": {
      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
      "id": "Policy",
      "properties": {
        "auditConfigs": {
          "description": "Specifies cloud audit logging configuration for this policy.",
          "items": {
            "$ref": "AuditConfig"
          },
          "type": "array"
        },
        "bindings": {
          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
          "items": {
            "$ref": "Binding"
          },
          "type": "array"
        },
        "etag": {
          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
          "format": "byte",
          "type": "string"
        },
        "version": {
          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ProgressCounter": {
      "description": "ProgressCounter provides counters to describe an operation's progress.",
      "id": "ProgressCounter",
      "properties": {
        "failure": {
          "description": "The number of units that failed in the operation.",
          "format": "int64",
          "type": "string"
        },
        "pending": {
          "description": "The number of units that are pending in the operation.",
          "format": "int64",
          "type": "string"
        },
        "success": {
          "description": "The number of units that succeeded in the operation.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RedactConfig": {
      "description": "Define how to redact sensitive values. Default behaviour is erase.\nFor example, \"My name is Jane.\" becomes \"My name is .\"",
      "id": "RedactConfig",
      "properties": {},
      "type": "object"
    },
    "ReplaceWithInfoTypeConfig": {
      "description": "When using the\nINSPECT_AND_TRANSFORM\naction, each match is replaced with the name of the info_type. For example,\n\"My name is Jane\" becomes \"My name is [PERSON_NAME].\" The\nTRANSFORM\naction is equivalent to redacting.",
      "id": "ReplaceWithInfoTypeConfig",
      "properties": {},
      "type": "object"
    },
    "Resources": {
      "description": "A list of FHIR resources.",
      "id": "Resources",
      "properties": {
        "resources": {
          "description": "List of resources IDs. For example, \"Patient/1234\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SchemaConfig": {
      "description": "Configuration for the FHIR BigQuery schema. Determines how the server\ngenerates the schema.",
      "id": "SchemaConfig",
      "properties": {
        "recursiveStructureDepth": {
          "description": "The depth for all recursive structures in the output analytics\nschema. For example, `concept` in the CodeSystem resource is a recursive\nstructure; when the depth is 2, the CodeSystem table will have a column\ncalled `concept.concept` but not `concept.concept.concept`. If not\nspecified or set to 0, the server will use the default value 2. The\nmaximum depth allowed is 5.",
          "format": "int64",
          "type": "string"
        },
        "schemaType": {
          "description": "Specifies the output schema type.",
          "enum": [
            "SCHEMA_TYPE_UNSPECIFIED",
            "ANALYTICS"
          ],
          "enumDescriptions": [
            "No schema type specified.",
            "Analytics schema defined by the FHIR community.\nSee https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.\n\nBigQuery only allows a maximum of 10,000 columns per table. Due to this\nlimitation, the server will not generate schemas for fields of type\n`Resource`, which can hold any resource type. The affected fields are\n`Parameters.parameter.resource`, `Bundle.entry.resource`, and\n`Bundle.entry.response.outcome`."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "SearchResourcesRequest": {
      "description": "Request to search the resources in the specified FHIR store.",
      "id": "SearchResourcesRequest",
      "properties": {
        "resourceType": {
          "description": "The FHIR resource type to search, such as Patient or Observation. For a\ncomplete list, see the FHIR Resource Index\n([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.html),\n[STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html),\n[R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Segment": {
      "description": "A segment in a structured format.",
      "id": "Segment",
      "properties": {
        "fields": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "A mapping from the positional location to the value.\nThe key string uses zero-based indexes separated by dots to identify\nFields, components and sub-components. A bracket notation is also used to\nidentify different instances of a repeated field.\nRegex for key: (\\d+)(\\[\\d+\\])?(.\\d+)?(.\\d+)?\n\nExamples of (key, value) pairs:\n\n* (0.1, \"hemoglobin\") denotes that the first component of Field 0 has the\n  value \"hemoglobin\".\n\n* (1.1.2, \"CBC\") denotes that the second sub-component of the first\n  component of Field 1 has the value \"CBC\".\n\n* (1[0].1, \"HbA1c\") denotes that the first component of the\n  first Instance of Field 1, which is repeated, has the value \"HbA1c\".",
          "type": "object"
        },
        "segmentId": {
          "description": "A string that indicates the type of segment. For example, EVN or PID.",
          "type": "string"
        },
        "setId": {
          "description": "Set ID for segments that can be in a set. This can be empty if it's\nmissing or isn't applicable.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SetIamPolicyRequest": {
      "description": "Request message for `SetIamPolicy` method.",
      "id": "SetIamPolicyRequest",
      "properties": {
        "policy": {
          "$ref": "Policy",
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
        },
        "updateMask": {
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StreamConfig": {
      "description": "Contains configuration for streaming FHIR export.",
      "id": "StreamConfig",
      "properties": {
        "bigqueryDestination": {
          "$ref": "GoogleCloudHealthcareV1FhirBigQueryDestination",
          "description": "The destination BigQuery structure that contains both the dataset\nlocation and corresponding schema config.\n\nThe output is organized in one table per resource type. The server\nreuses the existing tables (if any) that are named after the resource\ntypes. For example, \"Patient\", \"Observation\". When there is no existing\ntable for a given resource type, the server attempts to create one.\n\nWhen a table schema doesn't align with the schema config, either\nbecause of existing incompatible schema or out of band incompatible\nmodification, the server does not stream in new data.\n\nBigQuery imposes a 1 MB limit on streaming insert row size, therefore\nany resource mutation that generates more than 1 MB of BigQuery data\nis not streamed.\n\nOne resolution in this case is to delete the incompatible\ntable and let the server recreate one, though the newly created table\nonly contains data after the table recreation.\n\nResults are appended to the corresponding BigQuery tables. Different\nversions of the same resource are distinguishable by the meta.versionId\nand meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that\nresults in the new version is recorded in the meta.tag.\n\nThe tables contain all historical resource versions since streaming was\nenabled. For query convenience, the server also creates one view per\ntable of the same name containing only the current resource version.\n\nThe streamed data in the BigQuery dataset is not guaranteed to be\ncompletely unique. The combination of the id and meta.versionId columns\nshould ideally identify a single unique row. But in rare cases,\nduplicates may exist. At query time, users may use the SQL select\nstatement to keep only one of the duplicate rows given an id and\nmeta.versionId pair. Alternatively, the server created view mentioned\nabove also filters out duplicates.\n\nIf a resource mutation cannot be streamed to BigQuery, errors are\nlogged to Cloud Logging. For more information, see\n[Viewing error logs in Cloud\nLogging](/healthcare/docs/how-tos/logging))."
        },
        "resourceTypes": {
          "description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\").\nSee https://www.hl7.org/fhir/valueset-resource-types.html for a list of\nall FHIR resource types.\nThe server treats an empty list as an intent to stream all the\nsupported resource types in this FHIR store.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TagFilterList": {
      "description": "List of tags to be filtered.",
      "id": "TagFilterList",
      "properties": {
        "tags": {
          "description": "Tags to be filtered. Tags must be DICOM Data Elements, File Meta\nElements, or Directory Structuring Elements, as defined at:\nhttp://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,.\nThey may be provided by \"Keyword\" or \"Tag\". For example \"PatientID\",\n\"00100010\".",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestIamPermissionsRequest": {
      "description": "Request message for `TestIamPermissions` method.",
      "id": "TestIamPermissionsRequest",
      "properties": {
        "permissions": {
          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestIamPermissionsResponse": {
      "description": "Response message for `TestIamPermissions` method.",
      "id": "TestIamPermissionsResponse",
      "properties": {
        "permissions": {
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TextConfig": {
      "id": "TextConfig",
      "properties": {
        "transformations": {
          "description": "The transformations to apply to the detected data.",
          "items": {
            "$ref": "InfoTypeTransformation"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Healthcare API",
  "version": "v1",
  "version_module": true
}