Description
Background
DIGIT has the capability of role-based workflow mapping using which workflows can be defined in the system based on role mapping that controls which users can take which actions based on a role assigned to them. Also, each employee can be mapped to a defined jurisdiction in the system. But while the concept of jurisdiction exists in the system, the system lacks the ability to associate workflow events and role mapping with jurisdiction in tandem. As a result, it is not possible to define automatic workflow events in the system based on jurisdiction. This delays service delivery beyond the desired SLA since time is lost in assigning the right person to deal with the issue. The request keeps sitting in the inbox for many days until someone manually picks up the request relevant to them.
What is the feature
Ability to associate service requests to relevant employees based on jurisdiction
Preliminary Requirements - Open to Inputs
Here is an initial list. Please suggest further requirements in the comments.
- Route applications based on jurisdiction- Redirect service requests to the relevant employee using the association with jurisdiction.
- Manual assignment made easy - Show relevant users based on jurisdiction, if someone is doing the assignment manually.
- Jurisdiction-based access - Permit CRUD on application only for a specific ‘User’ based on the association to a Jurisdiction.
- Restrict CRUD operations on the applications for other users of the same role - If there are two users of the same role in different jurisdictions - User A in Jurisdiction X and User B in Jurisdiction Y both have the same role Z, they should only have access to applications that are relevant to their jurisdiction.
Detailed description of the problem:
Service delivery is delayed because all assignment currently happens manually. The system lacks the required rules to decide which application belongs to which employee.
Let’s say once a citizen creates an application. Based on the workflow, the application will be made visible to users of a certain role.
This is where the problem happens because all users of a certain role will be looking at all the applications at once. This creates a huge problem in cases where hundreds of applications come in on a daily basis.
The following cases illustrate the problem as experienced in different solutions:
-
Case 1 - Public Grievance Redressal: All complaints are directed to one person. This person redirects the complaints manually to the relevant employees. The system currently shows all employees in the drop-down and as the assigner, I have to go through a long list to find the right employee for the application.
-
Case 2 - OBPAS, TL: Every application is visible to multiple employees of the same role. These employees have to search for the applications from the common pool rather than the system only showing them the applications relevant to them.
Information for Reference
Here is a quick description of a few terms mentioned in the discussion.
-
Role mapping is a mapping of a role to a set of actions in the system. It helps define and manage user access by associating users with a certain role.
-
Workflow is a state machine that allows the transition of service requests (or any entities in general) from one state to another. A state change could be the assignment of the service request to a particular person or a change of the status of the application from open to closed or from open to rejected.
-
Jurisdiction is a hierarchical data structure that can be defined by master data management. For example, a city can have multiple circles which can have multiple wards. Depending on the city, the terms ‘circle’ and ‘ward’ can have different names. For example - these wards or circles are related to actual areas like Koramangala, Whitefield, and Bellandur as in the case of Bangalore.
Learning Path:
Learning how to integrate workflow configuration for different heirachy. These are general concepts across domains.
Complexity
Medium
Skills Required
Java, Spring Boot, Redis
Name of Mentors:
[email protected]
Project size
8 Weeks
Product Set-Up:
Setting up a development environment with the required tools and libraries like Java, Spring Boot, Redis, etc.
Setting up the few core services of DIGIT like zuul and ego-user locally for testing and development purposes.
Configuring the development environment with appropriate secrets, keys, and environment variables for secure JWT token generation and verification.
Refer : Developer Guide
Acceptance Criteria:
Successful integration of the Jurisdiction based workflow with the DIGIT platform
**For further information: **
-
Documentation- Workflow, Access Control
-
Code - Workflow, Access Control
-
Visit and search: core.digit.org
-
Mail - [email protected], [email protected]