<!---
DO NOT EDIT !
This file was generated automatically from 'src/mako/api/README.md.mako'
DO NOT EDIT !
-->
The `google-healthcare1` library allows access to all features of the *Google Cloud Healthcare* service.

This documentation was generated from *Cloud Healthcare* crate version *3.1.0+20220223*, where *20220223* is the exact revision of the *healthcare:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.1.0*.

Everything else about the *Cloud Healthcare* *v1* API can be found at the
[official documentation site](https://cloud.google.com/healthcare).
# Features

Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/CloudHealthcare) ... 

* projects
 * [*locations datasets consent stores attribute definitions create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreAttributeDefinitionCreateCall), [*locations datasets consent stores attribute definitions delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreAttributeDefinitionDeleteCall), [*locations datasets consent stores attribute definitions get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreAttributeDefinitionGetCall), [*locations datasets consent stores attribute definitions list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreAttributeDefinitionListCall), [*locations datasets consent stores attribute definitions patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreAttributeDefinitionPatchCall), [*locations datasets consent stores check data access*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreCheckDataAccesCall), [*locations datasets consent stores consent artifacts create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentArtifactCreateCall), [*locations datasets consent stores consent artifacts delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentArtifactDeleteCall), [*locations datasets consent stores consent artifacts get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentArtifactGetCall), [*locations datasets consent stores consent artifacts list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentArtifactListCall), [*locations datasets consent stores consents activate*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentActivateCall), [*locations datasets consent stores consents create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentCreateCall), [*locations datasets consent stores consents delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentDeleteCall), [*locations datasets consent stores consents delete revision*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentDeleteRevisionCall), [*locations datasets consent stores consents get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentGetCall), [*locations datasets consent stores consents list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentListCall), [*locations datasets consent stores consents list revisions*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentListRevisionCall), [*locations datasets consent stores consents patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentPatchCall), [*locations datasets consent stores consents reject*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentRejectCall), [*locations datasets consent stores consents revoke*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreConsentRevokeCall), [*locations datasets consent stores create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreCreateCall), [*locations datasets consent stores delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreDeleteCall), [*locations datasets consent stores evaluate user consents*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreEvaluateUserConsentCall), [*locations datasets consent stores get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreGetCall), [*locations datasets consent stores get iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreGetIamPolicyCall), [*locations datasets consent stores list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreListCall), [*locations datasets consent stores patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStorePatchCall), [*locations datasets consent stores query accessible data*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreQueryAccessibleDataCall), [*locations datasets consent stores set iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreSetIamPolicyCall), [*locations datasets consent stores test iam permissions*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreTestIamPermissionCall), [*locations datasets consent stores user data mappings archive*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreUserDataMappingArchiveCall), [*locations datasets consent stores user data mappings create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreUserDataMappingCreateCall), [*locations datasets consent stores user data mappings delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreUserDataMappingDeleteCall), [*locations datasets consent stores user data mappings get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreUserDataMappingGetCall), [*locations datasets consent stores user data mappings list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreUserDataMappingListCall), [*locations datasets consent stores user data mappings patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetConsentStoreUserDataMappingPatchCall), [*locations datasets create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetCreateCall), [*locations datasets deidentify*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDeidentifyCall), [*locations datasets delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDeleteCall), [*locations datasets dicom stores create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreCreateCall), [*locations datasets dicom stores deidentify*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreDeidentifyCall), [*locations datasets dicom stores delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreDeleteCall), [*locations datasets dicom stores export*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreExportCall), [*locations datasets dicom stores get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreGetCall), [*locations datasets dicom stores get iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreGetIamPolicyCall), [*locations datasets dicom stores import*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreImportCall), [*locations datasets dicom stores list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreListCall), [*locations datasets dicom stores patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStorePatchCall), [*locations datasets dicom stores search for instances*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreSearchForInstanceCall), [*locations datasets dicom stores search for series*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreSearchForSeryCall), [*locations datasets dicom stores search for studies*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreSearchForStudyCall), [*locations datasets dicom stores set iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreSetIamPolicyCall), [*locations datasets dicom stores store instances*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStoreInstanceCall), [*locations datasets dicom stores studies delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudyDeleteCall), [*locations datasets dicom stores studies retrieve metadata*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudyRetrieveMetadataCall), [*locations datasets dicom stores studies retrieve study*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudyRetrieveStudyCall), [*locations datasets dicom stores studies search for instances*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySearchForInstanceCall), [*locations datasets dicom stores studies search for series*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySearchForSeryCall), [*locations datasets dicom stores studies series delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryDeleteCall), [*locations datasets dicom stores studies series instances delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryInstanceDeleteCall), [*locations datasets dicom stores studies series instances frames retrieve frames*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryInstanceFrameRetrieveFrameCall), [*locations datasets dicom stores studies series instances frames retrieve rendered*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryInstanceFrameRetrieveRenderedCall), [*locations datasets dicom stores studies series instances retrieve instance*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryInstanceRetrieveInstanceCall), [*locations datasets dicom stores studies series instances retrieve metadata*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryInstanceRetrieveMetadataCall), [*locations datasets dicom stores studies series instances retrieve rendered*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryInstanceRetrieveRenderedCall), [*locations datasets dicom stores studies series retrieve metadata*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryRetrieveMetadataCall), [*locations datasets dicom stores studies series retrieve series*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySeryRetrieveSeryCall), [*locations datasets dicom stores studies series search for instances*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudySerySearchForInstanceCall), [*locations datasets dicom stores studies store instances*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreStudyStoreInstanceCall), [*locations datasets dicom stores test iam permissions*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetDicomStoreTestIamPermissionCall), [*locations datasets fhir stores create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreCreateCall), [*locations datasets fhir stores deidentify*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreDeidentifyCall), [*locations datasets fhir stores delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreDeleteCall), [*locations datasets fhir stores export*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreExportCall), [*locations datasets fhir stores fhir  patient-everything*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirPatientEverythingCall), [*locations datasets fhir stores fhir  resource-purge*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirResourcePurgeCall), [*locations datasets fhir stores fhir  resource-validate*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirResourceValidateCall), [*locations datasets fhir stores fhir capabilities*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirCapabilityCall), [*locations datasets fhir stores fhir create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirCreateCall), [*locations datasets fhir stores fhir delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirDeleteCall), [*locations datasets fhir stores fhir execute bundle*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirExecuteBundleCall), [*locations datasets fhir stores fhir history*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirHistoryCall), [*locations datasets fhir stores fhir patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirPatchCall), [*locations datasets fhir stores fhir read*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirReadCall), [*locations datasets fhir stores fhir search*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirSearchCall), [*locations datasets fhir stores fhir search-type*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirSearchTypeCall), [*locations datasets fhir stores fhir update*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirUpdateCall), [*locations datasets fhir stores fhir vread*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreFhirVreadCall), [*locations datasets fhir stores get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreGetCall), [*locations datasets fhir stores get iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreGetIamPolicyCall), [*locations datasets fhir stores import*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreImportCall), [*locations datasets fhir stores list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreListCall), [*locations datasets fhir stores patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStorePatchCall), [*locations datasets fhir stores set iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreSetIamPolicyCall), [*locations datasets fhir stores test iam permissions*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetFhirStoreTestIamPermissionCall), [*locations datasets get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetGetCall), [*locations datasets get iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetGetIamPolicyCall), [*locations datasets hl7 v2 stores create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreCreateCall), [*locations datasets hl7 v2 stores delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreDeleteCall), [*locations datasets hl7 v2 stores export*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreExportCall), [*locations datasets hl7 v2 stores get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreGetCall), [*locations datasets hl7 v2 stores get iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreGetIamPolicyCall), [*locations datasets hl7 v2 stores import*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreImportCall), [*locations datasets hl7 v2 stores list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreListCall), [*locations datasets hl7 v2 stores messages create*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreMessageCreateCall), [*locations datasets hl7 v2 stores messages delete*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreMessageDeleteCall), [*locations datasets hl7 v2 stores messages get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreMessageGetCall), [*locations datasets hl7 v2 stores messages ingest*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreMessageIngestCall), [*locations datasets hl7 v2 stores messages list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreMessageListCall), [*locations datasets hl7 v2 stores messages patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreMessagePatchCall), [*locations datasets hl7 v2 stores patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StorePatchCall), [*locations datasets hl7 v2 stores set iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreSetIamPolicyCall), [*locations datasets hl7 v2 stores test iam permissions*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetHl7V2StoreTestIamPermissionCall), [*locations datasets list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetListCall), [*locations datasets operations cancel*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetOperationCancelCall), [*locations datasets operations get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetOperationGetCall), [*locations datasets operations list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetOperationListCall), [*locations datasets patch*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetPatchCall), [*locations datasets set iam policy*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetSetIamPolicyCall), [*locations datasets test iam permissions*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationDatasetTestIamPermissionCall), [*locations get*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationGetCall), [*locations list*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationListCall) and [*locations services nlp analyze entities*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/api::ProjectLocationServiceNlpAnalyzeEntityCall)




