Skip to content
← BLUEHEALTHCARE
blueVigil

blueVigil

Trial safety and outcomes for each research subject

Follows one research subject's treatment exposure, toxicity, and therapeutic effect across a full trial course, computing dose-limiting-toxicity occurrence and evaluability as two separately computed answers and printing a fixed action envelope — disposition, evaluation completeness, and constraint conflict — before any proposed next step. A named clinician adjudicates; blueVigil records what was run and by whom.

Flagship — in active build
Runs locally · Ed25519-signed exports · no cloud account required
Who it's for

Clinical trial investigators, study coordinators, and sponsor safety and pharmacovigilance teams following one research subject through a treatment course.

What it is not

blueVigil does not decide anything about a subject's treatment. It records what was run and what a named human decided, and nothing in this package may originate a clinical definition, grading rule, dose-limiting-toxicity criterion, or threshold — every one of those arrives as versioned, dated rule-pack data. No LLM is anywhere in the engine that computes them.

It never adjudicates attribution. Whether a toxicity relates to the study treatment, the disease, or something else is recorded only when a named person reviews and signs it; an assessment nobody has made yet reads as not-yet-assessed, never as a computed "unrelated."

It never confirms a dose-limiting toxicity or computes an overall therapeutic-effect verdict. The engine can flag a dose-limiting-toxicity candidate and, on a separate and independent axis, whether the observation window was even evaluable — but only a named human's own adjudication can confirm one. The five therapeutic-effect domains are never merged into a single score; a sponsor export counts how much evidence exists per domain, never how much benefit occurred.

A signed export proves what blueVigil ran and recorded — it does not prove an underlying clinical claim is true. A change detected against a prior signed export is surfaced for a named person to reconcile; it is never applied automatically.

Screens

blueVigil is worked one research subject at a time: pick them from the roster, follow their course on one timeline, work the toxicity episode and any readings that disagree, check what the dose-limiting-toxicity record actually decided and who decided it, then see what a sponsor safety export would show. The five screens below are captured from a running build, not a mockup — against JY-SYNTH-SUBJ-001, the one synthetic subject in this build with a full course. Every one of them still carries the same illustrative-data notice, because the clinical definitions behind them have not been reviewed end to end.

