Skip to main content

Permission Management

This guide explains how to configure roles, navigation visibility, and fine-grained permissions using the platform's management interface. These settings control what users can see and do based on their assigned role.

Administrator Only

Permission management is only available to Platform Administrators. Other users will see an "Access Denied" message.


Accessing Permission Management

Navigate to Management in the sidebar to access the permission management pages:

Screenshot: Management Sidebar

Shows Management menu with Roles, Permissions, Navigation, and Users options

The Management section includes:

PagePurpose
RolesView all roles and compare permission statistics
PermissionsConfigure fine-grained resource/action permissions
NavigationControl sidebar menu visibility per role
UsersManage user accounts and role assignments

Roles

The Roles page provides an overview of all system roles and their permission statistics.

Roles Overview

Screenshot: Roles Overview Page

Shows list of roles with permission counts, granted counts, and navigation item counts

The roles table displays:

  • Role Name — Display name and system indicator
  • Permission Count — Total number of permission records for this role
  • Granted — Number of permissions that are enabled
  • Nav Items — Number of visible navigation items

Comparing Roles

To understand the differences between two roles, use the Compare Roles feature:

  1. Click Compare Roles button
  2. Select two roles from the dropdown menus
  3. View side-by-side permission comparison

Screenshot: Role Comparison Dialog

Shows two roles side-by-side with checkmarks indicating which permissions each role has

The comparison shows:

  • Resources and actions in rows
  • Checkmarks for each role's granted permissions
  • Differences highlighted for easy identification

Permissions

The Permissions page allows fine-grained control over what actions each role can perform on specific resources.

Permission Matrix

Screenshot: Permission Matrix Page

Shows resources in rows, actions in columns, with checkboxes for each permission

The permission matrix displays:

  • Role Selector — Choose which role to configure
  • Category Tabs — Filter resources by category
  • Resource Rows — Each resource that can be protected
  • Action Columns — Checkboxes for each action type

Understanding Resources and Actions

Resources are system entities that can be accessed:

ResourceCategoryDescription
userAdministrationUser accounts and management
master_dataAdministrationSystem reference data
reportAdministrationSystem reports
studyDesignClinical studies
siteDesignTrial sites
personnelDesignStudy team members
ecrf_designerDesignElectronic CRF form designer
study_siteDesignStudy-site assignments
study_subjectDesignStudy-subject enrollments
subjectExecutionStudy participants (Subjects)
crfExecutionCase Report Forms
crf_entryExecutionCRF data entries
demographicsExecutionSubject demographic data
vitalsExecutionVital signs records
eligibilityExecutionEligibility criteria
consentExecutionConsent records
adverse_eventExecutionAdverse event reports
laboratoryExecutionLaboratory results
physical_examinationExecutionPhysical exam records
family_medical_historyExecutionFamily medical history
concomitant_medicationExecutionConcomitant medications
eventsExecutionStudy events/visits

Actions are operations that can be performed:

ActionDescriptionUI Element
createCreate new records"Add" button in toolbar
readView existing recordsView data, "View" option in menu
updateModify existing records"Edit" option in row action menu
deleteDelete individual records"Delete" option in row action menu
bulk_deleteDelete multiple records at onceCheckboxes + "Delete Selected" button
exportExport data to external formats"Export" button
importImport data from external sources"Import" button
generateGenerate reports or documents"Generate" button (Reports)
Delete vs Bulk Delete

These are separate permissions:

  • Delete — Shows "Delete" option in the row action menu (⋮) for individual records
  • Bulk Delete — Shows checkboxes in the table and "Delete Selected" button for batch operations

Enable both if you want users to delete records individually AND in bulk.

Editing Permissions

To grant or revoke a permission:

  1. Select the role from the dropdown
  2. Navigate to the appropriate category tab (Administration, Design, Execution)
  3. Find the resource row
  4. Check or uncheck the action checkbox

Screenshot: Editing a Permission

Shows checkbox being toggled with saving indicator

Changes take effect immediately. A toast notification confirms the update.

Greyed Out Checkboxes

If a checkbox appears greyed out and disabled, it means that action is not available for that resource. Hover over it to see more details. Not all actions apply to every resource.

Stats Overview

At the top of the page, summary cards show:

  • Total Roles — Number of configured roles
  • Resources — Number of protected resources
  • Actions — Number of available actions
  • Permission Records — Total permission entries in the system

The Navigation page controls which sidebar menu items are visible to each role.

Screenshot: Navigation Permissions Page

Shows navigation items in rows, roles in columns, with visibility checkboxes

The navigation matrix displays:

  • Navigation Items — Sidebar menu entries (Dashboard, Studies, Subjects, etc.)
  • Role Columns — Checkbox for each role's visibility
  • Sort Order — Items are displayed in their sidebar order
Navigation ItemDescription
DashboardRole-specific home dashboard
StudiesClinical studies list
SubjectsSubject/participant list
SitesTrial sites management
eCRF DesignerForm designer (opens Frappe)
Master DataSystem reference data
ManagementAdmin settings and users

Configuring Visibility

To show or hide a navigation item for a role:

  1. Find the navigation item row
  2. Check or uncheck the checkbox under the role column

Screenshot: Toggling Navigation Visibility

Shows checkbox being toggled for a navigation item

Users will see the updated sidebar on their next page load.


How Permissions Affect the UI

Permissions control what users see and can do throughout the application.

Button Visibility

Buttons are automatically shown or hidden based on permissions:

Screenshot: Button Visibility Comparison

Left: Admin sees Add, Edit, Delete buttons. Right: Coordinator sees only View.

PermissionButtons Shown
createAdd, Create, New
updateEdit, Save, Update
deleteDelete, Remove
exportExport, Download
bulk_deleteBulk Delete, Select All

The sidebar adapts based on navigation permissions:

Screenshot: Sidebar Comparison by Role

Side-by-side: Admin sidebar vs Study Coordinator sidebar

Data Filtering

Beyond visibility, some roles see filtered data:

RoleData Scope
Platform AdministratorAll studies, all subjects, all sites
Study DesignerAll studies (configuration view)
Study CoordinatorOnly assigned studies and subjects
Principal InvestigatorOnly assigned studies (read-only)

Best Practices

Principle of Least Privilege

Grant only the permissions necessary for each role to perform their duties:

  • Start with minimal permissions
  • Add permissions as needed
  • Review permissions regularly

Testing Changes

After modifying permissions:

  1. Log in as a user with the modified role
  2. Verify buttons appear/disappear correctly
  3. Check that navigation items are correct
  4. Confirm data access is appropriately scoped

Common Configurations

Study Coordinator typically needs:

  • subject: create, read, update
  • vitals: create, read, update
  • adverse_event: create, read, update
  • Navigation: Dashboard, Studies, Subjects

Principal Investigator typically needs:

  • study: read
  • subject: read
  • adverse_event: read
  • Navigation: Dashboard, Studies, Subjects

Study Designer typically needs:

  • study: create, read, update
  • site: create, read, update
  • personnel: create, read, update
  • crf: create, read, update
  • Navigation: Dashboard, Studies, eCRF Designer

Refreshing Permissions

If permissions don't seem to update:

  1. Click the Refresh button on the Permissions or Navigation page
  2. Have the user refresh their browser
  3. The user may need to log out and log back in

Permissions are cached for performance. The refresh button forces a reload from the server.