Product by Relay Labs Ltd · In development

Orla Health

A clearer day for your clinic.

A practice platform in development that puts booking, clinical records, billing, growth and a patient portal on one patient record. The diary is designed to fill itself: waitlist offers, recalls, reminders with confirm-by-reply and deposits are core surfaces rather than add-ons.

For Allied-health practices: physiotherapy, chiropractic, osteopathy, podiatry, psychology, dietetics.

Orla Health: Practice workspace
Practice workspace. Product in development; the interface will change.

Where it stands

The core platform is built and merged: diary with practitioner and room lanes, flow board, patients and clinical record, billing and point-of-sale, workflows, waitlist and recalls, staff authentication with two-factor, a magic-link patient portal, public booking and intake forms with e-signature. The AI layers (messaging, scribe, voice) are deliberately unbuilt and gated on paying clinics.

Built

  • Diary (day and week, practitioner and room lanes), flow board, tasks and today view
  • Patients and clinical record: notes, amendments, documents, forms builder, outcome measures
  • Billing and POS checkout, invoices, packages, reports
  • Workflows, waitlist and recalls, marketing hub
  • Staff auth end to end: invites, roles, two-factor with recovery codes
  • Patient portal, public booking page, intake forms with e-signature

Not yet

  • AI front desk (messaging)
  • AI scribe and dictation
  • AI voice
  • Integrations beyond calendar sync

How it’s built

The technology behind Orla Health, as it stands in the repository. Checked 14 September 2026.

Framework
Next.js 15 (App Router), React 19, TypeScript strict, pnpm and Turborepo monorepo
API
tRPC for the console; versioned REST with a zod contract and an OpenAPI document
Database
PostgreSQL 16, Drizzle ORM, row-level security and SQL triggers
Jobs
BullMQ on Redis over a scheduled-jobs table
Auth
Better-Auth: email and password, verification, TOTP, invites, role-based access
Payments and messaging
Stripe (deposits, POS, webhooks); SMS through a provider seam (Twilio); Resend email; Google and Microsoft calendar sync
Testing and observability
Vitest against a real Postgres with RLS on, Playwright journeys, axe-core; Sentry, PostHog (EU), Axiom
Hosting
Docker on Dokploy, Hetzner (Germany)

Decisions that shape it

One patient record

Booking, notes, billing and messaging read and write the same record, so nothing is copied between tools.

Cross-tenant access is impossible, not avoided

Every query runs as a non-superuser role inside a tenant scope, backstopped by row-level security. A deliberately buggy query still returns one clinic's rows, and a test proves it.

Clinical data is different

Signed notes are immutable by database trigger, amendments are tracked, reads are audited as well as writes, and data never leaves EU infrastructure.

Orla Health: Website
Website

Orla Health runs the practice. Orla answers the phone.

Explore Orla ↗