ClinicaLister isn't a list of databases bolted together — it's a substance-level knowledge graph. Canonical molecules, diseases, and devices unify 18+ sources into one queryable layer, so every link is consistent, confidence-scored, and traceable to its source.
ClinicalTrials.gov, FDA, EMA, and GSRS each name the same drug differently — brand vs. generic, salt vs. base, dev code vs. INN, with typos and synonyms throughout. Joining them by hand means hours of reconciliation, and the joins break every time a source updates.
We resolve every record to a canonical identity — a molecule, a disease, a device — and connect them with typed, confidence-scored edges. Reconciliation happens once, in the graph, so every search, chart, and AI answer reads from the same consistent layer.
Drugs, diseases, and devices each get one stable identity that every source maps into.
Every FDA, EMA, and GSRS drug record collapses to one canonical molecule, anchored on its UNII substance code. 9,100+ molecules, 83% UNII-anchored — so a brand, a generic, a salt, and a development code all resolve to the same entity.
Every trial condition resolves to a canonical MONDO disease — 33,700+ terms and 111,600+ synonyms — collapsing 'NSCLC', 'Non-Small Cell Lung Cancer', and every subtype into one queryable identity. 500,000+ trials (~85%) are mapped.
Device submissions (510(k)/PMA) link to their GUDID identifiers and FDA classifications, with sponsor-gated trial matching so device links carry the same rigor as drugs.
Every node type and every edge type, exactly as the graph is modelled. Rotate it, filter to one dimension, and select any node to see what resolves it.
Drag to rotate the graph, then pick a dimension or select any node to see what it is and how each of its edges is resolved.
| Node | Dimension | What it is |
|---|---|---|
| Molecule | Substance | The golden record and the primary key of the whole graph. Every FDA, EMA and GSRS drug record collapses into one canonical substance identity, anchored on its UNII — so a brand, a generic, a salt and a development code all resolve to the same entity. Trial linking happens here, at the substance level, never at the product level. |
| Moiety parent | Substance | The active-moiety parent a salt or biosimilar rolls up to. This is what makes “all trials for this substance” mean exactly that — while keeping the salt a distinct record. A salt rolls up to its drug base, never to its counterion. |
| Alias | Substance | Every other name a molecule goes by — development codes, INN, official and common names, plus brand names backfilled from FDA and EMA. Brand aliases are deliberately excluded from the deterministic auto-link path, because an unfiltered first cut produced a class of false positives. |
| Classification | Substance | ATC, MEDRT, FDA_SPL and SNOMED_CT class memberships, aggregated from all of a molecule's FDA products. This is what makes class-level questions possible — “every trial testing any PD-1 inhibitor” rather than a drug-by-drug list. |
| Target | Substance | The pharmacological target a molecule acts on, typed by interaction (inhibitor, agonist, antagonist, substrate). Sourced from GSRS substance relationships, which are sparse — this edge covers a small subset of molecules, and we'd rather say so than imply full coverage. |
| GSRS substance | Substance | FDA's Global Substance Registration System — the registry that supplies the UNII, INN, CAS number, molecular formula and structure keys. It is the anchor that makes substance identity deterministic rather than a fuzzy name match. |
| FDA drug | Drug product | An approved US drug product — the NDA, ANDA or BLA record, with its brand and generic names, active ingredients, route and marketing status. Every enrichment below hangs off this record by exact key. |
| EMA drug | Drug product | The European marketing-authorisation record, resolved to the same canonical molecule as its US counterpart — which is what lets one question span both regulators. |
| NDC product | Drug product | The packaged, marketed presentations of a drug product, joined on application number. The NDC is also the hinge that pricing data attaches to. |
| FAERS safety | Drug product | Post-market adverse-event signal from the FDA Adverse Event Reporting System, summarised per drug product and joined on application number. It is the safety half of the picture a trial record alone can't give you. |
| REMS & designations | Drug product | Risk-management programmes and the special designations that change a development path — orphan, fast-track and breakthrough — carried as flags on the product record. |
| Shortage | Drug product | Current and resolved supply shortages, linked by generic name — the signal that a marketed product is under supply pressure. |
| Pricing | Drug product | Acquisition cost (NADAC, by NDC), physician-administered reimbursement (ASP, resolved through an HCPCS→NDC crosswalk) and Medicare Part D spend. Three different pricing questions, each with its own resolution path. |
| Open Payments | Drug product | CMS industry-to-physician transfers of value, linked to the drug by NDC and to devices by name and manufacturer. |
| DailyMed label | Drug product | The structured product label — the authoritative prescribing text — joined on application number, falling back to RxCUI. |
| Trial | Trial | A registered clinical study, keyed by its NCT ID, with phase, status, sponsor, enrolment, arms and interventions. The trial is a hub, not a leaf: it is what ties drugs, devices, diseases, sites and evidence into one traversal. |
| EU trial | Trial | The CTIS registration for European studies, cross-referenced to its NCT counterpart where the registry declares one — so a molecule's trial set doesn't stop at the US border. |
| Extracted entity | Trial | A drug or device name pulled out of a trial's free text, tagged with the role it plays — the raw material the linker resolves into a molecule edge. The original string is preserved, so you can always see what the pipeline actually read. |
| Sites & geography | Trial | Where a trial actually runs — the facility, city and country records behind the map view and any geographic filter. |
| Publications | Trial | Published evidence tied back to the trial by NCT ID, from PubMed, Europe PMC and the registry itself — the bridge from “a trial exists” to “here is what it found”. |
| Change history | Trial | Field-level change tracking captured by database trigger on every refresh, so a status flip, an enrolment cut or a completion-date slip is a queryable event rather than something you had to be watching for. |
| Disease (MONDO) | Disease | A canonical disease identity from the Monarch Disease Ontology, which unifies ICD-10, MeSH, DOID, Orphanet, NCI Thesaurus, OMIM and UMLS under one stable ID. This is what collapses “NSCLC” and “Non-Small Cell Lung Cancer” into a single queryable thing. |
| Parent & ancestors | Disease | The is-a hierarchy, with the full transitive closure precomputed. Asking for “lung cancer” can therefore return every subtype beneath it in one query rather than a hand-maintained synonym list. |
| Disease alias | Disease | MONDO synonyms — exact, related, broad and narrow — which are what let a free-text trial condition find its canonical identity in the first place. |
| Device | Device | An FDA-regulated device: its 510(k) or PMA submission, the applicant that filed it, and its three-letter product code. Devices are company-specific, which shapes how their trial edges are scored. |
| GUDID identity | Device | The Global UDI Database record, matched to its premarket submission by submission number plus product code and company — the closest thing a device has to a stable identity. |
| Classification | Device | The FDA product code and risk class (I, II or III) that determine a device's regulatory pathway. |
| Recalls | Device | Device recall events, joined by product code — the clearest single signal that a device family is in trouble. |
| MAUDE events | Device | Adverse-event reports from the MAUDE database, joined by product code. Sampled rather than exhaustive, which is a limit of the source, not a choice we made quietly. |
| Edge | Trust | Resolved by |
|---|---|---|
| GSRS substance anchors Molecule | Identity — exact key | UNII — the registry identifier both sides share |
| Molecule also known as Alias | Source fact | GSRS names + FDA/EMA brand backfill |
| Molecule classified as Classification | Source fact | RxClass ATC / FDA_SPL / MEDRT / SNOMED_CT |
| Molecule interacts with Target | Source fact | GSRS substance relationships |
| Molecule rolls up to Moiety parent | Hierarchy — is-a / rollup | GSRS active-moiety, salt and biosimilar rollup |
| FDA drug resolves to Molecule | Identity — exact key | UNII, falling back to normalised generic name |
| EMA drug resolves to Molecule | Identity — exact key | UNII, falling back to normalised medicine name |
| FDA drug registered as GSRS substance | Identity — exact key | UNII, else ingredient name |
| FDA drug marketed as NDC product | Source fact | application number |
| FDA drug safety signal FAERS safety | Source fact | application number |
| FDA drug designated REMS & designations | Source fact | application number |
| FDA drug in shortage Shortage | Source fact | generic name |
| NDC product priced at Pricing | Source fact | NDC, segment-aware; ASP via HCPCS→NDC crosswalk |
| FDA drug payments for Open Payments | Source fact | NDC |
| FDA drug labelled by DailyMed label | Source fact | application number, else RxCUI |
| Molecule involved in Trial | Trusted link — scored ≥ 0.95 | alias-first exact → fuzzy with signal boosting → AI verification, scoring ≥ 0.95 |
| Molecule possibly involved in Trial | Ghost link — 0.85 to 0.94 | scored 0.85–0.94 — held as a ghost link until verified |
| Molecule involved in EU trial | Trusted link — scored ≥ 0.95 | the same pipeline, mirrored onto CTIS trials |
| Extracted entity resolves to Molecule | Trusted link — scored ≥ 0.95 | alias-exact on the safe set, else fuzzy + AI curation |
| Trial mentions Extracted entity | Source fact | AI extraction from trial free text, audit-gated |
| Trial studies Disease (MONDO) | Source fact | exact → alias → AI fallback on the free-text condition |
| Trial runs at Sites & geography | Source fact | registry-supplied site records |
| Trial evidenced by Publications | Source fact | NCT ID across PubMed, Europe PMC and the registry |
| Trial changes tracked Change history | Source fact | field-level database trigger on every refresh |
| EU trial cross-references Trial | Identity — exact key | NCT ID declared in the CTIS secondary identifiers |
| Disease (MONDO) is a Parent & ancestors | Hierarchy — is-a / rollup | MONDO is-a graph, ancestors precomputed |
| Disease (MONDO) also known as Disease alias | Source fact | MONDO synonyms |
| Device studied in Trial | Trusted link — scored ≥ 0.95 | fuzzy name match; sponsor agreement is required to reach this tier |
| Device possibly studied in Trial | Ghost link — 0.85 to 0.94 | no sponsor agreement, a generic token, or a score of 0.85–0.94 |
| Device identified by GUDID identity | Identity — exact key | submission number + product code and company |
| Device classified as Classification | Source fact | FDA product code |
| Device recalled Recalls | Source fact | product code |
| Device adverse events MAUDE events | Source fact | product code (sampled) |
| Device payments for Open Payments | Source fact | device name and manufacturer |
We don't dump unvalidated matches on you. Each edge carries a confidence tier and full provenance.
High-confidence links surface by default; Medium-confidence (AI-suggested) links wait for validation; Low-confidencecandidates are re-checked before they're promoted. You always know how sure we are.
Every active molecule↔trial link carries a curation verdict — an automated pre-check and an AI reviewer sign off before a link is shown as verified.
Every edge records where it came from and how it was matched — so a regulatory or competitive-intelligence claim can always be traced back to its source.
A knowledge graph is only as good as its edges. We model the hard cases correctly — and guard against them coming back.
Placebo arms are modeled as a dedicated concept — never mistaken for a real drug
Generic terms (“chemotherapy”, “active comparator”) never resolve to a specific molecule
Distinct drugs are kept distinct — no rolling bupivacaine into ropivacaine
A salt rolls up to its drug base, never to its counterion (no quetiapine → fumaric acid)
Each guardrail is enforced at the source and regularly re-checked to stay at zero
The same canonical identities also roll salts and metabolites up to their parent molecule, so “all trials for this substance” means exactly that.
When you connect an AI assistant through the Model Context Protocol, it isn't guessing across raw tables — it reads the knowledge graph. Canonical identities and typed links let it answer “every trial for this molecule and its biosimilars, with the regulatory and pricing context” in one hop, with provenance attached.