CtrlK
BlogDocsLog inGet started
Tessl Logo

tooluniverse-clinical-trial-matching

AI-driven patient-to-trial matching for precision oncology and rare-disease care. Transforms a patient's molecular profile (mutations, biomarkers, expression) and clinical state into ranked clinical-trial recommendations with evidence tiers. Searches ClinicalTrials.gov, the EU CTIS register (European/EEA trials), AND the ISRCTN registry (UK/international) plus cross-references CIViC, OpenTargets, ChEMBL, and FDA labels. Use for matching patients to trials by genotype, biomarker-driven trial selection, trial-eligibility scoring, and finding trials across the US, Europe, and the UK.

The canonical home for this skill is tooluniverse-clinical-trial-matching in mims-harvard/ToolUniverse

SKILL.md
Quality
Evals
Security

Clinical Trial Matching for Precision Medicine

Transform patient molecular profiles and clinical characteristics into prioritized clinical trial recommendations. Searches ClinicalTrials.gov and cross-references with molecular databases (CIViC, OpenTargets, ChEMBL, FDA) to produce evidence-graded, scored trial matches.

KEY PRINCIPLES:

  1. Report-first approach - Create report file FIRST, then populate progressively
  2. Patient-centric - Every recommendation considers the individual patient's profile
  3. Molecular-first matching - Prioritize trials targeting patient's specific biomarkers

Molecular Matching Priority

Match patients to trials by molecular profile FIRST (specific mutations), then by disease stage, then by prior treatments. A patient with EGFR L858R should match to EGFR-targeted trials regardless of other factors. 4. Evidence-graded - Every recommendation has an evidence tier (T1-T4) 5. Quantitative scoring - Trial Match Score (0-100) for every trial 6. Eligibility-aware - Parse and evaluate inclusion/exclusion criteria 7. Actionable output - Clear next steps, contact info, enrollment status 8. Source-referenced - Every statement cites the tool/database source 9. Completeness checklist - Mandatory section showing analysis coverage 10. English-first queries - Always use English terms in tool calls. Respond in user's language

LOOK UP, DON'T GUESS

When uncertain about any scientific fact, SEARCH databases first rather than reasoning from memory. A database-verified answer is always more reliable than a guess.


COMPUTE, DON'T DESCRIBE

When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.

When to Use

Apply when user asks:

  • "What clinical trials are available for my NSCLC with EGFR L858R?"
  • "Patient has BRAF V600E melanoma, failed ipilimumab - what trials?"
  • "Find basket trials for NTRK fusion"
  • "Breast cancer with HER2 amplification, post-CDK4/6 inhibitor trials"
  • "KRAS G12C colorectal cancer clinical trials"
  • "Immunotherapy trials for TMB-high solid tumors"
  • "Clinical trials near Boston for lung cancer"
  • "What are my options after failing osimertinib for EGFR+ NSCLC?"

NOT for (use other skills instead):

  • Single variant interpretation without trial focus -> Use tooluniverse-cancer-variant-interpretation
  • Drug safety profiling -> Use tooluniverse-adverse-event-detection
  • Target validation -> Use tooluniverse-drug-target-validation
  • General disease research -> Use tooluniverse-disease-research

Input Parsing

Required Input

  • Disease/cancer type: Free-text disease name (e.g., "non-small cell lung cancer", "melanoma")

Strongly Recommended

  • Molecular alterations: One or more biomarkers (e.g., "EGFR L858R", "KRAS G12C", "PD-L1 50%", "TMB-high")
  • Stage/grade: Disease stage (e.g., "Stage IV", "metastatic", "locally advanced")
  • Prior treatments: Previous therapies and outcomes (e.g., "failed platinum chemotherapy", "progressed on osimertinib")

Optional

  • Performance status: ECOG or Karnofsky score
  • Geographic location: City/state for proximity filtering
  • Trial phase preference: I, II, III, IV, or "any"
  • Intervention type: drug, biological, device, etc.
  • Recruiting status preference: recruiting, not yet recruiting, active

For biomarker parsing rules and gene symbol normalization, see MATCHING_ALGORITHMS.md.


Workflow Overview

Input: Patient profile (disease + biomarkers + stage + prior treatments)

