Learn how to setup and configure PGR service
Public Grievances & Redressal (PGR) is a system that enables citizens to raise a complaint with the ULBs. A citizen can track the complaint, upload image related to the complaint, re-open the complaint if he/she is not satisfied and rate the service. This document contains the details about how to setup PGR service and describes the functionalities it provides
Before you proceed with the configuration, make sure the following pre-requisites are met -
Java 8
Kafka server is up and running
egov-persister service is running and has pgr-services persister config path added in it
PSQL server is running and database is created to store complaint data
(Optional) Indexer config for pgr-services is added in egov-indexer yaml paths to index the generated data. Index is required for data visualisation in Kibana or in DSS.
(Optional) Report config for pgr-services is added in Report service config paths. Required if reports are to be provided to the user.
Following services should be up and running:
egov-user
egov-workflow-v2
egov-perister
egov-localization
egov-notification-sms
egov-mdms
egov-idgen
egov-url-shortening
egov-hrms
A citizen can file, track and rate the complaint
A citizen can add image and comments related to the complaint
A citizen can re-open the complaint in a certain given period of time after resolution
ULB can setup the complaint workflow according to their requirements and staff capacity
ULB can track the SLA for resolving each complaint and can use it as a metric to streamline the process for resolving complaints
Department wise assignment of the complaint to the LME
Deploy the latest version of pgr-services
Add pgr-service-persister.yml file in config folder in git and add that path in persister. (The file path is to be added in environment yaml file in param called persist-yml-path )
If any Report Config is created, the config should be added to the config folder in git and that path should be added in Report service. (The file path is to be added in a file called “reportFileLocationsv1.txt” in Config folder)
If index is to be created add the indexer config path in indexer service. (The file path is to be added in environment yaml file in param called egov-indexer-yaml-repo-path)
Add master data in MDMS service with the module name as RAINMAKER-PGR. Following is some sample master data for the service:
Create businessService (workflow configuration) using the __/businessservice/_create. Following is the product configuration for PGR:
Using /localization/messages/v1/_upsert , add localisation (templates) for notification messages to be sent. Following are the product notification templates:
Add Role-Action mapping for the APIs in MDMS. Following are the required entries. They should be mapped to both CITIZEN and appropriate employee roles.
PGR service can be integrated with any organisation or system which wants to track customer queries or complaint. The organisations can customise the workflow depending on their product requirements.
Easy tracking and resolution of complaints
Configurable workflow according to client requirement
Customer can raise a complaint using the /requests/_create
.
Organisation or System can search the complaint using /requests/_searchendpoint
.
Once the complaint is raised the organisation or system can call /requests/_update
endpoint to move the application further in workflow until it gets resolved.
Learn more about module migration details
The above build has to be deployed to perform the migration. The batch persister config has to be added in config Repo. After adding the file in the repo, update the persister path in environment yml file. Make sure the persister.bulk.enabled is set to true. Once done restart the persister pod.
To start the migration call the following API with tenantId as param it will migrate data belonging to that tenantId. The API does not have role action mapping and should be used by port forwarding rainmaker-pgr pod.
*(Last query related to document might need little modification as values in NOT IN clause can be more than the 2 specified)
null value is stored in action for adding comments in the old system it’s mapped to COMMENT in new system.
The Locality attribute in new eg_pgr_address_v2 table does not allow NULL values whereas the locality attribute in the old eg_pgr_address in Punjab prod data has NULL values. Those values are filled in migration with dummy value NOT_AVAILABLE.
For 128 records accountId is NULL and so they won’t be associated with any citizen login.
For some records in the media column corrupt data is present. For example, in one case instead of fileStore uuid some normal text describing the complaint is present. While some other records have values like no. For data with such text having a length greater than 64 are set to null, else DB validations are violated.
In the old system-id is stored for referencing user data. In new systems we use uuid to refer user, therefore all id is mapped to respective uuid which are then migrated to the new system. If some user has uuid as NULL default value NOT_SPECIFIED will be used.
Some 1104 complaints has value in the column named feedback which seems to be from some set of predefined values like "Resolution Time", "Quality of work", ”others” etc. The new structure does not have any such column so we will be storing this in additionalDetails.
Address and landmark column in eg_pgr_service has values in some column they are also stored in additionalDetails.
Phone column contains phone numbers, we are not migrating that column as it has PII data and will be already present in user service as well.
If sla is not found in the old config (will only happen if some complaint category is removed from MDMS and complaints are present in the system of that category) default SLA value will be used.
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
Title
Link
Workflow Technical Document
User Technical Document
Link
/requests/_create
/requests/_update
/requests/_search
/requests/_count
Config/Service Name
Path/Build
Persister yml for bulk migration
pgr-services
pgr-services-db:pgr-migration-2475ec38-56
rainmaker-pgr
rainmaker-pgr-db:pgr-migration-c046a264-20