Skip to main content
Version: 3.1

Role

A role is a named set of permissions. You grant a role to a user inside one boundary, such as a facility or an organization. The role decides what that user can do inside that boundary.

What it represents

Care has no separate list of powers for each person. Every ability comes from a role that somebody grants at a place. A role holds three things:

  • A name — what the deployment calls this set of permissions, for example "Doctor" or "Pharmacist".
  • A description — free text that tells an administrator what the role is for.
  • Contexts — the kinds of boundary where the role applies.
  • Permissions — the actions that the role allows. A role needs a minimum of one permission.

A role is not a job title. "Doctor", "Nurse" and "Pharmacist" are only permission sets with convenient names. Two roles with similar names have no relation to each other. Care also allows the same name in two different contexts: "Admin" exists as a facility role and as a separate responsibility role.

note

A role is different from a responsibility (a role organization). A role is a set of permissions. A responsibility is a group of users. See Organization.

Contexts

The contexts of a role say where an administrator can grant it. A role with the Facility context only appears when somebody assigns a user inside a facility.

ContextWhere the role applies
FacilityInside a facility, and inside the departments of that facility
Government OrganizationInside a government organization, such as a state or a district
ResponsibilityInside a responsibility, which is a group of users

System roles and custom roles

Care marks the roles that it supplies with the System badge. A deployment can add custom roles beside them.

TypeWho creates itWhat you can change
System roleCare supplies it with the productNothing. You cannot edit or delete a system role.
Custom roleA super administrator creates itThe name, the description, the contexts, and the permissions.

To start a custom role from a system role, clone the system role. Care copies the permissions into a new role and adds "(Copy)" to the name.

These are the system roles:

RolePurposeContexts
DoctorDoctor at some facilityFacility, Government Organization
NurseNurse at some facilityFacility, Government Organization
StaffStaff at some facilityFacility, Government Organization
VolunteerVolunteer at some facilityFacility, Government Organization
PharmacistPharmacist at some facilityFacility
AdministratorAdministrator at a given boundaryFacility, Government Organization
Facility AdminAdministrator of a facility. Care gives this role to the person who creates the facility.Facility
AdminAdministrator of a facility or a government organizationFacility, Government Organization
AdminAdministrator of a responsibilityResponsibility
ManagerManager of a responsibilityResponsibility
MemberMember of a responsibilityResponsibility

How a role reaches a user

A role gives no access on its own. An administrator grants the role to a user inside one organization or one facility. The user then holds the permissions of that role in that boundary and in everything below it.

User → Role → Boundary (facility, organization, or responsibility)

The same user can hold different roles in different boundaries. The access of a user on a record is the sum of every role that reaches that record. If you move a user to a new facility, the old access does not follow, because somebody granted it at the old boundary.

Permissions

Every permission in a role is one action, such as "Can Create Patient". Care declares the permissions in the product, and an administrator selects them when the administrator builds a role. Care matches the permission to the kind of resource that the user acts on. For this reason, a permission for a patient does not also allow an action on a facility.