Procedure-based clinics need dependable records: who did what to which patient, with which product batch and device, under which consent, and what has been corrected since. Paper and generic tools make that hard to prove and easy to lose.
Solution
What LATYNEX Digital built
A tenant-isolated records platform that guides each procedure through a completion checklist, ties products, batches and devices to the record, and keeps an append-only audit trail with role-scoped access.
What it demonstrates
What this shows we can build
Separation of each clinic's data enforced by the database itself (PostgreSQL row-level security), with roles and an audit log.
A complete records workflow: versioned procedure templates, product batches and devices, consents, clinical PDF export, staff invitations and a mobile app.
How the same capability could serve another business
The same pattern of separate customer workspaces, role-based access and an audit trail could fit any B2B SaaS or customer portal where each client must see only their own data.
Today view for blocked procedures, failed exports, expiring batches and maintenance
Patient list and record with warnings, treatment courses and before and after photos
Visits and procedures from versioned templates with a completion checklist and revision history
Product and batch catalogue with expiry warnings
Devices with parameter schemas and maintenance state
Consents, treatment courses and clinical PDF export
Staff, roles and branches, with invitations and access control
Clinic settings, branding, CSV patient import and export
Audit log viewer with actor, event and date filters
English and Russian interface and an Expo mobile app
Capabilities in the code
Tenant isolation through PostgreSQL row-level security
Roles: owner, administrator, practitioner, with doctor scoping for patient access
Owner-only patient erasure that preserves the audit log
Single-use hashed tokens for invitations and password resets
Login attempt limiting and database-backed revocable sessions
Tenant migration and export tooling
Product showcase
The product, screen by screen
Today: what needs attention across the clinicPatient record and chartStaff roles and audit logClinic settings and mobile
Screens come from a demo environment with synthetic data. Interface text was translated to English for presentation, so these are localised composites, not untouched screenshots. All patients, staff and clinics shown are fictional.
How it works
From input to outcome
01
Start from what needs attention
The Today view surfaces procedures blocked from completion, failed document exports, batches nearing expiry and devices in maintenance.
02
Document the procedure
A procedure follows a clinic-defined, versioned template with a completion checklist and a state machine; corrections keep a revision history.
03
Tie the record together
Products, batches and devices, consents and treatment courses attach to the patient record; clinical PDFs can be exported.
04
Keep each clinic separate
Every clinic is an isolated tenant enforced by PostgreSQL row-level security, and an audit log records actor, event and date.
Technical approach
How it is engineered
An npm-workspaces monorepo with Next.js 15 and React 19 web applications, TypeScript, Drizzle ORM on PostgreSQL 16 with forced row-level security, Zod validation, headless-browser PDF generation and an Expo React Native client. Forty-seven SQL migrations evolve the schema, and extensive unit and end-to-end suites accompany the code.
Next.js 15
React 19
TypeScript
Drizzle ORM
PostgreSQL 16 (row-level security)
Zod
Expo / React Native
Playwright
Vitest
Status and limits
What this page does and does not claim
A demonstration platform shown on synthetic tenants only; it is not publicly launched and has no public URL.
No compliance or certification claim is made, and no live clinical use or customers are claimed.
It has no appointment scheduler and no clinic reports module.
A multi-module operations platform that gives one owner a single focus queue, decisions, tasks, portfolio and lead inbox across several business directions.
Focus queue, decisions and unified tasks
Portfolio and lead inbox across modules
Operation registry for people and AI-agent actors
In-house product — not external client workView case study →