Commit Graph

93 Commits

Author SHA1 Message Date
Andrew Charlwood b9f4041670 docs: update progress.txt with iteration 8 completion (Task 3.2) 2026-02-05 14:45:57 +00:00
Andrew Charlwood 50b8548688 docs: update progress.txt with iteration 7 completion (Task 3.1) 2026-02-05 14:39:35 +00:00
Andrew Charlwood 0d15000aa0 docs: update progress.txt with iteration 6 completion (Task 2.3) 2026-02-05 14:33:16 +00:00
Andrew Charlwood aabe4bf45d docs: update progress.txt with iteration 5 completion (Task 2.2) 2026-02-05 14:25:44 +00:00
Andrew Charlwood 3db93a685b docs: update progress.txt with iteration 4 completion (Task 2.1) 2026-02-05 14:20:04 +00:00
Andrew Charlwood 6d68b5eaa5 feat: add SNOMED mapping loader script (Task 1.2)
- Create data_processing/load_snomed_mapping.py with:
  - migrate_drug_snomed_mapping() for CSV to SQLite migration
  - get_drug_snomed_mapping_counts() for statistics
  - verify_drug_snomed_mapping_migration() for validation
  - clean_snomed_code() to remove trailing .0 from SNOMED codes
  - CLI interface: python -m data_processing.load_snomed_mapping

- Loaded 144,056 mappings from enriched CSV:
  - 707 unique drugs
  - 187 unique search terms
  - 21,265 unique SNOMED codes
