- Backend insurance ID check now accepts letters + digits (BCBS IDs have
a letter prefix), matching the frontend schema; create route validates
the normalized body
- Patient.state column (default "MA") with State select on the patient
form; ADA claim form uses the patient's state instead of the office's
- Rebuild stale packages/db compiled .js so the runtime schemas include
new fields (state, office billing NPI fields, Telnyx settings)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Make appointmentId nullable/optional in Prisma Zod schema via @zod rich
comment so claims can be submitted without an existing appointment
- Convert undefined appointmentId to null in all claim form handlers and
the backend claim creation endpoint
- Add AI classifier rule for expanding one procedure across multiple
comma-separated tooth numbers (e.g. "post/core on #23, 24, 25, 26")
- Add "post/core" (slash) alias to CDT lookup maps
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>