Find a cancer clinical trial in Canada by having a conversation, and see every trial it cites on a map.
Searching for a clinical trial normally means a filter form and a registry that answers in terminology written for clinicians. This project replaces that with a conversation.
The assistant asks what it needs to know, searches the trial database, and answers in plain language. Every trial it relies on is cited inline and appears on the map as it is mentioned, so an answer can be checked rather than trusted.
It was built as a Google Summer of Code 2026 project in collaboration with Open Genome Informatics and the Ontario Institute for Cancer Research.
A React frontend and an async FastAPI backend. The agent is built with Pydantic AI and answers with a set of tools and a set of guardrails between the model and the patient: a triage gate before it runs, limits on its tool use, and a citation check on what it wrote. Trials are searched two ways, by hard filters and by meaning, against PostgreSQL with pgvector. Every conversation is traced in Langfuse.
The documentation covers all of it: the architecture, the agent and its guardrails, the interface, deployment, observability and evaluation.
git clone https://github.com/RealPaiLab/ClinicalTrialChatbot.git
cd ClinicalTrialChatbotThen follow Running it locally, which covers the prerequisites, the environment files and the database dump.
Pre-release. The system runs end to end and is focused on Ontario for now, with other provinces to follow.
Released under the MIT License.
