Roles and Permissions

ROLES_AND_PERMISSIONS.md

Roles and Permissions

My Clinic Software uses role-based access control (RBAC). Every user is assigned a role, and each role defines exactly which sections of the system can be accessed and what actions can be performed.


Built-in Roles

Admin / Owner

Full access to all features, data, and settings across the entire system.

AreaPermissions
All modulesRead, Write, Delete
SettingsFull configuration access
Users & RolesCreate, edit, delete users and roles
Audit LogsView all system activity
ReportsAll reports
SubscriptionManage billing and subscription

Doctor

AreaPermissions
PatientsRead, Write
VisitsRead, Write
AppointmentsRead, Write
PrescriptionsRead, Write, Delete
Lab ResultsRead, Write
DocumentsRead, Write
QueueRead, Write
ReferralsRead, Write
ReportsRead
MedicinesRead
ServicesRead
RoomsRead

Nurse

AreaPermissions
PatientsRead, Write
VisitsRead, Write
AppointmentsRead
PrescriptionsRead
Lab ResultsRead, Write
QueueRead, Write
MedicinesRead
RoomsRead

Receptionist

AreaPermissions
PatientsRead, Write
AppointmentsRead, Write
QueueRead, Write
InvoicesRead, Write
VisitsRead
DoctorsRead
ServicesRead
RoomsRead

Accountant

AreaPermissions
PatientsRead
InvoicesRead, Write
ReportsRead
VisitsRead

Medical Representative

AreaPermissions
DoctorsRead
AppointmentsRead

Permission Levels

LevelWhat It Allows
ReadView records and lists; cannot make changes
WriteCreate new records and edit existing ones
DeleteRemove records permanently

Managing Users

Admin role required.

Creating a User

  1. Go to Users in the sidebar.
  2. Click New User.
  3. Fill in the form:
FieldDescription
First Name / Last NameUser's full name
EmailLogin email address — must be unique
PasswordInitial password (user should change this on first login)
RoleAssign one of the available roles
ActiveToggle to enable or disable the account
  1. Click Save.

The user can now log in with the provided email and password.

Editing a User

  1. Click the user in the Users list.
  2. Click Edit.
  3. Update the fields as needed.
  4. Click Save.

Changing a User's Role

  1. Open the user record.
  2. Click Edit.
  3. Change the Role field.
  4. Save.

The new permissions take effect on the user's next login.

Deactivating a User

Deactivating a user prevents them from logging in without deleting their data.

  1. Open the user record.
  2. Click Edit.
  3. Toggle Active to off.
  4. Save.

Custom Roles

Admins can create custom roles with tailored permission sets.

Creating a Custom Role

  1. Go to Roles in the sidebar.
  2. Click New Role.
  3. Enter a Role Name.
  4. For each module, check the permissions this role should have (Read, Write, Delete).
  5. Click Save.

The new role is immediately available for assignment to users.

Editing a Role

  1. Click the role in the Roles list.
  2. Click Edit.
  3. Adjust the permissions.
  4. Click Save.

Changes to a role affect all users assigned that role immediately.


Audit Logging

Every user action in the system is logged in the Audit Logs section, visible to admins. Logs record:

  • Which user performed the action
  • What action was taken (create, update, delete, view)
  • Which record was affected
  • The timestamp

Use audit logs for compliance reviews, security investigations, or tracking data changes.


Best Practices

  • Assign users the least privilege role that covers their responsibilities. For example, a billing clerk should be Accountant, not Admin.
  • Regularly review the Users list and deactivate accounts for staff who have left the clinic.
  • Use Custom Roles only when built-in roles genuinely do not fit — custom roles increase administrative complexity.
  • Never share login credentials between users. Each staff member should have their own account.