Skip to content

Users and Access Assignment

Epic summary

The Users and Access Assignment workspace gives people access to MedCES without giving them more authority than their work requires.

It manages tenant membership, core roles, organisational scope, functional roles, validity, approval, suspension, and access review. Faculty designation and appointments such as HOD remain separate records.

The application-wide rules are defined in Roles and Access.

Before you start

  • The tenant must exist before a user can become a member.
  • An institute, department, or unit must exist before access can be granted at that scope.
  • The person granting access must be authorised to manage the selected core or functional role and scope.
  • Faculty and student identities may be connected before all academic assignments exist, but those users receive only the access supported by their current records.

Actors and access

Core or functional roleAccess in this epic
Platform AdminCreates the bootstrap Tenant Admin and manages platform administrator grants
Tenant AdminManages tenant membership, tenant labels, and authorised grants within the tenant
Institute AdminManages institute membership and authorised institute, department, and unit grants
Department AdminViews department access and manages permitted department or unit assignments
Unit AdminViews access for their unit; cannot grant broader access
Auditor roleReviews grants, approvals, access use, and revocations without changing them

What the user does

Screen 1: User Directory

The user selects a tenant or institute and can search by name, identifier, email, membership status, core role, functional role, department, unit, or expiry date.

Each result shows:

  • identity and membership status;
  • core roles and their scopes;
  • functional roles;
  • faculty designation or student status where applicable;
  • access start and end dates;
  • warnings for access that is expired, suspended, duplicated, or due for review.

Screen 2: Invite or Connect User

FieldRequiredMeaning and validation
Person or emailYesConnect an existing identity or send an invitation; duplicate identities are flagged
TenantYesTenant receiving the membership
InstituteConditionalRequired when the person will work in one institute
Membership typeYesAdministrator, employee, faculty, student, service account, or another supported type
Start and end datesYes/NoStart is required; end is optional unless the engagement is temporary
Invitation messageNoPlain-language message shown to the recipient

Creating membership does not automatically grant a role.

Screen 3: Assign Core Role

FieldRequiredMeaning and validation
UserYesActive or invited tenant member
RoleYesOne of the seven fixed core roles
ScopeYesPlatform, tenant, institute, department, or unit as allowed for the role
Valid from and valid toYes/NoDefines when the grant is active
ReasonYesBusiness reason for the grant
ApproverConditionalRequired where the grant policy uses approval

The screen explains the scope before submission. It must not use vague text such as “full access.”

Screen 4: Assign Functional Role

The administrator selects a functional role such as Admission Officer, Academic Registrar, Facilities Officer, Curriculum Committee Member, Course Coordinator, Attendance Approver, or Auditor.

The screen shows:

  • the capabilities included;
  • the organisational scope;
  • an optional programme, course, cycle, cohort, posting, or other target;
  • validity dates;
  • conflicts or missing prerequisites;
  • required approval.

A functional role can be granted without making the user an Institute Admin.

Screen 5: Effective Access Review

This screen answers four questions in plain language:

  1. What can the user do?
  2. Where can they do it?
  3. Why do they have that access?
  4. When will the access end?

It shows the core role or functional role, scope, assignments, conditions, and source approval behind every capability.

Screen 6: Suspend, Revoke, or Amend

The administrator selects the exact membership or role grant being changed. They enter the effective time, reason, evidence, and whether active sessions should be ended immediately.

Ending one grant does not remove unrelated access held by the same user.

Screen 7: Access History

The history shows invitations, grants, approvals, rejected requests, label changes, support access, reviews, suspensions, expiries, and revocations. History is read-only.

Worked example: HOD of General Medicine

Dr Sharma is a Professor and has been appointed HOD of General Medicine.

The administrator records:

Tenant membership: Active
Faculty role: Institute A
Department Admin role: General Medicine
Designation: Professor
Appointment: Head of Department, General Medicine

The designation and appointment describe who Dr Sharma is. The Department Admin grant provides the permitted department administration. Faculty teaching and assessment actions still depend on Dr Sharma’s academic assignments.

