pediatric-ai-scribe-v3/src
Daniel efd3e32574 feat: port Vaccine Schedule + Catch-Up Schedule (real tables, not stubs)
Instead of shipping placeholder pages, added a new backend endpoint
so the React client can render the real AAP/CDC tables without
duplicating the 2000-line pediatricScheduleData module in the client
bundle:

  GET /api/schedule-data  (authed)
    Returns { visitAges, periodicity, catchUpSchedule, vaccineFullNames }
    — everything the vaccine table and catch-up views need from the
    server-side pediatricScheduleData require(). VACCINE_FULL_NAMES
    (which was inlined in public/js/wellVisit.js) now lives in the
    route file so it's single-sourced.

client/src/pages/VaxSchedule.tsx
  useQuery → /api/schedule-data. Renders the full vaccine × visit-age
  grid with sticky header + sticky first column for long scrolling.
  Each filled cell shows the dose number or bullet, with the original
  note text on hover.

client/src/pages/Catchup.tsx
  Card-per-vaccine layout with min-age / min-interval tables and
  catch-up notes. Matches the vanilla layout.

Layout: vaccine + catch-up links now available in the sidebar.

Typecheck green both sides. Vite build 382 kB / 112 kB gzipped.
2026-04-23 22:25:41 +02:00
..
db refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
middleware refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00
routes feat: port Vaccine Schedule + Catch-Up Schedule (real tables, not stubs) 2026-04-23 22:25:41 +02:00
types refactor(ts): day 3 batch 1 — convert 4 small route files 2026-04-23 19:31:20 +02:00
utils refactor(ts): day 4 — middleware + utils + db .js → .ts (24 files) 2026-04-23 19:52:16 +02:00