How commvita implements organisational change; how it supports both a single neighbourhood provider and multiple neighbourhood providers — organisationally, through commissioning, and through shared incentives — and how the experience stays frictionless for citizens, patients and the workforce whichever design is chosen.
A reorganisation is rarely one change. It is usually five, arriving at different times and agreed by different people — and most systems bind them together, so moving one means re-implementing the rest. commvita holds them apart deliberately: an organisation can merge without anyone's record moving, and a contract can change hands without a clinician losing access to the person in front of them.
Each layer has a configuration surface. None of them is a code change, and none requires a release.
Structure — national, regional, system, network, provider, practice, team — is configured, not compiled. Care groups carry two independent lines: line management and clinical supervision. They are separate columns because in an integrated neighbourhood they routinely point at different organisations, and collapsing them is how a nurse ends up clinically supervised by their budget holder.
StaffHierarchyNodeA joiner is provisioned atomically — account, role, scope, care group, line manager and clinical supervisor in one call, rolled back cleanly on failure and written to the audit. Access is then resolved at sign-in from three sources: the person's own organisations, anything delegated to them, and any group they belong to.
UserOrganisation · UserDelegation · UserGroupIdentifier formats, terminology, regulators, statutory clocks and financial values are read from a versioned, source-cited, effective-dated Jurisdiction Profile rather than hardcoded. Where a value is unconfigured, dependent behaviour fails safe to nothing — it never quietly adopts a neighbouring jurisdiction's answer.
Navigation is narrowed by edition and role, and can be rebuilt per organisation. Two cautions, because both have caused real defects: edition scope is a packaging boundary, not a security one, and group membership grants organisation scope only, never a role.
edition_scope ·
effective_role() · effective_scope()The neighbourhood question a commissioner actually has to answer is not technical: does one organisation hold the neighbourhood contract and subcontract delivery, or do several hold their own agreements and work as an alliance? commvita is built so that this is a commissioning decision, not a system decision — because the platform models the relationship between a person and the people helping them, rather than an org chart.
| Design dimension | Single provider | Multiple providers | Where it is configured | Status |
|---|---|---|---|---|
| Who holds the contract | One lead provider; others subcontract | Each provider holds its own agreement | Contract register · /icb-commissioning | Demonstrated |
| Who employs the team | Mostly one employer | Several employers in one team | Care group + supervision lines · /hierarchy-builder | Live |
| Who can see the record | Lead provider's scope | Each organisation's own scope, plus delegation | effective_scope() · /rbac-matrix | Live |
| Who coordinates the person | Identical — one named key worker on one case | NeighbourhoodCase · /neighbourhood-intelligence | Live | |
| The multidisciplinary team | Identical — one team per neighbourhood, roughly 30–50k population | INTTeam · /int | Live | |
| The shared record | Identical — one cross-organisation longitudinal record | /nhr · /single-patient-record | Live | |
| Non-NHS delivery staff | Identical — allocated to an organisation, never given an internal account | CareProviderAllocation · /care-portal | Live | |
| Neighbourhood need | Identical — keyed on geography, never on identity | AreaDeterminant (LSOA) · /deprivation-mapping | Live | |
Commissioners are not a fixed map — boards have already merged, and the Cabinet statement of 31 July 2026 signals an intent to align integrated care board boundaries with the new strategic authorities by the end of the Parliament. Any design that assumes a stable commissioning geography is wrong within a year, which is why the map is held as sourced, effective-dated configuration rather than as structure. Beyond that, shared incentives fail for a dull reason: each partner reports against its own contract, on its own cycle, using its own numerator. The instruments below are separate on purpose — an agreement, a pooled budget, a price and a delegated authority are genuinely different things — but they are measured against one set of outcomes.
NHS Standard Contract lifecycle, CQUIN performance, and procurement routed through the Provider Selection Regime under the Procurement Act 2023. This is where a change of provider is actually recorded.
Pooled budget agreements with local-authority partners, each carrying its cost-sharing ratio and annual review date. This is the mechanism a multi-provider neighbourhood uses to share gain and share risk, and commvita records it as the agreement it is.
An effective-dated payment scheme holds national rates, locally agreed prices and recorded activity costs. Money is held in pence as whole numbers, so a price never drifts by a rounding error between two providers reading the same rate.
The scheme of reservation and delegation and the standing financial instructions are held as an effective-dated matrix of role × decision × limit × instrument. An approval gate can be assigned to a role, a named individual, or a whole team or care group — which is what allows a partner organisation's manager to hold a real approval in a shared process. Gates can require several approvers of whom a quorum must agree, escalate on a service-level breach, and be signature-backed.
P2PAuthorityRowLiveTotal cost of care against benchmark, quality measures, and outcome, equity and value movement across the population, ending in a ranked recommendation of where to deploy next. Small numbers are suppressed, and social value is labelled as an estimate rather than presented as a measured saving.
The point of holding the layers apart is that the bottom four can be redrawn without the fifth moving. A citizen should not be able to tell, from using the service, whether the neighbourhood is run by one provider or five.
One portal for appointments, medication, messages, care plan and record. A family member or carer can be granted proxy access — relationship, level and expiry recorded and revocable. Communication needs, accessible formats and reasonable adjustments are declared once, by the person, and carried by every outbound letter.
PatientCommNeed · DCB1605 LiveA master patient index resolves a person across sources and identifier schemes rather than creating a record per organisation. Every clinical surface carries the identity banner, and a build gate fails if any page reaches a record by a raw link instead of the canonical person-first route — so the person, not the case, is the object of the system.
npm run check:person-first LiveOne personal home gathers open actions from eight modules — compliance actions, case tasks, board actions, incident actions, approval gates, broadcasts awaiting acknowledgement, unread mandatory policies and appraisal steps — worst-first, each opening its own module. Frontline staff get a smaller surface: one-tap capture that works offline.
commvita records the change; it does not make it. Novating a contract, transferring employment and consulting a workforce are legal and human processes. The platform holds the resulting structure, agreement and authority, and keeps the record continuous across the change.
Parts of the commissioning surface are seeded. Contract values, pooled-budget agreements and efficiency programmes are representative demonstration data. The structures, access resolution, neighbourhood case model, delegated authority and personal action list are live and API-backed — every row above says which.
Editions are a packaging boundary, not a security one. Authorisation is role-based throughout; a scoped user who types a URL meets exactly the same role check as anyone else.
The Community Edition is not free. It is £1 per instance, with optional paid support, and carries the platform base — identity, access, audit, data fabric — deliberately without the clinical record or clinical workflow.
| Capability | Route | API / model | Status |
|---|---|---|---|
| Care groups, line management, clinical supervision Staff Hierarchy Builder | /hierarchy-builder | GET /hierarchy/ · StaffHierarchyNode | Live |
| Atomic joiner provisioning User Setup Wizard | /hierarchy-builder · /user-management | POST /auth/users/provision | Live |
| Organisation scope, delegation, groups RBAC & scope | /rbac-matrix · /rbac | UserOrganisation · UserDelegation · UserGroup | Live |
| Access resolved at sign-in RBAC | — | effective_role() · effective_scope() | Live |
| Jurisdiction configuration Jurisdiction Wizard & Profile | /jurisdiction-wizard · /jurisdiction-profile | GET /jurisdiction-profile/ | Live |
| Neighbourhood multidisciplinary team Integrated Neighbourhood Teams | /int | GET /int/ · INTTeam · INTMember | Live |
| Cross-partner case, key worker, participating orgs Neighbourhood Intelligence | /neighbourhood-intelligence | GET /neighbourhood/ · NeighbourhoodCase | Live |
| Neighbourhood need keyed on geography Neighbourhood Intelligence | /neighbourhood-intelligence · /deprivation-mapping | AreaDeterminant (LSOA) | Live |
| External provider staff, isolated auth Care Worker Portal | /care-portal | POST /provider-portal/login · CareProviderAllocation | Live |
| Contract register, CQUIN, procurement ICB Commissioning | /icb-commissioning | GET /icb-commissioning/ | Demonstrated |
| Section 75 pooled budgets ICB Commissioning | /icb-commissioning | cost-sharing ratio per agreement | Demonstrated |
| Payment scheme, rates, local prices NHS Payment System | /nhs-payment-system | GET /tariff/ · TariffScheme · TariffRate · TariffLocalPrice | Live |
| Delegated financial authority Policy-to-Process | /policy-to-process | GET /p2p/authority · P2PAuthorityRow | Live |
| Approval by team or care group Policy-to-Process | /policy-to-process | GET /p2p/teams | Live |
| Total cost of care against benchmark TCOC Dashboard | /tcoc-dashboard | — | Demonstrated |
| Outcome, equity and value; where to deploy next Outcome Intelligence | /outcome-intelligence | GET /outcome-intelligence/ | Demonstrated |
| Citizen front door and proxy access Patient Portal | /portal | GET /portal/ | Live |
| Accessible formats and reasonable adjustments Communication Needs | /portal · /elective-experience-standards | GET /comm-needs/ · PatientCommNeed | Live |
| One identity across providers EMPI Hub | /empi | GET /empi/ | Live |
| One personal action list across modules commvita MyDay | /workflow-hub | GET /my-actions | Live |