← Back to Platform

Changelog

Track the evolution of the NCD Best-Buys Platform

Unreleased

Added

  • • Added a Benefits page with selectable draft economic benefit calculations for the current results surface, including aggregate healthy-years, tobacco return-on-investment workbook headline components, and value-of-a-statistical-life-year options.
  • • Added a reusable benefit calculation service that estimates annual and total discounted benefits, costs, net benefits, and return on investment from generated baseline and comparison results.
  • • Added Appendix 3 programme-cost resolution on the Benefits page, including intervention tag, income-group column, per-capita cost, source model, fallback, and source-conflict status.
  • • Added a Tobacco Collections page that groups current tobacco scenario surfaces for investment-case workflows without treating them as completed country analyses.
  • • Added a durable tobacco investment-case collection package generated from the model manifest and exposed on the Tobacco Collections and Packages pages.
  • • Added repeatable validation commands for benefit arithmetic, programme-cost lookup, demographic accounting, disease/risk-factor arithmetic, and reference-run registry coverage.
  • • Added FileBadge JSON snapshot actions for model, scenario, run, and comparison card workspaces.
  • • Added compact browser-side run-package, comparison-package, and collection-package JSON generation without embedding raw CSV output.
  • • Added standard provenance-gap report sections to generated card snapshots, browser-side packages, and durable lung cancer card artefacts.
  • • Added a Packages page for downloading generated run, comparison, and collection packages from the current completed analysis.
  • • Added an assurance Coverage page generated from existing model-assurance snapshots, including Appendix 3 model, country, scenario, signature, evidence-field, and Ethiopia headline-output summaries.
  • • Added platform onboarding, Appendix 3/lung cancer/tobacco output, and tobacco investment-case workflow documentation.
  • • Added an in-app Documentation page that renders the new platform guides.
  • • Added an inferred module-contract registry and selected-model module-contract download surface.
  • • Added a risk-factor intervention inventory comparing current scenarios with older OneHealth source intervention families.
  • • Added compact validators and module evidence for monolith-versus-modular comparisons, risk-factor intervention modules, and pre/post runtime method-fix comparisons.
  • • Added an archived Mauritius best-buys collection record with workbook hashes and package download support.
  • • Added an Appendix 3 health-run collection package generated from compact assurance coverage.
  • • Added unified API administrative country targets and a Coverage-page gap summary against the Appendix 3 snapshot.
  • • Added a repeatable module audit command that records bundled model node, link, scenario-family, and hard-coded country-default evidence.
  • • Added breastfeeding and lung cancer models to the local platform manifest, with scenario-path validation covering all seven bundled models.
  • • Added generated parameter and template catalogues for the demographic, breastfeeding, and lung cancer models so they use the same scenario-editing path as the migrated disease models.
  • • Added cost input source reporting on the Resources page, including national-data, default-fallback, and missing-source status for visit costs, workforce salary bands, and Appendix 3 programme cost assumptions.
  • • Added a model-assurance run registry with composition records, model-card JSON/PDFs, scenario-card JSON/PDFs, and run-certificate JSON/PDFs for the demographic model, asthma monolith, and asthma modular composition.
  • • Added an asthma model-assurance pilot that generates scenario cards and validation-certificate artefacts for the raw/default model and asthma CR1 scenario, including full administrative-country Rust runtime pass/fail checks, signatures, split passed/failed country tables, Ethiopia epidemiology headline metrics, a certificate PDF, and reusable LaTeX fixtures for model cards, scenario cards, and validation certificates.
  • • Added a deterministic standard certificate country fixture based on the WHO World Standard Population 2000-2025, with Rust-backed validation-certificate PDFs for the demographic model and asthma CR1 model run.
  • • Added an asthma modular-structure parity pilot under model assurance, with distinct component contracts and a Rust-backed original-versus-composed validation certificate.

