# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the License);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an AS IS BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

sources:
  healthcare-source:
    kind: cloud-healthcare
    project: ${CLOUD_HEALTHCARE_PROJECT}
    region: ${CLOUD_HEALTHCARE_REGION}
    dataset: ${CLOUD_HEALTHCARE_DATASET}
    useClientOAuth: ${CLOUD_HEALTHCARE_USE_CLIENT_OAUTH:false}

tools:
  get_dataset:
    kind: cloud-healthcare-get-dataset
    description: Use this tool to get the details of a healthcare dataset
    source: healthcare-source
  list_dicom_stores:
    kind: cloud-healthcare-list-dicom-stores
    description: Use this tool to list the DICOM stores in the healthcare dataset
    source: healthcare-source
  list_fhir_stores:
    kind: cloud-healthcare-list-fhir-stores
    description: Use this tool to list the FHIR stores in the healthcare dataset
    source: healthcare-source
  get_fhir_store:
    kind: cloud-healthcare-get-fhir-store
    description: Use this tool to get details about a FHIR store in the healthcare dataset
    source: healthcare-source
  get_fhir_store_metrics:
    kind: cloud-healthcare-get-fhir-store-metrics
    description: Use this tool to get metrics about a FHIR store in the healthcare dataset
    source: healthcare-source
  get_fhir_resource:
    kind: cloud-healthcare-get-fhir-resource
    description: Use this tool to get a FHIR resource from a FHIR store
    source: healthcare-source
  fhir_patient_search:
    kind: cloud-healthcare-fhir-patient-search
    description: Use this tool to search for patient resource(s) in a FHIR store based on a set of criteria
    source: healthcare-source
  fhir_patient_everything:
    kind: cloud-healthcare-fhir-patient-everything
    description: Use this tool to retrieve resources related to a given patient from a FHIR store
    source: healthcare-source
  fhir_fetch_page:
    kind: cloud-healthcare-fhir-fetch-page
    description: Use this tool to fetche a page of FHIR resources from a FHIR store
    source: healthcare-source
  get_dicom_store:
    kind: cloud-healthcare-get-dicom-store
    description: Use this tool to get details about a DICOM store in the healthcare dataset
    source: healthcare-source 
  get_dicom_store_metrics:
    kind: cloud-healthcare-get-dicom-store-metrics
    description: Use this tool to get metrics about a DICOM store in the healthcare dataset
    source: healthcare-source
  search_dicom_studies:
    kind: cloud-healthcare-search-dicom-studies
    description: Use this tool to search for DICOM studies in a DICOM store
    source: healthcare-source
  search_dicom_series:
    kind: cloud-healthcare-search-dicom-series
    description: Use this tool to search for DICOM series in a DICOM store
    source: healthcare-source
  search_dicom_instances:
    kind: cloud-healthcare-search-dicom-instances
    description: Use this tool to search for DICOM instances in a DICOM store
    source: healthcare-source
  retrieve_rendered_dicom_instance:
    kind: cloud-healthcare-retrieve-rendered-dicom-instance
    description: Use this tool to retrieve a base64 encoding of a rendered DICOM instance from a DICOM store in JPEG format
    source: healthcare-source

toolsets:
  cloud_healthcare_dataset_tools:
    - get_dataset
    - list_dicom_stores
    - list_fhir_stores
  cloud_healthcare_fhir_tools:
    - get_fhir_store
    - get_fhir_store_metrics
    - get_fhir_resource
    - fhir_patient_search
    - fhir_patient_everything
    - fhir_fetch_page
  cloud_healthcare_dicom_tools:
    - get_dicom_store
    - get_dicom_store_metrics
    - search_dicom_studies
    - search_dicom_series
    - search_dicom_instances
    - retrieve_rendered_dicom_instance
