// ============================================================ // WELL VISIT — /api/well-visit/note (minimum-viable single-pane // port; the vanilla tab has 4 sub-panes for byvisit / milestones / // SSHADESS / note — each becomes its own sub-route or tab in a // follow-up commit). // ============================================================ import { useState } from 'react'; import { useMutation } from '@tanstack/react-query'; import { api, ApiError } from '@/lib/api'; import type { VisitNoteOk } from '@/shared/types'; export default function WellVisit() { const [patientAge, setPatientAge] = useState(''); const [patientGender, setPatientGender] = useState(''); const [visitAge, setVisitAge] = useState(''); const [vitals, setVitals] = useState(''); const [measurements, setMeasurements] = useState(''); const [parentConcerns, setParentConcerns] = useState(''); const [transcript, setTranscript] = useState(''); const [screenings, setScreenings] = useState(''); const [vaccines, setVaccines] = useState(''); const [noteStyle, setNoteStyle] = useState<'full' | 'short'>('full'); const [result, setResult] = useState(null); const generate = useMutation({ mutationFn: (body) => api.post('/api/well-visit/note', body), onSuccess: (data) => setResult(data.note), }); function submit(e: React.FormEvent) { e.preventDefault(); setResult(null); generate.mutate({ patientAge, patientGender, visitAge, vitals, measurements, parentConcerns, transcript, screenings, vaccines, noteStyle, }); } const input = 'w-full rounded-md border border-input bg-background px-3 py-2 text-sm'; return (

Well Visit

Preventive-care note generation. Milestones and SSHADESS sub-tabs land in a follow-up; this first port covers the Visit Note pane.