Managing Clinicians¶
This guide explains how to add, configure, and manage the clinicians who appear on your practice rota.
Overview¶
The clinician management pages let you create clinician records, set up their employment terms, invite them to create login accounts, and manage their status. Every shift the rota system generates depends on correct clinician data, so keeping working terms up to date is essential.
Access clinician management from the admin navigation by selecting Clinicians. You will see a list of all clinicians showing their name, contract type (derived from their current working term), active status, current term dates, and linked user account.
Adding a New Clinician¶
- From the Clinicians page, click Add Clinician (top right).
- Fill in the form:
- Full Name (required) -- The name that will appear on the rota. Use the name colleagues will recognise.
- Groups (optional) -- Select one or more clinician groups using Ctrl/Cmd + click. Groups control rota rules and categorisation (see the Clinician Groups section below).
- Link to User Account (optional) -- If the person already has a user account (for example, an admin created it manually), select it here. The dropdown only shows user accounts not already linked to a clinician. You can skip this and use the invitation system instead.
- Click Create Clinician.
You are redirected to the clinician detail page. The next step is to create a working term -- without one, the clinician will not be included in rota generation.
Practical note: Always create a working term before generating a rota. The system cannot allocate shifts to a clinician who has no active term covering the target date range.
Working Terms¶
A working term defines a clinician's employment arrangement for a specific date range. It tells the rota system what kind of contract the clinician has, how many days they work, and whether they participate in the duty doctor rotation.
Clinicians can have multiple working terms over time -- for example, when a salaried doctor becomes a partner, or when someone changes their FTE percentage. Each term has a start date and an optional end date. Only one term should be active on any given date for a clinician.
Contract Types¶
The system supports five contract types:
- Salaried -- A doctor employed by the practice on a fixed schedule. You set their fixed working days (for example, Monday, Wednesday, Friday).
- Partner -- A practice partner who manages their own schedule. You set their FTE percentage, cannot-work days, must-work days, and shift allocation limits rather than fixed days.
- Locum -- A locum doctor. Locums are typically booked for specific dates rather than having a recurring schedule.
- FY Doctor (Foundation Year) -- A foundation year trainee. Requires a supervising clinician to be assigned.
- ST Doctor (Specialty Trainee) -- A specialty trainee. Also requires a supervising clinician to be assigned.
Creating a Working Term¶
- Open the clinician's detail page.
- In the Working Terms section, click Add Term.
- Fill in the form, which is organised into cards:
Basic Information card:
- Term Type (required) -- Select the contract type. The form will adjust which fields are shown based on your choice.
- Supervising Clinician (shown for FY and ST doctors) -- Select which clinician will supervise this trainee. Only active clinicians other than the current one are available.
- FTE Percentage (shown for partners) -- Set the full-time equivalent percentage (0--100). For example, a partner working 3 days out of a 5-day week might be 60%.
- Start Date (required) -- When this term begins.
- End Date -- When this term ends. Leave blank for an ongoing term.
- Participates in Duty Rotation -- Checked by default. Uncheck this if the clinician should not be assigned duty doctor shifts (for example, some part-time salaried doctors or trainees on specific rotations).
Working Days card:
- Fixed Working Days -- For salaried doctors, select the days they work each week (Monday through Friday). Each selected day is highlighted.
- Half Days -- Select any days that should be treated as half days.
- Cannot Work Days -- For partners, select days they are never available. The rota generator will avoid assigning shifts on these days.
- Must Work Days -- For partners, select days they must always work. The rota generator will ensure shifts are assigned on these days.
Annual Leave Entitlement card:
- Annual Leave Entitlement -- Enter the total annual leave for the year. For partners, this is in weeks. For salaried doctors and trainees, this is in days. Use half-day or half-week increments (for example, 20.5 days or 6.5 weeks).
Partner Shift Allocation card (shown for partners only):
- Minimum Shifts Per Week -- Set a floor on how many shifts per week the partner should receive. Leave blank for no minimum.
-
Maximum Shifts Per Week -- Set a ceiling on shifts per week. Leave blank for no maximum.
-
Click Create Working Term.
Editing a Working Term¶
From the working term list on the clinician detail page, click Edit on any term. The same form appears, pre-filled with the current values. You can change the type, dates, working pattern, and leave entitlement.
Ending a Working Term¶
When a clinician's employment arrangement changes (for example, they reduce their FTE), you should end the current term and create a new one:
- Click End on the term in the list.
- Select the end date (defaults to today).
- Click End Term.
The clinician will not be scheduled after the end date. Create a new working term starting from the next day with the updated arrangement.
Viewing Working Term Details¶
Click View on any term to see its full details, including:
- Basic information (type, FTE, dates, duty participation).
- Working days (fixed, half, cannot-work, must-work).
- Annual leave entitlement and any manual adjustments.
- Partner shift allocation limits.
- Recent shifts within the term's date range.
- Recent leave requests that overlap with the term.
Deleting a Working Term¶
Deleting a working term is a destructive operation. It permanently removes:
- All shifts for the clinician within the term's date range.
- All leave requests that overlap with the term.
- The working term itself.
To delete a term:
- Click Delete on the term.
- Review the warning showing exactly how many shifts and leave requests will be destroyed.
- Type the clinician's full name exactly as displayed to confirm.
- Click Yes, Delete Everything.
This action cannot be undone. In most cases, it is safer to end a term than to delete it.
Multiple Concurrent Terms¶
The system prevents overlapping terms for the same clinician. If you need to record a change in employment arrangement, end the current term on the last day of the old arrangement and create a new term starting on the first day of the new one. Leaving a one-day gap between terms is fine -- the clinician simply will not be scheduled on days without an active term.
Clinician Groups¶
Clinician groups are labels that control how the rota system treats certain clinicians. They are separate from Django's permission groups and serve a different purpose.
Common groups include:
- FY Doctor -- Groups all foundation year trainees together for rota rules.
- FY Supervisor -- Identifies clinicians eligible to supervise FY doctors.
- ST Doctor -- Groups specialty trainees.
Groups are assigned when creating or editing a clinician record. You can assign a clinician to multiple groups.
To manage the available groups (create, rename, or remove groups), use the Django admin interface.
Inviting a Clinician¶
The invitation system lets a clinician create their own login account and have it automatically linked to their clinician record. This is the recommended way to give a clinician access to the system.
Sending an invitation¶
- Open the clinician's detail page.
- In the Account Status section, you will see "No account linked" with an invitation form.
- Enter the clinician's email address in the field provided.
- Click Send Invitation.
The system generates a unique, cryptographically secure token and sends an email containing a signup link. The invitation expires after 14 days.
What the clinician receives¶
The clinician receives an email with a link to the signup page. The link contains a token that identifies which clinician record to link to.
The signup flow¶
- The clinician clicks the link in the email.
- They are taken to a signup page where they create a username and password.
- The token is stored in their browser session (valid for 5 minutes).
- After completing signup, the system automatically links their new user account to their clinician record.
- They are asked to verify their email address.
- Once verified, admins who have opted in to operational notifications receive a message confirming the new signup.
Re-sending an invitation¶
If the invitation expires or the clinician cannot find the email, you can send a new invitation from the same form. Each invitation creates a fresh token with a new 14-day expiry.
When a clinician already has an account¶
If the clinician already has a linked user account, the invitation form is replaced by a confirmation showing the linked username. You cannot send an invitation to a clinician who is already linked.
Email Notification Preferences¶
Admin users can control which types of notification emails they receive. These preferences are set per user on the Profile page (accessible from the navigation menu).
There are three categories, all of which default to off (opt-in):
- System Failure Emails -- Notifications about rota generation failures, task errors, and backup problems.
- Admin Action Emails -- Notifications that require your attention, such as shift swap approvals and leave requests awaiting review.
- Operational Notification Emails -- Informational alerts including staffing warnings and new user signups.
Only dashboard admins see these preference controls. Clinicians who log in to view their rota do not have email preferences -- they receive shift notification emails automatically.
To change preferences, check or uncheck the relevant boxes on the Profile page and save.
Activating and Deactivating Clinicians¶
Every clinician record has an active status. Active clinicians appear in the rota and can be assigned shifts. Inactive clinicians are excluded from rota generation and most lists.
Deactivating a clinician¶
When a clinician leaves the practice, you should deactivate their record rather than deleting it. Deactivation:
- Removes them from rota generation -- the system will not assign them new shifts.
- Preserves their historical shift data and leave records for reporting.
- Keeps their clinician record intact in case you need to refer back to it.
To deactivate, edit the clinician record and uncheck the active flag. You can do this through the Django admin interface.
Reactivating a clinician¶
If a clinician returns, you can reactivate their record by editing it and checking the active flag again. You will need to create a new working term covering the period they are back, as their previous term will have ended.
When to delete instead¶
The admin interface does not provide a way to permanently delete clinician records, by design. Historical data integrity depends on keeping past clinician records. If you need to remove a record entirely (for example, a duplicate), contact your system administrator.