2026-02-05 14:10:36 +00:00
Andrew Charlwood 9943e85761 feat: add ref_drug_snomed_mapping schema (Task 1.1)
- Add REF_DRUG_SNOMED_MAPPING_SCHEMA with 11 columns for direct SNOMED mapping
- Add 5 indexes for lookup performance (drug, cleaned_drug, snomed, search_term, composite)
- Add create_drug_snomed_mapping_table() helper function
- Update helper functions (drop, get_counts, verify_exists) to include new table
- Table is included in REFERENCE_TABLES_SCHEMA and created by migration
2026-02-05 14:06:31 +00:00
Andrew Charlwood 139a71b752 docs: update progress.txt with iteration 17 completion (Task 5.6) 2026-02-05 02:16:28 +00:00
Andrew Charlwood 731db2d85f docs: update progress.txt with iteration 16 completion (Task 5.5) 2026-02-05 02:08:41 +00:00
Andrew Charlwood fc03e44ce2 docs: update progress.txt with iteration 15 completion (Task 5.4) 2026-02-05 02:04:42 +00:00
Andrew Charlwood 390328f2b4 docs: update progress.txt with iteration 14 completion (Task 5.3) 2026-02-05 01:59:35 +00:00
Andrew Charlwood 645fe0ab6c docs: update progress.txt with iteration 13 completion (Task 5.2) 2026-02-05 01:54:13 +00:00
Andrew Charlwood c9654905be docs: update progress.txt with iteration 12 completion (Task 5.1) 2026-02-05 01:47:40 +00:00
Andrew Charlwood 27d2d603c3 docs: update progress.txt with iteration 11 completion (Task 4.3 Documentation) 2026-02-05 00:57:48 +00:00
Andrew Charlwood 49bf4cdf1b docs: update progress.txt with iteration 10 completion (Task 4.2 Performance) 2026-02-05 00:50:57 +00:00
Andrew Charlwood 58450d78fa docs: update progress.txt with iteration 9 completion (Task 4.1 E2E Validation) 2026-02-05 00:44:39 +00:00
Andrew Charlwood 7628c5fa20 docs: update progress.txt with iteration 8 completion (Task 3.3 UI Components) 2026-02-05 00:38:16 +00:00
Andrew Charlwood 8f2425a9ae docs: update progress.txt with iteration 7 completion (Task 3.2 Icicle Figure) 2026-02-05 00:31:10 +00:00
Andrew Charlwood fc3b3525c6 docs: update progress.txt with iteration 6 completion (Task 3.1 AppState) 2026-02-05 00:26:59 +00:00
Andrew Charlwood 0a13ba550e docs: update progress.txt with iteration 5 completion (Task 2.2 Pipeline Test) 2026-02-05 00:21:08 +00:00
Andrew Charlwood 8b65dfd9a8 docs: update progress.txt with iteration 4 completion (Task 2.1 CLI) 2026-02-04 23:30:50 +00:00
Andrew Charlwood 9bb4748588 docs: mark Task 1.3 complete (migration already handled by schema)
Task 1.3 (Create Migration Script) is satisfied by existing code:
- python -m data_processing.migrate creates all pathway tables
- pathway_date_filters auto-populated via INSERT OR REPLACE in schema
- Verified: fresh database creates all 3 tables with 6 date filters
2026-02-04 23:25:14 +00:00
Andrew Charlwood b48dbbc96a docs: update progress.txt with iteration 2 completion (Task 1.2 Pipeline) 2026-02-04 23:21:50 +00:00
Andrew Charlwood 5945649ae3 feat: add pathway pipeline module (Task 1.2)
Create data_processing/pathway_pipeline.py with:
- DateFilterConfig dataclass for date filter configuration
- DATE_FILTER_CONFIGS with 6 pre-defined combinations
- compute_date_ranges() for computing actual dates from config
- fetch_and_transform_data() for Snowflake fetch + transformations
- process_pathway_for_date_filter() using existing generate_icicle_chart()
- extract_denormalized_fields() to parse trust/directory/drugs from ids
- convert_to_records() for SQLite insertion
- process_all_date_filters() convenience function
2026-02-04 23:21:39 +00:00
Andrew Charlwood f2717a2219 docs: update progress.txt with iteration 1 completion (Task 1.1 Schema) 2026-02-04 23:17:52 +00:00
Andrew Charlwood 85b3c20341 docs: update progress.txt with iteration 17 completion (Task 5.2 Debounce) 2026-02-04 19:26:26 +00:00
Andrew Charlwood f863e79299 docs: update progress.txt with iteration 16 completion (Task 5.3 Error Handling) 2026-02-04 19:21:31 +00:00
Andrew Charlwood 8c04e65ced docs: update progress.txt with correct commit hash 2026-02-04 19:16:58 +00:00
Andrew Charlwood 0dd99e6a42 docs: complete visual polish audit against DESIGN_SYSTEM.md (Task 5.1)
- Verified all design tokens match spec exactly
- Confirmed responsive behavior via flex_wrap patterns
- Audited hover states and transitions
- Validated chart colorscale uses design system palette
2026-02-04 19:16:47 +00:00
Andrew Charlwood b5afb5deb2 docs: update progress.txt with iteration 14 verification results 2026-02-04 19:09:02 +00:00
Andrew Charlwood fbf046eb8a docs: update progress.txt with iteration 13 completion 2026-02-04 18:59:38 +00:00
Andrew Charlwood 5267a9f4ef docs: update progress.txt with iteration 12 completion 2026-02-04 18:49:44 +00:00
Andrew Charlwood a749514889 docs: update progress.txt with iteration 11 completion 2026-02-04 18:45:59 +00:00
Andrew Charlwood f38ccfc128 feat: implement data loading from SQLite (Task 3.2)
- Add load_data() method to AppState that connects to SQLite database
- Populate available_drugs, available_directorates, available_indications from DB
- Detect latest date in dataset and set filter defaults accordingly
- Load KPI values: total_records, unique_patients, total_drugs, total_cost
- Add on_load handler to trigger data loading on page initialization
- Handle database errors gracefully with meaningful error messages
2026-02-04 14:11:03 +00:00
Andrew Charlwood a18de83c8d docs: update progress.txt with iteration 7 completion 2026-02-04 14:04:00 +00:00
Andrew Charlwood 80997cb0de docs: update progress.txt with iteration 6 completion 2026-02-04 13:59:20 +00:00
Andrew Charlwood 17478c96ae feat: implement chart container with state-based rendering (Task 2.4)
- Add chart_loading_skeleton() with animated bar chart and spinner
- Add chart_error_state() for displaying errors with guidance
- Add chart_empty_state() for when filters yield no results
- Add chart_ready_placeholder() for Phase 4 Plotly integration
- Rewrite chart_section() with 4-state rx.cond() logic
- Fix icon names (triangle-alert) and color references (SLATE_500)

This completes Phase 2 Layout Components.
2026-02-04 13:59:01 +00:00
Andrew Charlwood 984374a3a8 docs: update progress.txt with iteration 5 completion 2026-02-04 13:53:39 +00:00
Andrew Charlwood 23335387b8 docs: update progress.txt with iteration 4 completion 2026-02-04 13:47:37 +00:00
Andrew Charlwood 00d0f2cc9d docs: update progress.txt with iteration 3 completion 2026-02-04 13:41:23 +00:00
Andrew Charlwood 072ce852af feat: complete app skeleton (Task 1.2)
- Add app_v2.py with basic Reflex app structure
- AppState class with placeholder state variables
- Layout components: top_bar, filter_section, kpi_row, chart_section
- Page layout matching DESIGN_SYSTEM.md structure
- Theme configured with design system colors
- Google Fonts for Inter and JetBrains Mono
2026-02-04 13:35:45 +00:00
Andrew Charlwood 4eeba9abc2 docs: update progress.txt with iteration 1 completion 2026-02-04 13:11:11 +00:00
Andrew Charlwood fdd33a67af Initial commit before Ralph loop 2026-02-04 13:04:29 +00:00