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 |