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.

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 TypePrivilegeExplanation
SubjectView subjectControls 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.
SubjectRegister subjectAllows field users to register new subjects.
SubjectEdit subjectAllows field users to edit previously registered subjects.
SubjectVoid subjectAllows field users to void previously registered subjects.
SubjectAdd member*Allows field users to add a member to household subject.
SubjectEdit member*Allows field users to edit previously added household members.
SubjectRemove member*Allows field users to remove previously added household members.
EnrolmentEnrol subjectAllows field users to enrol a subject into a program.
EnrolmentView enrolment detailsAllows field users to view the program enrolment details for a subject.
EnrolmentEdit enrolment detailsAllows field users to edit the program enrolment details for a subject.
EnrolmentExit enrolmentAllows field users to exit a subject from a program.
EncounterView visitAllows field users to view encounters for a subject.
EncounterSchedule visitAllows field users to schedule encounters for a subject.
EncounterPerform visitAllows field users to perform encounters for a subject.
EncounterEdit visitAllows field users to edit previously saved encounter details.
EncounterCancel visitAllows field users to cancel a previously scheduled encounter.
EncounterVoid visit**Allows field users to void an encounter
ChecklistView checklistAllows field users to view checklist.
ChecklistEdit checklistAllows 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.