One place for a member of staff to run their own employment admin and their governance obligations. Leave, job plan, training and CPD, declarations of interest, signatures, approvals, on-call and speaking up. No forms to chase, and every action lands on a record with an audit behind it. It’s role-aware: a clinician sees a job plan, a board member sees board papers, a silver on-call sees the rota. Reached at /staff-portal.
Most staff systems are a stack of separate logins: one for leave, one for the rota, one for training, one for declarations, one for board papers. Each holds a slice of the same person. The Staff Portal puts the slices in one place, on one identity, so the member of staff does the admin once and the organisation gets the record.
A live balance for annual leave, time in lieu, study days and sickness. Requests go to the line manager and come back approved or not, against the balance. The job plan shows contracted sessions by type and a weekly timetable.
Mandatory training rated current, due soon, overdue or not started. Professional registrations with expiry. A CPD log that adds up to the hours an appraisal needs. The same data commvita Learn governs, so there’s one version of it.
Declare an interest into the governed register. Sign what needs signing. Approve what you’re authorised to approve. See your board papers and actions. See when you’re on call. Raise a concern with the Freedom to Speak Up Guardian.
The balance is computed from the record, not typed into it. Entitlement, used, pending and remaining for annual leave; accrued and used for time in lieu; study days; sickness year to date with the Bradford trigger shown plainly.
A request carries the type, the dates, the days it costs and a reason if one is needed. It shows as pending against the balance until the line manager decides, and the decision and any note come back on the same row. Nothing is re-keyed.
The Team Absence Calendar shows approved and pending leave across the team, so cover is visible before a request goes in rather than a surprise after it’s approved.
Each leave type carries its own rule: two weeks’ notice where possible for annual leave, self-certification up to seven days for sickness, line-manager approval for a study day, fifteen weeks’ notice for paternity. The rule is next to the request, not in a policy document nobody opens.
For staff with a job plan, the portal shows contracted programmed activities split into direct clinical care, supporting professional activities and additional responsibilities, with the weekly timetable underneath. A plan is drafted, submitted and agreed, and the agreed version is the one everything else reads.
The line at the bottom of that screen is the bit that matters. Supporting professional activity has to be evidenced, and the evidence is the CPD log two tabs away. The portal reads the CPD hours for the year and puts them next to the SPA sessions, so the conversation at appraisal starts from the record instead of from memory.
Statutory and mandatory training is rated by status, not listed by course. Professional registrations sit beside it with their expiry. CPD is logged by activity and summed for the year. Appraisal shows who and when. All of it’s the same data commvita Learn holds, and it can be downloaded as a training passport.
Each requirement carries its expiry. The portal derives the status from the date, so a course that’s about to lapse shows as due soon weeks before it becomes a compliance problem, and the person can book the refresher from the same screen.
GMC, NMC, HCPC or the local regulator: the registration number and expiry are held against the person and surface here, so a lapsed registration is visible to the individual and to the organisation at the same moment.
Community staff don’t always have a signal. The mobile learning app lets them complete training during home visits and syncs the result when they’re back online, into the same record the portal shows.
Four governance obligations that usually live in four places, each with its own login and its own excuse for not being done. Here they’re four tabs.
A declaration goes into the governed register lifecycle: recorded, reviewed against a service level, and visible to a committee before it decides, not after. Nil returns count. The full register is one link away for those who administer it.
Board packs, policies, letters and certificates that need a signature arrive in one queue. Signing is a one-time-passcode ceremony bound to the document hash, and the signed record carries who, when and what. The history is the audit.
Requests that need this person’s approval, and this person’s own requests, under the organisation’s scheme of delegation. An approval outside the delegated limit is blocked, not warned. The engine that decides is the same one the finance explainer describes.
A Freedom to Speak Up concern can be raised anonymously, confidentially or in the person’s own name, in one of six categories, from the same place they manage everything else. It routes to the Guardian’s own module. Nobody else in the line sees it.
The choice of anonymity is made before anything is typed, and it’s enforced by what is stored, not by a promise. An anonymous concern carries no identity. A confidential one carries it for the Guardian alone. That matters more than the form does: the reason staff don’t speak up is rarely the absence of a form, it’s doubt about where the form goes.
Two small tabs that stop two common failures: not knowing you’re on call, and being contacted on a channel you don’t read.
The person’s next on-call shift, the channel they will be reached on, and any live incident role they hold. If they’re on call now, the duty log is writable from here. The rota itself is the Emergency Preparedness module’s.
Which channel the organisation should use, whether out-of-hours contact is urgent-only, and quiet hours. The CRM honours it. Beneath it, a timeline of what the organisation has sent this person and on which channel, so a missed message can be checked instead of argued about.
The portal is labelled for the jurisdiction it runs in and switches language where the jurisdiction requires it. In Wales that’s a Cymraeg toggle in the header. It’s configuration, not a separate build.
| Capability | Route | Model / API | Status |
|---|---|---|---|
| Leave balance and requests | /staff-portal | API /rota/leave-balance/my · /leave-requests | ● Live |
| Team Absence Calendar | /staff-portal | API /leave-requests | ● Live |
| Job plan and sessions | /staff-portal | API /job-plans · submit for approval | ● Live |
| Training, accreditation, CPD, appraisal | /staff-portal | API /training · /learn | ● Live |
| Register of Interests | /staff-portal · /register-of-interests | API /interests · review queue · audit | ● Live |
| My Signatures (commvita Sign) | /esign | API /esign/requests · OTP ceremony · certificate | ● Live |
| My Approvals (Policy to Process) | /policy-to-process | API /p2p/my-approvals · /p2p/approvable | ● Live |
| My Board Meetings (portal tab) | /staff-portal | Reads seeded content; Board Management itself is API-backed at /board/ | ☉ Demonstrated |
| Speak Up (FTSU) | /staff-portal | API POST /ftsu/staff/raise → Guardian module /ftsu | ● Live |
| My On-Call & EPRR | /staff-portal | API /eprr/my-oncall · duty log | ● Live |
| My Communications | /staff-portal | API /crm/me/preferences · /crm/me/timeline | ● Live |
| Offline learning sync | commvita Learn — Mobile | Completes offline, syncs to /learn | ● Live |