1"""Generated client library for healthcare version v1."""
2# NOTE: This file is autogenerated and should not be edited by hand.
3
4from __future__ import absolute_import
5
6from apitools.base.py import base_api
7from googlecloudsdk.third_party.apis.healthcare.v1 import healthcare_v1_messages as messages
8
9
10class HealthcareV1(base_api.BaseApiClient):
11  """Generated client library for service healthcare version v1."""
12
13  MESSAGES_MODULE = messages
14  BASE_URL = 'https://healthcare.googleapis.com/'
15  MTLS_BASE_URL = 'https://healthcare.mtls.googleapis.com/'
16
17  _PACKAGE = 'healthcare'
18  _SCOPES = ['https://www.googleapis.com/auth/cloud-platform']
19  _VERSION = 'v1'
20  _CLIENT_ID = '1042881264118.apps.googleusercontent.com'
21  _CLIENT_SECRET = 'x_Tw5K8nnjoRAqULM9PFAC2b'
22  _USER_AGENT = 'google-cloud-sdk'
23  _CLIENT_CLASS_NAME = 'HealthcareV1'
24  _URL_VERSION = 'v1'
25  _API_KEY = None
26
27  def __init__(self, url='', credentials=None,
28               get_credentials=True, http=None, model=None,
29               log_request=False, log_response=False,
30               credentials_args=None, default_global_params=None,
31               additional_http_headers=None, response_encoding=None):
32    """Create a new healthcare handle."""
33    url = url or self.BASE_URL
34    super(HealthcareV1, self).__init__(
35        url, credentials=credentials,
36        get_credentials=get_credentials, http=http, model=model,
37        log_request=log_request, log_response=log_response,
38        credentials_args=credentials_args,
39        default_global_params=default_global_params,
40        additional_http_headers=additional_http_headers,
41        response_encoding=response_encoding)
42    self.projects_locations_datasets_consentStores_attributeDefinitions = self.ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService(self)
43    self.projects_locations_datasets_consentStores_consentArtifacts = self.ProjectsLocationsDatasetsConsentStoresConsentArtifactsService(self)
44    self.projects_locations_datasets_consentStores_consents = self.ProjectsLocationsDatasetsConsentStoresConsentsService(self)
45    self.projects_locations_datasets_consentStores_userDataMappings = self.ProjectsLocationsDatasetsConsentStoresUserDataMappingsService(self)
46    self.projects_locations_datasets_consentStores = self.ProjectsLocationsDatasetsConsentStoresService(self)
47    self.projects_locations_datasets_dicomStores_studies_series_instances_frames = self.ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService(self)
48    self.projects_locations_datasets_dicomStores_studies_series_instances = self.ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService(self)
49    self.projects_locations_datasets_dicomStores_studies_series = self.ProjectsLocationsDatasetsDicomStoresStudiesSeriesService(self)
50    self.projects_locations_datasets_dicomStores_studies = self.ProjectsLocationsDatasetsDicomStoresStudiesService(self)
51    self.projects_locations_datasets_dicomStores = self.ProjectsLocationsDatasetsDicomStoresService(self)
52    self.projects_locations_datasets_fhirStores_fhir = self.ProjectsLocationsDatasetsFhirStoresFhirService(self)
53    self.projects_locations_datasets_fhirStores = self.ProjectsLocationsDatasetsFhirStoresService(self)
54    self.projects_locations_datasets_hl7V2Stores_messages = self.ProjectsLocationsDatasetsHl7V2StoresMessagesService(self)
55    self.projects_locations_datasets_hl7V2Stores = self.ProjectsLocationsDatasetsHl7V2StoresService(self)
56    self.projects_locations_datasets_operations = self.ProjectsLocationsDatasetsOperationsService(self)
57    self.projects_locations_datasets = self.ProjectsLocationsDatasetsService(self)
58    self.projects_locations = self.ProjectsLocationsService(self)
59    self.projects = self.ProjectsService(self)
60
61  class ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService(base_api.BaseApiService):
62    """Service class for the projects_locations_datasets_consentStores_attributeDefinitions resource."""
63
64    _NAME = 'projects_locations_datasets_consentStores_attributeDefinitions'
65
66    def __init__(self, client):
67      super(HealthcareV1.ProjectsLocationsDatasetsConsentStoresAttributeDefinitionsService, self).__init__(client)
68      self._upload_configs = {
69          }
70
71    def Create(self, request, global_params=None):
72      r"""Creates a new Attribute definition in the parent consent store.
73
74      Args:
75        request: (HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateRequest) input message
76        global_params: (StandardQueryParameters, default: None) global arguments
77      Returns:
78        (AttributeDefinition) The response message.
79      """
80      config = self.GetMethodConfig('Create')
81      return self._RunMethod(
82          config, request, global_params=global_params)
83
84    Create.method_config = lambda: base_api.ApiMethodInfo(
85        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions',
86        http_method='POST',
87        method_id='healthcare.projects.locations.datasets.consentStores.attributeDefinitions.create',
88        ordered_params=['parent'],
89        path_params=['parent'],
90        query_params=['attributeDefinitionId'],
91        relative_path='v1/{+parent}/attributeDefinitions',
92        request_field='attributeDefinition',
93        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsCreateRequest',
94        response_type_name='AttributeDefinition',
95        supports_download=False,
96    )
97
98    def Delete(self, request, global_params=None):
99      r"""Deletes the specified Attribute definition. Fails if the Attribute definition is referenced by any User data mapping, or the latest revision of any Consent.
100
101      Args:
102        request: (HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteRequest) input message
103        global_params: (StandardQueryParameters, default: None) global arguments
104      Returns:
105        (Empty) The response message.
106      """
107      config = self.GetMethodConfig('Delete')
108      return self._RunMethod(
109          config, request, global_params=global_params)
110
111    Delete.method_config = lambda: base_api.ApiMethodInfo(
112        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}',
113        http_method='DELETE',
114        method_id='healthcare.projects.locations.datasets.consentStores.attributeDefinitions.delete',
115        ordered_params=['name'],
116        path_params=['name'],
117        query_params=[],
118        relative_path='v1/{+name}',
119        request_field='',
120        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsDeleteRequest',
121        response_type_name='Empty',
122        supports_download=False,
123    )
124
125    def Get(self, request, global_params=None):
126      r"""Gets the specified Attribute definition.
127
128      Args:
129        request: (HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetRequest) input message
130        global_params: (StandardQueryParameters, default: None) global arguments
131      Returns:
132        (AttributeDefinition) The response message.
133      """
134      config = self.GetMethodConfig('Get')
135      return self._RunMethod(
136          config, request, global_params=global_params)
137
138    Get.method_config = lambda: base_api.ApiMethodInfo(
139        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}',
140        http_method='GET',
141        method_id='healthcare.projects.locations.datasets.consentStores.attributeDefinitions.get',
142        ordered_params=['name'],
143        path_params=['name'],
144        query_params=[],
145        relative_path='v1/{+name}',
146        request_field='',
147        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsGetRequest',
148        response_type_name='AttributeDefinition',
149        supports_download=False,
150    )
151
152    def List(self, request, global_params=None):
153      r"""Lists the Attribute definitions in the specified consent store.
154
155      Args:
156        request: (HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListRequest) input message
157        global_params: (StandardQueryParameters, default: None) global arguments
158      Returns:
159        (ListAttributeDefinitionsResponse) The response message.
160      """
161      config = self.GetMethodConfig('List')
162      return self._RunMethod(
163          config, request, global_params=global_params)
164
165    List.method_config = lambda: base_api.ApiMethodInfo(
166        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions',
167        http_method='GET',
168        method_id='healthcare.projects.locations.datasets.consentStores.attributeDefinitions.list',
169        ordered_params=['parent'],
170        path_params=['parent'],
171        query_params=['filter', 'pageSize', 'pageToken'],
172        relative_path='v1/{+parent}/attributeDefinitions',
173        request_field='',
174        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsListRequest',
175        response_type_name='ListAttributeDefinitionsResponse',
176        supports_download=False,
177    )
178
179    def Patch(self, request, global_params=None):
180      r"""Updates the specified Attribute definition.
181
182      Args:
183        request: (HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchRequest) input message
184        global_params: (StandardQueryParameters, default: None) global arguments
185      Returns:
186        (AttributeDefinition) The response message.
187      """
188      config = self.GetMethodConfig('Patch')
189      return self._RunMethod(
190          config, request, global_params=global_params)
191
192    Patch.method_config = lambda: base_api.ApiMethodInfo(
193        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/attributeDefinitions/{attributeDefinitionsId}',
194        http_method='PATCH',
195        method_id='healthcare.projects.locations.datasets.consentStores.attributeDefinitions.patch',
196        ordered_params=['name'],
197        path_params=['name'],
198        query_params=['updateMask'],
199        relative_path='v1/{+name}',
200        request_field='attributeDefinition',
201        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresAttributeDefinitionsPatchRequest',
202        response_type_name='AttributeDefinition',
203        supports_download=False,
204    )
205
206  class ProjectsLocationsDatasetsConsentStoresConsentArtifactsService(base_api.BaseApiService):
207    """Service class for the projects_locations_datasets_consentStores_consentArtifacts resource."""
208
209    _NAME = 'projects_locations_datasets_consentStores_consentArtifacts'
210
211    def __init__(self, client):
212      super(HealthcareV1.ProjectsLocationsDatasetsConsentStoresConsentArtifactsService, self).__init__(client)
213      self._upload_configs = {
214          }
215
216    def Create(self, request, global_params=None):
217      r"""Creates a new Consent artifact in the parent consent store.
218
219      Args:
220        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateRequest) input message
221        global_params: (StandardQueryParameters, default: None) global arguments
222      Returns:
223        (ConsentArtifact) The response message.
224      """
225      config = self.GetMethodConfig('Create')
226      return self._RunMethod(
227          config, request, global_params=global_params)
228
229    Create.method_config = lambda: base_api.ApiMethodInfo(
230        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts',
231        http_method='POST',
232        method_id='healthcare.projects.locations.datasets.consentStores.consentArtifacts.create',
233        ordered_params=['parent'],
234        path_params=['parent'],
235        query_params=[],
236        relative_path='v1/{+parent}/consentArtifacts',
237        request_field='consentArtifact',
238        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsCreateRequest',
239        response_type_name='ConsentArtifact',
240        supports_download=False,
241    )
242
243    def Delete(self, request, global_params=None):
244      r"""Deletes the specified Consent artifact. Fails if the artifact is referenced by the latest revision of any Consent.
245
246      Args:
247        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteRequest) input message
248        global_params: (StandardQueryParameters, default: None) global arguments
249      Returns:
250        (Empty) The response message.
251      """
252      config = self.GetMethodConfig('Delete')
253      return self._RunMethod(
254          config, request, global_params=global_params)
255
256    Delete.method_config = lambda: base_api.ApiMethodInfo(
257        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}',
258        http_method='DELETE',
259        method_id='healthcare.projects.locations.datasets.consentStores.consentArtifacts.delete',
260        ordered_params=['name'],
261        path_params=['name'],
262        query_params=[],
263        relative_path='v1/{+name}',
264        request_field='',
265        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsDeleteRequest',
266        response_type_name='Empty',
267        supports_download=False,
268    )
269
270    def Get(self, request, global_params=None):
271      r"""Gets the specified Consent artifact.
272
273      Args:
274        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsGetRequest) input message
275        global_params: (StandardQueryParameters, default: None) global arguments
276      Returns:
277        (ConsentArtifact) The response message.
278      """
279      config = self.GetMethodConfig('Get')
280      return self._RunMethod(
281          config, request, global_params=global_params)
282
283    Get.method_config = lambda: base_api.ApiMethodInfo(
284        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts/{consentArtifactsId}',
285        http_method='GET',
286        method_id='healthcare.projects.locations.datasets.consentStores.consentArtifacts.get',
287        ordered_params=['name'],
288        path_params=['name'],
289        query_params=[],
290        relative_path='v1/{+name}',
291        request_field='',
292        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsGetRequest',
293        response_type_name='ConsentArtifact',
294        supports_download=False,
295    )
296
297    def List(self, request, global_params=None):
298      r"""Lists the Consent artifacts in the specified consent store.
299
300      Args:
301        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsListRequest) input message
302        global_params: (StandardQueryParameters, default: None) global arguments
303      Returns:
304        (ListConsentArtifactsResponse) The response message.
305      """
306      config = self.GetMethodConfig('List')
307      return self._RunMethod(
308          config, request, global_params=global_params)
309
310    List.method_config = lambda: base_api.ApiMethodInfo(
311        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consentArtifacts',
312        http_method='GET',
313        method_id='healthcare.projects.locations.datasets.consentStores.consentArtifacts.list',
314        ordered_params=['parent'],
315        path_params=['parent'],
316        query_params=['filter', 'pageSize', 'pageToken'],
317        relative_path='v1/{+parent}/consentArtifacts',
318        request_field='',
319        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentArtifactsListRequest',
320        response_type_name='ListConsentArtifactsResponse',
321        supports_download=False,
322    )
323
324  class ProjectsLocationsDatasetsConsentStoresConsentsService(base_api.BaseApiService):
325    """Service class for the projects_locations_datasets_consentStores_consents resource."""
326
327    _NAME = 'projects_locations_datasets_consentStores_consents'
328
329    def __init__(self, client):
330      super(HealthcareV1.ProjectsLocationsDatasetsConsentStoresConsentsService, self).__init__(client)
331      self._upload_configs = {
332          }
333
334    def Activate(self, request, global_params=None):
335      r"""Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the specified Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `REJECTED` or `REVOKED` state.
336
337      Args:
338        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsActivateRequest) input message
339        global_params: (StandardQueryParameters, default: None) global arguments
340      Returns:
341        (Consent) The response message.
342      """
343      config = self.GetMethodConfig('Activate')
344      return self._RunMethod(
345          config, request, global_params=global_params)
346
347    Activate.method_config = lambda: base_api.ApiMethodInfo(
348        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:activate',
349        http_method='POST',
350        method_id='healthcare.projects.locations.datasets.consentStores.consents.activate',
351        ordered_params=['name'],
352        path_params=['name'],
353        query_params=[],
354        relative_path='v1/{+name}:activate',
355        request_field='activateConsentRequest',
356        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsActivateRequest',
357        response_type_name='Consent',
358        supports_download=False,
359    )
360
361    def Create(self, request, global_params=None):
362      r"""Creates a new Consent in the parent consent store.
363
364      Args:
365        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsCreateRequest) input message
366        global_params: (StandardQueryParameters, default: None) global arguments
367      Returns:
368        (Consent) The response message.
369      """
370      config = self.GetMethodConfig('Create')
371      return self._RunMethod(
372          config, request, global_params=global_params)
373
374    Create.method_config = lambda: base_api.ApiMethodInfo(
375        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents',
376        http_method='POST',
377        method_id='healthcare.projects.locations.datasets.consentStores.consents.create',
378        ordered_params=['parent'],
379        path_params=['parent'],
380        query_params=[],
381        relative_path='v1/{+parent}/consents',
382        request_field='consent',
383        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsCreateRequest',
384        response_type_name='Consent',
385        supports_download=False,
386    )
387
388    def Delete(self, request, global_params=None):
389      r"""Deletes the Consent and its revisions. To keep a record of the Consent but mark it inactive, see [RevokeConsent]. To delete a revision of a Consent, see [DeleteConsentRevision]. This operation does not delete the related Consent artifact.
390
391      Args:
392        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsDeleteRequest) input message
393        global_params: (StandardQueryParameters, default: None) global arguments
394      Returns:
395        (Empty) The response message.
396      """
397      config = self.GetMethodConfig('Delete')
398      return self._RunMethod(
399          config, request, global_params=global_params)
400
401    Delete.method_config = lambda: base_api.ApiMethodInfo(
402        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}',
403        http_method='DELETE',
404        method_id='healthcare.projects.locations.datasets.consentStores.consents.delete',
405        ordered_params=['name'],
406        path_params=['name'],
407        query_params=[],
408        relative_path='v1/{+name}',
409        request_field='',
410        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsDeleteRequest',
411        response_type_name='Empty',
412        supports_download=False,
413    )
414
415    def DeleteRevision(self, request, global_params=None):
416      r"""Deletes the specified revision of a Consent. An INVALID_ARGUMENT error occurs if the specified revision is the latest revision.
417
418      Args:
419        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionRequest) input message
420        global_params: (StandardQueryParameters, default: None) global arguments
421      Returns:
422        (Empty) The response message.
423      """
424      config = self.GetMethodConfig('DeleteRevision')
425      return self._RunMethod(
426          config, request, global_params=global_params)
427
428    DeleteRevision.method_config = lambda: base_api.ApiMethodInfo(
429        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:deleteRevision',
430        http_method='DELETE',
431        method_id='healthcare.projects.locations.datasets.consentStores.consents.deleteRevision',
432        ordered_params=['name'],
433        path_params=['name'],
434        query_params=[],
435        relative_path='v1/{+name}:deleteRevision',
436        request_field='',
437        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsDeleteRevisionRequest',
438        response_type_name='Empty',
439        supports_download=False,
440    )
441
442    def Get(self, request, global_params=None):
443      r"""Gets the specified revision of a Consent, or the latest revision if `revision_id` is not specified in the resource name.
444
445      Args:
446        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsGetRequest) input message
447        global_params: (StandardQueryParameters, default: None) global arguments
448      Returns:
449        (Consent) The response message.
450      """
451      config = self.GetMethodConfig('Get')
452      return self._RunMethod(
453          config, request, global_params=global_params)
454
455    Get.method_config = lambda: base_api.ApiMethodInfo(
456        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}',
457        http_method='GET',
458        method_id='healthcare.projects.locations.datasets.consentStores.consents.get',
459        ordered_params=['name'],
460        path_params=['name'],
461        query_params=[],
462        relative_path='v1/{+name}',
463        request_field='',
464        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsGetRequest',
465        response_type_name='Consent',
466        supports_download=False,
467    )
468
469    def List(self, request, global_params=None):
470      r"""Lists the Consent in the given consent store, returning each Consent's latest revision.
471
472      Args:
473        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsListRequest) input message
474        global_params: (StandardQueryParameters, default: None) global arguments
475      Returns:
476        (ListConsentsResponse) The response message.
477      """
478      config = self.GetMethodConfig('List')
479      return self._RunMethod(
480          config, request, global_params=global_params)
481
482    List.method_config = lambda: base_api.ApiMethodInfo(
483        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents',
484        http_method='GET',
485        method_id='healthcare.projects.locations.datasets.consentStores.consents.list',
486        ordered_params=['parent'],
487        path_params=['parent'],
488        query_params=['filter', 'pageSize', 'pageToken'],
489        relative_path='v1/{+parent}/consents',
490        request_field='',
491        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsListRequest',
492        response_type_name='ListConsentsResponse',
493        supports_download=False,
494    )
495
496    def ListRevisions(self, request, global_params=None):
497      r"""Lists the revisions of the specified Consent in reverse chronological order.
498
499      Args:
500        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsListRevisionsRequest) input message
501        global_params: (StandardQueryParameters, default: None) global arguments
502      Returns:
503        (ListConsentRevisionsResponse) The response message.
504      """
505      config = self.GetMethodConfig('ListRevisions')
506      return self._RunMethod(
507          config, request, global_params=global_params)
508
509    ListRevisions.method_config = lambda: base_api.ApiMethodInfo(
510        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:listRevisions',
511        http_method='GET',
512        method_id='healthcare.projects.locations.datasets.consentStores.consents.listRevisions',
513        ordered_params=['name'],
514        path_params=['name'],
515        query_params=['filter', 'pageSize', 'pageToken'],
516        relative_path='v1/{+name}:listRevisions',
517        request_field='',
518        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsListRevisionsRequest',
519        response_type_name='ListConsentRevisionsResponse',
520        supports_download=False,
521    )
522
523    def Patch(self, request, global_params=None):
524      r"""Updates the latest revision of the specified Consent by committing a new revision with the changes. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `REJECTED` or `REVOKED` state.
525
526      Args:
527        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsPatchRequest) input message
528        global_params: (StandardQueryParameters, default: None) global arguments
529      Returns:
530        (Consent) The response message.
531      """
532      config = self.GetMethodConfig('Patch')
533      return self._RunMethod(
534          config, request, global_params=global_params)
535
536    Patch.method_config = lambda: base_api.ApiMethodInfo(
537        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}',
538        http_method='PATCH',
539        method_id='healthcare.projects.locations.datasets.consentStores.consents.patch',
540        ordered_params=['name'],
541        path_params=['name'],
542        query_params=['updateMask'],
543        relative_path='v1/{+name}',
544        request_field='consent',
545        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsPatchRequest',
546        response_type_name='Consent',
547        supports_download=False,
548    )
549
550    def Reject(self, request, global_params=None):
551      r"""Rejects the latest revision of the specified Consent by committing a new revision with `state` updated to `REJECTED`. If the latest revision of the specified Consent is in the `REJECTED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the specified Consent is in the `ACTIVE` or `REVOKED` state.
552
553      Args:
554        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsRejectRequest) input message
555        global_params: (StandardQueryParameters, default: None) global arguments
556      Returns:
557        (Consent) The response message.
558      """
559      config = self.GetMethodConfig('Reject')
560      return self._RunMethod(
561          config, request, global_params=global_params)
562
563    Reject.method_config = lambda: base_api.ApiMethodInfo(
564        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:reject',
565        http_method='POST',
566        method_id='healthcare.projects.locations.datasets.consentStores.consents.reject',
567        ordered_params=['name'],
568        path_params=['name'],
569        query_params=[],
570        relative_path='v1/{+name}:reject',
571        request_field='rejectConsentRequest',
572        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsRejectRequest',
573        response_type_name='Consent',
574        supports_download=False,
575    )
576
577    def Revoke(self, request, global_params=None):
578      r"""Revokes the latest revision of the specified Consent by committing a new revision with `state` updated to `REVOKED`. If the latest revision of the specified Consent is in the `REVOKED` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in `DRAFT` or `REJECTED` state.
579
580      Args:
581        request: (HealthcareProjectsLocationsDatasetsConsentStoresConsentsRevokeRequest) input message
582        global_params: (StandardQueryParameters, default: None) global arguments
583      Returns:
584        (Consent) The response message.
585      """
586      config = self.GetMethodConfig('Revoke')
587      return self._RunMethod(
588          config, request, global_params=global_params)
589
590    Revoke.method_config = lambda: base_api.ApiMethodInfo(
591        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/consents/{consentsId}:revoke',
592        http_method='POST',
593        method_id='healthcare.projects.locations.datasets.consentStores.consents.revoke',
594        ordered_params=['name'],
595        path_params=['name'],
596        query_params=[],
597        relative_path='v1/{+name}:revoke',
598        request_field='revokeConsentRequest',
599        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresConsentsRevokeRequest',
600        response_type_name='Consent',
601        supports_download=False,
602    )
603
604  class ProjectsLocationsDatasetsConsentStoresUserDataMappingsService(base_api.BaseApiService):
605    """Service class for the projects_locations_datasets_consentStores_userDataMappings resource."""
606
607    _NAME = 'projects_locations_datasets_consentStores_userDataMappings'
608
609    def __init__(self, client):
610      super(HealthcareV1.ProjectsLocationsDatasetsConsentStoresUserDataMappingsService, self).__init__(client)
611      self._upload_configs = {
612          }
613
614    def Archive(self, request, global_params=None):
615      r"""Archives the specified User data mapping.
616
617      Args:
618        request: (HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveRequest) input message
619        global_params: (StandardQueryParameters, default: None) global arguments
620      Returns:
621        (ArchiveUserDataMappingResponse) The response message.
622      """
623      config = self.GetMethodConfig('Archive')
624      return self._RunMethod(
625          config, request, global_params=global_params)
626
627    Archive.method_config = lambda: base_api.ApiMethodInfo(
628        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}:archive',
629        http_method='POST',
630        method_id='healthcare.projects.locations.datasets.consentStores.userDataMappings.archive',
631        ordered_params=['name'],
632        path_params=['name'],
633        query_params=[],
634        relative_path='v1/{+name}:archive',
635        request_field='archiveUserDataMappingRequest',
636        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsArchiveRequest',
637        response_type_name='ArchiveUserDataMappingResponse',
638        supports_download=False,
639    )
640
641    def Create(self, request, global_params=None):
642      r"""Creates a new User data mapping in the parent consent store.
643
644      Args:
645        request: (HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateRequest) input message
646        global_params: (StandardQueryParameters, default: None) global arguments
647      Returns:
648        (UserDataMapping) The response message.
649      """
650      config = self.GetMethodConfig('Create')
651      return self._RunMethod(
652          config, request, global_params=global_params)
653
654    Create.method_config = lambda: base_api.ApiMethodInfo(
655        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings',
656        http_method='POST',
657        method_id='healthcare.projects.locations.datasets.consentStores.userDataMappings.create',
658        ordered_params=['parent'],
659        path_params=['parent'],
660        query_params=[],
661        relative_path='v1/{+parent}/userDataMappings',
662        request_field='userDataMapping',
663        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsCreateRequest',
664        response_type_name='UserDataMapping',
665        supports_download=False,
666    )
667
668    def Delete(self, request, global_params=None):
669      r"""Deletes the specified User data mapping.
670
671      Args:
672        request: (HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteRequest) input message
673        global_params: (StandardQueryParameters, default: None) global arguments
674      Returns:
675        (Empty) The response message.
676      """
677      config = self.GetMethodConfig('Delete')
678      return self._RunMethod(
679          config, request, global_params=global_params)
680
681    Delete.method_config = lambda: base_api.ApiMethodInfo(
682        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}',
683        http_method='DELETE',
684        method_id='healthcare.projects.locations.datasets.consentStores.userDataMappings.delete',
685        ordered_params=['name'],
686        path_params=['name'],
687        query_params=[],
688        relative_path='v1/{+name}',
689        request_field='',
690        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsDeleteRequest',
691        response_type_name='Empty',
692        supports_download=False,
693    )
694
695    def Get(self, request, global_params=None):
696      r"""Gets the specified User data mapping.
697
698      Args:
699        request: (HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsGetRequest) input message
700        global_params: (StandardQueryParameters, default: None) global arguments
701      Returns:
702        (UserDataMapping) The response message.
703      """
704      config = self.GetMethodConfig('Get')
705      return self._RunMethod(
706          config, request, global_params=global_params)
707
708    Get.method_config = lambda: base_api.ApiMethodInfo(
709        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}',
710        http_method='GET',
711        method_id='healthcare.projects.locations.datasets.consentStores.userDataMappings.get',
712        ordered_params=['name'],
713        path_params=['name'],
714        query_params=[],
715        relative_path='v1/{+name}',
716        request_field='',
717        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsGetRequest',
718        response_type_name='UserDataMapping',
719        supports_download=False,
720    )
721
722    def List(self, request, global_params=None):
723      r"""Lists the User data mappings in the specified consent store.
724
725      Args:
726        request: (HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsListRequest) input message
727        global_params: (StandardQueryParameters, default: None) global arguments
728      Returns:
729        (ListUserDataMappingsResponse) The response message.
730      """
731      config = self.GetMethodConfig('List')
732      return self._RunMethod(
733          config, request, global_params=global_params)
734
735    List.method_config = lambda: base_api.ApiMethodInfo(
736        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings',
737        http_method='GET',
738        method_id='healthcare.projects.locations.datasets.consentStores.userDataMappings.list',
739        ordered_params=['parent'],
740        path_params=['parent'],
741        query_params=['filter', 'pageSize', 'pageToken'],
742        relative_path='v1/{+parent}/userDataMappings',
743        request_field='',
744        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsListRequest',
745        response_type_name='ListUserDataMappingsResponse',
746        supports_download=False,
747    )
748
749    def Patch(self, request, global_params=None):
750      r"""Updates the specified User data mapping.
751
752      Args:
753        request: (HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchRequest) input message
754        global_params: (StandardQueryParameters, default: None) global arguments
755      Returns:
756        (UserDataMapping) The response message.
757      """
758      config = self.GetMethodConfig('Patch')
759      return self._RunMethod(
760          config, request, global_params=global_params)
761
762    Patch.method_config = lambda: base_api.ApiMethodInfo(
763        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}/userDataMappings/{userDataMappingsId}',
764        http_method='PATCH',
765        method_id='healthcare.projects.locations.datasets.consentStores.userDataMappings.patch',
766        ordered_params=['name'],
767        path_params=['name'],
768        query_params=['updateMask'],
769        relative_path='v1/{+name}',
770        request_field='userDataMapping',
771        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresUserDataMappingsPatchRequest',
772        response_type_name='UserDataMapping',
773        supports_download=False,
774    )
775
776  class ProjectsLocationsDatasetsConsentStoresService(base_api.BaseApiService):
777    """Service class for the projects_locations_datasets_consentStores resource."""
778
779    _NAME = 'projects_locations_datasets_consentStores'
780
781    def __init__(self, client):
782      super(HealthcareV1.ProjectsLocationsDatasetsConsentStoresService, self).__init__(client)
783      self._upload_configs = {
784          }
785
786    def CheckDataAccess(self, request, global_params=None):
787      r"""Checks if a particular data_id of a User data mapping in the specified consent store is consented for the specified use.
788
789      Args:
790        request: (HealthcareProjectsLocationsDatasetsConsentStoresCheckDataAccessRequest) input message
791        global_params: (StandardQueryParameters, default: None) global arguments
792      Returns:
793        (CheckDataAccessResponse) The response message.
794      """
795      config = self.GetMethodConfig('CheckDataAccess')
796      return self._RunMethod(
797          config, request, global_params=global_params)
798
799    CheckDataAccess.method_config = lambda: base_api.ApiMethodInfo(
800        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:checkDataAccess',
801        http_method='POST',
802        method_id='healthcare.projects.locations.datasets.consentStores.checkDataAccess',
803        ordered_params=['consentStore'],
804        path_params=['consentStore'],
805        query_params=[],
806        relative_path='v1/{+consentStore}:checkDataAccess',
807        request_field='checkDataAccessRequest',
808        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresCheckDataAccessRequest',
809        response_type_name='CheckDataAccessResponse',
810        supports_download=False,
811    )
812
813    def Create(self, request, global_params=None):
814      r"""Creates a new consent store in the parent dataset. Attempting to create a consent store with the same ID as an existing store fails with an ALREADY_EXISTS error.
815
816      Args:
817        request: (HealthcareProjectsLocationsDatasetsConsentStoresCreateRequest) input message
818        global_params: (StandardQueryParameters, default: None) global arguments
819      Returns:
820        (ConsentStore) The response message.
821      """
822      config = self.GetMethodConfig('Create')
823      return self._RunMethod(
824          config, request, global_params=global_params)
825
826    Create.method_config = lambda: base_api.ApiMethodInfo(
827        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores',
828        http_method='POST',
829        method_id='healthcare.projects.locations.datasets.consentStores.create',
830        ordered_params=['parent'],
831        path_params=['parent'],
832        query_params=['consentStoreId'],
833        relative_path='v1/{+parent}/consentStores',
834        request_field='consentStore',
835        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresCreateRequest',
836        response_type_name='ConsentStore',
837        supports_download=False,
838    )
839
840    def Delete(self, request, global_params=None):
841      r"""Deletes the specified consent store and removes all the consent store's data.
842
843      Args:
844        request: (HealthcareProjectsLocationsDatasetsConsentStoresDeleteRequest) input message
845        global_params: (StandardQueryParameters, default: None) global arguments
846      Returns:
847        (Empty) The response message.
848      """
849      config = self.GetMethodConfig('Delete')
850      return self._RunMethod(
851          config, request, global_params=global_params)
852
853    Delete.method_config = lambda: base_api.ApiMethodInfo(
854        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}',
855        http_method='DELETE',
856        method_id='healthcare.projects.locations.datasets.consentStores.delete',
857        ordered_params=['name'],
858        path_params=['name'],
859        query_params=[],
860        relative_path='v1/{+name}',
861        request_field='',
862        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresDeleteRequest',
863        response_type_name='Empty',
864        supports_download=False,
865    )
866
867    def EvaluateUserConsents(self, request, global_params=None):
868      r"""Evaluates the user's Consents for all matching User data mappings. Note: User data mappings are indexed asynchronously, which can cause a slight delay between the time mappings are created or updated and when they are included in EvaluateUserConsents results.
869
870      Args:
871        request: (HealthcareProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsRequest) input message
872        global_params: (StandardQueryParameters, default: None) global arguments
873      Returns:
874        (EvaluateUserConsentsResponse) The response message.
875      """
876      config = self.GetMethodConfig('EvaluateUserConsents')
877      return self._RunMethod(
878          config, request, global_params=global_params)
879
880    EvaluateUserConsents.method_config = lambda: base_api.ApiMethodInfo(
881        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:evaluateUserConsents',
882        http_method='POST',
883        method_id='healthcare.projects.locations.datasets.consentStores.evaluateUserConsents',
884        ordered_params=['consentStore'],
885        path_params=['consentStore'],
886        query_params=[],
887        relative_path='v1/{+consentStore}:evaluateUserConsents',
888        request_field='evaluateUserConsentsRequest',
889        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresEvaluateUserConsentsRequest',
890        response_type_name='EvaluateUserConsentsResponse',
891        supports_download=False,
892    )
893
894    def Get(self, request, global_params=None):
895      r"""Gets the specified consent store.
896
897      Args:
898        request: (HealthcareProjectsLocationsDatasetsConsentStoresGetRequest) input message
899        global_params: (StandardQueryParameters, default: None) global arguments
900      Returns:
901        (ConsentStore) The response message.
902      """
903      config = self.GetMethodConfig('Get')
904      return self._RunMethod(
905          config, request, global_params=global_params)
906
907    Get.method_config = lambda: base_api.ApiMethodInfo(
908        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}',
909        http_method='GET',
910        method_id='healthcare.projects.locations.datasets.consentStores.get',
911        ordered_params=['name'],
912        path_params=['name'],
913        query_params=[],
914        relative_path='v1/{+name}',
915        request_field='',
916        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresGetRequest',
917        response_type_name='ConsentStore',
918        supports_download=False,
919    )
920
921    def GetIamPolicy(self, request, global_params=None):
922      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
923
924      Args:
925        request: (HealthcareProjectsLocationsDatasetsConsentStoresGetIamPolicyRequest) input message
926        global_params: (StandardQueryParameters, default: None) global arguments
927      Returns:
928        (Policy) The response message.
929      """
930      config = self.GetMethodConfig('GetIamPolicy')
931      return self._RunMethod(
932          config, request, global_params=global_params)
933
934    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
935        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:getIamPolicy',
936        http_method='GET',
937        method_id='healthcare.projects.locations.datasets.consentStores.getIamPolicy',
938        ordered_params=['resource'],
939        path_params=['resource'],
940        query_params=['options_requestedPolicyVersion'],
941        relative_path='v1/{+resource}:getIamPolicy',
942        request_field='',
943        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresGetIamPolicyRequest',
944        response_type_name='Policy',
945        supports_download=False,
946    )
947
948    def List(self, request, global_params=None):
949      r"""Lists the consent stores in the specified dataset.
950
951      Args:
952        request: (HealthcareProjectsLocationsDatasetsConsentStoresListRequest) input message
953        global_params: (StandardQueryParameters, default: None) global arguments
954      Returns:
955        (ListConsentStoresResponse) The response message.
956      """
957      config = self.GetMethodConfig('List')
958      return self._RunMethod(
959          config, request, global_params=global_params)
960
961    List.method_config = lambda: base_api.ApiMethodInfo(
962        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores',
963        http_method='GET',
964        method_id='healthcare.projects.locations.datasets.consentStores.list',
965        ordered_params=['parent'],
966        path_params=['parent'],
967        query_params=['filter', 'pageSize', 'pageToken'],
968        relative_path='v1/{+parent}/consentStores',
969        request_field='',
970        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresListRequest',
971        response_type_name='ListConsentStoresResponse',
972        supports_download=False,
973    )
974
975    def Patch(self, request, global_params=None):
976      r"""Updates the specified consent store.
977
978      Args:
979        request: (HealthcareProjectsLocationsDatasetsConsentStoresPatchRequest) input message
980        global_params: (StandardQueryParameters, default: None) global arguments
981      Returns:
982        (ConsentStore) The response message.
983      """
984      config = self.GetMethodConfig('Patch')
985      return self._RunMethod(
986          config, request, global_params=global_params)
987
988    Patch.method_config = lambda: base_api.ApiMethodInfo(
989        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}',
990        http_method='PATCH',
991        method_id='healthcare.projects.locations.datasets.consentStores.patch',
992        ordered_params=['name'],
993        path_params=['name'],
994        query_params=['updateMask'],
995        relative_path='v1/{+name}',
996        request_field='consentStore',
997        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresPatchRequest',
998        response_type_name='ConsentStore',
999        supports_download=False,
1000    )
1001
1002    def QueryAccessibleData(self, request, global_params=None):
1003      r"""Queries all data_ids that are consented for a specified use in the given consent store and writes them to a specified destination. The returned Operation includes a progress counter for the number of User data mappings processed. Errors are logged to Cloud Logging (see [Viewing logs] (cloud.google.com/healthcare/docs/how-tos/logging)). For example, the following sample log entry shows a `failed to evaluate consent policy` error that occurred during a QueryAccessibleData call to consent store `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}`. ```json jsonPayload: { @type: "type.googleapis.com/google.cloud.healthcare.logging.QueryAccessibleDataLogEntry" error: { code: 9 message: "failed to evaluate consent policy" } resourceName: "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}" } logName: "projects/{project_id}/logs/healthcare.googleapis.com%2Fquery_accessible_data" operation: { id: "projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/operations/{operation_id}" producer: "healthcare.googleapis.com/QueryAccessibleData" } receiveTimestamp: "TIMESTAMP" resource: { labels: { consent_store_id: "{consent_store_id}" dataset_id: "{dataset_id}" location: "{location_id}" project_id: "{project_id}" } type: "healthcare_consent_store" } severity: "ERROR" timestamp: "TIMESTAMP" ```.
1004
1005      Args:
1006        request: (HealthcareProjectsLocationsDatasetsConsentStoresQueryAccessibleDataRequest) input message
1007        global_params: (StandardQueryParameters, default: None) global arguments
1008      Returns:
1009        (Operation) The response message.
1010      """
1011      config = self.GetMethodConfig('QueryAccessibleData')
1012      return self._RunMethod(
1013          config, request, global_params=global_params)
1014
1015    QueryAccessibleData.method_config = lambda: base_api.ApiMethodInfo(
1016        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:queryAccessibleData',
1017        http_method='POST',
1018        method_id='healthcare.projects.locations.datasets.consentStores.queryAccessibleData',
1019        ordered_params=['consentStore'],
1020        path_params=['consentStore'],
1021        query_params=[],
1022        relative_path='v1/{+consentStore}:queryAccessibleData',
1023        request_field='queryAccessibleDataRequest',
1024        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresQueryAccessibleDataRequest',
1025        response_type_name='Operation',
1026        supports_download=False,
1027    )
1028
1029    def SetIamPolicy(self, request, global_params=None):
1030      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
1031
1032      Args:
1033        request: (HealthcareProjectsLocationsDatasetsConsentStoresSetIamPolicyRequest) input message
1034        global_params: (StandardQueryParameters, default: None) global arguments
1035      Returns:
1036        (Policy) The response message.
1037      """
1038      config = self.GetMethodConfig('SetIamPolicy')
1039      return self._RunMethod(
1040          config, request, global_params=global_params)
1041
1042    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
1043        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:setIamPolicy',
1044        http_method='POST',
1045        method_id='healthcare.projects.locations.datasets.consentStores.setIamPolicy',
1046        ordered_params=['resource'],
1047        path_params=['resource'],
1048        query_params=[],
1049        relative_path='v1/{+resource}:setIamPolicy',
1050        request_field='setIamPolicyRequest',
1051        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresSetIamPolicyRequest',
1052        response_type_name='Policy',
1053        supports_download=False,
1054    )
1055
1056    def TestIamPermissions(self, request, global_params=None):
1057      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
1058
1059      Args:
1060        request: (HealthcareProjectsLocationsDatasetsConsentStoresTestIamPermissionsRequest) input message
1061        global_params: (StandardQueryParameters, default: None) global arguments
1062      Returns:
1063        (TestIamPermissionsResponse) The response message.
1064      """
1065      config = self.GetMethodConfig('TestIamPermissions')
1066      return self._RunMethod(
1067          config, request, global_params=global_params)
1068
1069    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
1070        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/consentStores/{consentStoresId}:testIamPermissions',
1071        http_method='POST',
1072        method_id='healthcare.projects.locations.datasets.consentStores.testIamPermissions',
1073        ordered_params=['resource'],
1074        path_params=['resource'],
1075        query_params=[],
1076        relative_path='v1/{+resource}:testIamPermissions',
1077        request_field='testIamPermissionsRequest',
1078        request_type_name='HealthcareProjectsLocationsDatasetsConsentStoresTestIamPermissionsRequest',
1079        response_type_name='TestIamPermissionsResponse',
1080        supports_download=False,
1081    )
1082
1083  class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService(base_api.BaseApiService):
1084    """Service class for the projects_locations_datasets_dicomStores_studies_series_instances_frames resource."""
1085
1086    _NAME = 'projects_locations_datasets_dicomStores_studies_series_instances_frames'
1087
1088    def __init__(self, client):
1089      super(HealthcareV1.ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService, self).__init__(client)
1090      self._upload_configs = {
1091          }
1092
1093    def RetrieveFrames(self, request, global_params=None):
1094      r"""RetrieveFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4}. For details on the implementation of RetrieveFrames, see [DICOM frames](https://cloud.google.com/healthcare/docs/dicom#dicom_frames) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveFrames, see [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
1095
1096      Args:
1097        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesRequest) input message
1098        global_params: (StandardQueryParameters, default: None) global arguments
1099      Returns:
1100        (HttpBody) The response message.
1101      """
1102      config = self.GetMethodConfig('RetrieveFrames')
1103      return self._RunMethod(
1104          config, request, global_params=global_params)
1105
1106    RetrieveFrames.method_config = lambda: base_api.ApiMethodInfo(
1107        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}',
1108        http_method='GET',
1109        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveFrames',
1110        ordered_params=['parent', 'dicomWebPath'],
1111        path_params=['dicomWebPath', 'parent'],
1112        query_params=[],
1113        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1114        request_field='',
1115        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesRequest',
1116        response_type_name='HttpBody',
1117        supports_download=False,
1118    )
1119
1120    def RetrieveRendered(self, request, global_params=None):
1121      r"""RetrieveRenderedFrames returns instances associated with the given study, series, SOP Instance UID and frame numbers in an acceptable Rendered Media Type. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedFrames, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedFrames, see [Retrieving consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
1122
1123      Args:
1124        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedRequest) input message
1125        global_params: (StandardQueryParameters, default: None) global arguments
1126      Returns:
1127        (HttpBody) The response message.
1128      """
1129      config = self.GetMethodConfig('RetrieveRendered')
1130      return self._RunMethod(
1131          config, request, global_params=global_params)
1132
1133    RetrieveRendered.method_config = lambda: base_api.ApiMethodInfo(
1134        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/frames/{framesId}/rendered',
1135        http_method='GET',
1136        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.instances.frames.retrieveRendered',
1137        ordered_params=['parent', 'dicomWebPath'],
1138        path_params=['dicomWebPath', 'parent'],
1139        query_params=[],
1140        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1141        request_field='',
1142        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedRequest',
1143        response_type_name='HttpBody',
1144        supports_download=False,
1145    )
1146
1147  class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService(base_api.BaseApiService):
1148    """Service class for the projects_locations_datasets_dicomStores_studies_series_instances resource."""
1149
1150    _NAME = 'projects_locations_datasets_dicomStores_studies_series_instances'
1151
1152    def __init__(self, client):
1153      super(HealthcareV1.ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService, self).__init__(client)
1154      self._upload_configs = {
1155          }
1156
1157    def Delete(self, request, global_params=None):
1158      r"""DeleteInstance deletes an instance associated with the given study, series, and SOP Instance UID. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. Study and series search results can take a few seconds to be updated after an instance is deleted using DeleteInstance. For samples that show how to call DeleteInstance, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
1159
1160      Args:
1161        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteRequest) input message
1162        global_params: (StandardQueryParameters, default: None) global arguments
1163      Returns:
1164        (Empty) The response message.
1165      """
1166      config = self.GetMethodConfig('Delete')
1167      return self._RunMethod(
1168          config, request, global_params=global_params)
1169
1170    Delete.method_config = lambda: base_api.ApiMethodInfo(
1171        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}',
1172        http_method='DELETE',
1173        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.instances.delete',
1174        ordered_params=['parent', 'dicomWebPath'],
1175        path_params=['dicomWebPath', 'parent'],
1176        query_params=[],
1177        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1178        request_field='',
1179        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteRequest',
1180        response_type_name='Empty',
1181        supports_download=False,
1182    )
1183
1184    def RetrieveInstance(self, request, global_params=None):
1185      r"""RetrieveInstance returns instance associated with the given study, series, and SOP Instance UID. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstance, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) and [DICOM instances](https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstance, see [Retrieving an instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance).
1186
1187      Args:
1188        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceRequest) input message
1189        global_params: (StandardQueryParameters, default: None) global arguments
1190      Returns:
1191        (HttpBody) The response message.
1192      """
1193      config = self.GetMethodConfig('RetrieveInstance')
1194      return self._RunMethod(
1195          config, request, global_params=global_params)
1196
1197    RetrieveInstance.method_config = lambda: base_api.ApiMethodInfo(
1198        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}',
1199        http_method='GET',
1200        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveInstance',
1201        ordered_params=['parent', 'dicomWebPath'],
1202        path_params=['dicomWebPath', 'parent'],
1203        query_params=[],
1204        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1205        request_field='',
1206        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceRequest',
1207        response_type_name='HttpBody',
1208        supports_download=False,
1209    )
1210
1211    def RetrieveMetadata(self, request, global_params=None):
1212      r"""RetrieveInstanceMetadata returns instance associated with the given study, series, and SOP Instance UID presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveInstanceMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveInstanceMetadata, see [Retrieving metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
1213
1214      Args:
1215        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataRequest) input message
1216        global_params: (StandardQueryParameters, default: None) global arguments
1217      Returns:
1218        (HttpBody) The response message.
1219      """
1220      config = self.GetMethodConfig('RetrieveMetadata')
1221      return self._RunMethod(
1222          config, request, global_params=global_params)
1223
1224    RetrieveMetadata.method_config = lambda: base_api.ApiMethodInfo(
1225        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/metadata',
1226        http_method='GET',
1227        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveMetadata',
1228        ordered_params=['parent', 'dicomWebPath'],
1229        path_params=['dicomWebPath', 'parent'],
1230        query_params=[],
1231        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1232        request_field='',
1233        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataRequest',
1234        response_type_name='HttpBody',
1235        supports_download=False,
1236    )
1237
1238    def RetrieveRendered(self, request, global_params=None):
1239      r"""RetrieveRenderedInstance returns instance associated with the given study, series, and SOP Instance UID in an acceptable Rendered Media Type. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveRenderedInstance, see [Rendered resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveRenderedInstance, see [Retrieving consumer image formats](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_consumer_image_formats).
1240
1241      Args:
1242        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedRequest) input message
1243        global_params: (StandardQueryParameters, default: None) global arguments
1244      Returns:
1245        (HttpBody) The response message.
1246      """
1247      config = self.GetMethodConfig('RetrieveRendered')
1248      return self._RunMethod(
1249          config, request, global_params=global_params)
1250
1251    RetrieveRendered.method_config = lambda: base_api.ApiMethodInfo(
1252        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances/{instancesId}/rendered',
1253        http_method='GET',
1254        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.instances.retrieveRendered',
1255        ordered_params=['parent', 'dicomWebPath'],
1256        path_params=['dicomWebPath', 'parent'],
1257        query_params=[],
1258        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1259        request_field='',
1260        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedRequest',
1261        response_type_name='HttpBody',
1262        supports_download=False,
1263    )
1264
1265  class ProjectsLocationsDatasetsDicomStoresStudiesSeriesService(base_api.BaseApiService):
1266    """Service class for the projects_locations_datasets_dicomStores_studies_series resource."""
1267
1268    _NAME = 'projects_locations_datasets_dicomStores_studies_series'
1269
1270    def __init__(self, client):
1271      super(HealthcareV1.ProjectsLocationsDatasetsDicomStoresStudiesSeriesService, self).__init__(client)
1272      self._upload_configs = {
1273          }
1274
1275    def Delete(self, request, global_params=None):
1276      r"""DeleteSeries deletes all instances within the given study and series. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Inserting instances into a series while a delete operation is running for that series could result in the new instances not appearing in search results until the deletion operation finishes. For samples that show how to call DeleteSeries, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
1277
1278      Args:
1279        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteRequest) input message
1280        global_params: (StandardQueryParameters, default: None) global arguments
1281      Returns:
1282        (Operation) The response message.
1283      """
1284      config = self.GetMethodConfig('Delete')
1285      return self._RunMethod(
1286          config, request, global_params=global_params)
1287
1288    Delete.method_config = lambda: base_api.ApiMethodInfo(
1289        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}',
1290        http_method='DELETE',
1291        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.delete',
1292        ordered_params=['parent', 'dicomWebPath'],
1293        path_params=['dicomWebPath', 'parent'],
1294        query_params=[],
1295        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1296        request_field='',
1297        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteRequest',
1298        response_type_name='Operation',
1299        supports_download=False,
1300    )
1301
1302    def RetrieveMetadata(self, request, global_params=None):
1303      r"""RetrieveSeriesMetadata returns instance associated with the given study and series, presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeriesMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeriesMetadata, see [Retrieving metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
1304
1305      Args:
1306        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataRequest) input message
1307        global_params: (StandardQueryParameters, default: None) global arguments
1308      Returns:
1309        (HttpBody) The response message.
1310      """
1311      config = self.GetMethodConfig('RetrieveMetadata')
1312      return self._RunMethod(
1313          config, request, global_params=global_params)
1314
1315    RetrieveMetadata.method_config = lambda: base_api.ApiMethodInfo(
1316        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/metadata',
1317        http_method='GET',
1318        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveMetadata',
1319        ordered_params=['parent', 'dicomWebPath'],
1320        path_params=['dicomWebPath', 'parent'],
1321        query_params=[],
1322        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1323        request_field='',
1324        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataRequest',
1325        response_type_name='HttpBody',
1326        supports_download=False,
1327    )
1328
1329    def RetrieveSeries(self, request, global_params=None):
1330      r"""RetrieveSeries returns all instances within the given study and series. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveSeries, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveSeries, see [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
1331
1332      Args:
1333        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesRequest) input message
1334        global_params: (StandardQueryParameters, default: None) global arguments
1335      Returns:
1336        (HttpBody) The response message.
1337      """
1338      config = self.GetMethodConfig('RetrieveSeries')
1339      return self._RunMethod(
1340          config, request, global_params=global_params)
1341
1342    RetrieveSeries.method_config = lambda: base_api.ApiMethodInfo(
1343        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}',
1344        http_method='GET',
1345        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.retrieveSeries',
1346        ordered_params=['parent', 'dicomWebPath'],
1347        path_params=['dicomWebPath', 'parent'],
1348        query_params=[],
1349        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1350        request_field='',
1351        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesRequest',
1352        response_type_name='HttpBody',
1353        supports_download=False,
1354    )
1355
1356    def SearchForInstances(self, request, global_params=None):
1357      r"""SearchForInstances returns a list of matching instances. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
1358
1359      Args:
1360        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesRequest) input message
1361        global_params: (StandardQueryParameters, default: None) global arguments
1362      Returns:
1363        (HttpBody) The response message.
1364      """
1365      config = self.GetMethodConfig('SearchForInstances')
1366      return self._RunMethod(
1367          config, request, global_params=global_params)
1368
1369    SearchForInstances.method_config = lambda: base_api.ApiMethodInfo(
1370        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}/instances',
1371        http_method='GET',
1372        method_id='healthcare.projects.locations.datasets.dicomStores.studies.series.searchForInstances',
1373        ordered_params=['parent', 'dicomWebPath'],
1374        path_params=['dicomWebPath', 'parent'],
1375        query_params=[],
1376        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1377        request_field='',
1378        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesRequest',
1379        response_type_name='HttpBody',
1380        supports_download=False,
1381    )
1382
1383  class ProjectsLocationsDatasetsDicomStoresStudiesService(base_api.BaseApiService):
1384    """Service class for the projects_locations_datasets_dicomStores_studies resource."""
1385
1386    _NAME = 'projects_locations_datasets_dicomStores_studies'
1387
1388    def __init__(self, client):
1389      super(HealthcareV1.ProjectsLocationsDatasetsDicomStoresStudiesService, self).__init__(client)
1390      self._upload_configs = {
1391          }
1392
1393    def Delete(self, request, global_params=None):
1394      r"""DeleteStudy deletes all instances within the given study. Delete requests are equivalent to the GET requests specified in the Retrieve transaction. The method returns an Operation which will be marked successful when the deletion is complete. Warning: Inserting instances into a study while a delete operation is running for that study could result in the new instances not appearing in search results until the deletion operation finishes. For samples that show how to call DeleteStudy, see [Deleting a study, series, or instance](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#deleting_a_study_series_or_instance).
1395
1396      Args:
1397        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesDeleteRequest) input message
1398        global_params: (StandardQueryParameters, default: None) global arguments
1399      Returns:
1400        (Operation) The response message.
1401      """
1402      config = self.GetMethodConfig('Delete')
1403      return self._RunMethod(
1404          config, request, global_params=global_params)
1405
1406    Delete.method_config = lambda: base_api.ApiMethodInfo(
1407        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}',
1408        http_method='DELETE',
1409        method_id='healthcare.projects.locations.datasets.dicomStores.studies.delete',
1410        ordered_params=['parent', 'dicomWebPath'],
1411        path_params=['dicomWebPath', 'parent'],
1412        query_params=[],
1413        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1414        request_field='',
1415        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesDeleteRequest',
1416        response_type_name='Operation',
1417        supports_download=False,
1418    )
1419
1420    def RetrieveMetadata(self, request, global_params=None):
1421      r"""RetrieveStudyMetadata returns instance associated with the given study presented as metadata with the bulk data removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudyMetadata, see [Metadata resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudyMetadata, see [Retrieving metadata](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_metadata).
1422
1423      Args:
1424        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataRequest) input message
1425        global_params: (StandardQueryParameters, default: None) global arguments
1426      Returns:
1427        (HttpBody) The response message.
1428      """
1429      config = self.GetMethodConfig('RetrieveMetadata')
1430      return self._RunMethod(
1431          config, request, global_params=global_params)
1432
1433    RetrieveMetadata.method_config = lambda: base_api.ApiMethodInfo(
1434        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/metadata',
1435        http_method='GET',
1436        method_id='healthcare.projects.locations.datasets.dicomStores.studies.retrieveMetadata',
1437        ordered_params=['parent', 'dicomWebPath'],
1438        path_params=['dicomWebPath', 'parent'],
1439        query_params=[],
1440        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1441        request_field='',
1442        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataRequest',
1443        response_type_name='HttpBody',
1444        supports_download=False,
1445    )
1446
1447    def RetrieveStudy(self, request, global_params=None):
1448      r"""RetrieveStudy returns all instances within the given study. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4). For details on the implementation of RetrieveStudy, see [DICOM study/series/instances](https://cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API conformance statement. For samples that show how to call RetrieveStudy, see [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_dicom_data).
1449
1450      Args:
1451        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyRequest) input message
1452        global_params: (StandardQueryParameters, default: None) global arguments
1453      Returns:
1454        (HttpBody) The response message.
1455      """
1456      config = self.GetMethodConfig('RetrieveStudy')
1457      return self._RunMethod(
1458          config, request, global_params=global_params)
1459
1460    RetrieveStudy.method_config = lambda: base_api.ApiMethodInfo(
1461        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}',
1462        http_method='GET',
1463        method_id='healthcare.projects.locations.datasets.dicomStores.studies.retrieveStudy',
1464        ordered_params=['parent', 'dicomWebPath'],
1465        path_params=['dicomWebPath', 'parent'],
1466        query_params=[],
1467        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1468        request_field='',
1469        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyRequest',
1470        response_type_name='HttpBody',
1471        supports_download=False,
1472    )
1473
1474    def SearchForInstances(self, request, global_params=None):
1475      r"""SearchForInstances returns a list of matching instances. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
1476
1477      Args:
1478        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesRequest) input message
1479        global_params: (StandardQueryParameters, default: None) global arguments
1480      Returns:
1481        (HttpBody) The response message.
1482      """
1483      config = self.GetMethodConfig('SearchForInstances')
1484      return self._RunMethod(
1485          config, request, global_params=global_params)
1486
1487    SearchForInstances.method_config = lambda: base_api.ApiMethodInfo(
1488        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/instances',
1489        http_method='GET',
1490        method_id='healthcare.projects.locations.datasets.dicomStores.studies.searchForInstances',
1491        ordered_params=['parent', 'dicomWebPath'],
1492        path_params=['dicomWebPath', 'parent'],
1493        query_params=[],
1494        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1495        request_field='',
1496        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesRequest',
1497        response_type_name='HttpBody',
1498        supports_download=False,
1499    )
1500
1501    def SearchForSeries(self, request, global_params=None):
1502      r"""SearchForSeries returns a list of matching series. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
1503
1504      Args:
1505        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesRequest) input message
1506        global_params: (StandardQueryParameters, default: None) global arguments
1507      Returns:
1508        (HttpBody) The response message.
1509      """
1510      config = self.GetMethodConfig('SearchForSeries')
1511      return self._RunMethod(
1512          config, request, global_params=global_params)
1513
1514    SearchForSeries.method_config = lambda: base_api.ApiMethodInfo(
1515        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series',
1516        http_method='GET',
1517        method_id='healthcare.projects.locations.datasets.dicomStores.studies.searchForSeries',
1518        ordered_params=['parent', 'dicomWebPath'],
1519        path_params=['dicomWebPath', 'parent'],
1520        query_params=[],
1521        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1522        request_field='',
1523        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesRequest',
1524        response_type_name='HttpBody',
1525        supports_download=False,
1526    )
1527
1528    def StoreInstances(self, request, global_params=None):
1529      r"""StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Storing DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
1530
1531      Args:
1532        request: (HealthcareProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesRequest) input message
1533        global_params: (StandardQueryParameters, default: None) global arguments
1534      Returns:
1535        (HttpBody) The response message.
1536      """
1537      config = self.GetMethodConfig('StoreInstances')
1538      return self._RunMethod(
1539          config, request, global_params=global_params)
1540
1541    StoreInstances.method_config = lambda: base_api.ApiMethodInfo(
1542        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}',
1543        http_method='POST',
1544        method_id='healthcare.projects.locations.datasets.dicomStores.studies.storeInstances',
1545        ordered_params=['parent', 'dicomWebPath'],
1546        path_params=['dicomWebPath', 'parent'],
1547        query_params=[],
1548        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1549        request_field='httpBody',
1550        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesRequest',
1551        response_type_name='HttpBody',
1552        supports_download=False,
1553    )
1554
1555  class ProjectsLocationsDatasetsDicomStoresService(base_api.BaseApiService):
1556    """Service class for the projects_locations_datasets_dicomStores resource."""
1557
1558    _NAME = 'projects_locations_datasets_dicomStores'
1559
1560    def __init__(self, client):
1561      super(HealthcareV1.ProjectsLocationsDatasetsDicomStoresService, self).__init__(client)
1562      self._upload_configs = {
1563          }
1564
1565    def Create(self, request, global_params=None):
1566      r"""Creates a new DICOM store within the parent dataset.
1567
1568      Args:
1569        request: (HealthcareProjectsLocationsDatasetsDicomStoresCreateRequest) input message
1570        global_params: (StandardQueryParameters, default: None) global arguments
1571      Returns:
1572        (DicomStore) The response message.
1573      """
1574      config = self.GetMethodConfig('Create')
1575      return self._RunMethod(
1576          config, request, global_params=global_params)
1577
1578    Create.method_config = lambda: base_api.ApiMethodInfo(
1579        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores',
1580        http_method='POST',
1581        method_id='healthcare.projects.locations.datasets.dicomStores.create',
1582        ordered_params=['parent'],
1583        path_params=['parent'],
1584        query_params=['dicomStoreId'],
1585        relative_path='v1/{+parent}/dicomStores',
1586        request_field='dicomStore',
1587        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresCreateRequest',
1588        response_type_name='DicomStore',
1589        supports_download=False,
1590    )
1591
1592    def Deidentify(self, request, global_params=None):
1593      r"""De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyDicomStoreSummary. If errors occur, error is set. The LRO result may still be successful if de-identification fails for some DICOM instances. The output DICOM store will not contain these failed resources. Failed resource totals are tracked in Operation.metadata. Error details are also logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)).
1594
1595      Args:
1596        request: (HealthcareProjectsLocationsDatasetsDicomStoresDeidentifyRequest) input message
1597        global_params: (StandardQueryParameters, default: None) global arguments
1598      Returns:
1599        (Operation) The response message.
1600      """
1601      config = self.GetMethodConfig('Deidentify')
1602      return self._RunMethod(
1603          config, request, global_params=global_params)
1604
1605    Deidentify.method_config = lambda: base_api.ApiMethodInfo(
1606        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:deidentify',
1607        http_method='POST',
1608        method_id='healthcare.projects.locations.datasets.dicomStores.deidentify',
1609        ordered_params=['sourceStore'],
1610        path_params=['sourceStore'],
1611        query_params=[],
1612        relative_path='v1/{+sourceStore}:deidentify',
1613        request_field='deidentifyDicomStoreRequest',
1614        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresDeidentifyRequest',
1615        response_type_name='Operation',
1616        supports_download=False,
1617    )
1618
1619    def Delete(self, request, global_params=None):
1620      r"""Deletes the specified DICOM store and removes all images that are contained within it.
1621
1622      Args:
1623        request: (HealthcareProjectsLocationsDatasetsDicomStoresDeleteRequest) input message
1624        global_params: (StandardQueryParameters, default: None) global arguments
1625      Returns:
1626        (Empty) The response message.
1627      """
1628      config = self.GetMethodConfig('Delete')
1629      return self._RunMethod(
1630          config, request, global_params=global_params)
1631
1632    Delete.method_config = lambda: base_api.ApiMethodInfo(
1633        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}',
1634        http_method='DELETE',
1635        method_id='healthcare.projects.locations.datasets.dicomStores.delete',
1636        ordered_params=['name'],
1637        path_params=['name'],
1638        query_params=[],
1639        relative_path='v1/{+name}',
1640        request_field='',
1641        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresDeleteRequest',
1642        response_type_name='Empty',
1643        supports_download=False,
1644    )
1645
1646    def Export(self, request, global_params=None):
1647      r"""Exports data to the specified destination by copying it from the DICOM store. Errors are also logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.
1648
1649      Args:
1650        request: (HealthcareProjectsLocationsDatasetsDicomStoresExportRequest) input message
1651        global_params: (StandardQueryParameters, default: None) global arguments
1652      Returns:
1653        (Operation) The response message.
1654      """
1655      config = self.GetMethodConfig('Export')
1656      return self._RunMethod(
1657          config, request, global_params=global_params)
1658
1659    Export.method_config = lambda: base_api.ApiMethodInfo(
1660        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:export',
1661        http_method='POST',
1662        method_id='healthcare.projects.locations.datasets.dicomStores.export',
1663        ordered_params=['name'],
1664        path_params=['name'],
1665        query_params=[],
1666        relative_path='v1/{+name}:export',
1667        request_field='exportDicomDataRequest',
1668        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresExportRequest',
1669        response_type_name='Operation',
1670        supports_download=False,
1671    )
1672
1673    def Get(self, request, global_params=None):
1674      r"""Gets the specified DICOM store.
1675
1676      Args:
1677        request: (HealthcareProjectsLocationsDatasetsDicomStoresGetRequest) input message
1678        global_params: (StandardQueryParameters, default: None) global arguments
1679      Returns:
1680        (DicomStore) The response message.
1681      """
1682      config = self.GetMethodConfig('Get')
1683      return self._RunMethod(
1684          config, request, global_params=global_params)
1685
1686    Get.method_config = lambda: base_api.ApiMethodInfo(
1687        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}',
1688        http_method='GET',
1689        method_id='healthcare.projects.locations.datasets.dicomStores.get',
1690        ordered_params=['name'],
1691        path_params=['name'],
1692        query_params=[],
1693        relative_path='v1/{+name}',
1694        request_field='',
1695        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresGetRequest',
1696        response_type_name='DicomStore',
1697        supports_download=False,
1698    )
1699
1700    def GetIamPolicy(self, request, global_params=None):
1701      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
1702
1703      Args:
1704        request: (HealthcareProjectsLocationsDatasetsDicomStoresGetIamPolicyRequest) input message
1705        global_params: (StandardQueryParameters, default: None) global arguments
1706      Returns:
1707        (Policy) The response message.
1708      """
1709      config = self.GetMethodConfig('GetIamPolicy')
1710      return self._RunMethod(
1711          config, request, global_params=global_params)
1712
1713    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
1714        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy',
1715        http_method='GET',
1716        method_id='healthcare.projects.locations.datasets.dicomStores.getIamPolicy',
1717        ordered_params=['resource'],
1718        path_params=['resource'],
1719        query_params=['options_requestedPolicyVersion'],
1720        relative_path='v1/{+resource}:getIamPolicy',
1721        request_field='',
1722        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresGetIamPolicyRequest',
1723        response_type_name='Policy',
1724        supports_download=False,
1725    )
1726
1727    def Import(self, request, global_params=None):
1728      r"""Imports data into the DICOM store by copying it from the specified source. Errors are logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging). The metadata field type is OperationMetadata.
1729
1730      Args:
1731        request: (HealthcareProjectsLocationsDatasetsDicomStoresImportRequest) input message
1732        global_params: (StandardQueryParameters, default: None) global arguments
1733      Returns:
1734        (Operation) The response message.
1735      """
1736      config = self.GetMethodConfig('Import')
1737      return self._RunMethod(
1738          config, request, global_params=global_params)
1739
1740    Import.method_config = lambda: base_api.ApiMethodInfo(
1741        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:import',
1742        http_method='POST',
1743        method_id='healthcare.projects.locations.datasets.dicomStores.import',
1744        ordered_params=['name'],
1745        path_params=['name'],
1746        query_params=[],
1747        relative_path='v1/{+name}:import',
1748        request_field='importDicomDataRequest',
1749        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresImportRequest',
1750        response_type_name='Operation',
1751        supports_download=False,
1752    )
1753
1754    def List(self, request, global_params=None):
1755      r"""Lists the DICOM stores in the given dataset.
1756
1757      Args:
1758        request: (HealthcareProjectsLocationsDatasetsDicomStoresListRequest) input message
1759        global_params: (StandardQueryParameters, default: None) global arguments
1760      Returns:
1761        (ListDicomStoresResponse) The response message.
1762      """
1763      config = self.GetMethodConfig('List')
1764      return self._RunMethod(
1765          config, request, global_params=global_params)
1766
1767    List.method_config = lambda: base_api.ApiMethodInfo(
1768        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores',
1769        http_method='GET',
1770        method_id='healthcare.projects.locations.datasets.dicomStores.list',
1771        ordered_params=['parent'],
1772        path_params=['parent'],
1773        query_params=['filter', 'pageSize', 'pageToken'],
1774        relative_path='v1/{+parent}/dicomStores',
1775        request_field='',
1776        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresListRequest',
1777        response_type_name='ListDicomStoresResponse',
1778        supports_download=False,
1779    )
1780
1781    def Patch(self, request, global_params=None):
1782      r"""Updates the specified DICOM store.
1783
1784      Args:
1785        request: (HealthcareProjectsLocationsDatasetsDicomStoresPatchRequest) input message
1786        global_params: (StandardQueryParameters, default: None) global arguments
1787      Returns:
1788        (DicomStore) The response message.
1789      """
1790      config = self.GetMethodConfig('Patch')
1791      return self._RunMethod(
1792          config, request, global_params=global_params)
1793
1794    Patch.method_config = lambda: base_api.ApiMethodInfo(
1795        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}',
1796        http_method='PATCH',
1797        method_id='healthcare.projects.locations.datasets.dicomStores.patch',
1798        ordered_params=['name'],
1799        path_params=['name'],
1800        query_params=['updateMask'],
1801        relative_path='v1/{+name}',
1802        request_field='dicomStore',
1803        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresPatchRequest',
1804        response_type_name='DicomStore',
1805        supports_download=False,
1806    )
1807
1808    def SearchForInstances(self, request, global_params=None):
1809      r"""SearchForInstances returns a list of matching instances. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForInstances, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForInstances, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
1810
1811      Args:
1812        request: (HealthcareProjectsLocationsDatasetsDicomStoresSearchForInstancesRequest) input message
1813        global_params: (StandardQueryParameters, default: None) global arguments
1814      Returns:
1815        (HttpBody) The response message.
1816      """
1817      config = self.GetMethodConfig('SearchForInstances')
1818      return self._RunMethod(
1819          config, request, global_params=global_params)
1820
1821    SearchForInstances.method_config = lambda: base_api.ApiMethodInfo(
1822        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/instances',
1823        http_method='GET',
1824        method_id='healthcare.projects.locations.datasets.dicomStores.searchForInstances',
1825        ordered_params=['parent', 'dicomWebPath'],
1826        path_params=['dicomWebPath', 'parent'],
1827        query_params=[],
1828        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1829        request_field='',
1830        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresSearchForInstancesRequest',
1831        response_type_name='HttpBody',
1832        supports_download=False,
1833    )
1834
1835    def SearchForSeries(self, request, global_params=None):
1836      r"""SearchForSeries returns a list of matching series. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForSeries, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForSeries, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
1837
1838      Args:
1839        request: (HealthcareProjectsLocationsDatasetsDicomStoresSearchForSeriesRequest) input message
1840        global_params: (StandardQueryParameters, default: None) global arguments
1841      Returns:
1842        (HttpBody) The response message.
1843      """
1844      config = self.GetMethodConfig('SearchForSeries')
1845      return self._RunMethod(
1846          config, request, global_params=global_params)
1847
1848    SearchForSeries.method_config = lambda: base_api.ApiMethodInfo(
1849        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/series',
1850        http_method='GET',
1851        method_id='healthcare.projects.locations.datasets.dicomStores.searchForSeries',
1852        ordered_params=['parent', 'dicomWebPath'],
1853        path_params=['dicomWebPath', 'parent'],
1854        query_params=[],
1855        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1856        request_field='',
1857        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresSearchForSeriesRequest',
1858        response_type_name='HttpBody',
1859        supports_download=False,
1860    )
1861
1862    def SearchForStudies(self, request, global_params=None):
1863      r"""SearchForStudies returns a list of matching studies. See [Search Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6). For details on the implementation of SearchForStudies, see [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call SearchForStudies, see [Searching for studies, series, instances, and frames](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#searching_for_studies_series_instances_and_frames).
1864
1865      Args:
1866        request: (HealthcareProjectsLocationsDatasetsDicomStoresSearchForStudiesRequest) input message
1867        global_params: (StandardQueryParameters, default: None) global arguments
1868      Returns:
1869        (HttpBody) The response message.
1870      """
1871      config = self.GetMethodConfig('SearchForStudies')
1872      return self._RunMethod(
1873          config, request, global_params=global_params)
1874
1875    SearchForStudies.method_config = lambda: base_api.ApiMethodInfo(
1876        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies',
1877        http_method='GET',
1878        method_id='healthcare.projects.locations.datasets.dicomStores.searchForStudies',
1879        ordered_params=['parent', 'dicomWebPath'],
1880        path_params=['dicomWebPath', 'parent'],
1881        query_params=[],
1882        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1883        request_field='',
1884        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresSearchForStudiesRequest',
1885        response_type_name='HttpBody',
1886        supports_download=False,
1887    )
1888
1889    def SetIamPolicy(self, request, global_params=None):
1890      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
1891
1892      Args:
1893        request: (HealthcareProjectsLocationsDatasetsDicomStoresSetIamPolicyRequest) input message
1894        global_params: (StandardQueryParameters, default: None) global arguments
1895      Returns:
1896        (Policy) The response message.
1897      """
1898      config = self.GetMethodConfig('SetIamPolicy')
1899      return self._RunMethod(
1900          config, request, global_params=global_params)
1901
1902    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
1903        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:setIamPolicy',
1904        http_method='POST',
1905        method_id='healthcare.projects.locations.datasets.dicomStores.setIamPolicy',
1906        ordered_params=['resource'],
1907        path_params=['resource'],
1908        query_params=[],
1909        relative_path='v1/{+resource}:setIamPolicy',
1910        request_field='setIamPolicyRequest',
1911        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresSetIamPolicyRequest',
1912        response_type_name='Policy',
1913        supports_download=False,
1914    )
1915
1916    def StoreInstances(self, request, global_params=None):
1917      r"""StoreInstances stores DICOM instances associated with study instance unique identifiers (SUID). See [Store Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5). For details on the implementation of StoreInstances, see [Store transaction](https://cloud.google.com/healthcare/docs/dicom#store_transaction) in the Cloud Healthcare API conformance statement. For samples that show how to call StoreInstances, see [Storing DICOM data](https://cloud.google.com/healthcare/docs/how-tos/dicomweb#storing_dicom_data).
1918
1919      Args:
1920        request: (HealthcareProjectsLocationsDatasetsDicomStoresStoreInstancesRequest) input message
1921        global_params: (StandardQueryParameters, default: None) global arguments
1922      Returns:
1923        (HttpBody) The response message.
1924      """
1925      config = self.GetMethodConfig('StoreInstances')
1926      return self._RunMethod(
1927          config, request, global_params=global_params)
1928
1929    StoreInstances.method_config = lambda: base_api.ApiMethodInfo(
1930        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies',
1931        http_method='POST',
1932        method_id='healthcare.projects.locations.datasets.dicomStores.storeInstances',
1933        ordered_params=['parent', 'dicomWebPath'],
1934        path_params=['dicomWebPath', 'parent'],
1935        query_params=[],
1936        relative_path='v1/{+parent}/dicomWeb/{+dicomWebPath}',
1937        request_field='httpBody',
1938        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresStoreInstancesRequest',
1939        response_type_name='HttpBody',
1940        supports_download=False,
1941    )
1942
1943    def TestIamPermissions(self, request, global_params=None):
1944      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
1945
1946      Args:
1947        request: (HealthcareProjectsLocationsDatasetsDicomStoresTestIamPermissionsRequest) input message
1948        global_params: (StandardQueryParameters, default: None) global arguments
1949      Returns:
1950        (TestIamPermissionsResponse) The response message.
1951      """
1952      config = self.GetMethodConfig('TestIamPermissions')
1953      return self._RunMethod(
1954          config, request, global_params=global_params)
1955
1956    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
1957        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:testIamPermissions',
1958        http_method='POST',
1959        method_id='healthcare.projects.locations.datasets.dicomStores.testIamPermissions',
1960        ordered_params=['resource'],
1961        path_params=['resource'],
1962        query_params=[],
1963        relative_path='v1/{+resource}:testIamPermissions',
1964        request_field='testIamPermissionsRequest',
1965        request_type_name='HealthcareProjectsLocationsDatasetsDicomStoresTestIamPermissionsRequest',
1966        response_type_name='TestIamPermissionsResponse',
1967        supports_download=False,
1968    )
1969
1970  class ProjectsLocationsDatasetsFhirStoresFhirService(base_api.BaseApiService):
1971    """Service class for the projects_locations_datasets_fhirStores_fhir resource."""
1972
1973    _NAME = 'projects_locations_datasets_fhirStores_fhir'
1974
1975    def __init__(self, client):
1976      super(HealthcareV1.ProjectsLocationsDatasetsFhirStoresFhirService, self).__init__(client)
1977      self._upload_configs = {
1978          }
1979
1980    def Patient_everything(self, request, global_params=None):
1981      r"""Retrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything), [R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)). On success, the response body will contain a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The patient resource itself. * All the resources directly referenced by the patient resource. * Resources directly referencing the patient resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the patient compartment definition ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which details the eligible resource types and referencing search parameters. For samples that show how to call `Patient-everything`, see [Getting all patient compartment resources](/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources).
1982
1983      Args:
1984        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirPatientEverythingRequest) input message
1985        global_params: (StandardQueryParameters, default: None) global arguments
1986      Returns:
1987        (HttpBody) The response message.
1988      """
1989      config = self.GetMethodConfig('Patient_everything')
1990      return self._RunMethod(
1991          config, request, global_params=global_params)
1992
1993    Patient_everything.method_config = lambda: base_api.ApiMethodInfo(
1994        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything',
1995        http_method='GET',
1996        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.Patient-everything',
1997        ordered_params=['name'],
1998        path_params=['name'],
1999        query_params=['_count', '_page_token', '_since', '_type', 'end', 'start'],
2000        relative_path='v1/{+name}/$everything',
2001        request_field='',
2002        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirPatientEverythingRequest',
2003        response_type_name='HttpBody',
2004        supports_download=False,
2005    )
2006
2007    def Resource_purge(self, request, global_params=None):
2008      r"""Deletes all the historical versions of a resource (excluding the current version) from the FHIR store. To remove all versions of a resource, first delete the current version and then call this method. This is not a FHIR standard operation. For samples that show how to call `Resource-purge`, see [Deleting historical versions of a FHIR resource](/healthcare/docs/how-tos/fhir-resources#deleting_historical_versions_of_a_fhir_resource).
2009
2010      Args:
2011        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcePurgeRequest) input message
2012        global_params: (StandardQueryParameters, default: None) global arguments
2013      Returns:
2014        (Empty) The response message.
2015      """
2016      config = self.GetMethodConfig('Resource_purge')
2017      return self._RunMethod(
2018          config, request, global_params=global_params)
2019
2020    Resource_purge.method_config = lambda: base_api.ApiMethodInfo(
2021        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/$purge',
2022        http_method='DELETE',
2023        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.Resource-purge',
2024        ordered_params=['name'],
2025        path_params=['name'],
2026        query_params=[],
2027        relative_path='v1/{+name}/$purge',
2028        request_field='',
2029        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcePurgeRequest',
2030        response_type_name='Empty',
2031        supports_download=False,
2032    )
2033
2034    def Capabilities(self, request, global_params=None):
2035      r"""Gets the FHIR capability statement ([STU3](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html), [R4](http://hl7.org/implement/standards/fhir/R4/capabilitystatement.html)), or the [conformance statement](http://hl7.org/implement/standards/fhir/DSTU2/conformance.html) in the DSTU2 case for the store, which contains a description of functionality supported by the server. Implements the FHIR standard capabilities interaction ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#capabilities)), or the [conformance interaction](http://hl7.org/implement/standards/fhir/DSTU2/http.html#conformance) in the DSTU2 case. On success, the response body will contain a JSON-encoded representation of a `CapabilityStatement` resource.
2036
2037      Args:
2038        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirCapabilitiesRequest) input message
2039        global_params: (StandardQueryParameters, default: None) global arguments
2040      Returns:
2041        (HttpBody) The response message.
2042      """
2043      config = self.GetMethodConfig('Capabilities')
2044      return self._RunMethod(
2045          config, request, global_params=global_params)
2046
2047    Capabilities.method_config = lambda: base_api.ApiMethodInfo(
2048        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/metadata',
2049        http_method='GET',
2050        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.capabilities',
2051        ordered_params=['name'],
2052        path_params=['name'],
2053        query_params=[],
2054        relative_path='v1/{+name}/fhir/metadata',
2055        request_field='',
2056        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirCapabilitiesRequest',
2057        response_type_name='HttpBody',
2058        supports_download=False,
2059    )
2060
2061    def Create(self, request, global_params=None):
2062      r"""Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body will contain a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource).
2063
2064      Args:
2065        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirCreateRequest) input message
2066        global_params: (StandardQueryParameters, default: None) global arguments
2067      Returns:
2068        (HttpBody) The response message.
2069      """
2070      config = self.GetMethodConfig('Create')
2071      return self._RunMethod(
2072          config, request, global_params=global_params)
2073
2074    Create.method_config = lambda: base_api.ApiMethodInfo(
2075        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}',
2076        http_method='POST',
2077        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.create',
2078        ordered_params=['parent', 'type'],
2079        path_params=['parent', 'type'],
2080        query_params=[],
2081        relative_path='v1/{+parent}/fhir/{+type}',
2082        request_field='httpBody',
2083        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirCreateRequest',
2084        response_type_name='HttpBody',
2085        supports_download=False,
2086    )
2087
2088    def Delete(self, request, global_params=None):
2089      r"""Deletes a FHIR resource. Implements the FHIR standard delete interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#delete), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#delete), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#delete)). Note: Unless resource versioning is disabled by setting the disable_resource_versioning flag on the FHIR store, the deleted resources will be moved to a history repository that can still be retrieved through vread and related methods, unless they are removed by the purge method. For samples that show how to call `delete`, see [Deleting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#deleting_a_fhir_resource).
2090
2091      Args:
2092        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirDeleteRequest) input message
2093        global_params: (StandardQueryParameters, default: None) global arguments
2094      Returns:
2095        (HttpBody) The response message.
2096      """
2097      config = self.GetMethodConfig('Delete')
2098      return self._RunMethod(
2099          config, request, global_params=global_params)
2100
2101    Delete.method_config = lambda: base_api.ApiMethodInfo(
2102        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}',
2103        http_method='DELETE',
2104        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.delete',
2105        ordered_params=['name'],
2106        path_params=['name'],
2107        query_params=[],
2108        relative_path='v1/{+name}',
2109        request_field='',
2110        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirDeleteRequest',
2111        response_type_name='HttpBody',
2112        supports_download=False,
2113    )
2114
2115    def ExecuteBundle(self, request, global_params=None):
2116      r"""Executes all the requests in the given Bundle. Implements the FHIR standard batch/transaction interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#transaction), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#transaction), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#transaction)). Supports all interactions within a bundle, except search. This method accepts Bundles of type `batch` and `transaction`, processing them according to the batch processing rules ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.1), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.1), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#brules)) and transaction processing rules ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#2.1.0.16.2), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#2.21.0.17.2), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#trules)). The request body must contain a JSON-encoded FHIR `Bundle` resource, and the request headers must contain `Content-Type: application/fhir+json`. For a batch bundle or a successful transaction the response body will contain a JSON-encoded representation of a `Bundle` resource of type `batch-response` or `transaction-response` containing one entry for each entry in the request, with the outcome of processing the entry. In the case of an error for a transaction bundle, the response body will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `executeBundle`, see [Managing FHIR resources using FHIR bundles](/healthcare/docs/how-tos/fhir-bundles).
2117
2118      Args:
2119        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirExecuteBundleRequest) input message
2120        global_params: (StandardQueryParameters, default: None) global arguments
2121      Returns:
2122        (HttpBody) The response message.
2123      """
2124      config = self.GetMethodConfig('ExecuteBundle')
2125      return self._RunMethod(
2126          config, request, global_params=global_params)
2127
2128    ExecuteBundle.method_config = lambda: base_api.ApiMethodInfo(
2129        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir',
2130        http_method='POST',
2131        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.executeBundle',
2132        ordered_params=['parent'],
2133        path_params=['parent'],
2134        query_params=[],
2135        relative_path='v1/{+parent}/fhir',
2136        request_field='httpBody',
2137        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirExecuteBundleRequest',
2138        response_type_name='HttpBody',
2139        supports_download=False,
2140    )
2141
2142    def History(self, request, global_params=None):
2143      r"""Lists all the versions of a resource (including the current version and deleted versions) from the FHIR store. Implements the per-resource form of the FHIR standard history interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#history), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#history), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#history)). On success, the response body will contain a JSON-encoded representation of a `Bundle` resource of type `history`, containing the version history sorted from most recent to oldest versions. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `history`, see [Listing FHIR resource versions](/healthcare/docs/how-tos/fhir-resources#listing_fhir_resource_versions).
2144
2145      Args:
2146        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirHistoryRequest) input message
2147        global_params: (StandardQueryParameters, default: None) global arguments
2148      Returns:
2149        (HttpBody) The response message.
2150      """
2151      config = self.GetMethodConfig('History')
2152      return self._RunMethod(
2153          config, request, global_params=global_params)
2154
2155    History.method_config = lambda: base_api.ApiMethodInfo(
2156        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history',
2157        http_method='GET',
2158        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.history',
2159        ordered_params=['name'],
2160        path_params=['name'],
2161        query_params=['_at', '_count', '_page_token', '_since'],
2162        relative_path='v1/{+name}/_history',
2163        request_field='',
2164        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirHistoryRequest',
2165        response_type_name='HttpBody',
2166        supports_download=False,
2167    )
2168
2169    def Patch(self, request, global_params=None):
2170      r"""Updates part of an existing resource by applying the operations specified in a [JSON Patch](http://jsonpatch.com/) document. Implements the FHIR standard patch interaction ([STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#patch), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#patch)). DSTU2 doesn't define a patch method, but the server supports it in the same way it supports STU3. The request body must contain a JSON Patch document, and the request headers must contain `Content-Type: application/json-patch+json`. On success, the response body will contain a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `patch`, see [Patching a FHIR resource](/healthcare/docs/how-tos/fhir-resources#patching_a_fhir_resource).
2171
2172      Args:
2173        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirPatchRequest) input message
2174        global_params: (StandardQueryParameters, default: None) global arguments
2175      Returns:
2176        (HttpBody) The response message.
2177      """
2178      config = self.GetMethodConfig('Patch')
2179      return self._RunMethod(
2180          config, request, global_params=global_params)
2181
2182    Patch.method_config = lambda: base_api.ApiMethodInfo(
2183        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}',
2184        http_method='PATCH',
2185        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.patch',
2186        ordered_params=['name'],
2187        path_params=['name'],
2188        query_params=[],
2189        relative_path='v1/{+name}',
2190        request_field='httpBody',
2191        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirPatchRequest',
2192        response_type_name='HttpBody',
2193        supports_download=False,
2194    )
2195
2196    def Read(self, request, global_params=None):
2197      r"""Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body will contain a JSON-encoded representation of the resource. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource).
2198
2199      Args:
2200        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirReadRequest) input message
2201        global_params: (StandardQueryParameters, default: None) global arguments
2202      Returns:
2203        (HttpBody) The response message.
2204      """
2205      config = self.GetMethodConfig('Read')
2206      return self._RunMethod(
2207          config, request, global_params=global_params)
2208
2209    Read.method_config = lambda: base_api.ApiMethodInfo(
2210        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}',
2211        http_method='GET',
2212        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.read',
2213        ordered_params=['name'],
2214        path_params=['name'],
2215        query_params=[],
2216        relative_path='v1/{+name}',
2217        request_field='',
2218        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirReadRequest',
2219        response_type_name='HttpBody',
2220        supports_download=False,
2221    )
2222
2223    def Search(self, request, global_params=None):
2224      r"""Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body will contain a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
2225
2226      Args:
2227        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirSearchRequest) input message
2228        global_params: (StandardQueryParameters, default: None) global arguments
2229      Returns:
2230        (HttpBody) The response message.
2231      """
2232      config = self.GetMethodConfig('Search')
2233      return self._RunMethod(
2234          config, request, global_params=global_params)
2235
2236    Search.method_config = lambda: base_api.ApiMethodInfo(
2237        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/_search',
2238        http_method='POST',
2239        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.search',
2240        ordered_params=['parent'],
2241        path_params=['parent'],
2242        query_params=[],
2243        relative_path='v1/{+parent}/fhir/_search',
2244        request_field='searchResourcesRequest',
2245        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirSearchRequest',
2246        response_type_name='HttpBody',
2247        supports_download=False,
2248    )
2249
2250    def Search_type(self, request, global_params=None):
2251      r"""Searches for resources in the given FHIR store according to criteria specified as query parameters. Implements the FHIR standard search interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#search), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#search), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#search)) using the search semantics described in the FHIR Search specification ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/search.html), [STU3](http://hl7.org/implement/standards/fhir/STU3/search.html), [R4](http://hl7.org/implement/standards/fhir/R4/search.html)). Supports four methods of search defined by the specification: * `GET [base]?[parameters]` to search across all resources. * `GET [base]/[type]?[parameters]` to search resources of a specified type. * `POST [base]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method across all resources. * `POST [base]/[type]/_search?[parameters]` as an alternate form having the same semantics as the `GET` method for the specified type. The `GET` and `POST` methods do not support compartment searches. The `POST` method does not support `application/x-www-form-urlencoded` search parameters. On success, the response body will contain a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the search. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry ([STU3](http://hl7.org/implement/standards/fhir/STU3/searchparameter-registry.html), [R4](http://hl7.org/implement/standards/fhir/R4/searchparameter-registry.html)). FHIR search parameters for DSTU2 can be found on each resource's definition page. Supported search modifiers: `:missing`, `:exact`, `:contains`, `:text`, `:in`, `:not-in`, `:above`, `:below`, `:[type]`, `:not`, and `:recurse`. Supported search result parameters: `_sort`, `_count`, `_include`, `_revinclude`, `_summary=text`, `_summary=data`, and `_elements`. The maximum number of search results returned defaults to 100, which can be overridden by the `_count` parameter up to a maximum limit of 1000. If there are additional results, the returned `Bundle` will contain pagination links. Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases. Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results. For samples and detailed information, see [Searching for FHIR resources](/healthcare/docs/how-tos/fhir-search) and [Advanced FHIR search features](/healthcare/docs/how-tos/fhir-advanced-search).
2252
2253      Args:
2254        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirSearchTypeRequest) input message
2255        global_params: (StandardQueryParameters, default: None) global arguments
2256      Returns:
2257        (HttpBody) The response message.
2258      """
2259      config = self.GetMethodConfig('Search_type')
2260      return self._RunMethod(
2261          config, request, global_params=global_params)
2262
2263    Search_type.method_config = lambda: base_api.ApiMethodInfo(
2264        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{resourceType}/_search',
2265        http_method='POST',
2266        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.search-type',
2267        ordered_params=['parent', 'resourceType'],
2268        path_params=['parent', 'resourceType'],
2269        query_params=[],
2270        relative_path='v1/{+parent}/fhir/{resourceType}/_search',
2271        request_field='searchResourcesRequest',
2272        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirSearchTypeRequest',
2273        response_type_name='HttpBody',
2274        supports_download=False,
2275    )
2276
2277    def Update(self, request, global_params=None):
2278      r"""Updates the entire contents of a resource. Implements the FHIR standard update interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#update), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#update), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#update)). If the specified resource does not exist and the FHIR store has enable_update_create set, creates the resource with the client-specified ID. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. The resource must contain an `id` element having an identical value to the ID in the REST path of the request. On success, the response body will contain a JSON-encoded representation of the updated resource, including the server-assigned version ID. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `update`, see [Updating a FHIR resource](/healthcare/docs/how-tos/fhir-resources#updating_a_fhir_resource).
2279
2280      Args:
2281        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirUpdateRequest) input message
2282        global_params: (StandardQueryParameters, default: None) global arguments
2283      Returns:
2284        (HttpBody) The response message.
2285      """
2286      config = self.GetMethodConfig('Update')
2287      return self._RunMethod(
2288          config, request, global_params=global_params)
2289
2290    Update.method_config = lambda: base_api.ApiMethodInfo(
2291        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}',
2292        http_method='PUT',
2293        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.update',
2294        ordered_params=['name'],
2295        path_params=['name'],
2296        query_params=[],
2297        relative_path='v1/{+name}',
2298        request_field='httpBody',
2299        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirUpdateRequest',
2300        response_type_name='HttpBody',
2301        supports_download=False,
2302    )
2303
2304    def Vread(self, request, global_params=None):
2305      r"""Gets the contents of a version (current or historical) of a FHIR resource by version ID. Implements the FHIR standard vread interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#vread), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#vread), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#vread)). On success, the response body will contain a JSON-encoded representation of the resource. Errors generated by the FHIR store will contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `vread`, see [Retrieving a FHIR resource version](/healthcare/docs/how-tos/fhir-resources#retrieving_a_fhir_resource_version).
2306
2307      Args:
2308        request: (HealthcareProjectsLocationsDatasetsFhirStoresFhirVreadRequest) input message
2309        global_params: (StandardQueryParameters, default: None) global arguments
2310      Returns:
2311        (HttpBody) The response message.
2312      """
2313      config = self.GetMethodConfig('Vread')
2314      return self._RunMethod(
2315          config, request, global_params=global_params)
2316
2317    Vread.method_config = lambda: base_api.ApiMethodInfo(
2318        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/{fhirId}/{fhirId1}/_history/{_historyId}',
2319        http_method='GET',
2320        method_id='healthcare.projects.locations.datasets.fhirStores.fhir.vread',
2321        ordered_params=['name'],
2322        path_params=['name'],
2323        query_params=[],
2324        relative_path='v1/{+name}',
2325        request_field='',
2326        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresFhirVreadRequest',
2327        response_type_name='HttpBody',
2328        supports_download=False,
2329    )
2330
2331  class ProjectsLocationsDatasetsFhirStoresService(base_api.BaseApiService):
2332    """Service class for the projects_locations_datasets_fhirStores resource."""
2333
2334    _NAME = 'projects_locations_datasets_fhirStores'
2335
2336    def __init__(self, client):
2337      super(HealthcareV1.ProjectsLocationsDatasetsFhirStoresService, self).__init__(client)
2338      self._upload_configs = {
2339          }
2340
2341    def Create(self, request, global_params=None):
2342      r"""Creates a new FHIR store within the parent dataset.
2343
2344      Args:
2345        request: (HealthcareProjectsLocationsDatasetsFhirStoresCreateRequest) input message
2346        global_params: (StandardQueryParameters, default: None) global arguments
2347      Returns:
2348        (FhirStore) The response message.
2349      """
2350      config = self.GetMethodConfig('Create')
2351      return self._RunMethod(
2352          config, request, global_params=global_params)
2353
2354    Create.method_config = lambda: base_api.ApiMethodInfo(
2355        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores',
2356        http_method='POST',
2357        method_id='healthcare.projects.locations.datasets.fhirStores.create',
2358        ordered_params=['parent'],
2359        path_params=['parent'],
2360        query_params=['fhirStoreId'],
2361        relative_path='v1/{+parent}/fhirStores',
2362        request_field='fhirStore',
2363        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresCreateRequest',
2364        response_type_name='FhirStore',
2365        supports_download=False,
2366    )
2367
2368    def Deidentify(self, request, global_params=None):
2369      r"""De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. If errors occur, error is set. Error details are also logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)).
2370
2371      Args:
2372        request: (HealthcareProjectsLocationsDatasetsFhirStoresDeidentifyRequest) input message
2373        global_params: (StandardQueryParameters, default: None) global arguments
2374      Returns:
2375        (Operation) The response message.
2376      """
2377      config = self.GetMethodConfig('Deidentify')
2378      return self._RunMethod(
2379          config, request, global_params=global_params)
2380
2381    Deidentify.method_config = lambda: base_api.ApiMethodInfo(
2382        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:deidentify',
2383        http_method='POST',
2384        method_id='healthcare.projects.locations.datasets.fhirStores.deidentify',
2385        ordered_params=['sourceStore'],
2386        path_params=['sourceStore'],
2387        query_params=[],
2388        relative_path='v1/{+sourceStore}:deidentify',
2389        request_field='deidentifyFhirStoreRequest',
2390        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresDeidentifyRequest',
2391        response_type_name='Operation',
2392        supports_download=False,
2393    )
2394
2395    def Delete(self, request, global_params=None):
2396      r"""Deletes the specified FHIR store and removes all resources within it.
2397
2398      Args:
2399        request: (HealthcareProjectsLocationsDatasetsFhirStoresDeleteRequest) input message
2400        global_params: (StandardQueryParameters, default: None) global arguments
2401      Returns:
2402        (Empty) The response message.
2403      """
2404      config = self.GetMethodConfig('Delete')
2405      return self._RunMethod(
2406          config, request, global_params=global_params)
2407
2408    Delete.method_config = lambda: base_api.ApiMethodInfo(
2409        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}',
2410        http_method='DELETE',
2411        method_id='healthcare.projects.locations.datasets.fhirStores.delete',
2412        ordered_params=['name'],
2413        path_params=['name'],
2414        query_params=[],
2415        relative_path='v1/{+name}',
2416        request_field='',
2417        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresDeleteRequest',
2418        response_type_name='Empty',
2419        supports_download=False,
2420    )
2421
2422    def Export(self, request, global_params=None):
2423      r"""Export resources from the FHIR store to the specified destination. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.
2424
2425      Args:
2426        request: (HealthcareProjectsLocationsDatasetsFhirStoresExportRequest) input message
2427        global_params: (StandardQueryParameters, default: None) global arguments
2428      Returns:
2429        (Operation) The response message.
2430      """
2431      config = self.GetMethodConfig('Export')
2432      return self._RunMethod(
2433          config, request, global_params=global_params)
2434
2435    Export.method_config = lambda: base_api.ApiMethodInfo(
2436        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export',
2437        http_method='POST',
2438        method_id='healthcare.projects.locations.datasets.fhirStores.export',
2439        ordered_params=['name'],
2440        path_params=['name'],
2441        query_params=[],
2442        relative_path='v1/{+name}:export',
2443        request_field='exportResourcesRequest',
2444        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresExportRequest',
2445        response_type_name='Operation',
2446        supports_download=False,
2447    )
2448
2449    def Get(self, request, global_params=None):
2450      r"""Gets the configuration of the specified FHIR store.
2451
2452      Args:
2453        request: (HealthcareProjectsLocationsDatasetsFhirStoresGetRequest) input message
2454        global_params: (StandardQueryParameters, default: None) global arguments
2455      Returns:
2456        (FhirStore) The response message.
2457      """
2458      config = self.GetMethodConfig('Get')
2459      return self._RunMethod(
2460          config, request, global_params=global_params)
2461
2462    Get.method_config = lambda: base_api.ApiMethodInfo(
2463        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}',
2464        http_method='GET',
2465        method_id='healthcare.projects.locations.datasets.fhirStores.get',
2466        ordered_params=['name'],
2467        path_params=['name'],
2468        query_params=[],
2469        relative_path='v1/{+name}',
2470        request_field='',
2471        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresGetRequest',
2472        response_type_name='FhirStore',
2473        supports_download=False,
2474    )
2475
2476    def GetIamPolicy(self, request, global_params=None):
2477      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
2478
2479      Args:
2480        request: (HealthcareProjectsLocationsDatasetsFhirStoresGetIamPolicyRequest) input message
2481        global_params: (StandardQueryParameters, default: None) global arguments
2482      Returns:
2483        (Policy) The response message.
2484      """
2485      config = self.GetMethodConfig('GetIamPolicy')
2486      return self._RunMethod(
2487          config, request, global_params=global_params)
2488
2489    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
2490        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:getIamPolicy',
2491        http_method='GET',
2492        method_id='healthcare.projects.locations.datasets.fhirStores.getIamPolicy',
2493        ordered_params=['resource'],
2494        path_params=['resource'],
2495        query_params=['options_requestedPolicyVersion'],
2496        relative_path='v1/{+resource}:getIamPolicy',
2497        request_field='',
2498        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresGetIamPolicyRequest',
2499        response_type_name='Policy',
2500        supports_download=False,
2501    )
2502
2503    def Import(self, request, global_params=None):
2504      r"""Imports resources to the FHIR store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some FHIR store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty FHIR store that is not being used by other clients. In cases where this method is not appropriate, consider using ExecuteBundle to load data. Every resource in the input must contain a client-supplied ID. Each resource is stored using the supplied ID regardless of the enable_update_create setting on the FHIR store. It is strongly advised not to include or encode any sensitive data such as patient identifiers in client-specified resource IDs. Those IDs are part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub notifications. Those IDs can also be contained in reference fields within other resources. The import process does not enforce referential integrity, regardless of the disable_referential_integrity setting on the FHIR store. This allows the import of resources with arbitrary interdependencies without considering grouping or ordering, but if the input data contains invalid references or if some resources fail to be imported, the FHIR store might be left in a state that violates referential integrity. The import process does not trigger Pub/Sub notification or BigQuery streaming update, regardless of how those are configured on the FHIR store. If a resource with the specified ID already exists, the most recent version of the resource is overwritten without creating a new historical version, regardless of the disable_resource_versioning setting on the FHIR store. If transient failures occur during the import, it's possible that successfully imported resources will be overwritten more than once. The import operation is idempotent unless the input data contains multiple valid resources with the same ID but different contents. In that case, after the import completes, the store contains exactly one resource with that ID but there is no ordering guarantee on which version of the contents it will have. The operation result counters do not count duplicate IDs as an error and count one success for each resource in the input, which might result in a success count larger than the number of resources in the FHIR store. This often occurs when importing data organized in bundles produced by Patient-everything where each bundle contains its own copy of a resource such as Practitioner that might be referred to by many patients. If some resources fail to import, for example due to parsing errors, successfully imported resources are not rolled back. The location and format of the input data is specified by the parameters in ImportResourcesRequest. Note that if no format is specified, this method assumes the `BUNDLE` format. When using the `BUNDLE` format this method ignores the `Bundle.type` field, except that `history` bundles are rejected, and does not apply any of the bundle processing semantics for batch or transaction bundles. Unlike in ExecuteBundle, transaction bundles are not executed as a single transaction and bundle-internal references are not rewritten. The bundle is treated as a collection of resources to be written as provided in `Bundle.entry.resource`, ignoring `Bundle.entry.request`. As an example, this allows the import of `searchset` bundles produced by a FHIR search or Patient-everything operation. This method returns an Operation that can be used to track the status of the import by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing logs](/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ImportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.
2505
2506      Args:
2507        request: (HealthcareProjectsLocationsDatasetsFhirStoresImportRequest) input message
2508        global_params: (StandardQueryParameters, default: None) global arguments
2509      Returns:
2510        (Operation) The response message.
2511      """
2512      config = self.GetMethodConfig('Import')
2513      return self._RunMethod(
2514          config, request, global_params=global_params)
2515
2516    Import.method_config = lambda: base_api.ApiMethodInfo(
2517        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:import',
2518        http_method='POST',
2519        method_id='healthcare.projects.locations.datasets.fhirStores.import',
2520        ordered_params=['name'],
2521        path_params=['name'],
2522        query_params=[],
2523        relative_path='v1/{+name}:import',
2524        request_field='importResourcesRequest',
2525        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresImportRequest',
2526        response_type_name='Operation',
2527        supports_download=False,
2528    )
2529
2530    def List(self, request, global_params=None):
2531      r"""Lists the FHIR stores in the given dataset.
2532
2533      Args:
2534        request: (HealthcareProjectsLocationsDatasetsFhirStoresListRequest) input message
2535        global_params: (StandardQueryParameters, default: None) global arguments
2536      Returns:
2537        (ListFhirStoresResponse) The response message.
2538      """
2539      config = self.GetMethodConfig('List')
2540      return self._RunMethod(
2541          config, request, global_params=global_params)
2542
2543    List.method_config = lambda: base_api.ApiMethodInfo(
2544        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores',
2545        http_method='GET',
2546        method_id='healthcare.projects.locations.datasets.fhirStores.list',
2547        ordered_params=['parent'],
2548        path_params=['parent'],
2549        query_params=['filter', 'pageSize', 'pageToken'],
2550        relative_path='v1/{+parent}/fhirStores',
2551        request_field='',
2552        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresListRequest',
2553        response_type_name='ListFhirStoresResponse',
2554        supports_download=False,
2555    )
2556
2557    def Patch(self, request, global_params=None):
2558      r"""Updates the configuration of the specified FHIR store.
2559
2560      Args:
2561        request: (HealthcareProjectsLocationsDatasetsFhirStoresPatchRequest) input message
2562        global_params: (StandardQueryParameters, default: None) global arguments
2563      Returns:
2564        (FhirStore) The response message.
2565      """
2566      config = self.GetMethodConfig('Patch')
2567      return self._RunMethod(
2568          config, request, global_params=global_params)
2569
2570    Patch.method_config = lambda: base_api.ApiMethodInfo(
2571        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}',
2572        http_method='PATCH',
2573        method_id='healthcare.projects.locations.datasets.fhirStores.patch',
2574        ordered_params=['name'],
2575        path_params=['name'],
2576        query_params=['updateMask'],
2577        relative_path='v1/{+name}',
2578        request_field='fhirStore',
2579        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresPatchRequest',
2580        response_type_name='FhirStore',
2581        supports_download=False,
2582    )
2583
2584    def SetIamPolicy(self, request, global_params=None):
2585      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
2586
2587      Args:
2588        request: (HealthcareProjectsLocationsDatasetsFhirStoresSetIamPolicyRequest) input message
2589        global_params: (StandardQueryParameters, default: None) global arguments
2590      Returns:
2591        (Policy) The response message.
2592      """
2593      config = self.GetMethodConfig('SetIamPolicy')
2594      return self._RunMethod(
2595          config, request, global_params=global_params)
2596
2597    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
2598        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:setIamPolicy',
2599        http_method='POST',
2600        method_id='healthcare.projects.locations.datasets.fhirStores.setIamPolicy',
2601        ordered_params=['resource'],
2602        path_params=['resource'],
2603        query_params=[],
2604        relative_path='v1/{+resource}:setIamPolicy',
2605        request_field='setIamPolicyRequest',
2606        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresSetIamPolicyRequest',
2607        response_type_name='Policy',
2608        supports_download=False,
2609    )
2610
2611    def TestIamPermissions(self, request, global_params=None):
2612      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
2613
2614      Args:
2615        request: (HealthcareProjectsLocationsDatasetsFhirStoresTestIamPermissionsRequest) input message
2616        global_params: (StandardQueryParameters, default: None) global arguments
2617      Returns:
2618        (TestIamPermissionsResponse) The response message.
2619      """
2620      config = self.GetMethodConfig('TestIamPermissions')
2621      return self._RunMethod(
2622          config, request, global_params=global_params)
2623
2624    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
2625        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:testIamPermissions',
2626        http_method='POST',
2627        method_id='healthcare.projects.locations.datasets.fhirStores.testIamPermissions',
2628        ordered_params=['resource'],
2629        path_params=['resource'],
2630        query_params=[],
2631        relative_path='v1/{+resource}:testIamPermissions',
2632        request_field='testIamPermissionsRequest',
2633        request_type_name='HealthcareProjectsLocationsDatasetsFhirStoresTestIamPermissionsRequest',
2634        response_type_name='TestIamPermissionsResponse',
2635        supports_download=False,
2636    )
2637
2638  class ProjectsLocationsDatasetsHl7V2StoresMessagesService(base_api.BaseApiService):
2639    """Service class for the projects_locations_datasets_hl7V2Stores_messages resource."""
2640
2641    _NAME = 'projects_locations_datasets_hl7V2Stores_messages'
2642
2643    def __init__(self, client):
2644      super(HealthcareV1.ProjectsLocationsDatasetsHl7V2StoresMessagesService, self).__init__(client)
2645      self._upload_configs = {
2646          }
2647
2648    def Create(self, request, global_params=None):
2649      r"""Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Cloud Pub/Sub topic configured in projects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Cloud Pub/Sub topic, the adapter transmits the message when a notification is received.
2650
2651      Args:
2652        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesCreateRequest) input message
2653        global_params: (StandardQueryParameters, default: None) global arguments
2654      Returns:
2655        (Message) The response message.
2656      """
2657      config = self.GetMethodConfig('Create')
2658      return self._RunMethod(
2659          config, request, global_params=global_params)
2660
2661    Create.method_config = lambda: base_api.ApiMethodInfo(
2662        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages',
2663        http_method='POST',
2664        method_id='healthcare.projects.locations.datasets.hl7V2Stores.messages.create',
2665        ordered_params=['parent'],
2666        path_params=['parent'],
2667        query_params=[],
2668        relative_path='v1/{+parent}/messages',
2669        request_field='createMessageRequest',
2670        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesCreateRequest',
2671        response_type_name='Message',
2672        supports_download=False,
2673    )
2674
2675    def Delete(self, request, global_params=None):
2676      r"""Deletes an HL7v2 message.
2677
2678      Args:
2679        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesDeleteRequest) input message
2680        global_params: (StandardQueryParameters, default: None) global arguments
2681      Returns:
2682        (Empty) The response message.
2683      """
2684      config = self.GetMethodConfig('Delete')
2685      return self._RunMethod(
2686          config, request, global_params=global_params)
2687
2688    Delete.method_config = lambda: base_api.ApiMethodInfo(
2689        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}',
2690        http_method='DELETE',
2691        method_id='healthcare.projects.locations.datasets.hl7V2Stores.messages.delete',
2692        ordered_params=['name'],
2693        path_params=['name'],
2694        query_params=[],
2695        relative_path='v1/{+name}',
2696        request_field='',
2697        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesDeleteRequest',
2698        response_type_name='Empty',
2699        supports_download=False,
2700    )
2701
2702    def Get(self, request, global_params=None):
2703      r"""Gets an HL7v2 message.
2704
2705      Args:
2706        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesGetRequest) input message
2707        global_params: (StandardQueryParameters, default: None) global arguments
2708      Returns:
2709        (Message) The response message.
2710      """
2711      config = self.GetMethodConfig('Get')
2712      return self._RunMethod(
2713          config, request, global_params=global_params)
2714
2715    Get.method_config = lambda: base_api.ApiMethodInfo(
2716        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}',
2717        http_method='GET',
2718        method_id='healthcare.projects.locations.datasets.hl7V2Stores.messages.get',
2719        ordered_params=['name'],
2720        path_params=['name'],
2721        query_params=['view'],
2722        relative_path='v1/{+name}',
2723        request_field='',
2724        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesGetRequest',
2725        response_type_name='Message',
2726        supports_download=False,
2727    )
2728
2729    def Ingest(self, request, global_params=None):
2730      r"""Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Cloud Pub/Sub topic configured in projects.locations.datasets.hl7V2Stores.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Cloud Pub/Sub topic, the adapter transmits the message when a notification is received. This method also generates a response containing an HL7v2 acknowledgement (`ACK`) message when successful or a negative acknowledgement (`NACK`) message in case of error, suitable for replying to HL7v2 interface systems that expect these acknowledgements.
2731
2732      Args:
2733        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesIngestRequest) input message
2734        global_params: (StandardQueryParameters, default: None) global arguments
2735      Returns:
2736        (IngestMessageResponse) The response message.
2737      """
2738      config = self.GetMethodConfig('Ingest')
2739      return self._RunMethod(
2740          config, request, global_params=global_params)
2741
2742    Ingest.method_config = lambda: base_api.ApiMethodInfo(
2743        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages:ingest',
2744        http_method='POST',
2745        method_id='healthcare.projects.locations.datasets.hl7V2Stores.messages.ingest',
2746        ordered_params=['parent'],
2747        path_params=['parent'],
2748        query_params=[],
2749        relative_path='v1/{+parent}/messages:ingest',
2750        request_field='ingestMessageRequest',
2751        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesIngestRequest',
2752        response_type_name='IngestMessageResponse',
2753        supports_download=False,
2754    )
2755
2756    def List(self, request, global_params=None):
2757      r"""Lists all the messages in the given HL7v2 store with support for filtering. Note: HL7v2 messages are indexed asynchronously, so there might be a slight delay between the time a message is created and when it can be found through a filter.
2758
2759      Args:
2760        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesListRequest) input message
2761        global_params: (StandardQueryParameters, default: None) global arguments
2762      Returns:
2763        (ListMessagesResponse) The response message.
2764      """
2765      config = self.GetMethodConfig('List')
2766      return self._RunMethod(
2767          config, request, global_params=global_params)
2768
2769    List.method_config = lambda: base_api.ApiMethodInfo(
2770        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages',
2771        http_method='GET',
2772        method_id='healthcare.projects.locations.datasets.hl7V2Stores.messages.list',
2773        ordered_params=['parent'],
2774        path_params=['parent'],
2775        query_params=['filter', 'orderBy', 'pageSize', 'pageToken', 'view'],
2776        relative_path='v1/{+parent}/messages',
2777        request_field='',
2778        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesListRequest',
2779        response_type_name='ListMessagesResponse',
2780        supports_download=False,
2781    )
2782
2783    def Patch(self, request, global_params=None):
2784      r"""Update the message. The contents of the message in Message.data and data extracted from the contents such as Message.create_time cannot be altered. Only the Message.labels field is allowed to be updated. The labels in the request are merged with the existing set of labels. Existing labels with the same keys are updated.
2785
2786      Args:
2787        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesPatchRequest) input message
2788        global_params: (StandardQueryParameters, default: None) global arguments
2789      Returns:
2790        (Message) The response message.
2791      """
2792      config = self.GetMethodConfig('Patch')
2793      return self._RunMethod(
2794          config, request, global_params=global_params)
2795
2796    Patch.method_config = lambda: base_api.ApiMethodInfo(
2797        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}/messages/{messagesId}',
2798        http_method='PATCH',
2799        method_id='healthcare.projects.locations.datasets.hl7V2Stores.messages.patch',
2800        ordered_params=['name'],
2801        path_params=['name'],
2802        query_params=['updateMask'],
2803        relative_path='v1/{+name}',
2804        request_field='message',
2805        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresMessagesPatchRequest',
2806        response_type_name='Message',
2807        supports_download=False,
2808    )
2809
2810  class ProjectsLocationsDatasetsHl7V2StoresService(base_api.BaseApiService):
2811    """Service class for the projects_locations_datasets_hl7V2Stores resource."""
2812
2813    _NAME = 'projects_locations_datasets_hl7V2Stores'
2814
2815    def __init__(self, client):
2816      super(HealthcareV1.ProjectsLocationsDatasetsHl7V2StoresService, self).__init__(client)
2817      self._upload_configs = {
2818          }
2819
2820    def Create(self, request, global_params=None):
2821      r"""Creates a new HL7v2 store within the parent dataset.
2822
2823      Args:
2824        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresCreateRequest) input message
2825        global_params: (StandardQueryParameters, default: None) global arguments
2826      Returns:
2827        (Hl7V2Store) The response message.
2828      """
2829      config = self.GetMethodConfig('Create')
2830      return self._RunMethod(
2831          config, request, global_params=global_params)
2832
2833    Create.method_config = lambda: base_api.ApiMethodInfo(
2834        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores',
2835        http_method='POST',
2836        method_id='healthcare.projects.locations.datasets.hl7V2Stores.create',
2837        ordered_params=['parent'],
2838        path_params=['parent'],
2839        query_params=['hl7V2StoreId'],
2840        relative_path='v1/{+parent}/hl7V2Stores',
2841        request_field='hl7V2Store',
2842        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresCreateRequest',
2843        response_type_name='Hl7V2Store',
2844        supports_download=False,
2845    )
2846
2847    def Delete(self, request, global_params=None):
2848      r"""Deletes the specified HL7v2 store and removes all messages that it contains.
2849
2850      Args:
2851        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresDeleteRequest) input message
2852        global_params: (StandardQueryParameters, default: None) global arguments
2853      Returns:
2854        (Empty) The response message.
2855      """
2856      config = self.GetMethodConfig('Delete')
2857      return self._RunMethod(
2858          config, request, global_params=global_params)
2859
2860    Delete.method_config = lambda: base_api.ApiMethodInfo(
2861        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}',
2862        http_method='DELETE',
2863        method_id='healthcare.projects.locations.datasets.hl7V2Stores.delete',
2864        ordered_params=['name'],
2865        path_params=['name'],
2866        query_params=[],
2867        relative_path='v1/{+name}',
2868        request_field='',
2869        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresDeleteRequest',
2870        response_type_name='Empty',
2871        supports_download=False,
2872    )
2873
2874    def Get(self, request, global_params=None):
2875      r"""Gets the specified HL7v2 store.
2876
2877      Args:
2878        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresGetRequest) input message
2879        global_params: (StandardQueryParameters, default: None) global arguments
2880      Returns:
2881        (Hl7V2Store) The response message.
2882      """
2883      config = self.GetMethodConfig('Get')
2884      return self._RunMethod(
2885          config, request, global_params=global_params)
2886
2887    Get.method_config = lambda: base_api.ApiMethodInfo(
2888        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}',
2889        http_method='GET',
2890        method_id='healthcare.projects.locations.datasets.hl7V2Stores.get',
2891        ordered_params=['name'],
2892        path_params=['name'],
2893        query_params=[],
2894        relative_path='v1/{+name}',
2895        request_field='',
2896        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresGetRequest',
2897        response_type_name='Hl7V2Store',
2898        supports_download=False,
2899    )
2900
2901    def GetIamPolicy(self, request, global_params=None):
2902      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
2903
2904      Args:
2905        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresGetIamPolicyRequest) input message
2906        global_params: (StandardQueryParameters, default: None) global arguments
2907      Returns:
2908        (Policy) The response message.
2909      """
2910      config = self.GetMethodConfig('GetIamPolicy')
2911      return self._RunMethod(
2912          config, request, global_params=global_params)
2913
2914    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
2915        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy',
2916        http_method='GET',
2917        method_id='healthcare.projects.locations.datasets.hl7V2Stores.getIamPolicy',
2918        ordered_params=['resource'],
2919        path_params=['resource'],
2920        query_params=['options_requestedPolicyVersion'],
2921        relative_path='v1/{+resource}:getIamPolicy',
2922        request_field='',
2923        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresGetIamPolicyRequest',
2924        response_type_name='Policy',
2925        supports_download=False,
2926    )
2927
2928    def List(self, request, global_params=None):
2929      r"""Lists the HL7v2 stores in the given dataset.
2930
2931      Args:
2932        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresListRequest) input message
2933        global_params: (StandardQueryParameters, default: None) global arguments
2934      Returns:
2935        (ListHl7V2StoresResponse) The response message.
2936      """
2937      config = self.GetMethodConfig('List')
2938      return self._RunMethod(
2939          config, request, global_params=global_params)
2940
2941    List.method_config = lambda: base_api.ApiMethodInfo(
2942        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores',
2943        http_method='GET',
2944        method_id='healthcare.projects.locations.datasets.hl7V2Stores.list',
2945        ordered_params=['parent'],
2946        path_params=['parent'],
2947        query_params=['filter', 'pageSize', 'pageToken'],
2948        relative_path='v1/{+parent}/hl7V2Stores',
2949        request_field='',
2950        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresListRequest',
2951        response_type_name='ListHl7V2StoresResponse',
2952        supports_download=False,
2953    )
2954
2955    def Patch(self, request, global_params=None):
2956      r"""Updates the HL7v2 store.
2957
2958      Args:
2959        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresPatchRequest) input message
2960        global_params: (StandardQueryParameters, default: None) global arguments
2961      Returns:
2962        (Hl7V2Store) The response message.
2963      """
2964      config = self.GetMethodConfig('Patch')
2965      return self._RunMethod(
2966          config, request, global_params=global_params)
2967
2968    Patch.method_config = lambda: base_api.ApiMethodInfo(
2969        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}',
2970        http_method='PATCH',
2971        method_id='healthcare.projects.locations.datasets.hl7V2Stores.patch',
2972        ordered_params=['name'],
2973        path_params=['name'],
2974        query_params=['updateMask'],
2975        relative_path='v1/{+name}',
2976        request_field='hl7V2Store',
2977        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresPatchRequest',
2978        response_type_name='Hl7V2Store',
2979        supports_download=False,
2980    )
2981
2982    def SetIamPolicy(self, request, global_params=None):
2983      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
2984
2985      Args:
2986        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresSetIamPolicyRequest) input message
2987        global_params: (StandardQueryParameters, default: None) global arguments
2988      Returns:
2989        (Policy) The response message.
2990      """
2991      config = self.GetMethodConfig('SetIamPolicy')
2992      return self._RunMethod(
2993          config, request, global_params=global_params)
2994
2995    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
2996        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:setIamPolicy',
2997        http_method='POST',
2998        method_id='healthcare.projects.locations.datasets.hl7V2Stores.setIamPolicy',
2999        ordered_params=['resource'],
3000        path_params=['resource'],
3001        query_params=[],
3002        relative_path='v1/{+resource}:setIamPolicy',
3003        request_field='setIamPolicyRequest',
3004        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresSetIamPolicyRequest',
3005        response_type_name='Policy',
3006        supports_download=False,
3007    )
3008
3009    def TestIamPermissions(self, request, global_params=None):
3010      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
3011
3012      Args:
3013        request: (HealthcareProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsRequest) input message
3014        global_params: (StandardQueryParameters, default: None) global arguments
3015      Returns:
3016        (TestIamPermissionsResponse) The response message.
3017      """
3018      config = self.GetMethodConfig('TestIamPermissions')
3019      return self._RunMethod(
3020          config, request, global_params=global_params)
3021
3022    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
3023        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:testIamPermissions',
3024        http_method='POST',
3025        method_id='healthcare.projects.locations.datasets.hl7V2Stores.testIamPermissions',
3026        ordered_params=['resource'],
3027        path_params=['resource'],
3028        query_params=[],
3029        relative_path='v1/{+resource}:testIamPermissions',
3030        request_field='testIamPermissionsRequest',
3031        request_type_name='HealthcareProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsRequest',
3032        response_type_name='TestIamPermissionsResponse',
3033        supports_download=False,
3034    )
3035
3036  class ProjectsLocationsDatasetsOperationsService(base_api.BaseApiService):
3037    """Service class for the projects_locations_datasets_operations resource."""
3038
3039    _NAME = 'projects_locations_datasets_operations'
3040
3041    def __init__(self, client):
3042      super(HealthcareV1.ProjectsLocationsDatasetsOperationsService, self).__init__(client)
3043      self._upload_configs = {
3044          }
3045
3046    def Cancel(self, request, global_params=None):
3047      r"""Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
3048
3049      Args:
3050        request: (HealthcareProjectsLocationsDatasetsOperationsCancelRequest) input message
3051        global_params: (StandardQueryParameters, default: None) global arguments
3052      Returns:
3053        (Empty) The response message.
3054      """
3055      config = self.GetMethodConfig('Cancel')
3056      return self._RunMethod(
3057          config, request, global_params=global_params)
3058
3059    Cancel.method_config = lambda: base_api.ApiMethodInfo(
3060        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel',
3061        http_method='POST',
3062        method_id='healthcare.projects.locations.datasets.operations.cancel',
3063        ordered_params=['name'],
3064        path_params=['name'],
3065        query_params=[],
3066        relative_path='v1/{+name}:cancel',
3067        request_field='cancelOperationRequest',
3068        request_type_name='HealthcareProjectsLocationsDatasetsOperationsCancelRequest',
3069        response_type_name='Empty',
3070        supports_download=False,
3071    )
3072
3073    def Get(self, request, global_params=None):
3074      r"""Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
3075
3076      Args:
3077        request: (HealthcareProjectsLocationsDatasetsOperationsGetRequest) input message
3078        global_params: (StandardQueryParameters, default: None) global arguments
3079      Returns:
3080        (Operation) The response message.
3081      """
3082      config = self.GetMethodConfig('Get')
3083      return self._RunMethod(
3084          config, request, global_params=global_params)
3085
3086    Get.method_config = lambda: base_api.ApiMethodInfo(
3087        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}',
3088        http_method='GET',
3089        method_id='healthcare.projects.locations.datasets.operations.get',
3090        ordered_params=['name'],
3091        path_params=['name'],
3092        query_params=[],
3093        relative_path='v1/{+name}',
3094        request_field='',
3095        request_type_name='HealthcareProjectsLocationsDatasetsOperationsGetRequest',
3096        response_type_name='Operation',
3097        supports_download=False,
3098    )
3099
3100    def List(self, request, global_params=None):
3101      r"""Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
3102
3103      Args:
3104        request: (HealthcareProjectsLocationsDatasetsOperationsListRequest) input message
3105        global_params: (StandardQueryParameters, default: None) global arguments
3106      Returns:
3107        (ListOperationsResponse) The response message.
3108      """
3109      config = self.GetMethodConfig('List')
3110      return self._RunMethod(
3111          config, request, global_params=global_params)
3112
3113    List.method_config = lambda: base_api.ApiMethodInfo(
3114        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations',
3115        http_method='GET',
3116        method_id='healthcare.projects.locations.datasets.operations.list',
3117        ordered_params=['name'],
3118        path_params=['name'],
3119        query_params=['filter', 'pageSize', 'pageToken'],
3120        relative_path='v1/{+name}/operations',
3121        request_field='',
3122        request_type_name='HealthcareProjectsLocationsDatasetsOperationsListRequest',
3123        response_type_name='ListOperationsResponse',
3124        supports_download=False,
3125    )
3126
3127  class ProjectsLocationsDatasetsService(base_api.BaseApiService):
3128    """Service class for the projects_locations_datasets resource."""
3129
3130    _NAME = 'projects_locations_datasets'
3131
3132    def __init__(self, client):
3133      super(HealthcareV1.ProjectsLocationsDatasetsService, self).__init__(client)
3134      self._upload_configs = {
3135          }
3136
3137    def Create(self, request, global_params=None):
3138      r"""Creates a new health dataset. Results are returned through the Operation interface which returns either an `Operation.response` which contains a Dataset or `Operation.error`. The metadata field type is OperationMetadata.
3139
3140      Args:
3141        request: (HealthcareProjectsLocationsDatasetsCreateRequest) input message
3142        global_params: (StandardQueryParameters, default: None) global arguments
3143      Returns:
3144        (Operation) The response message.
3145      """
3146      config = self.GetMethodConfig('Create')
3147      return self._RunMethod(
3148          config, request, global_params=global_params)
3149
3150    Create.method_config = lambda: base_api.ApiMethodInfo(
3151        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets',
3152        http_method='POST',
3153        method_id='healthcare.projects.locations.datasets.create',
3154        ordered_params=['parent'],
3155        path_params=['parent'],
3156        query_params=['datasetId'],
3157        relative_path='v1/{+parent}/datasets',
3158        request_field='dataset',
3159        request_type_name='HealthcareProjectsLocationsDatasetsCreateRequest',
3160        response_type_name='Operation',
3161        supports_download=False,
3162    )
3163
3164    def Deidentify(self, request, global_params=None):
3165      r"""Creates a new dataset containing de-identified data from the source dataset. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifySummary. If errors occur, error is set. The LRO result may still be successful if de-identification fails for some DICOM instances. The new de-identified dataset will not contain these failed resources. Failed resource totals are tracked in Operation.metadata. Error details are also logged to Cloud Logging. For more information, see [Viewing logs](/healthcare/docs/how-tos/logging).
3166
3167      Args:
3168        request: (HealthcareProjectsLocationsDatasetsDeidentifyRequest) input message
3169        global_params: (StandardQueryParameters, default: None) global arguments
3170      Returns:
3171        (Operation) The response message.
3172      """
3173      config = self.GetMethodConfig('Deidentify')
3174      return self._RunMethod(
3175          config, request, global_params=global_params)
3176
3177    Deidentify.method_config = lambda: base_api.ApiMethodInfo(
3178        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:deidentify',
3179        http_method='POST',
3180        method_id='healthcare.projects.locations.datasets.deidentify',
3181        ordered_params=['sourceDataset'],
3182        path_params=['sourceDataset'],
3183        query_params=[],
3184        relative_path='v1/{+sourceDataset}:deidentify',
3185        request_field='deidentifyDatasetRequest',
3186        request_type_name='HealthcareProjectsLocationsDatasetsDeidentifyRequest',
3187        response_type_name='Operation',
3188        supports_download=False,
3189    )
3190
3191    def Delete(self, request, global_params=None):
3192      r"""Deletes the specified health dataset and all data contained in the dataset. Deleting a dataset does not affect the sources from which the dataset was imported (if any).
3193
3194      Args:
3195        request: (HealthcareProjectsLocationsDatasetsDeleteRequest) input message
3196        global_params: (StandardQueryParameters, default: None) global arguments
3197      Returns:
3198        (Empty) The response message.
3199      """
3200      config = self.GetMethodConfig('Delete')
3201      return self._RunMethod(
3202          config, request, global_params=global_params)
3203
3204    Delete.method_config = lambda: base_api.ApiMethodInfo(
3205        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}',
3206        http_method='DELETE',
3207        method_id='healthcare.projects.locations.datasets.delete',
3208        ordered_params=['name'],
3209        path_params=['name'],
3210        query_params=[],
3211        relative_path='v1/{+name}',
3212        request_field='',
3213        request_type_name='HealthcareProjectsLocationsDatasetsDeleteRequest',
3214        response_type_name='Empty',
3215        supports_download=False,
3216    )
3217
3218    def Get(self, request, global_params=None):
3219      r"""Gets any metadata associated with a dataset.
3220
3221      Args:
3222        request: (HealthcareProjectsLocationsDatasetsGetRequest) input message
3223        global_params: (StandardQueryParameters, default: None) global arguments
3224      Returns:
3225        (Dataset) The response message.
3226      """
3227      config = self.GetMethodConfig('Get')
3228      return self._RunMethod(
3229          config, request, global_params=global_params)
3230
3231    Get.method_config = lambda: base_api.ApiMethodInfo(
3232        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}',
3233        http_method='GET',
3234        method_id='healthcare.projects.locations.datasets.get',
3235        ordered_params=['name'],
3236        path_params=['name'],
3237        query_params=[],
3238        relative_path='v1/{+name}',
3239        request_field='',
3240        request_type_name='HealthcareProjectsLocationsDatasetsGetRequest',
3241        response_type_name='Dataset',
3242        supports_download=False,
3243    )
3244
3245    def GetIamPolicy(self, request, global_params=None):
3246      r"""Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
3247
3248      Args:
3249        request: (HealthcareProjectsLocationsDatasetsGetIamPolicyRequest) input message
3250        global_params: (StandardQueryParameters, default: None) global arguments
3251      Returns:
3252        (Policy) The response message.
3253      """
3254      config = self.GetMethodConfig('GetIamPolicy')
3255      return self._RunMethod(
3256          config, request, global_params=global_params)
3257
3258    GetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
3259        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy',
3260        http_method='GET',
3261        method_id='healthcare.projects.locations.datasets.getIamPolicy',
3262        ordered_params=['resource'],
3263        path_params=['resource'],
3264        query_params=['options_requestedPolicyVersion'],
3265        relative_path='v1/{+resource}:getIamPolicy',
3266        request_field='',
3267        request_type_name='HealthcareProjectsLocationsDatasetsGetIamPolicyRequest',
3268        response_type_name='Policy',
3269        supports_download=False,
3270    )
3271
3272    def List(self, request, global_params=None):
3273      r"""Lists the health datasets in the current project.
3274
3275      Args:
3276        request: (HealthcareProjectsLocationsDatasetsListRequest) input message
3277        global_params: (StandardQueryParameters, default: None) global arguments
3278      Returns:
3279        (ListDatasetsResponse) The response message.
3280      """
3281      config = self.GetMethodConfig('List')
3282      return self._RunMethod(
3283          config, request, global_params=global_params)
3284
3285    List.method_config = lambda: base_api.ApiMethodInfo(
3286        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets',
3287        http_method='GET',
3288        method_id='healthcare.projects.locations.datasets.list',
3289        ordered_params=['parent'],
3290        path_params=['parent'],
3291        query_params=['pageSize', 'pageToken'],
3292        relative_path='v1/{+parent}/datasets',
3293        request_field='',
3294        request_type_name='HealthcareProjectsLocationsDatasetsListRequest',
3295        response_type_name='ListDatasetsResponse',
3296        supports_download=False,
3297    )
3298
3299    def Patch(self, request, global_params=None):
3300      r"""Updates dataset metadata.
3301
3302      Args:
3303        request: (HealthcareProjectsLocationsDatasetsPatchRequest) input message
3304        global_params: (StandardQueryParameters, default: None) global arguments
3305      Returns:
3306        (Dataset) The response message.
3307      """
3308      config = self.GetMethodConfig('Patch')
3309      return self._RunMethod(
3310          config, request, global_params=global_params)
3311
3312    Patch.method_config = lambda: base_api.ApiMethodInfo(
3313        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}',
3314        http_method='PATCH',
3315        method_id='healthcare.projects.locations.datasets.patch',
3316        ordered_params=['name'],
3317        path_params=['name'],
3318        query_params=['updateMask'],
3319        relative_path='v1/{+name}',
3320        request_field='dataset',
3321        request_type_name='HealthcareProjectsLocationsDatasetsPatchRequest',
3322        response_type_name='Dataset',
3323        supports_download=False,
3324    )
3325
3326    def SetIamPolicy(self, request, global_params=None):
3327      r"""Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
3328
3329      Args:
3330        request: (HealthcareProjectsLocationsDatasetsSetIamPolicyRequest) input message
3331        global_params: (StandardQueryParameters, default: None) global arguments
3332      Returns:
3333        (Policy) The response message.
3334      """
3335      config = self.GetMethodConfig('SetIamPolicy')
3336      return self._RunMethod(
3337          config, request, global_params=global_params)
3338
3339    SetIamPolicy.method_config = lambda: base_api.ApiMethodInfo(
3340        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy',
3341        http_method='POST',
3342        method_id='healthcare.projects.locations.datasets.setIamPolicy',
3343        ordered_params=['resource'],
3344        path_params=['resource'],
3345        query_params=[],
3346        relative_path='v1/{+resource}:setIamPolicy',
3347        request_field='setIamPolicyRequest',
3348        request_type_name='HealthcareProjectsLocationsDatasetsSetIamPolicyRequest',
3349        response_type_name='Policy',
3350        supports_download=False,
3351    )
3352
3353    def TestIamPermissions(self, request, global_params=None):
3354      r"""Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
3355
3356      Args:
3357        request: (HealthcareProjectsLocationsDatasetsTestIamPermissionsRequest) input message
3358        global_params: (StandardQueryParameters, default: None) global arguments
3359      Returns:
3360        (TestIamPermissionsResponse) The response message.
3361      """
3362      config = self.GetMethodConfig('TestIamPermissions')
3363      return self._RunMethod(
3364          config, request, global_params=global_params)
3365
3366    TestIamPermissions.method_config = lambda: base_api.ApiMethodInfo(
3367        flat_path='v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions',
3368        http_method='POST',
3369        method_id='healthcare.projects.locations.datasets.testIamPermissions',
3370        ordered_params=['resource'],
3371        path_params=['resource'],
3372        query_params=[],
3373        relative_path='v1/{+resource}:testIamPermissions',
3374        request_field='testIamPermissionsRequest',
3375        request_type_name='HealthcareProjectsLocationsDatasetsTestIamPermissionsRequest',
3376        response_type_name='TestIamPermissionsResponse',
3377        supports_download=False,
3378    )
3379
3380  class ProjectsLocationsService(base_api.BaseApiService):
3381    """Service class for the projects_locations resource."""
3382
3383    _NAME = 'projects_locations'
3384
3385    def __init__(self, client):
3386      super(HealthcareV1.ProjectsLocationsService, self).__init__(client)
3387      self._upload_configs = {
3388          }
3389
3390    def Get(self, request, global_params=None):
3391      r"""Gets information about a location.
3392
3393      Args:
3394        request: (HealthcareProjectsLocationsGetRequest) input message
3395        global_params: (StandardQueryParameters, default: None) global arguments
3396      Returns:
3397        (Location) The response message.
3398      """
3399      config = self.GetMethodConfig('Get')
3400      return self._RunMethod(
3401          config, request, global_params=global_params)
3402
3403    Get.method_config = lambda: base_api.ApiMethodInfo(
3404        flat_path='v1/projects/{projectsId}/locations/{locationsId}',
3405        http_method='GET',
3406        method_id='healthcare.projects.locations.get',
3407        ordered_params=['name'],
3408        path_params=['name'],
3409        query_params=[],
3410        relative_path='v1/{+name}',
3411        request_field='',
3412        request_type_name='HealthcareProjectsLocationsGetRequest',
3413        response_type_name='Location',
3414        supports_download=False,
3415    )
3416
3417    def List(self, request, global_params=None):
3418      r"""Lists information about the supported locations for this service.
3419
3420      Args:
3421        request: (HealthcareProjectsLocationsListRequest) input message
3422        global_params: (StandardQueryParameters, default: None) global arguments
3423      Returns:
3424        (ListLocationsResponse) The response message.
3425      """
3426      config = self.GetMethodConfig('List')
3427      return self._RunMethod(
3428          config, request, global_params=global_params)
3429
3430    List.method_config = lambda: base_api.ApiMethodInfo(
3431        flat_path='v1/projects/{projectsId}/locations',
3432        http_method='GET',
3433        method_id='healthcare.projects.locations.list',
3434        ordered_params=['name'],
3435        path_params=['name'],
3436        query_params=['filter', 'pageSize', 'pageToken'],
3437        relative_path='v1/{+name}/locations',
3438        request_field='',
3439        request_type_name='HealthcareProjectsLocationsListRequest',
3440        response_type_name='ListLocationsResponse',
3441        supports_download=False,
3442    )
3443
3444  class ProjectsService(base_api.BaseApiService):
3445    """Service class for the projects resource."""
3446
3447    _NAME = 'projects'
3448
3449    def __init__(self, client):
3450      super(HealthcareV1.ProjectsService, self).__init__(client)
3451      self._upload_configs = {
3452          }
3453