Commit Graph

246 Commits

Author SHA1 Message Date
Andrew Charlwood c18027ffa2 Remove legacy/ralph/temp files from tracking 2026-02-10 15:25:53 +00:00
Andrew Charlwood 7e63e6ea45 feat: add desktop packaging (pywebview + PyInstaller)
- resource_path.py: frozen/dev path resolution for bundled data files
- app_desktop.py: pywebview entry point (Dash in daemon thread)
- app.spec: PyInstaller onedir config with data files and hidden imports
- Updated queries.py, card_browser.py, app.py to use get_resource_path()
- Added pywebview + pyinstaller to project dependencies
- Fixed unresolved merge conflict in .gitignore
- Removed stale 01_nhs_classic.html and AdditionalAnalytics.md
2026-02-09 14:53:22 +00:00
admin ee56595292 Update gitignore 2026-02-08 22:45:16 +00:00
Andrew Charlwood b98ab1a5c6 test 2026-02-08 22:41:46 +00:00
Andrew Charlwood 1400fe7217 updated 2026-02-08 22:33:31 +00:00
Andrew Charlwood 41b4b97446 Additional bits 2026-02-08 21:00:49 +00:00
Andrew Charlwood 4f9145c461 docs: update progress.txt with iteration 21 (Task E.5 complete) 2026-02-07 22:35:20 +00:00
Andrew Charlwood 901bf39dda fix: responsive chart heights + rename cost metric labels (Task E.5) 2026-02-07 22:34:57 +00:00
Andrew Charlwood bce8e58bc9 docs: update progress.txt with iteration 20 (Task E.4 complete) 2026-02-07 22:27:35 +00:00
Andrew Charlwood 28f858ec0f feat: Trends drill-down — click directorate to see drug-level trends (Task E.4) 2026-02-07 22:26:40 +00:00
Andrew Charlwood bee6d20b93 docs: update progress.txt with iteration 19 (Task E.3 complete) 2026-02-07 22:21:35 +00:00
Andrew Charlwood c253e05046 feat: Trends landing page with directorate overview chart (Task E.3) 2026-02-07 22:19:52 +00:00
Andrew Charlwood 6c5f9be776 docs: update progress.txt with iteration 18 (Task E.2 complete) 2026-02-07 22:13:27 +00:00
Andrew Charlwood 190aefdf56 feat: add Trends sidebar nav item + 3-view switching (Task E.2) 2026-02-07 22:12:13 +00:00
Andrew Charlwood 956ad8ca7b docs: update progress.txt with iteration 17 (Task E.1 complete) 2026-02-07 22:07:14 +00:00
Andrew Charlwood d052d2b16d refactor: remove Trends tab from Patient Pathways (Task E.1)
Remove trends tab, metric toggle, render helper, and callback I/O
from Patient Pathways view. Trends will be re-added as a standalone
3rd view in E.2-E.4. Preserved get_trend_data() and create_trend_figure()
for reuse.
2026-02-07 22:07:01 +00:00
Andrew Charlwood 03ebaa057d docs: update progress.txt with iteration 16 (Task D.1 complete) 2026-02-07 18:25:55 +00:00
Andrew Charlwood d0404aa18a feat: temporal trends CLI script + Dash tab (Task D.1)
D.1a: cli/compute_trends.py — standalone CLI that imports existing pipeline
functions to replay pathway computation for ~10 historical 6-month endpoints.
Creates pathway_trends table via CREATE TABLE IF NOT EXISTS.

D.1b: Trends tab (10th PP tab) with metric toggle (patients/cost/cost_pp_pa).
Query gracefully returns empty when table doesn't exist, figure shows
instruction message to run compute_trends.
2026-02-07 18:24:34 +00:00
Andrew Charlwood d892c9fba8 docs: mark D.1 and D.4 as blocked, update completion criteria
D.1 (Temporal trends): requires modifying guardrail-protected files
(schema.py, reference_data.py, refresh_pathways.py) + needs >=2
refresh cycles for meaningful data.

D.4 (NICE TA compliance): ta-recommendations.xlsx source file does
not exist + requires guardrail-protected schema changes.