# Structure of this Library

The API is structured into the following primary items:

* **[Hub](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/CloudHealthcare)**
    * a central object to maintain state and allow accessing all *Activities*
    * creates [*Method Builders*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::MethodsBuilder) which in turn
      allow access to individual [*Call Builders*](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::CallBuilder)
* **[Resources](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Resource)**
    * primary types that you can apply *Activities* to
    * a collection of properties and *Parts*
    * **[Parts](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Part)**
        * a collection of properties
        * never directly used in *Activities*
* **[Activities](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::CallBuilder)**
    * operations to apply to *Resources*

All *structures* are marked with applicable traits to further categorize them and ease browsing.

Generally speaking, you can invoke *Activities* like this:

```Rust,ignore
let r = hub.resource().activity(...).doit().await
```

Or specifically ...

```ignore
let r = hub.projects().locations_datasets_dicom_stores_studies_series_instances_frames_retrieve_frames(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_instances_frames_retrieve_rendered(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_instances_retrieve_instance(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_instances_retrieve_metadata(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_instances_retrieve_rendered(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_retrieve_metadata(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_retrieve_series(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_series_search_for_instances(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_retrieve_metadata(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_retrieve_study(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_search_for_instances(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_search_for_series(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_studies_store_instances(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_search_for_instances(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_search_for_series(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_search_for_studies(...).doit().await
let r = hub.projects().locations_datasets_dicom_stores_store_instances(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir__patient_everything(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir__resource_validate(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_capabilities(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_create(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_delete(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_execute_bundle(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_history(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_patch(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_read(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_search(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_search_type(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_update(...).doit().await
let r = hub.projects().locations_datasets_fhir_stores_fhir_vread(...).doit().await
```

