Evidence Standards
A PhaseFolio output is only as good as the audit chain behind it. The Evidence Register links each load-bearing numeric assumption in a scenario to the source that supports it, with a date, an excerpt, and a freshness label. The schema is narrow (six required fields, three optional), source types are an eight-value enum, and freshness is computed automatically from source_date with three labels (current / stale / out_of_date).
What gets cited
Cell-level provenance for the assumptions that move the rNPV.
Not every input deserves a citation. The discount rate is an assumption the user owns; the COGS is an internal estimate; the cohort base rate is sourced once at the engine level. The Evidence Register targets the 5–10 most load-bearing assumptions per scenario — the ones that, if wrong, would change the rNPV by more than 10%.
In practice that's typically the per-stage PoS multiplier choices (genetic validation, biomarker, orphan), the peak revenue assumption (or its underlying epidemiology numbers), the WACC anchor, and the IRA MFP discount. Each of these gets one citation row in the Register, and each citation appears at the cell level on the Results page next to the value it supports.
Citation schema
The fields that make up a single Evidence Register row.
Every citation row is constrained by the same schema, validated server-side before write. The schema is deliberately narrow — six required fields and three optional — so that AI agents and human reviewers see a uniform structure regardless of which analyst entered the row.
| Field | Required | Description |
|---|---|---|
| assumption_label | Yes | Human-readable name of the assumption being cited (e.g., "Phase II PoS — genetic validation"). |
| assumption_path | No | Optional dotted path into the scenario JSON (e.g., "stages[1].pos_multipliers.genetic_validation"). |
| source_title | Yes | Title of the publication, registry entry, filing, or document. |
| source_type | Yes | One of eight enum values (see Section 3). |
| source_date | Yes | Publication date in ISO YYYY-MM-DD form. Drives the freshness calculation. |
| source_url | No | Permalink, when one exists. Validated as a URL. |
| excerpt | No | Up to 2,000 characters of the source text that supports the cited number. |
| freshness_label | Yes | current / stale / out_of_date. Default: current. (See Section 4.) |
| confidence | Yes | high / medium / low. Analyst’s assessment of source authority and fit to the assumption. |
| notes | No | Free-form analyst commentary. Up to 2,000 characters. |
Accepted source types
Eight enum values, ordered by typical authority.
The schema accepts eight source types. Authority is not strictly ordinal — a recent FDA briefing document outranks a stale peer-reviewed paper for some questions, and a CT.gov registry entry outranks a press release for any question about a trial. The list reflects the order in which we typically expect evidence to arrive.
| Source type | Description |
|---|---|
| trial_registry | ClinicalTrials.gov, EudraCT, JapicCTI, ANZCTR. Primary source for trial design, status, enrollment, and outcomes. |
| fda | FDA approval letters, Drugs@FDA submissions, briefing documents, advisory-committee transcripts. |
| publication | Peer-reviewed journal articles, conference proceedings (ASCO, ASH, AACR), preprints with DOI. |
| company_filing | 10-K, 10-Q, S-1, prospectuses, investor presentations filed with the SEC. |
| press_release | Press releases from sponsors, investigators, or partner companies. Treat as low-authority unless cross-confirmed. |
| kol | Key Opinion Leader interviews, expert calls, advisory-board notes. Internal artifacts; cite the KOL by name and date in the excerpt. |
| patent | Issued patents, published applications, freedom-to-operate analyses. |
| internal | Proprietary models, internal due-diligence memos, internal benchmarking. The lowest-authority tier; signals that no external source is yet anchoring the assumption. |
Freshness rules
Three labels, one date math.
Each citation carries one of three freshness labels: current, stale, or out_of_date. The label is set explicitly by the analyst at write time, but PhaseFolio also computes a recommended label from the source_date and surfaces a warning when the analyst's label disagrees.
| Label | Default age threshold | Treatment in dossier |
|---|---|---|
| current | 0–18 months | Renders in default ink; no warning chip on the cited cell. |
| stale | 18–36 months | Yellow chip on the cited cell; included in the dossier evidence appendix. |
| out_of_date | 36+ months | Red chip; included in the dossier with an explicit "review before relying on this number" note. |
The age thresholds are defaults, not laws. A field that moves quickly (oncology trial outcomes) deserves a tighter threshold than a field that moves slowly (small-molecule pharmacokinetics for a known target). Analysts can override the recommended label, and the override is preserved in the audit chain.
The audit chain
What a Verified export carries beyond the numbers.
A Verified PhaseFolio export (PDF or Excel) carries three artifacts in addition to the numbers themselves: the methodology version, the evidence appendix (every citation row referenced anywhere in the dossier), and a content hash that anchors the export to a specific scenario state.
When a recipient pastes the hash into the public verification endpoint, the endpoint returns the methodology version, the citation count, the originating org (anonymized identifier by default), the indication and modality, and a stable link back to this methodology hub at the version that produced the export. The recipient does not need a PhaseFolio account; an AI agent can perform the same verification programmatically against the JSON surface.
The point of the chain is not to assert that the numbers are correct — every assumption can still be wrong. The point is that the chain makes any wrong number trace back to a specific cited source. A reviewer can go from a suspicious rNPV to the multiplier driving it to the paper supporting that multiplier in three clicks; an analyst defending the analysis can do the same in reverse.
What the Register does not do
Honesty about the MVP scope.
- No auto-ingestion. Citations are entered manually by the analyst. The MVP deliberately ships without web-scrape ingestion or paper-PDF parsing — both are quality risks during a pilot, and both are easy to add later when the manual flow has been observed in real diligence.
- No contradiction resolver. If two cited sources disagree about a number, the Register stores both rows and flags the assumption as contested in the UI. Resolving the contradiction is an analyst task; the Register does not adjudicate.
- Confidence is analyst-set, not engine-derived. The confidence enum (high / medium / low) is a self-report. It surfaces in the dossier appendix but does not feed back into the rNPV calculation.
- Excerpt length is capped. 2,000 characters per excerpt. Longer excerpts should link to the full source via source_url rather than be pasted in full.
Related reading
01PoS Calibration methodology — the multipliers most often cited in the Evidence Register, with source estimands separated from applied paths.
02Backtest methodology — how PhaseFolio validates the assumptions in the Register against historical outcomes.
Methodology version: methodology@2026-04 · Last updated: 2026-04-30
PhaseFolio