Teeth, finally done right. The dental module graduated from a bundled PRO feature to a first-class speciality. Full odontogram, AI-generated treatment proposals, phased treatment plans with patient acceptance, full-mouth periodontal charting (192 data points per exam), lab case pipeline, advance ledger, and referral letter generation.
Core Dental Suite — GA
🦷
Odontogram.js — FDI Interactive Charting
Full 32-tooth FDI notation chart. Click any tooth to record condition, surfaces, mobility grade, and furcation class. Data upserted to dental_charts. Dual view: Current Status + Treatment Plan side by side.
📋
TreatmentPlanBuilder — Phased Plans
Multi-phase course of treatment. Import from AI proposal or build manually. Each phase has procedures, costs, target dates, and appointment links. Saves atomically to dental_treatment_plans, dental_plan_phases, dental_treatments.
🤖
AI Treatment Proposals
GPT-4o-mini generates phased treatment plan from chart snapshot. Stored in dental_ai_proposals with status tracking (proposed → accepted). Cost estimates and affected tooth count included.
✍️
PlanAcceptanceModal
In-clinic acceptance with HTML5 canvas signature capture. Digital acceptance via WhatsApp — patient confirms remotely. Full audit trail in dental_plan_acceptance_log with signature_data stored as base64.
Advanced Clinical Tools
🔬
PerioChartingUI — 192 Site Examination
All 32 teeth × 6 sites (MB, B, DB on buccal; ML, L, DL on lingual). Pocket depth colour-coded: ≤3mm green, 4–5mm amber, ≥6mm red. BOP + suppuration toggles per site. AAP/EFP 2017 classification. Live stats: BOP%, mean PD, sites ≥4mm, sites ≥6mm.
192 Data Points
BOP per site
AAP/EFP 2017
📈
PerioHistoryPanel — Trend Analysis
Timeline of all perio sessions. SVG sparklines for BOP%, mean PD, sites ≥6 across exams. Side-by-side comparison with delta arrows (↑ red / ↓ green). Classification progression labelled timeline.
🏭
DentalLabTracker — 4-Stage Pipeline
Sent → In Lab → Received → Fitted. Overdue detection when expected_date passed. Status advancement with audit trail in dental_lab_case_updates. WhatsApp reminder to lab. Appointment linking for try-in.
💰
PatientAdvanceModal — Advance Ledger
3 modes: collect (credit), deduct (debit on procedure completion), view (read-only). DAR-YYYYMM-XXXX receipt numbers. Balance = sum(credits + refunds) − sum(debits). WhatsApp receipt sent on collection.
New Tables in v6.0
5
Plan acceptance statuses