The `resource()` and `activity(...)` calls create [builders][builder-pattern]. The second one dealing with `Activities` 
supports various methods to configure the impending operation (not shown here). It is made such that all required arguments have to be 
specified right away (i.e. `(...)`), whereas all optional ones can be [build up][builder-pattern] as desired.
The `doit()` method performs the actual communication with the server and returns the respective result.

# Usage

## Setting up your Project

To use this library, you would put the following lines into your `Cargo.toml` file:

```toml
[dependencies]
google-healthcare1 = "*"
serde = "^1.0"
serde_json = "^1.0"
```

## A complete example

```Rust
extern crate hyper;
extern crate hyper_rustls;
extern crate google_healthcare1 as healthcare1;
use healthcare1::{Result, Error};
use std::default::Default;
use healthcare1::{CloudHealthcare, oauth2, hyper, hyper_rustls};

// Get an ApplicationSecret instance by some means. It contains the `client_id` and 
// `client_secret`, among other things.
let secret: oauth2::ApplicationSecret = Default::default();
// Instantiate the authenticator. It will choose a suitable authentication flow for you, 
// unless you replace  `None` with the desired Flow.
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about 
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
// retrieve them from storage.
let auth = oauth2::InstalledFlowAuthenticator::builder(
        secret,
        oauth2::InstalledFlowReturnMethod::HTTPRedirect,
    ).build().await.unwrap();
let mut hub = CloudHealthcare::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.projects().locations_datasets_fhir_stores_fhir__patient_everything("name")
             .start("magna")
             .end("no")
             ._type("ipsum")
             ._since("voluptua.")
             ._page_token("At")
             ._count(-8)
             .doit().await;

match result {
    Err(e) => match e {
        // The Error enum provides details about what exactly happened.
        // You can also just use its `Debug`, `Display` or `Error` traits
         Error::HttpError(_)
        |Error::Io(_)
        |Error::MissingAPIKey
        |Error::MissingToken(_)
        |Error::Cancelled
        |Error::UploadSizeLimitExceeded(_, _)
        |Error::Failure(_)
        |Error::BadRequest(_)
        |Error::FieldClash(_)
        |Error::JsonDecodeError(_, _) => println!("{}", e),
    },
    Ok(res) => println!("Success: {:?}", res),
}

```
## Handling Errors

All errors produced by the system are provided either as [Result](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Result) enumeration as return value of
the doit() methods, or handed as possibly intermediate results to either the 
[Hub Delegate](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html).

When delegates handle errors or intermediate values, they may have a chance to instruct the system to retry. This 
makes the system potentially resilient to all kinds of errors.

## Uploads and Downloads
If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Result), should be
read by you to obtain the media.
If such a method also supports a [Response Result](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::ResponseResult), it will return that by default.
You can see it as meta-data for the actual media. To trigger a media download, you will have to set up the builder by making
this call: `.param("alt", "media")`.

Methods supporting uploads can do so using up to 2 different protocols: 
*simple* and *resumable*. The distinctiveness of each is represented by customized 
`doit(...)` methods, which are then named `upload(...)` and `upload_resumable(...)` respectively.

## Customization and Callbacks

You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Delegate) to the 
[Method Builder](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::CallBuilder) before making the final `doit()` call. 
Respective methods will be called to provide progress information, as well as determine whether the system should 
retry on failure.

The [delegate trait](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Delegate) is default-implemented, allowing you to customize it with minimal effort.

## Optional Parts in Server-Requests

All structures provided by this library are made to be [encodable](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::RequestValue) and 
[decodable](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses 
are valid.
Most optionals are are considered [Parts](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::Part) which are identifiable by name, which will be sent to 
the server to indicate either the set parts of the request or the desired parts in the response.

## Builder Arguments

Using [method builders](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods.
These will always take a single argument, for which the following statements are true.

* [PODs][wiki-pod] are handed by copy
* strings are passed as `&str`
* [request values](https://docs.rs/google-healthcare1/3.1.0+20220223/google_healthcare1/client::RequestValue) are moved

Arguments will always be copied or cloned into the builder, to make them independent of their original life times.

[wiki-pod]: http://en.wikipedia.org/wiki/Plain_old_data_structure
[builder-pattern]: http://en.wikipedia.org/wiki/Builder_pattern
[google-go-api]: https://github.com/google/google-api-go-client

# License
The **healthcare1** library was generated by Sebastian Thiel, and is placed 
under the *MIT* license.
You can read the full text at the repository's [license file][repo-license].

[repo-license]: https://github.com/Byron/google-apis-rsblob/main/LICENSE.md
