VeriPath Dental is the dental practice management app of the VeriPath platform. It is a separate application from the GP Booking App (dental_booking_app vs gp_booking_app) but shares the same platform: single sign-on via Keycloak, the sovereign SIAAS hosting model, and the platform's AI agent layer.
/root/work/dental_booking_app/ — one runtime, on VPS2, deployed from git (feature/dental-nhs-accounting); VPS1 keeps the development clone only. Django module dental, settings dsp_clinic.settings, database veripath_dental/root/work/veripath-ops (private Forgejo repo)Living page — this overview is updated as features are added or modified. Last reviewed: 2026-09-11.
¶ ✅ CURRENT STATUS — 2026-09-11 (read this first)
The app is in a settled state after the September 2026 work, and the hosting estate was
re-arranged the same day: VPS Re-Arrangement 3 is the
authority for host placement, and GP Booking App — Overview
covers the shared platform.
- One runtime, built from git. Dental runs only on the application engine (VPS2),
port8010, deployed fromfeature/dental-nhs-accountingrather than hand-copied. The
duplicate VPS1 runtime is retired (stopped, not deleted) and the old:8011
AI-radiography demo override is gone. Migrations stand at 0031 (0019–0031 are the
post-redesign set).- The NHS/FP17 accounting model is the live model. Course of treatment is the billing
unit (open → complete each visit → close), the banding engine derives the FP17 code from
the charted treatment, closing raises the claim plus a patient-charge invoice that posts
to an NHS clearing account in ERPNext, and month-end reconciliation runs against the
schedule. The old two-invoice split and co-payment billing are retired.- UDA completion round shipped — sub-band codes (1/2A/2B/2C/3/U), a code-keyed UDA map
whose decimals survive pay and statement matching, exemption capture (FP17PR), the
two-month NHSBSA submission rule, associate pay with a superannuation leg, and a contract
performance monitor (year-to-date against the 96% expectation, with a labelled clawback
estimate).- Security remediation touched this repo — the shared NHS signing key was rotated (it
now lives untracked atconfig/secrets/nhs/), the ORTHANC webhook token was rotated and
verified end to end through to ingestion, the Keycloakdental-booking-appclient secret
was rotated, hardcoded credentials were swept out with gitleaks, the git history was
purged, and the repository is now private (it had been publicly readable).- Parked (Matthew's instruction, 2026-09-11): the UDA demo re-run and the
one-page-at-a-time doc pass over the FP17 course-card / billed-appointment copy. Do not
start these unprompted.Open items:
- Lab work & case tracking is not implemented — holding note only (the
lab_documents
module ingests pathology results, not dental lab orders).- Demo-tenant rows awaiting a decision on cleanup: claim #234/#235, appointment #20,
transaction #576 and invoice #20 (all synthetic).- Migration-history cleanup in the shared project — orphaned recorder entries mean a
fresh test database still cannot be built.- The pre-redesign specs are kept for history and no longer describe the live model:
FP17 & Billing Redesign,
FP17 NHS Accounting Model.
Organised by the same five sections used in the user manuals. Each workflow links to its full guide.
Guides: appointment-booking, check-in-and-arrival, digital-patient-intake, medical-history-verification, nice-recall-settings, emergency-slot-management, automated-reminders, recording-symptoms-and-triage
Guides: fdi-coordinate-charting, graphic-charting-logs, periodontal-charting, plaque-and-bleeding-indices, gingival-recession-mobility-scoring, imaging-and-pacs-storage, clinical-notes
Guides: fp17-claim-submission, nhs-contract-and-fp17-journey, private-ledger-billing, invoicing
Related: Stripe Integration Plan
lab_documents module ingests pathology results, not dental lab orders)Guides: uda-auditing, vulnerability-compliance-automation, lab-work-and-case-tracking
The platform includes an agent console — the Hermes AI link in the dental top navigation (Governance area) opens /integrations/agents/control-centre/ (also at https://gp.veripath.co.uk/integrations/agents/). From the console, an authorised user can:
Agents registered on the platform today (configuration lives in the platform DB):
| Agent | Purpose |
|---|---|
| Site Agent | Compliance & clinic operations (system default) |
| System Assistant | General assistant |
| Data Security Agent | Lynis security scanning analysis |
| Wiki Librarian | Wiki.js knowledge base assistance |
| Dental Triage Agent | Dormant — configured but never wired in (AI for triage declined 2026-09-02; see Triage Configuration Plan §8) |
| Clinical Note Transcriber | Clinical note transcription |
| Hermes | Client knowledge-base assistant |
More detail: Hermes — Client's Knowledge Base and the Hermes AI — Implementation Plan.
VeriPath Dental is built for Sovereign Infrastructure as a Service (SIAAS) — the platform's hosting model where every client practice gets its own isolated infrastructure rather than a shared cloud:
veripath_dental for the dental app), simplifying DSPT/CQC data-separation auditingDeployment topology (three VPS split, SSH tunnels between them) is documented in VPS Re-Arrangement 3, the GP Booking App — Overview and Client VPS Architecture.