All achievable tasks (14/16) complete. Updated completion criteria.
2026-02-07 03:51:38 +00:00
Andrew Charlwood 060fc6e51d docs: update progress.txt with iteration 14 (Task D.2 complete) 2026-02-07 03:48:40 +00:00
Andrew Charlwood c7e9398d65 feat: average administered doses chart tab (Task D.2) 2026-02-07 03:47:53 +00:00
Andrew Charlwood ebf3218431 docs: update progress.txt with iteration 13 (Task D.3 complete) 2026-02-07 03:41:22 +00:00
Andrew Charlwood 0a14f1fce3 feat: drug timeline Gantt chart tab (Task D.3) 2026-02-07 03:40:29 +00:00
Andrew Charlwood 3b1de4933f docs: update progress.txt with iteration 12 (Task C.4 complete) 2026-02-07 03:33:30 +00:00
Andrew Charlwood 1405476818 feat: drug switching network graph tab (Task C.4) 2026-02-07 03:32:14 +00:00
Andrew Charlwood ac688c9ac0 docs: update progress.txt with iteration 11 (Task C.3 complete) 2026-02-07 03:26:50 +00:00
Andrew Charlwood d8df41619d feat: duration vs cost scatter plot tab (Task C.3) 2026-02-07 03:25:39 +00:00
Andrew Charlwood d4a2dea497 docs: update progress.txt with iteration 10 (Task C.2 complete) 2026-02-07 03:19:48 +00:00
Andrew Charlwood 55c9af2de7 feat: pathway depth distribution chart tab (Task C.2)
Horizontal bar chart showing patients who stopped at each treatment
line depth (exclusive counts, not cumulative like the funnel).
2026-02-07 03:18:28 +00:00
Andrew Charlwood 41712039a6 docs: update progress.txt with iteration 9 (Task C.1 complete) 2026-02-07 03:13:31 +00:00
Andrew Charlwood a6cf6efa18 feat: retention funnel chart tab with treatment line depth (Task C.1) 2026-02-07 03:12:30 +00:00
Andrew Charlwood 37bac5d841 docs: update progress.txt with iteration 8 (Task B.4 complete) 2026-02-07 03:06:44 +00:00
Andrew Charlwood 8e2e2b7125 feat: heatmap metric toggle for both PP and TC views (Task B.4)
- Add Heatmap tab to Patient Pathways TAB_DEFINITIONS (was only in ALL_TAB_DEFINITIONS)
- Add dmc.SegmentedControl (Patients/Cost/Cost p.a.) to PP chart card header, hidden by default
- update_chart callback controls toggle visibility via heatmap-metric-wrapper style output
- _render_heatmap() now accepts metric param from toggle
- Add dmc.SegmentedControl to TC heatmap chart cell inline
- tc_heatmap callback reads tc-heatmap-metric-toggle value and passes metric to figure fn
2026-02-07 03:05:41 +00:00
Andrew Charlwood 51d435d9a2 docs: update progress.txt with iteration 7 (Task B.3 complete) 2026-02-07 03:00:40 +00:00
Andrew Charlwood fb30f5f49a fix: Sankey freeform arrangement + increased padding (Task B.3) 2026-02-07 02:59:59 +00:00
Andrew Charlwood a22b2e7811 docs: update progress.txt with iteration 6 (Task B.2 complete) 2026-02-07 02:57:59 +00:00
Andrew Charlwood cbac37ea6b fix: smooth green→amber→red gradient for cost effectiveness chart (Task B.2) 2026-02-07 02:57:16 +00:00
Andrew Charlwood 8035762005 docs: update progress.txt with iteration 5 (Task B.1 complete) 2026-02-07 02:54:41 +00:00
Andrew Charlwood 8d05adc358 fix: consistent titles via _base_layout() for Sankey, Cost Effectiveness, Duration (Task B.1) 2026-02-07 02:53:59 +00:00
Andrew Charlwood fe7153375e docs: update progress.txt with iteration 4 (Task A.4 complete, Phase A done) 2026-02-07 02:49:42 +00:00
Andrew Charlwood 950d93b16b fix: trust palette for cost waterfall + Viridis dosing gradient (Task A.4) 2026-02-07 02:49:01 +00:00
Andrew Charlwood 060cea2a03 docs: update progress.txt with iteration 3 (Task A.3 complete) 2026-02-07 02:44:20 +00:00
Andrew Charlwood 90de24c72d fix: adaptive legends + _base_layout for 4 chart functions (Task A.3)
- Add _smart_legend(n_items) and _smart_legend_margin(n_items) helpers
  - >15 items: vertical right legend with extra right margin
  - <=15 items: horizontal legend with dynamic bottom margin
