Skip to content

RotaCC

RotaCC is the rota management system for the practice. It builds the doctor rota, tracks leave, handles shift swaps, and keeps workload shared fairly.

Documentation is organised around who is reading it — pick your section:

Section Who it is for
User Guide Clinicians — viewing your rota, booking leave, swapping shifts, the calendar feed, and the annual leave round
Admin Guide The rota administrator — approving leave, generating the rota, managing clinicians, leave rounds, duty requirements, reports, and fixing problems. Written for non-technical users: start at the guide's index for a task finder and a working rhythm
Technical Reference How it all works underneath — data model, the generation algorithm, leave calculations, alerts, tasks, and APIs. Reference material, not required reading to run the rota
Operations Deployment, backups, and runbooks for whoever maintains the servers

New here? If you are taking over as rota administrator, read the Admin Guide introduction first (about five minutes), then keep the Glossary handy for unfamiliar terms.

What the System Does

Rota generation -- A six-phase process builds each rota period: fixed working patterns first, then gap-filling to minimum staffing, fairness balancing, and duty doctor assignment. Pinned shifts are never disturbed.

Leave -- Clinicians request leave themselves (annual leave, study leave, coroner's court); admins approve with quota and staffing-impact information on screen. Next year's annual leave is allocated through a staged Annual Leave Round rather than first-come-first-served.

Shift swaps -- Clinicians agree swaps between themselves; an admin gives final approval, with staffing context shown before deciding.

Fairness reporting -- Duty day sharing, Monday balance, and WTE-proportional workload reports show whether the rota is equitable, and flag who is ahead or behind.

Alerts and audit -- Understaffed days raise alerts automatically; every significant change is recorded in an audit trail.

Technology Stack

For the technically minded — everyone else can ignore this table:

Layer Technology
Backend Django 5.2, PostgreSQL, Redis, Celery
Frontend Django Templates, Tailwind CSS, Alpine.js, HTMX
Admin Django Unfold with medical theme
API Django REST Framework; AI Agent API (v3) for AI assistants
Auth django-allauth with email verification
Deployment Docker Compose / Coolify, Gunicorn
Testing pytest, factory-boy, pytest-xdist
Package manager uv