Phase 1: Patient Profile Standardization
  - Resolve disease to EFO/ontology IDs (OpenTargets, OLS)
  - Parse molecular alterations to gene + variant
  - Resolve gene symbols to Ensembl/Entrez IDs (MyGene)
  - Classify biomarker actionability (FDA-approved vs investigational)

Phase 2: Broad Trial Discovery
  - Disease-based trial search (ClinicalTrials.gov)
  - Biomarker-specific trial search
  - Intervention-based search (for known drugs targeting patient's biomarkers)
  - Deduplicate and collect NCT IDs

Phase 3: Trial Characterization (batch, groups of 10)
  - Eligibility criteria, conditions/interventions, locations, status, descriptions

Phase 4: Molecular Eligibility Matching
  - Parse eligibility text for biomarker requirements
  - Match patient's molecular profile to trial requirements
  - Score molecular eligibility (0-40 points)

Phase 5: Drug-Biomarker Alignment
  - Identify trial intervention drugs and mechanisms (OpenTargets, ChEMBL)
  - FDA approval status for biomarker-drug combinations
  - Classify drugs (targeted therapy, immunotherapy, chemotherapy)

Phase 6: Evidence Assessment
  - FDA-approved biomarker-drug combinations
  - Clinical trial results (PubMed), CIViC evidence, PharmGKB
  - Evidence tier classification (T1-T4)

Phase 7: Geographic & Feasibility Analysis
  - Trial site locations, enrollment status, proximity scoring

Phase 8: Alternative Options
  - Basket trials, expanded access, related studies

Phase 9: Scoring & Ranking (0-100 composite score)
  - Tier classification: Optimal (80-100) / Good (60-79) / Possible (40-59) / Exploratory (0-39)

Phase 10: Report Synthesis
  - Executive summary, ranked trial list, evidence grading, completeness checklist

Critical Tool Parameters

Clinical Trial Search Tools

ToolKey ParametersNotes
search_clinical_trialsquery_term (REQ), condition, intervention, pageSizeMain search (ClinicalTrials.gov, U.S./global)
search_clinical_trialsaction="search_studies" (REQ), condition, intervention, limitAlternative search
get_clinical_trial_descriptionsaction="get_study_details" (REQ), nct_id (REQ)Full trial details
CTIS_search_trialsquery (REQ), limit, pageEU/EEA trials (EU CTIS register, since 2022) — complements ClinicalTrials.gov
CTIS_get_trialct_number (REQ, e.g. 2022-503001-38-01)Full EU trial detail (Part I/II, member states, results)
ISRCTN_search_trialsquery (REQ), limitISRCTN registry (UK-based, WHO-primary, international) — a third source
ISRCTN_get_trialisrctn_id (REQ, e.g. ISRCTN12336055)Full ISRCTN trial detail + cross-ref ids (DOI/EudraCT/NCT)

Geographic coverage: ClinicalTrials.gov is U.S.-centric but global; many EU/EEA-only trials appear only in the EU CTIS register, and UK/international trials in ISRCTN. For a comprehensive search — or any patient who could enroll outside the U.S. — query search_clinical_trials, CTIS_search_trials, and ISRCTN_search_trials, then merge (the three registers list largely disjoint trials; ISRCTN records carry DOI/EudraCT/NCT cross-refs you can use to dedupe against the others). Each register has its own id namespace and detail tool: NCT→get_clinical_trial_*, CT number→CTIS_get_trial, ISRCTN id→ISRCTN_get_trial.

Batch Trial Detail Tools (all take nct_ids array)

ToolSecond Required ParamReturns
get_clinical_trial_eligibility_criteriaeligibility_criteria="all"Eligibility text
get_clinical_trial_locationslocation="all"Site locations
get_clinical_trial_conditions_and_interventionscondition_and_intervention="all"Arms/interventions
get_clinical_trial_status_and_datesstatus_and_date="all"Status/dates
get_clinical_trial_descriptionsdescription_type="brief" or "full"Titles/summaries
get_clinical_trial_outcome_measuresoutcome_measures="all"Outcomes

Gene/Disease Resolution

ToolKey Parameters
MyGene_query_genesquery, species
OpenTargets_get_disease_id_description_by_namediseaseName
OpenTargets_get_target_id_description_by_nametargetName
ols_search_efo_termsquery, limit

Drug Information

ToolKey ParametersNotes
OpenTargets_get_drug_id_description_by_namedrugNameResolve drug to ChEMBL ID
OpenTargets_get_drug_mechanisms_of_action_by_chemblIdchemblIdDrug MoA and targets
OpenTargets_get_associated_drugs_by_target_ensemblIDensemblId, sizeDrugs for a target
drugbank_get_targets_by_drug_name_or_drugbank_idquery, case_sensitive, exact_match, limit (ALL REQ)Drug targets
fda_pharmacogenomic_biomarkers(none)FDA biomarker-drug list
FDA_get_indications_by_drug_namedrug_name, limitFDA indications

Evidence Tools

ToolKey Parameters
PubMed_search_articlesquery, max_results
civic_get_variants_by_genegene_id (CIViC int ID), limit
PharmGKB_search_genesquery

Known CIViC Gene IDs

EGFR=19, BRAF=5, ALK=1, ABL1=4, KRAS=30, TP53=45, ERBB2=20, NTRK1=197, NTRK2=560, NTRK3=561, PIK3CA=37, MET=52, ROS1=118, RET=122, BRCA1=2370, BRCA2=2371

Critical Parameter Notes

  1. DrugBank tools: ALL 4 parameters (query, case_sensitive, exact_match, limit) are REQUIRED
  2. search_clinical_trials: query_term is REQUIRED even for disease-only searches
  3. search_clinical_trials: action must be exactly "search_studies"
  4. CIViC civic_search_variants: Does NOT filter by query - returns alphabetically
  5. CIViC civic_get_variants_by_gene: Takes CIViC gene ID (integer), NOT gene symbol
  6. Batch clinical trial tools: Accept arrays of NCT IDs, process in batches of 10

Scoring Summary

Trial Match Score (0-100):

  • Molecular Match: 0-40 pts (exact variant=40, gene-level=30, pathway=20, none=10, excluded=0)
  • Clinical Eligibility: 0-25 pts (all met=25, most=18, some=10, ineligible=0)
  • Evidence Strength: 0-20 pts (FDA-approved=20, Phase III=15, Phase II=10, Phase I=5)
  • Trial Phase: 0-10 pts (III=10, II=8, I/II=6, I=4)
  • Geographic: 0-5 pts (local=5, same country=3, international=1)

Recommendation Tiers: Optimal (80-100), Good (60-79), Possible (40-59), Exploratory (0-39)

Evidence Tiers: T1 (FDA/guideline), T2 (Phase III), T3 (Phase I/II), T4 (computational)

For detailed scoring logic, see SCORING_CRITERIA.md.


Parallelization Strategy

Group 1 (Phase 1 - simultaneous):

  • MyGene_query_genes per gene, OpenTargets disease search, ols_search_efo_terms, fda_pharmacogenomic_biomarkers

Group 2 (Phase 2 - simultaneous):

  • search_clinical_trials by disease, biomarker, and intervention; search_clinical_trials alternative

Group 3 (Phase 3 - simultaneous):

  • All batch detail tools (eligibility, interventions, locations, status, descriptions)

Group 4 (Phases 5-6 - per drug):

  • Drug resolution, MoA, FDA indications, PubMed evidence

Error Handling

  1. Wrap every tool call in try/except
  2. Check for empty results and string error responses
  3. Use fallback tools when primary fails (e.g., OLS if OpenTargets fails)
  4. Document failures in completeness checklist
  5. Never let one failure block the entire analysis

Reference Files

FileContents
TOOLS_REFERENCE.mdFull tool inventory with parameters and response structures
MATCHING_ALGORITHMS.mdPatient profile standardization, biomarker parsing, molecular eligibility matching, drug-biomarker alignment code
SCORING_CRITERIA.mdDetailed scoring tables, molecular match logic, drug-biomarker alignment scoring
REPORT_TEMPLATE.mdFull markdown report template with all sections
TRIAL_SEARCH_PATTERNS.mdSearch functions, batch retrieval, parallelization, common use patterns, edge cases
EXAMPLES.mdWorked examples for different matching scenarios
QUICK_START.mdQuick-start guide for common workflows
Repository
mims-harvard/ToolUniverse
Last updated
First committed

Canonical home

mims-harvard/ToolUniverse
In sync

since Jul 28, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.