❯ cat /work/viridental.case
Viridental
Clinical management system for a dental practice — odontogram, periodontics, patient records
stack: NestJS · Prisma · PostgreSQL · React · PWA
situation
A dental practice (Dra. Viridiana Ochoa) ran clinical records on paper: odontograms drawn by hand, periodontal staging looked up in printed tables, patient history in folders. The goal was a system a dentist actually uses chairside, not generic practice-management software.
evidence
- Exhibit 1
- AAP/EFP 2018
official periodontitis staging/grading and gingivitis classification tables, encoded as the domain model
- Exhibit 2
- chairside = tablet
PWA installed on the clinic tablet; offline-tolerant, touch-first interactions
diagnosis
Clinical software fails when it digitizes forms instead of clinical reasoning. The periodontal classification is a decision procedure (bone loss, tooth loss, complexity factors → stage; progression rate, risk factors → grade), so the system should compute it from findings, not ask the dentist to fill in a dropdown.
intervention
- 01
Interactive odontogram as the primary navigation surface: conditions and treatments are recorded directly on teeth.
- 02
Periodontal module that derives stage and grade from recorded clinical findings, following the official AAP/EFP 2018 tables the doctor already used on paper.
- 03
Patient timeline unifying treatments, payments and clinical notes; NestJS + Prisma + PostgreSQL backend with role-based access.
- 04
Built as a PWA so the clinic tablet runs it like a native app, with no app-store friction.
outcome · verified
- Exhibit 1
- paper → 0
clinical records fully digital for new patients
- Exhibit 2
- computed staging
periodontal classification derived from findings, not transcribed