|
| 1 | +--- |
| 2 | +title: "Cloud Healthcare API" |
| 3 | +linkTitle: "Cloud Healthcare" |
| 4 | +type: docs |
| 5 | +weight: 1 |
| 6 | +description: > |
| 7 | + The Cloud Healthcare API provides a managed solution for storing and |
| 8 | + accessing healthcare data in Google Cloud, providing a critical bridge |
| 9 | + between existing care systems and applications hosted on Google Cloud. |
| 10 | +--- |
| 11 | + |
| 12 | +## About |
| 13 | + |
| 14 | +The [Cloud Healthcare API][healthcare-docs] provides a managed solution |
| 15 | +for storing and accessing healthcare data in Google Cloud, providing a |
| 16 | +critical bridge between existing care systems and applications hosted on |
| 17 | +Google Cloud. It supports healthcare data standards such as HL7® FHIR®, |
| 18 | +HL7® v2, and DICOM®. It provides a fully managed, highly scalable, |
| 19 | +enterprise-grade development environment for building clinical and analytics |
| 20 | +solutions securely on Google Cloud. |
| 21 | + |
| 22 | +A dataset is a container in your Google Cloud project that holds modality-specific |
| 23 | +healthcare data. Datasets contain other data stores, such as FHIR stores and DICOM |
| 24 | +stores, which in turn hold their own types of healthcare data. |
| 25 | + |
| 26 | +A single dataset can contain one or many data stores, and those stores can all service |
| 27 | +the same modality or different modalities as application needs dictate. Using multiple |
| 28 | +stores in the same dataset might be appropriate in various situations. |
| 29 | + |
| 30 | +If you are new to the Cloud Healthcare API, you can try to |
| 31 | +[create and view datasets and stores using curl][healthcare-quickstart-curl]. |
| 32 | + |
| 33 | +[healthcare-docs]: https://cloud.google.com/healthcare/docs |
| 34 | +[healthcare-quickstart-curl]: |
| 35 | + https://cloud.google.com/healthcare-api/docs/store-healthcare-data-rest |
| 36 | + |
| 37 | +## Available Tools |
| 38 | + |
| 39 | +- [`cloud-healthcare-get-dataset`](../tools/cloudhealthcare/cloud-healthcare-get-dataset.md) |
| 40 | + Retrieves a dataset’s details. |
| 41 | + |
| 42 | +- [`cloud-healthcare-list-fhir-stores`](../tools/cloudhealthcare/cloud-healthcare-list-fhir-stores.md) |
| 43 | + Lists the available FHIR stores in the healthcare dataset. |
| 44 | + |
| 45 | +- [`cloud-healthcare-list-dicom-stores`](../tools/cloudhealthcare/cloud-healthcare-list-dicom-stores.md) |
| 46 | + Lists the available DICOM stores in the healthcare dataset. |
| 47 | + |
| 48 | +- [`cloud-healthcare-get-fhir-store`](../tools/cloudhealthcare/cloud-healthcare-get-fhir-store.md) |
| 49 | + Retrieves information about a FHIR store. |
| 50 | + |
| 51 | +- [`cloud-healthcare-get-fhir-store-metrics`](../tools/cloudhealthcare/cloud-healthcare-get-fhir-store-metrics.md) |
| 52 | + Retrieves metrics for a FHIR store. |
| 53 | + |
| 54 | +- [`cloud-healthcare-get-fhir-resource`](../tools/cloudhealthcare/cloud-healthcare-get-fhir-resource.md) |
| 55 | + Retrieves a specific FHIR resource from a FHIR store. |
| 56 | + |
| 57 | +- [`cloud-healthcare-fhir-patient-search`](../tools/cloudhealthcare/cloud-healthcare-fhir-patient-search.md) |
| 58 | + Searches for patients in a FHIR store based on a set of criteria. |
| 59 | + |
| 60 | +- [`cloud-healthcare-fhir-patient-everything`](../tools/cloudhealthcare/cloud-healthcare-fhir-patient-everything.md) |
| 61 | + Retrieves all information for a given patient. |
| 62 | + |
| 63 | +- [`cloud-healthcare-fhir-fetch-page`](../tools/cloudhealthcare/cloud-healthcare-fhir-fetch-page.md) |
| 64 | + Fetches a page of FHIR resources from a given URL. |
| 65 | + |
| 66 | +- [`cloud-healthcare-get-dicom-store`](../tools/cloudhealthcare/cloud-healthcare-get-dicom-store.md) |
| 67 | + Retrieves information about a DICOM store. |
| 68 | + |
| 69 | +- [`cloud-healthcare-get-dicom-store-metrics`](../tools/cloudhealthcare/cloud-healthcare-get-dicom-store-metrics.md) |
| 70 | + Retrieves metrics for a DICOM store. |
| 71 | + |
| 72 | +- [`cloud-healthcare-search-dicom-studies`](../tools/cloudhealthcare/cloud-healthcare-search-dicom-studies.md) |
| 73 | + Searches for DICOM studies in a DICOM store. |
| 74 | + |
| 75 | +- [`cloud-healthcare-search-dicom-series`](../tools/cloudhealthcare/cloud-healthcare-search-dicom-series.md) |
| 76 | + Searches for DICOM series in a DICOM store. |
| 77 | + |
| 78 | +- [`cloud-healthcare-search-dicom-instances`](../tools/cloudhealthcare/cloud-healthcare-search-dicom-instances.md) |
| 79 | + Searches for DICOM instances in a DICOM store. |
| 80 | + |
| 81 | +- [`cloud-healthcare-retrieve-rendered-dicom-instance`](../tools/cloudhealthcare/cloud-healthcare-retrieve-rendered-dicom-instance.md) |
| 82 | + Retrieves a rendered DICOM instance from a DICOM store. |
| 83 | + |
| 84 | +## Requirements |
| 85 | + |
| 86 | +### IAM Permissions |
| 87 | + |
| 88 | +The Cloud Healthcare API uses [Identity and Access Management (IAM)][iam-overview] to control |
| 89 | +user and group access to Cloud Healthcare resources like projects, datasets, and stores. |
| 90 | + |
| 91 | +### Authentication via Application Default Credentials (ADC) |
| 92 | + |
| 93 | +By **default**, Toolbox will use your [Application Default Credentials |
| 94 | +(ADC)][adc] to authorize and authenticate when interacting with the |
| 95 | +[Cloud Healthcare API][healthcare-docs]. |
| 96 | + |
| 97 | +When using this method, you need to ensure the IAM identity associated with your |
| 98 | +ADC (such as a service account) has the correct permissions for the queries you |
| 99 | +intend to run. Common roles include `roles/healthcare.fhirResourceReader` (which includes |
| 100 | +permissions to read and search for FHIR resources) or `roles/healthcare.dicomViewer` (for |
| 101 | +retrieving DICOM images). |
| 102 | +Follow this [guide][set-adc] to set up your ADC. |
| 103 | + |
| 104 | +### Authentication via User's OAuth Access Token |
| 105 | + |
| 106 | +If the `useClientOAuth` parameter is set to `true`, Toolbox will instead use the |
| 107 | +OAuth access token for authentication. This token is parsed from the |
| 108 | +`Authorization` header passed in with the tool invocation request. This method |
| 109 | +allows Toolbox to make queries to the [Cloud Healthcare API][healthcare-docs] on behalf of the |
| 110 | +client or the end-user. |
| 111 | + |
| 112 | +When using this on-behalf-of authentication, you must ensure that the |
| 113 | +identity used has been granted the correct IAM permissions. |
| 114 | + |
| 115 | +[iam-overview]: <https://cloud.google.com/healthcare/docs/access-control> |
| 116 | +[adc]: <https://cloud.google.com/docs/authentication#adc> |
| 117 | +[set-adc]: <https://cloud.google.com/docs/authentication/provide-credentials-adc> |
| 118 | + |
| 119 | +## Example |
| 120 | + |
| 121 | +Initialize a Cloud Healthcare API source that uses ADC: |
| 122 | + |
| 123 | +```yaml |
| 124 | +sources: |
| 125 | + my-healthcare-source: |
| 126 | + kind: "cloud-healthcare" |
| 127 | + project: "my-project-id" |
| 128 | + region: "us-central1" |
| 129 | + dataset: "my-healthcare-dataset-id" |
| 130 | + # allowedFhirStores: # Optional: Restricts tool access to a specific list of FHIR store IDs. |
| 131 | + # - "my_fhir_store_1" |
| 132 | + # allowedDicomStores: # Optional: Restricts tool access to a specific list of DICOM store IDs. |
| 133 | + # - "my_dicom_store_1" |
| 134 | + # - "my_dicom_store_2" |
| 135 | +``` |
| 136 | + |
| 137 | +Initialize a Cloud Healthcare API source that uses the client's access token: |
| 138 | + |
| 139 | +```yaml |
| 140 | +sources: |
| 141 | + my-healthcare-client-auth-source: |
| 142 | + kind: "cloud-healthcare" |
| 143 | + project: "my-project-id" |
| 144 | + region: "us-central1" |
| 145 | + dataset: "my-healthcare-dataset-id" |
| 146 | + useClientOAuth: true |
| 147 | + # allowedFhirStores: # Optional: Restricts tool access to a specific list of FHIR store IDs. |
| 148 | + # - "my_fhir_store_1" |
| 149 | + # allowedDicomStores: # Optional: Restricts tool access to a specific list of DICOM store IDs. |
| 150 | + # - "my_dicom_store_1" |
| 151 | + # - "my_dicom_store_2" |
| 152 | +``` |
| 153 | + |
| 154 | +## Reference |
| 155 | + |
| 156 | +| **field** | **type** | **required** | **description** | |
| 157 | +|--------------------|:--------:|:------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| 158 | +| kind | string | true | Must be "cloud-healthcare". | |
| 159 | +| project | string | true | ID of the GCP project that the dataset lives in. | |
| 160 | +| region | string | true | Specifies the region (e.g., 'us', 'asia-northeast1') of the healthcare dataset. [Learn More](https://cloud.google.com/healthcare-api/docs/regions) | |
| 161 | +| dataset | string | true | ID of the healthcare dataset. | |
| 162 | +| allowedFhirStores | []string | false | An optional list of FHIR store IDs that tools using this source are allowed to access. If provided, any tool operation attempting to access a store not in this list will be rejected. If a single store is provided, it will be treated as the default for prebuilt tools. | |
| 163 | +| allowedDicomStores | []string | false | An optional list of DICOM store IDs that tools using this source are allowed to access. If provided, any tool operation attempting to access a store not in this list will be rejected. If a single store is provided, it will be treated as the default for prebuilt tools. | |
| 164 | +| useClientOAuth | bool | false | If true, forwards the client's OAuth access token from the "Authorization" header to downstream queries. | |
0 commit comments