Skip to content

0008 Development State Is Contextual

Development State Belongs to Contextual Programs

Section titled “Development State Belongs to Contextual Programs”

Status: accepted

A therapeutic product can be approved in one disease, actively studied in another, and stopped in a third. Data Gov nevertheless exposed combinations of drug_status, development phase, approval state, active/inactive trial filters, and “highest phase ever” through drug-level columns and parallel ranking views. That shape supported useful landscape pages but made one field answer several incompatible questions.

The greenfield model needs stable identity, current development activity, historical progression, regulatory status, temporal ownership, and drillable evidence without reproducing hidden ranking heuristics.

Drug identity owns what the therapeutic product is. 33-slice-development-landscapes.md owns what is being developed for a disease context and how that effort changes over time.

A Therapeutic Development Program is identified by therapy plus disease. Evidence-backed Program Contexts represent narrower patient segment, biomarker, treatment-line, and setting contexts. Program Milestones preserve source-grounded changes; deterministic Program State Intervals derive clinical activity, current clinical phase, latest observed phase, maximum historical phase, and regulatory state as separate axes.

Approval never participates in the clinical-phase ordinal. Phase, status, sponsor, owner, target, technology, and evidence source never enter program identity. Landscapes are query projections over programs, not canonical entities or duplicated current/all-trials truth tables.

  • Keep one global phase/status on canonical.drugs and q_drugs.
  • Rebuild separate current-program and all-trials views with fixed ranking/filter rules.
  • Store one denormalized landscape row per disease/drug/target/technology combination.
  • Model contextual programs, immutable milestones, temporal state intervals, and composable query projections.
  • canonical.drugs and q_drugs expose identity state, not global development state.
  • canonical.drugs and q_drugs do not expose a global drug_status; legacy values remain only in migration/reconciliation staging.
  • Consumers use q_development_programs for current contextual state and q_development_program_state_history / milestones for history.
  • Approved plus actively developing, stopped after a higher historical phase, and unknown-line cases remain representable without magic ranks or defaults.
  • Landscape queries must declare whether they count therapies, programs, program contexts, or trials.
  • The design adds explicit temporal and contextual records, but deletes duplicated ranking views and makes corrections replayable.