commvita
Connected care platform
Access & Administration

User setup, org hierarchy, the permission matrix & RBAC

Who someone is, where they sit, and what they may see — commvita treats access as first-class, tamper-evident configuration. Set up users and organisations, model the hierarchy (line management + clinical supervision), and govern access through an editable 18-role × 16-domain permission matrix with scope-only groups, delegations and a hash-chained access audit.

© 2026 Commvita Digital Health Solutions Ltd. All rights reserved.
Live vs demonstrated: Live — real, API-backed platform logic (wired end-to-end today) Demonstrated — representative control surface with seeded data / illustrative UI mock-up

Identity → structure → permission

A role decides what you can do; your organisation scope decides whose records you can see. The two are separate on purpose — so a receptionist and a consultant at the same practice see the right things, and neither sees another practice's patients.

Set up users & orgs

User Management · Org Admin · SSO

Create accounts, assign a role, and link each user to one or more organisation ODS codes; manage jurisdictions and legal entities in Org Admin / HR & Finance; provision via OIDC/SSO where the org runs single sign-on.

Where in commvita /user-management · /org-admin · API /hr/ · OIDC.

Model the hierarchy

Care groups · dual-layer chart

The Staff Hierarchy Builder holds care groups and a dual-layer org chart — line management and clinical supervision — with supervision-gap detection and a staff-assignment editor. Team leads inherit scope through delegations.

Where in commvita /hierarchy-builder · API /hierarchy/ · /rbac/delegations.

Govern permissions

RBAC matrix · groups · audit

An editable 18-role × 16-domain matrix with policy scenarios and a DSPT export; User Groups grant scope only, never a role (ADR-015); delegations and group memberships expire; every role/scope change is written to a SHA-256 hash-chained login audit.

Where in commvita /rbac · API /rbac/matrix · /login-audit.
RBAC / Permission matrix admin
Role grants capability; org scope grants reach. A read-only receptionist is bounded to their practice and blocked from special-category data.
RolePatient recordMental / sexual healthUser admin
read_only (reception)own org onlydenieddenied
care_coordinatororg-scopedalloweddenied
clinicianorg-scopedalloweddenied
adminunrestrictedallowedallowed
Edit matrixExport (DSPT)
Representative UI — illustrative (matrix, delegations, groups and audit are API-backed)
1

Role and scope are separate

effective_role(user) comes only from an explicit role assignment; effective_scope(db, user) is the union of the user's own, delegated and group organisations. A group can never grant a role — only scope (ADR-015).

effective_roleeffective_scope
2

Delegation & groups, with expiry

Team leads inherit a colleague's org scope through a delegation; users join scope-only groups; both can carry an expiry — expired grants yield no access, and lapses are recorded once to the audit chain.

/rbac/delegations/rbac/user-groups · expires_at
3

Every change is tamper-evident

Role assignments, group membership changes and every login land on a SHA-256 hash-chained audit (prev_hash → row_hash), re-verified on read — no silent privilege elevation, and a DSPT-ready access-monitoring trail.

/login-auditWORM · DSPT access monitoring

See it in the product

Two live screens from the RBAC module: the permission matrix — every role × every data domain, with each domain carrying a sensitivity label — and the policy scenarios that encode the real access rules (break-glass, locum, home-visit, research) with their trigger, policy reference and audit requirement.

commvita RBAC permission matrix: 27 roles by 20 data domains, each cell showing R (read), R/W (read-write), FULL or blocked; domains carry sensitivity chips (personal, clinical, sensitive, operational, aggregate); rows include Caldicott Guardian (read-only across all), IG Manager, GP Partner and clinicians.
The permission matrix — 27 roles × 20 domains. Each cell is R / R/W / FULL / blocked; each domain carries a sensitivity chip (personal · clinical · sensitive · operational · aggregate). Search, filter by category or sensitivity, and edit inline.
Live screenshot — commvita™ RBAC
commvita RBAC policy scenarios: cards for Break-Glass Emergency Access, Locum/Temporary Staff Access, Domiciliary/Home Visit Access and Research & Clinical Audit Access, each with Trigger, Policy ref, Audit req, Roles, and Restricts/Unlocks chips.
Policy scenarios encode the real rules — e.g. break-glass (any clinician, any record, reason code + Caldicott review in 24h), locum (session-bound, supervising-GP co-sign), home-visit (mobile read-only, auto-revoke), research (pseudonymised via DARS) — each with its trigger, policy reference and audit requirement.
Live screenshot — commvita™ RBAC

Where it lives in commvita

CapabilityRouteModel / APIStatus
User management/user-managementUser · UserOrganisation● Live
Org & entity setup/org-admin · /hr-financeAPI /hr/ (legal entities, contracts)● Live
Staff Hierarchy Builder (dual-layer)/hierarchy-builderAPI /hierarchy/ (care-groups, tree)● Live
RBAC permission matrix (18×16)/rbacAPI /rbac/matrix · scenarios · export● Live
Team-lead delegations (scope inherit)/rbacAPI /rbac/delegations · UserDelegation● Live
User Groups (scope-only, expiry)/rbacAPI /rbac/user-groups · UserGroup · expires_at● Live
Effective-access viewer/rbacAPI /rbac/users/{id}/effective-access● Live
Login / access audit (hash-chained)/login-auditAPI /auth/login-audit · LoginAuditEvent● Live
OIDC / SSO provisioning/oidc-settingsOIDC · SCIM☉ Demonstrated
Why this matters for a demo. Access control is where information governance is won or lost. commvita separates role (capability) from org scope (reach), makes groups scope-only so nobody is quietly elevated, expires delegations and memberships, and writes every change to a tamper-evident chain — a DSPT-ready answer to “who can see what, and how do you know?”. Non-SaMD administration surface.
© 2026 Commvita Digital Health Solutions Ltd. All rights reserved. UK GDPR Art.5(1)(f) / 30 · data minimisationCaldicott principlesDSPT 2024/25 access monitoring RBAC · ADR-015 scope-only groupsOIDC / SSO / SCIMNon-SaMD