> For the complete documentation index, see [llms.txt](https://help.resouris.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.resouris.com/job-planning/hcs-job-planning-framework.md).

# HCS job-planning framework

> **Reference**: NHS "Job Planning for Healthcare Science Staff" Draft-for-Endorsement Guidelines (Tom Lister, v0.3, 24 July 2026). ReSouris v2.0 implements the framework as a governance overlay on the existing per-activity entitlement ledger.

## Two surfaces

ReSouris keeps two distinct surfaces alive to disambiguate the loose "Job Plan" term:

* **Workload Plan** — `/ui/admin/workload-plans`. The existing per-activity entitlement ledger from v1.2 onward. Records "Staff X owes N sessions/month of activity Y". Continues to be the *delivery-measurement substrate*.
* **Job Plan** — the v2.0 Guidelines-shape framework. Category-based professional-time allocation with DCC/SPA/ANR/ED taxonomy, per-band SPA minima, triple-signoff, quarterly reconciliation, review cadence, team plans, external duties, appeal state machine, KPI dashboard.

Both surfaces coexist. The Job Plan's rollup pill reads the Workload Plan's entitlement rows as its input.

## The four activity categories

Every entitlement in a Job Plan carries one of four Guidelines-defined categories:

| Code    | Full name                          | What it captures                                                                                                                          |
| ------- | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **DCC** | Direct Clinical Care               | Time on direct patient-facing activities.                                                                                                 |
| **SPA** | Supporting Professional Activities | Professional development, appraisal, teaching, research, audit, quality improvement.                                                      |
| **ANR** | Additional NHS Responsibilities    | Employer-mandated statutory or governance roles carried by named individuals (Radiation Protection Supervisor, Caldicott Guardian, etc.). |
| **ED**  | External Duties                    | Independent external roles undertaken with employer consent (Royal Colleges, professional bodies, expert panels).                         |

## Per-band SPA minima

Guidelines §5.1 Table 2 sets minimum SPA % of contracted time per NHS pay band:

| Band              | Role tier                    | Min SPA % (1.0 WTE) |
| ----------------- | ---------------------------- | ------------------- |
| 2-3               | Assistant                    | 5%                  |
| 4                 | Associate                    | 10%                 |
| 5                 | Practitioner                 | 15%                 |
| 6                 | Specialist                   | 20%                 |
| 7                 | Advanced                     | 30%                 |
| 8a-c              | Senior / Principal           | 40%                 |
| 8d-9 + Consultant | Consultant / Head of Service | 30%                 |

Trust admins may edit *upward* only (some Trusts operate above the national minima) via `/ui/admin/role-spa-minima` — see the v1.7.4 operational completeness section below. Downward edits are refused. Trainee grades follow programme-specific allocation per Guidelines §7 (v2.1+).

Per-worker WTE scaling: for part-time staff, the *absolute* SPA hours required scale by `staff.wte_fraction` (0.01..1.00). The percentage minimum is unchanged; only the hour figure pro-rates. See [WTE scaling + session-based rendering](/job-planning/wte-and-session-based.md).

## Programmed Activity (PA) unit

Guidelines §3 defines the Programmed Activity as a **3.75-hour** (default) or 4-hour unit of contracted time. All Job Plan totals + KPIs are expressed in PAs alongside raw hours. The unit is set installation-wide via `deployment_settings.programmed_activity_hours` so cross-tenant reporting is comparable.

## v1.7.4 operational completeness

ReSouris v2.0 shipped the framework skeleton; v1.7.4 turns it into a usable operational surface. **Six admin surfaces** land the Trust-facing machinery:

| Surface                                    | What it does                                                                                                                                                                                                           | Guidelines section | Perm                                        |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------------------------- |
| `/ui/admin/job-plan-cycles`                | Annual planning cadence orchestration (`planning → open → negotiating → mediation_window → closed`). Partial UNIQUE `(tenant, department) WHERE state <> 'closed'` guarantees at-most-one active cycle per department. | §6.7               | `admin.job_plan.cycle.edit`                 |
| `/ui/admin/job-plan-reconciliation/latest` | Per-quarter planned-vs-delivered snapshot with sign-off. Immutable-once-signed at the DB layer.                                                                                                                        | §5.1.5             | `admin.job_plan.reconciliation.signoff`     |
| `/ui/admin/role-spa-minima`                | Trust-level upward override on the Guidelines Table 2 per-band SPA minima. Strictly-upward via app-layer invariant.                                                                                                    | §5.1               | `admin.job_plan.override_spa_minimum`       |
| `/ui/admin/job-plan-designated-lead`       | Nominate the Trust-level Designated HCS Professional Lead (DLS) — the third-leg signer per §6.2. Partial UNIQUE ensures at-most-one active DLS per tenant.                                                             | §6.2               | `admin.job_plan.professional_signoff`       |
| `/ui/admin/enhanced-scrutiny-rules`        | Trust-configurable enhanced-scrutiny thresholds (four canonical triggers: staff\_band\_at\_or\_above / total\_pas\_at\_or\_above / spa\_pct\_below / override\_count\_above).                                          | §6.7               | `admin.job_plan.enhanced_scrutiny.override` |
| `/ui/admin/consistency-panels`             | Trust-level cross-department consistency review boards (name + chair + active window + members).                                                                                                                       | §6.9               | `admin.job_plan.consistency_panel.chair`    |

Four cron jobs land the recurring compliance signals: nightly review-due, quarterly reconciliation snapshot refresh, weekly runtime SPA drift, and daily appeal SLA breach. See [Scheduled jobs](/part-2-running-resouris/automations.md).

## Related surfaces

* **Approval workflow**: see [Job Plan approval workflow](/job-planning/job-plan-approval-workflow.md) — the triple-signoff cascade (operational + budget + professional), the DLS nomination substrate, the SPA-minimum override path, and the enhanced-scrutiny + consistency-panel context.
* **Monitoring KPIs**: see [Job Plan monitoring KPIs](/job-planning/job-plan-monitoring-kpis.md) — the 15 Guidelines §6.12 KPIs and where they appear in the admin dashboard.
* **Consistency + appeal SLA**: see [Consistency panels + enhanced scrutiny + appeal SLA](/job-planning/consistency-and-appeal-sla.md).
* **WTE scaling**: see [WTE scaling + session-based rendering](/job-planning/wte-and-session-based.md).

## Deployment posture

* **Solver-agnostic**: the framework is a governance overlay; the underlying CP-SAT solver is unaffected.
* **SaaS + self-hosted + air-gapped**: no external service calls introduced.
* **Multi-tenant**: DCC/SPA/ANR/ED categories are tenant-independent so cross-tenant KPI reporting is consistent; per-plan data is tenant-scoped with `tenant_isolation` RLS + FORCE.

## Framework author + endorsement

Framework author: **Tom Lister** (NHS Draft-for-Endorsement). Guidelines version v0.3, dated 24 July 2026. ReSouris v2.0 implements the current published Draft; changes on endorsement (typically additive) can land as v2.0.x patches without breaking the surfaces documented here.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.resouris.com/job-planning/hcs-job-planning-framework.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