Changed

  • • Reduced the main client-facing workflow to Models, Scenarios, Resources, Results, and Benefits, keeping internal tobacco collection, package, coverage, and documentation artefacts out of the normal navigation.
  • • Changed modular NCD model loading so the client consumes repo-owned modular composition artefacts from the model repositories through a generated cache and validation registry.
v0.7.2May 13, 2026

Added

  • • Added absolute resource-facing population signals for clinical interventions so resource outputs can represent total covered service volume while health effects continue to use coverage change.
  • • Added a validation command for checking that clinical resource package sources consume absolute coverage rather than calculated or delta coverage.
  • • Added disease-specific Results label crosswalks for asthma, COPD, diabetes, and CVD so charts can show client-friendly labels while preserving raw model labels.
  • • Added an economic-impact results section with an indicative cost-per-additional-healthy-year metric when cost and health outputs are available.
  • • Added persistent WHO and animated Forecast Health branding to a compact single-row application header.
  • • Restored broad Appendix 3 scenario coverage in the local manifest for asthma, COPD, diabetes, and CVD.
  • • Added scenario sync and validation commands so manifest-backed scenarios can be regenerated from local model build configs and checked against bundled model JSON.
  • • Added a draft NCD Appendix 3 handoff brief covering scenario scope, validation status, exclusions, and the CVD clinical-intervention caveat.
  • • Added generated clinical resource sidecars from Khalifa's workbooks for COPD, diabetes, CVD acute care, and asthma CR3.
  • • Added a clinical resource sidecar smoke test, machine-readable smoke report, and handoff slide deck for the Robert / Alarcos / Filip Appendix 3 handoff.
  • • Added an internal NCD dashboard that renders local WASM run outputs directly inside the client.
  • • Added a Resources page for editing sidecar service-graph inputs that convert projection outputs into visits, workforce, supplies, and costs.
  • • Added a repo-local React Doctor diagnostic script for repeatable React health scans.
  • • Added a COPD parameter catalogue and template catalogue so the client can build COPD scenarios from a full editable parameter surface.
  • • Added baseline-versus-comparison difference chips to the scenario parameter table.
  • • Added Asthma and Diabetes parameter catalogues and template catalogues so their scenarios use the same full editable parameter-surface pattern as COPD.
  • • Added a changed-only scenario filter to make large parameter categories easier to inspect.
  • • Added a CVD parameter catalogue and template catalogue so cardiovascular scenarios use the same registry-backed editing pattern as the other migrated disease models.
  • • Added a state-only CVD migration caveat log for non-blocking issues to revisit during validation and handoff reporting.
  • • Added a simpler scenario template application workflow that exposes the editable parameter registry by default.

Changed

  • • Split the asthma CR3 resource sidecar into separate intervention-level packages for SABA, low-dose beclometasone plus SABA, and high-dose beclometasone plus SABA.
  • • Split COPD CR2/CR4 and diabetes D3 resource sidecars into intervention-level packages, corrected the CVD CV3c/CV3d resource mappings, and aligned diabetes D5 with the nephropathy-screening population stream exposed by the model.
  • • Results chart legends now use model-specific short labels with raw labels preserved in hover text.
  • • Reworked home, model, resource, and results copy to use clearer client-facing language.
  • • Replaced the model information cards with a compact directory-tree style list.
  • • Replaced comparative big-number result cards for costs and healthy years lived with compact area charts and hover values.
  • • Moved the population-reached chart into the Results overview and reordered Results sections so Resources appears before Costs.
  • • Replaced the shared page graphics and bee loading animation with a plain application background and standard analysis progress bar.
  • • Removed the fixed country-count wording from the welcome copy.
  • • Restored manifest-backed model information links for clinical interventions, prevention interventions, and risk factors.
  • • Replaced the Models page's transient yellow loading banner with an inline configuration-panel loading cue.
  • • Adjusted the home-page section markers so Models uses red and Documentation no longer reuses the Resources purple.
  • • Moved the version link out of the header and into the home-page byline.
  • • Smoothed the scenario template summary panel so applying a template no longer swaps in a noisy loading block or changes panel height.
  • • Replaced summary-only local analytics with query-driven chart aggregation for in-app results visualisation.
  • • Results navigation now filters sections to charts that actually exist in the local output for the selected model.
  • • Refreshed the bundled botech WASM runtime assets from the local Rust build.
  • • Corrected COPD CR2 and CR4 Appendix 3 mappings so CR2 scales oral prednisolone only and CR4 scales salbutamol plus ipratropium.
  • • Updated template generation so scenario differences are compared against the completed baseline parameter surface.
  • • Defaulted baseline and comparison scenario workspaces to the model baseline when a model is selected.
  • • Removed template application from the baseline side and kept the existing comparison view visible while a new template loads.

