// ============================================================ // WELL VISIT — sub-tab shell. Mirrors public/components/wellvisit.html: // • By Visit Age — AAP Bright Futures recs per visit // • Milestones — developmental checklist → AI narrative // • SSHADESS — psychosocial screening (12+ only) // • Visit Note — final preventive-care note generator // // SSHADESS pill is hidden for under-12 visits to match vanilla. // Each panel lazy-loads so the initial WellVisit bundle stays small. // ============================================================ import { Suspense, lazy, useState } from 'react'; const ByVisitAge = lazy(() => import('./wellvisit/ByVisitAge')); const Milestones = lazy(() => import('./wellvisit/Milestones')); const Shadess = lazy(() => import('./wellvisit/Shadess')); const VisitNote = lazy(() => import('./wellvisit/VisitNote')); type SubTab = 'byvisit' | 'milestones' | 'shadess' | 'note'; const TABS: { id: SubTab; icon: string; label: string }[] = [ { id: 'byvisit', icon: '👶', label: 'By Visit Age' }, { id: 'milestones', icon: '🍼', label: 'Milestones' }, { id: 'shadess', icon: '🧠', label: 'SSHADESS (12+)' }, { id: 'note', icon: '📄', label: 'Visit Note' }, ]; const STORAGE_KEY = 'ped_wellvisit_subtab'; function loadSubTab(): SubTab { try { const v = localStorage.getItem(STORAGE_KEY); if (v === 'byvisit' || v === 'milestones' || v === 'shadess' || v === 'note') return v; } catch { /* ignore */ } return 'byvisit'; } export default function WellVisit() { const [active, setActive] = useState(loadSubTab); function pick(tab: SubTab) { setActive(tab); try { localStorage.setItem(STORAGE_KEY, tab); } catch { /* ignore */ } } return (

Well Visit / Preventive Care

AAP 2025 Bright Futures periodicity — vaccines, screenings, billing codes, milestones, SSHADESS, and the encounter note.

{TABS.map((t) => ( ))}
Loading…
}> {active === 'byvisit' && } {active === 'milestones' && } {active === 'shadess' && } {active === 'note' && } ); }