Natural-History Studies
Observational studies describing disease course and its variation over time in a defined population and care context, supporting endpoint development, feasibility, prognosis, and sometimes carefully justified external comparisons.
On this page
Observational studies describing disease course and its variation over time in a defined population and care context, supporting endpoint development, feasibility, prognosis, and sometimes carefully justified external comparisons. Use for rare or insufficiently characterized conditions, endpoint planning, prognostic evidence, trial design, and documenting what is observable over a relevant disease stage.
Definition and scope
Observational studies describing disease course and its variation over time in a defined population and care context, supporting endpoint development, feasibility, prognosis, and sometimes carefully justified external comparisons. The target population, use, and analysis remain protocol decisions; this card explains the choices and their consequences rather than approving a study.
Operational specification
Specify disease definition, genotype/phenotype, severity, ascertainment and referral pathways, eligibility, time origin, treatments received, calendar era, assessment schedule, follow-up, and outcomes. Distinguish time since symptoms, diagnosis, enrollment, and disease stage. Natural history does not necessarily mean untreated history; document actual standard care and interventions.
Analysis and diagnostics
Describe trajectories, transitions, heterogeneity, measurement properties, and loss to follow-up. Assess delayed entry, survivor/referral selection, informative assessment, and changes in care across eras. If the data become an external comparator, separately align eligibility, time zero, outcomes, care, and the causal estimand; descriptive disease-course data do not automatically identify an untreated counterfactual.
When NOT to use and common errors
Do not pool incompatible time origins, infer progression only from survivors who attend follow-up, or relabel treated historical patients as an untreated control. The cited FDA natural-history guidance is a draft resource, not a final regulatory requirement.
Worked example and implementation boundary
A synthetic cohort has 50 enrolled patients and 40 with an outcome assessment at one year. Calculate observed assessment completion, retaining the ten unassessed patients in the accounting. Assessment completion is 0.80, or 80%. Outcomes among the unassessed remain unknown; completion is not disease stability. The code performs that explicitly stated calculation with synthetic inputs. It is not a complete fitted analysis and does not demonstrate the identification assumptions, estimate sampling uncertainty, or certify application in another population.
Data-source and reporting requirements
Preserve the provenance, dates, units, and observation rule for each input. Claims capture services and transactions under observable benefits; absence of a record is not proof that an event or resource use did not occur. EHR and registry measurements depend on the collection process and may miss care outside the system. Linked sources add reconciliation and selection questions. Primary collection can improve a missing domain but still requires valid measurement and follow-up. Report which of these limitations affects the stated use, which evidence supports the chosen inputs, and what remains uncertain.
Worked example
Scenario
A synthetic cohort has 50 enrolled patients and 40 with an outcome assessment at one year. Calculate observed assessment completion, retaining the ten unassessed patients in the accounting.
Dataset
Synthetic inputs with units defined in the scenario; no patient data.
| input | value |
|---|---|
| assessed | 40 |
| enrolled | 50 |
Steps
Result
Assessment completion is 0.80, or 80%. Outcomes among the unassessed remain unknown; completion is not disease stability.
Trade-offs
Code example
Executed example · Python 3.11.15 · 2026-11-01T02:04:28+00:00
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study.
assessed = 40
enrolled = 50
result = assessed/enrolled
assert abs(result - 0.8) < 1e-9
print(result)
Executed example · Rscript (R) version 4.6.1 (2026-06-24) · 2026-11-01T02:04:28+00:00
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study.
assessed <- 40
enrolled <- 50
result <- assessed/enrolled
stopifnot(abs(result - 0.8) < 1e-9)
print(result)
Illustrative example · execution not verified
Self-contained synthetic calculation for the worked example only. Inputs and units are listed in the dataset; output is the displayed scalar. This does not fit the full study/model, estimate uncertainty, or select an analysis for a real study. SAS source is illustrative until executed in a compatible SAS runtime.
data worked_example;
assessed = 40;
enrolled = 50;
result = assessed/enrolled;
put result=;
run;
Citations
- [1]U.S. Food and Drug Administration. Rare Diseases: Natural History Studies for Drug Development. Draft guidance for industry. March 2019. Draft, not for implementation.
- [2]Hernán MA, Robins JM. Using big data to emulate a target trial when a randomized trial is not available. American Journal of Epidemiology. 2016;183(8):758-764.