Fixed

  • • Fixed the clinical resource bridge so stable baseline and target coverage can still produce non-zero resource use, matching Spec5 / OneHealth people-reached semantics.
  • • Fixed the asthma CR3 short-acting beta agonist resource signal to use its own population-in-need and absolute coverage inputs.
  • • Removed visit-cost resource inputs and visit-to-cost resource links from resource runs to avoid double-counting with bottom-up workforce, medicine, test, and supply costs.
  • • Rounded displayed resource assumption values to two decimal places and added baseline-versus-default diff styling.
  • • Moved native select chevrons inward so dropdown arrows are no longer clipped.
  • • Removed clipped chart x-axis labels from Results charts.
  • • Normalized duplicate node type aliases before local WASM runs so resource sidecar graphs parse with the current Rust runtime.
  • • Fixed clinical resource sidecar visit-cost conversion so generated graphs use workbook visit counts from the Days column instead of the Average cost column.
  • • Fixed React health findings around route metadata, editable table cell stability, chart table keys, chart formatter allocation, and form labelling.
  • • Removed the empty fallback scenario category from the parameter filter when no visible parameters use it.
  • • Resolved old manifest scenario IDs against the current template catalogue so tobacco scenarios load the editable parameter registry consistently.
  • • Changed the scenario changed-values filter so it moves to categories with actual differences, preventing tobacco templates from appearing empty when another category was active.
v0.7.1August 13, 2025

Changed

  • • Removed equilibrium method from models.
v0.7.0August 12, 2025

Added

  • • Scenarios and scenario descriptions for Asthma, COPD, Diabetes and CVD models

Changed

  • • Structural changes to models to better replicate Spectrum 6.31
v0.3.0July 11, 2025

Added

  • • Enhanced UI components with Flat design system
  • • Model selection interface with improved user experience
  • • Scenario configuration workflows
  • • Results display and dashboard integration
  • • Package management functionality

Changed

  • • Updated to Next.js 15.2.4 with App Router
  • • Upgraded to React 19 with TypeScript
  • • Migrated to Tailwind CSS v4
  • • Improved state management with Zustand
  • • Enhanced API integration with better error handling

Fixed

  • • Various UI improvements and bug fixes
  • • Better responsive design across devices
  • • Improved navigation and user flow
v0.2.0July 9, 2025

Added

  • • Initial economic analysis functionality
  • • Country-specific parameter configuration
  • • Job polling mechanism for long-running operations
  • • Basic results visualization

Changed

  • • Improved API service layer architecture
  • • Enhanced data flow patterns
  • • Better TypeScript coverage
v0.1.0July 9, 2025

Added

  • • Initial project setup with Next.js
  • • Basic navigation and routing
  • • Core component structure
  • • API service foundation
  • • State management setup

Roadmap

v1.0.0 - Q3 2025

  • • Asthma Version 1.0.0 (Clinical Interventions and Risk Factors)
  • • COPD Version 1.0.0 (Clinical Interventions and Risk Factors)
  • • Diabetes Version 1.0.0 (Clinical Interventions and Risk Factors)
  • • CVD Version 1.0.0 (Clinical Interventions and Risk Factors)