- Apply _base_layout() + _smart_legend() to:
  - create_market_share_figure() — DRUG_PALETTE, adaptive legend
  - create_trust_market_share_figure() — DRUG_PALETTE, adaptive legend
  - create_dosing_figure() — DRUG_PALETTE, legend adapts to trace count
  - create_trust_duration_figure() — TRUST_PALETTE, fixed l=200 margin
- Replace all local nhs_colours lists with module-level palettes
- Net reduction of 48 lines via DRY layout code
2026-02-07 02:43:35 +00:00
Andrew Charlwood ffa29bd10c docs: update progress.txt with iteration 2 (Task A.2 complete) 2026-02-07 02:36:40 +00:00
Andrew Charlwood 56ca11ea30 fix: heatmap linear colorscale, cell annotations, autosize (Task A.2)
- Replace non-linear 7-stop colorscale with linear 5-stop in both
  create_heatmap_figure() and create_trust_heatmap_figure()
- Add cell text annotations formatted per metric (patients: N, cost: £Nk, cost_pp_pa: £N)
- Set zmin=0 explicitly for correct color mapping
- Remove fixed width, use autosize=True via _base_layout()
- Replace l=200 fixed margin with l=8 + yaxis automargin=True
- Add subtitle annotation when 25-drug cap is reached
- Reduce xgap/ygap from 2 to 1 when >15 drug columns
- Apply _base_layout() to both heatmap functions for consistent styling
2026-02-07 02:36:02 +00:00
Andrew Charlwood 8b980a755f feat: add shared styling constants and _base_layout() helper (Task A.1)
Add module-level constants (CHART_FONT_FAMILY, CHART_TITLE_SIZE,
CHART_TITLE_COLOR, GRID_COLOR, ANNOTATION_COLOR, TRUST_PALETTE,
DRUG_PALETTE) and _base_layout() helper to DRY shared layout
properties across all chart functions. Apply to create_icicle_from_nodes
as proof-of-concept.
2026-02-07 02:31:16 +00:00
Andrew Charlwood 8f1bb488df chore: reset Ralph loop for visualization improvements phase
- IMPLEMENTATION_PLAN.md: new plan with Phases A-D (bug fixes, polish, new analytics, backend analytics)
- RALPH_PROMPT.md: updated focus to chart improvements
- progress.txt: reset with preserved architecture patterns
- guardrails.md: trimmed to relevant rules, added chart-specific guardrails
- ralph.ps1: updated banner text
2026-02-07 02:17:48 +00:00
Andrew Charlwood a943bee8f2 chore: cleanup archive, update ralph loop files, add analytics spec
- Remove old iteration logs and deprecated files from archive/can_delete/
- Update RALPH_PROMPT.md and guardrails.md for Phase 10+ work
- Update ralph.ps1 banner text
- Add AdditionalAnalytics.md chart specification
- Add run.bat convenience script
2026-02-07 02:10:03 +00:00
Andrew Charlwood 9171563651 docs: update progress.txt with iteration 47 (Task 11.4 complete — ALL TASKS DONE) 2026-02-07 00:39:35 +00:00
Andrew Charlwood caf7ada287 style: improve filter modal aesthetics for large screens (Task 11.4)
- Drug modal: size 70%, sm chips in 4-col SimpleGrid layout
- Trust modal: size lg, md chips in vertical Stack layout
- Directorate modal: size 70%, larger badges and text
- CSS: modal title full-width, chip nowrap, scroll padding
2026-02-07 00:37:47 +00:00