✨ Inspiration

While working at Kaiser Permanente and volunteering at Vanderbilt Medical and Williamson County Hospital, I saw a big problem: many people from underrepresented communities aren’t included in clinical trials.

  • African American women are 6% of breast cancer trial participants, but have high death rates.
  • African American men are twice as likely to get prostate cancer as Asian men, but are only 9% of trial participants.

When trials aren’t diverse, treatments may not work for everyone. We built ClinicalConnect to help change that.


🚀 What It Does

ClinicalConnect is a web app that helps match patients to clinical trials using AI.

  • 📝 Patients enter their health info.
  • 🔍 Our system finds matching trials using trial data from clinicaltrials.gov.
  • ✅ We show why someone qualifies or not, in simple language.
  • 🩺 Doctors can also use it to find trials for their patients.

🏗️ How It Works (Tech Architecture)

We used a multi-agent system with Google’s full AI toolchain:

🔁 Agent Flow

  1. Orchestrator Agent – Coordinates the workflow.
  2. Trial Fetch Agent – Pulls trial data from clinicaltrials.gov using Google MCP.
  3. Matching Agent – Uses Google Vertex AI to check if a patient is eligible.
  4. Explanation Agent – Uses Vertex AI to explain results clearly.

🧠 Tools Used

  • Google ADK + A2A – For building and connecting the agents.
  • MCP – To fetch and work with trial data.
  • Vertex AI – To run our AI models.
  • Google document AI - For entity extraction on clinical notes
  • Weights & Biases Weave – To track and show how agents work step by step.

💪 Challenges

  • Clinical trial rules are hard to understand.
  • Matching trial needs with patient data was tricky.
  • Making everything fast and easy to use took a lot of work.

  • How to build connected agents using Google ADK, A2A, MCP, and Vertex.
  • How to use Weave for logging and observability.

Built With

  • google-a2a
  • googleadk
  • googledocumentai
  • mcp
  • vertex
  • weave
Share this project:

Updates