blueVigil Subject course screen for JY-SYNTH-SUBJ-001: a one-timeline chart tracking Exposure (100 mg, then held, then 75 mg), Toxicity grade (Grade 1 up to Grade 3 and back to Grade 1, with a peak-grade note reading not confirmed, no signed assessment), Events (two grade-change markers) and Baselines (trial enrollment and two cycle starts) across late August through September 2026, with the Subject safety summary panel beginning underneath it and its first card, a concordance assessment, already marked Discordant and not yet adjudicated.
Synthetic demo data
The subject course for JY-SYNTH-SUBJ-001 — one timeline blending four tracks (exposure, toxicity grade, events, baselines) against the same axis instead of four separate charts. The peak grade-3 toxicity carries its own note: not confirmed, no signed assessment. Underneath the timeline, the Subject safety summary lists every computed fact still waiting on a human decision, starting with a concordance assessment already marked Discordant. (Not shown on a phone: the chart's own labels are too small to read once the timeline is squeezed into a 390px width — see the note below.)

Safety evidence expands into the episode board, where that discordant reading is worked in full.

blueVigil Episode board screen: a toxicity episode for JY-SYNTH-SUBJ-001 showing its grade history (Grade 1 on 1 Sept, Grade 3 on 8 Sept, back to Grade 1 on 11 Sept) with three source-fact evidence citations, a rationale field required before an assessment can be confirmed, and a concordance table showing a discordant biomarker/imaging pair on 18 March 2026: the biomarker reading improved from a final assay value while the imaging reading worsened from a signed scan report, both derived against the same baseline.
Synthetic demo data
Episode board — the same subject's toxicity episode with its full grade history, not just the latest grade, each entry traced to a named source fact. Underneath it, the concordance table: on the same day, the biomarker reading improved and the imaging reading worsened against the same baseline. blueVigil keeps both readings in full and computes no combined value — Discordant is the only verdict this screen prints, and a person decides what the disagreement means.

Decisions carries the same subject into the dose-limiting-toxicity record, where occurrence and evaluability are answered separately.

blueVigil Decision record screen for JY-SYNTH-SUBJ-001. The subject DLT assessment card answers two questions separately: occurrence reads No DLT observed because no candidate event or treatment-delivery criterion matched, and evaluability reads Evaluable because the minimum treatment requirement and the required observation were both met. The engine records itself as computed, no candidate. Beneath it, seven criteria are each shown independently rather than rolled into one score: Window, Event, Attribution and Exclusion pass, Grade, Duration and Treatment delivery fail. The study cohort panel below counts one DLT confirmed, one No DLT observed, one Unevaluable, and zero in each of the two pending buckets
Synthetic demo data
The decision record answers two questions separately rather than collapsing them into one verdict: whether a dose-limiting toxicity occurred (No DLT observed) and whether this subject is evaluable at all (Evaluable). Each of the seven criteria is shown on its own — four pass, three fail — instead of being rolled into a score that would hide which ones failed. The engine records itself as computed, no candidate, and that is the furthest it can go: the cohort panel counts one subject at DLT (confirmed), a state blueVigil's engine cannot reach on its own and that only a named investigator can enter.

Sponsor & study turns the same subject's course into what a sponsor actually receives.

blueVigil Snapshots screen: a five-domain therapeutic effect ledger for JY-SYNTH-SUBJ-001 — Objective disease Improved and Biologic / molecular Improved, both derived against baseline from imaging and biomarker evidence; Symptoms Stable; Function Worsened with no derivation basis recorded for that call; Patient-reported Not measured — with a footer noting that four of the five domains have evidence, one of those four has no recorded derivation, and one domain has not been measured at all.
Synthetic demo data
Snapshots — the five-domain therapeutic effect ledger for the same subject. Two domains read Improved against baseline (objective disease, from imaging and biomarker evidence; biologic/molecular, from biomarker evidence alone), one reads Stable, one reads Worsened with no recorded basis for that call yet, and Patient-reported has not been measured at all. blueVigil never merges these into one score — the ledger only counts how many domains have evidence, never how much benefit occurred.

Zooming back out, Subjects → Roster is where a reviewer actually starts: every subject in the study, before choosing whose course to open.

blueVigil Roster screen: every subject in study JY-SYNTH-STUDY-092326 with dose-limiting-toxicity summary counts (one confirmed, zero candidate awaiting investigator, one no-DLT-observed, zero pending, one unevaluable) and a three-row table of protocol version, DLT status and cohort bucket per subject, with a footer listing what this roster deliberately leaves out: patient name, age or sex, MRN, allergies, cohort or dose level, cycle/day, the DLT-window day count, and the last sponsor export date.
Synthetic demo data
Roster — every subject in the study, the screen a reviewer opens first to choose who to look at. The same DLT bucket counts from Decision record appear again here as a study-wide summary, and the table names what it leaves out in plain text: no patient name, age, sex, MRN, allergies, dose level, or cycle/day sits on this screen at all — only what each subject's dose-limiting-toxicity determination required.

A finding from this capture, not a hidden defect: at a 390px phone width the Subject course timeline's own text — axis dates, dose labels, grade annotations — shrinks along with the chart and becomes illegible, so no phone-width capture of that one screen is shown above. The rail, header and every other screen's content are reachable and legible at phone width; that one chart is not yet.

Status, measured

In active build. The engine computes treatment-exposure course, longitudinal toxicity episodes with full grade history, dose-limiting-toxicity occurrence and evaluability as two independently computed answers, explicit multimodal concordance, a five-domain therapeutic-effect ledger, and signed, offline-verifiable safety export snapshots — each behind its own falsifying test, none reachable unless explicitly enabled. The five screens above are captured from that running build against one synthetic research subject; every one of them still carries an illustrative-data notice, because the clinical definitions behind them have not been reviewed end to end. Dr. Jean-Yves Mazière reviewed the design these screens were built to.

Not yet true: Not included in the free edition. No signed pilot. No live or real patient data has ever been processed.

A signed export proves what blueVigil ran and recorded; it does not prove an underlying real-world claim is true. blueVigil does not adjudicate attribution, does not compute an overall therapeutic-effect or safety verdict, and does not decide a dose, hold, or stop for any subject — a named clinician is the only decision authority for anything in this package.