Skip to content
a@o:~$

cat /work/viridental.case

[003]LIVECLIENT2025 — present

Viridental

Clinical management system for a dental practice — odontogram, periodontics, patient records

stack: NestJS · Prisma · PostgreSQL · React · PWA

──situation

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

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

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

intervention

  1. 01

    Interactive odontogram as the primary navigation surface: conditions and treatments are recorded directly on teeth.

  2. 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.

  3. 03

    Patient timeline unifying treatments, payments and clinical notes; NestJS + Prisma + PostgreSQL backend with role-based access.

  4. 04

    Built as a PWA so the clinic tablet runs it like a native app, with no app-store friction.

──outcome · verified

outcome · verified

Exhibit 1
paper → 0

clinical records fully digital for new patients

Exhibit 2
computed staging

periodontal classification derived from findings, not transcribed