Use case 1: Invite a tenant member

As a Tenant Admin
I want to invite or connect a user without granting broad access
So that identity and membership are established before roles are assigned.

Acceptance criteria

  • Existing identities are reused rather than duplicated.
  • Membership is created for one tenant with clear validity and status.
  • No working capability is created merely by adding membership.
  • The invitation and acceptance history are recorded.

Use case 2: Grant a scoped administrator role

As an Institute Admin authorised to manage department access
I want to grant Department Admin at one department
So that the user can administer that department without accessing sibling departments.

Acceptance criteria

  • Only eligible scope types can be selected for the role.
  • The granting user cannot select a scope outside their own authority.
  • The grant records dates, reason, approver, and source.
  • Effective Access Review shows the exact descendant scope and excluded sibling departments.

Use case 3: Assign operational work without administrator access

As an Institute Admin authorised to manage admission access
I want to assign the Admission Officer role
So that the employee can perform admission work without becoming an Institute Admin.

Acceptance criteria

  • The functional role lists its included capabilities before assignment.
  • Access is restricted to the selected institute and, where applicable, cycle or work queue.
  • Unrelated Setup, curriculum, attendance, and competency permissions are not granted.
  • Expiry automatically removes the functional capabilities.

Use case 4: Explain a user’s effective access

As a user with the Auditor functional role
I want to see why a user can perform an action
So that access can be reviewed without guessing from job titles.

Acceptance criteria

  • Each capability shows its core or functional role source.
  • Scope, descendant rules, conditions, validity, and approval are visible.
  • Denied actions show the missing core role, functional role, assignment, or record-state condition.
  • The review does not expose data outside the auditor’s own scope.

Use case 5: End access safely

As a Tenant Admin
I want to suspend or revoke one access grant
So that new work stops while completed work and audit history remain intact.

Acceptance criteria

  • The administrator selects the exact grant and effective time.
  • Immediate suspension ends affected sessions or invalidates permission caches.
  • Historical actions continue to show the user and access source valid at that time.
  • Other active grants remain unchanged.

Business rules

  • Membership and permission are separate records.
  • A user may have multiple core and functional roles at different scopes.
  • Role codes are fixed; tenant labels affect display only.
  • The granting user cannot grant authority they do not possess.
  • A designation or appointment never silently creates a role grant.
  • Duplicate active grants with the same user, role, scope, and validity are rejected.
  • Overlapping grants that produce the same access are shown for review.
  • Platform support access to tenant data is temporary, reason-based, approved where required, and audited.
  • Records are ended or revoked, not physically deleted.

Technical design

Conceptual schema

RecordImportant fields
identity.useridentity, display name, authentication status
iam.tenant_membershipuser_id, tenant_id, membership type, validity, status
iam.role_definitionstable role code, allowed scope types, status
iam.role_label_overridetenant_id, role code, display label
iam.role_grantuser, role, scope entity, validity, reason, approval, status
iam.functional_role_definitionstable functional role code, label, allowed target types
iam.functional_role_grantuser, functional role, scope, target, validity, approval, status
iam.access_reviewsubject user, reviewer, due date, decision, findings
iam.access_eventactor, subject, action, before, after, reason, timestamp

Process-layer responsibilities

  • Reuse an existing identity safely when an invited email or identifier already exists.
  • Validate tenant membership before accepting a tenant-owned grant.
  • Validate that the role supports the selected scope type.
  • Verify that the granting user can manage the requested authority.
  • Calculate descendant scope only across permitted hierarchy relationships.
  • Combine role and functional capabilities without broadening either grant’s scope.
  • Consult current academic or operational assignments for record-level actions.
  • Expire grants automatically and invalidate affected access promptly.
  • Provide a human-readable explanation for allowed and denied actions.
  • Write an immutable access event for every material change.

Success outcome

Every user has only the access needed for their current work, and an authorised reviewer can explain exactly where that access came from.