Access Control
Before the introduction of Access Control, organisation users with access to the field app could access all functions (i.e. registration, enrolments, search etc.) in the app. There was a need for some implementations to limit access to specific functions in order to reduce the number of options visible to end users and simplify the workflow for them while also providing a mechanism for access control.
Access Control is implemented via User Groups to facilitate this need. This functionality is available to Organisation admins in the Admin section of the Web app under the User Groups menu.
Applicability
- The access control rules are applicable in the field app, data entry app, and the web app.
- Access control is not applicable to the reporting app.
User Groups
User Groups represent a collection of users and a set of privileges allowed to these users. User with EditUserGroup and EditUserConfiguration privilege can define as many groups as they need to define the access control required for their organisation. Each group can be assigned a set of privileges (or all privileges using the switch available at the top).
Each user can be added to multiple groups.
Privileges are Additive
If any of the groups that a user belongs to allows a particular privilege, the user will have access to that function.
Default Groups
By default, the system creates an Everyone
and an Administrators
group. Everyone
group includes all the users in the organisation. Administrators
group grants all the privileges to allow access to all the functionality.
![](https://files.readme.io/9c003c1-Screenshot_2023-08-08_at_3.46.23_PM.png)
Users cannot be removed from Everyone
group but the privileges associated with this group can be modified. The has all privileges flag cannot be reset for Administrators
group.
Privileges
The following privileges are available in order to allow organisation admins to configure fine-grained access to functions for the org users. These privileges are configurable per entity type i.e. a group could have the 'View subject' privilege allowed for subject type 'abc' but disallowed for subject type 'xyz'.
- The Subject level privileges are configurable for each Subject Type setup in your organisation.
- The Enrolment level privileges are configurable for each program setup in your organisation.
- The Encounter level privileges are configurable for each Encounter Type (General or Program) setup in your organisation.
- The Checklist level privileges are configurable for each Program containing checklists for your organisation.
Entity Type | Privilege | Explanation |
---|---|---|
Subject | View subject | Controls whether field users can see subjects of a particular subject type in the app. All other privileges are dependent on this privilege. If disallowed, field users cannot see or access any functionality for the specific subject type. |
Subject | Register subject | Allows field users to register new subjects. |
Subject | Edit subject | Allows field users to edit previously registered subjects. |
Subject | Void subject | Allows field users to void previously registered subjects. |
Subject | Add member* | Allows field users to add a member to household subject. |
Subject | Edit member* | Allows field users to edit previously added household members. |
Subject | Remove member* | Allows field users to remove previously added household members. |
Enrolment | Enrol subject | Allows field users to enrol a subject into a program. |
Enrolment | View enrolment details | Allows field users to view the program enrolment details for a subject. |
Enrolment | Edit enrolment details | Allows field users to edit the program enrolment details for a subject. |
Enrolment | Exit enrolment | Allows field users to exit a subject from a program. |
Encounter | View visit | Allows field users to view encounters for a subject. |
Encounter | Schedule visit | Allows field users to schedule encounters for a subject. |
Encounter | Perform visit | Allows field users to perform encounters for a subject. |
Encounter | Edit visit | Allows field users to edit previously saved encounter details. |
Encounter | Cancel visit | Allows field users to cancel a previously scheduled encounter. |
Encounter | Void visit** | Allows field users to void an encounter |
Checklist | View checklist | Allows field users to view checklist. |
Checklist | Edit checklist | Allows field users to edit checklist. |
*
Only for 'Household' subject types
**
Only available as part of Avni 4.0 release (not a full list)
Some of these privileges imply others. For example, allowing the 'Register Subject' privilege implies that the group will also have 'View Subject' allowed. The system handles these dependencies automatically.
What if I have a simple setup with no separate users?
You can add all your users to the Administrators
group.
Is some data with no access control?
Yes some of the app designer and admin user interface (or non-operational data) is open to all users with read access. This data is not confidential in any of the implementations of Avni, hence this has been kept open for any user with login to the organisation.
Can users update metadata using the API
No, the server also check for the access privileges of the user.
Super admin access
Access of super admin is restricted to non-operational data of the organisations. Operational data cannot be viewed as well by super admin. This is to provide visibility to the organisations about who can view their data.
Updated 9 months ago