Sanitation
PlatformDomainsAcademyDesign SystemFeedback
v1.4
v1.4
  • Introducing Water-Sanitation
  • Water-Sanitation
    • Solution Design
    • Approach
    • Release Notes
      • FSM 1.4 - Technical Release Summary
      • Service Build Update
        • Release Builds for Core
      • MDMS Changes
      • Configuration Updates
      • Test Cases
      • Localisation
      • Impel Release Notes
      • Gate 2 Checklist
      • Workflow Configuration Changes
      • Master Migration Document
      • Driver-Individual Migration Script
  • Water-Sanitation Product Suite
    • Waste Management System
      • Functional Specifications
        • TQM UI
          • How to Enable TQM UI
          • UI: Plant Operator
            • Landing and Home Page
            • Plant-User Mapping
            • Inbox/Update Tests
            • View Past Test Results/Test's Summary Screen
            • Help Section
          • UI: ULB Admin
            • ULB Admin Home Page
            • Inbox/Test Details Screen
            • View Past Test Results
            • Create Adhoc Test
        • TQM UI/UX Audit
      • Faecal Sludge Management (FSM)
        • Features
        • Sanitation Actors & Interactions
        • User Interface Design
        • FSM User Manual
          • FSM Citizen User Manual
          • Employee User Manual
          • Manage Vendor, Sanitation Worker and Vehicle Details
          • DSO User Manual
          • Septage Treatment Plant Operator User Manual
        • Test Cases
        • FSM Functional Specification
          • Sanitation Worker UI
            • FSM Registry
            • Create Sanitation Worker
            • Edit Sanitation Worker
            • Assign Sanitation Workers to FSM Applications
            • Sanitation Worker Details
          • FSM UI Docs
            • FSM Citizen UI
            • FSM Employee UI
            • FSM DSO UI
            • FSM FSTPO UI
          • FSM UI/UX Audit
        • FSM Technical Specification
          • Vehicle Technical Specification
          • Vendor Technical Specification
          • Calculator Technical Specification
        • FSM Release Notes
          • Known Issues List
        • Product Requirement Document
        • Training
        • Sanitation Worker Welfare
          • Vendor Registry
          • FSM Service
          • Sanitation Worker( FSM 1.4) UI/UX Audit
        • FSM-DSS Technical Documentation
        • Enablement toolkits(Assetization) for FSM
          • Getting started with DIGIT
          • Requirements to enable FSM Module in a new evironment
          • Dependency services of the FSM module
          • Data templates for data collection
          • Data loading steps
            • Loading Billing Slab Data
            • Loading Vendor,Vehicle and Driver Data
            • Loading Localisations
            • Plant Mapping of FSTP
            • Creating users for FSM
          • Preparation of MDMS Data for Data Loading
          • SMS Templates for FSM
        • URC Release Notes
          • Steps to Configure URC
        • Garima Release Notes
          • Steps to Configure Garima
        • User Personas
      • Treatment Quality Monitoring (TQM)
        • Features
        • User Stories
          • Treatment Quality Monitoring Dashboard KPIs
        • User Interface Design
        • User Manual
          • Employee User Manual
          • Treatment Plant Operator User Manual
        • TQM Setup
          • User Manual
        • Release Notes
          • Known Issue List
        • Product Requirement Document: Treatment Quality Monitoring (TQM)
        • PQM Technical Specification
        • TQM Impel Checklist & Roll-out Plan
    • Water & Sewerage Connections
    • NalJal
  • Technology
    • Architecture
      • PQM
        • Low Level Design
          • Services
            • PQM Service
            • PQM Anomaly Finder
            • PQM Scheduler
      • FSM
        • Low Level Design
          • Services
            • FSM Service
            • FSM Calculator
          • Registries
            • FSM Vendor Registry
            • FSM Vehicle Registry
    • Source Code
  • Reference Implementations
    • Odisha - SUJOG
      • Functional Customisation
        • Urban-Rural Convergence
        • Garima Implementation
          • User Interface Design
          • Product Requirement Document (PRD)
      • Technical Customisation
      • Technical Specification: Urban-Rural Convergence
      • Standard Operating Procedure (SOP)
      • Program Rollout Plan
      • Implementation Plan
      • Implementation Guide
      • Implementation Checklist
      • TQM Gate 2 Plans & Checklist
  • Setup
    • Setup
      • On AWS
    • Deployment Guide
      • Legacy/Re-Indexing the FSM Data
      • Legacy/Re-Indexing the PQM Data
      • FSM devops setups
      • FSM Calculator devops setup
      • Vendor registry devops setup
      • Vehicle registry devops setup
    • Development Guide
      • Backend Developer Guide
      • UI Developer Guide
    • Configuration
      • TQM
        • PQM Service
        • PQM Anomaly Finder
        • PQM Scheduler
      • FSM
        • FSM Service
        • Vendor Registry
        • Vehicle Registry
        • FSM Calculator
    • Operations Guide
  • COMMUNITY
    • Community Project: Vehicle Tracking
      • Release Notes
        • Service Build Update
          • Release Builds for Core
        • Test Cases
      • Architecture
        • Vehicle Tracking
          • High Level Design
          • Low Level Design
      • User Manuals
        • Employee User Manual
        • Driver User Manual
      • Demo
      • Product Requirement Document (PRD)
      • Deployment Guide
      • Setup
      • Source Code
    • Contribute
    • Issues
Powered by GitBook

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.

On this page
  • Overview
  • Logical Data Flow
  • UI/UX Wireframe
  • Technical Components & Design
  • Sample MDMS
  • DB Details
  • Functional Impact
  • Employee Flow
  • FSTP Flow
  • Citizen flow
  • Dashboard - URC Charts:

Was this helpful?

Export as PDF
  1. Water-Sanitation Product Suite
  2. Waste Management System
  3. Faecal Sludge Management (FSM)

Garima Release Notes

Was this helpful?

Overview

  • The urban-rural convergence is an initiative that aims to ensure access to sanitation services to all gram panchayats (GPs) via urban local bodies (ULBs) located closest to them.

  • A ULB employee creates applications to cater to the sanitation needs of local communities in urban areas. In the same way, they should also cater to the same sanitation needs of rural bodies near that urban region.

  • They need a provision in a system while creating a new application to either choose local municipalities or urban-supported villages.

  • Based on their choice they would be able to select either a locality/mohalla or a GP area from the respective master data drop-down list.

  • The caveat here is that if a ULB employee chooses GP, then the trip amount field should be editable where he/she can fill in any logical amount based on the offline calculation instead of the auto-calculated amount already there in an application in the case of urban bodies.

  • ULB employees or DSO operators should also be able to edit the number of trips. The final amount should be multiple of the initial amount entered into an application with the number of trips.

Logical Data Flow

UI/UX Wireframe

Technical Components & Design

  • Update the MDMS data: boundary-data.json

    - Add a new children hierarchy for GP under city which will be parallel to locality. A sample MDMS is attached below:

  • By default, the 'Urban' option will be pre-selected in the radio button in the above wireframe and the drop-down will have the locality/mohalla master data. If an employee selects “ULB supported village”, then the locality/mohalla drop-down will be replaced by GPs and village drop-down data on the fly.

  • The system will use the below URL to fetch the localities or GPs and their corresponding villages.

    - In the case of localities, one needs to pass boundaryType as “Locality”.

    - In the case of GP/villages, one needs to pass the boundaryType as “GP”.

  • Introduction of a new string column (boundary_type) in the FSM_APPLICATION table to capture (locality or GP) to determine if the application created is for rural or not so that in the near future it will be helpful for the analytics and statistics in dashboards.

    - The default value for this column will be locality to support backward compatibility

  • Adding a vehicle log would also have the option to select urban (default option) or rural. If rural gets selected the text name of an element would be replaced from 'locality' to “Gram Panchayat” for a text field.

  • Introduction of a new column of string type (boundary_type) in the vehicle_trip table to capture if the vehicle log is created for the GP or not.

    - The default value for this column will be Locality to support backward compatibility.

Sample MDMS

boundary-data.json

{
    "tenantId": "pb.amritsar",
    "moduleName": "egov-location",
    "TenantBoundary": [{
        "hierarchyType": {
          "code": "REVENUE",
          "name": "REVENUE"
        },
        "boundary": {
          "id": 1,
          "boundaryNum": 1,
          "name": "Angul",
          "localname": "Angul",
          "longitude": null,
          "latitude": null,
          "label": "City",
          "code": "od.angul",
          "children": [{
              "id": "2",
              "boundaryNum": 1,
              "name": "Baniabahal",
              "localname": "Baniabahal",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL1"
            },
            {
              "id": "3",
              "boundaryNum": 1,
              "name": "Hulurisinga",
              "localname": "Hulurisinga",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL2"
            },
            {
              "id": "4",
              "boundaryNum": 1,
              "name": "Angul town",
              "localname": "Angul town",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL3"
            },
            {
              "id": "5",
              "boundaryNum": 1,
              "name": "Other",
              "localname": "Other",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL4"
            },
            {
              "id": 6,
              "boundaryNum": 1,
              "name": "GP 1",
              "localname": "GP1",
              "longitude": null,
              "latitude": null,
              "label": "GP",
              "code": "GP1",
              "children": [{
                  "id": 11,
                  "boundaryNum": 1,
                  "name": "Village 1",
                  "localname": "Village local 1",
                  "longitude": 74.871552,
                  "latitude": 31.63089,
                  "label": "Village",
                  "code": "SUN04",
                  "pincode": [143001],
                  "area": "V-Area1",
                  "children": []
                },
                {
                  "id": 12,
                  "boundaryNum": 1,
                  "name": "Village 2",
                  "localname": "Village local 2",
                  "longitude": null,
                  "latitude": null,
                  "label": "Village",
                  "code": "SUN11",
                  "pincode": [143001],
                  "area": "V-Area1",
                  "children": []
                }
              ]
            },
            {
              "id": 8,
              "boundaryNum": 1,
              "name": "GP 2",
              "localname": "GP2",
              "longitude": null,
              "latitude": null,
              "label": "GP",
              "code": "GP2",
              "children": [{
                  "id": 13,
                  "boundaryNum": 1,
                  "name": "Village 3",
                  "localname": "Village local 3",
                  "longitude": 74.871552,
                  "latitude": 31.63089,
                  "label": "Village",
                  "code": "SUN04",
                  "pincode": [143001],
                  "area": "V-Area1",
                  "children": []
                },
                {
                  "id": 14,
                  "boundaryNum": 1,
                  "name": "Village 4",
                  "localname": "Village local 4",
                  "longitude": null,
                  "latitude": null,
                  "label": "Village",
                  "code": "SUN11",
                  "pincode": [143001],
                  "area": "V-Area1",
                  "children": []
                }
              ]
            }
          ]
        }
      },
      {
        "hierarchyType": {
          "code": "ADMIN",
          "name": "ADMIN"
        },
        "boundary": {
          "id": 1,
          "boundaryNum": 1,
          "name": "Angul",
          "localname": "Angul",
          "longitude": null,
          "latitude": null,
          "label": "City",
          "code": "od.angul",
          "children": [{
              "id": "2",
              "boundaryNum": 1,
              "name": "Baniabahal",
              "localname": "Baniabahal",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL1"
            },
            {
              "id": "3",
              "boundaryNum": 1,
              "name": "Hulurisinga",
              "localname": "Hulurisinga",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL2"
            },
            {
              "id": "4",
              "boundaryNum": 1,
              "name": "Angul town",
              "localname": "Angul town",
              "longitude": null,
              "latitude": null,
              "label": "Locality",
              "code": "VIL3"
            }
          ]
        }
      }
    ]
  }

UrcConfig.json

To enable URC feature in the UI:

{
    "tenantId": "pg.angul",
    "moduleName": "FSM",
    "urcConfig": [
        {
            "URCEnable": true,
            "villageHierarchyAvailable": true
        }
    ]
}
{
    "ResponseInfo": {
        "apiId": "org.egov.boundary",
        "ver": null,
        "ts": "",
        "resMsgId": "uief87324",
        "msgId": null,
        "status": "200 OK"
    },
    "TenantBoundary": [
        {
            "hierarchyType": {
                "id": null,
                "name": "REVENUE",
                "code": "REVENUE",
                "localName": null,
                "tenantId": null,
                "createdBy": null,
                "createdDate": null,
                "lastModifiedBy": null,
                "lastModifiedDate": null,
                "version": 0,
                "new": false
            },
            "boundary": [
                {
                    "code": "VIL1",
                    "name": "Baniabahal",
                    "label": "Locality",
                    "latitude": null,
                    "longitude": null,
                    "area": null,
                    "pincode": null,
                    "boundaryNum": 1,
                    "children": []
                },
                {
                    "code": "VIL2",
                    "name": "Hulurisinga",
                    "label": "Locality",
                    "latitude": null,
                    "longitude": null,
                    "area": null,
                    "pincode": null,
                    "boundaryNum": 1,
                    "children": []
                },
                {
                    "code": "VIL3",
                    "name": "Angul town",
                    "label": "Locality",
                    "latitude": null,
                    "longitude": null,
                    "area": null,
                    "pincode": null,
                    "boundaryNum": 1,
                    "children": []
                },
                {
                    "code": "VIL4",
                    "name": "Other",
                    "label": "Locality",
                    "latitude": null,
                    "longitude": null,
                    "area": null,
                    "pincode": null,
                    "boundaryNum": 1,
                    "children": []
                }
            ],
            "tenantId": "pb.amritsar"
        }
    ]
}
{
    "ResponseInfo": {
        "apiId": "org.egov.boundary",
        "ver": null,
        "ts": "",
        "resMsgId": "uief87324",
        "msgId": null,
        "status": "200 OK"
    },
    "TenantBoundary": [
        {
            "hierarchyType": {
                "id": null,
                "name": "REVENUE",
                "code": "REVENUE",
                "localName": null,
                "tenantId": null,
                "createdBy": null,
                "createdDate": null,
                "lastModifiedBy": null,
                "lastModifiedDate": null,
                "version": 0,
                "new": false
            },
            "boundary": [
                {
                    "code": "GP1",
                    "name": "GP 1",
                    "label": "GP",
                    "latitude": null,
                    "longitude": null,
                    "area": null,
                    "pincode": null,
                    "boundaryNum": 1,
                    "children": [
                        {
                            "code": "SUN04",
                            "name": "Village 1",
                            "label": "Village",
                            "latitude": "31.63089",
                            "longitude": "74.871552",
                            "area": "V-Area1",
                            "pincode": [
                                143001
                            ],
                            "boundaryNum": 1,
                            "children": []
                        },
                        {
                            "code": "SUN11",
                            "name": "Village 2",
                            "label": "Village",
                            "latitude": null,
                            "longitude": null,
                            "area": "V-Area1",
                            "pincode": [
                                143001
                            ],
                            "boundaryNum": 1,
                            "children": []
                        }
                    ]
                },
                {
                    "code": "GP2",
                    "name": "GP 2",
                    "label": "GP",
                    "latitude": null,
                    "longitude": null,
                    "area": null,
                    "pincode": null,
                    "boundaryNum": 1,
                    "children": [
                        {
                            "code": "SUN04",
                            "name": "Village 3",
                            "label": "Village",
                            "latitude": "31.63089",
                            "longitude": "74.871552",
                            "area": "V-Area1",
                            "pincode": [
                                143001
                            ],
                            "boundaryNum": 1,
                            "children": []
                        },
                        {
                            "code": "SUN11",
                            "name": "Village 4",
                            "label": "Village",
                            "latitude": null,
                            "longitude": null,
                            "area": "V-Area1",
                            "pincode": [
                                143001
                            ],
                            "boundaryNum": 1,
                            "children": []
                        }
                    ]
                }
            ],
            "tenantId": "pb.amritsar"
        }
    ]
}

DB Details

Table Name

Column Name

Comments

eg_fsm_application

boundarytype

To capture (locality or GP) to determine if the application created is for rural or not based on the radio button selection.

eg_fsm_address

additionaldetails.gramPanchayat

To store the selected GP while creating an application.

eg_fsm_address

additionaldetails.village

To store the selected village while creating an application.

eg_vehicle_trip

boundarytype

To capture (locality or GP) if the vehicle log is created for GP or not.

Functional Impact

To analyse the impact, we deployed a different module (property tax) which points to the same boundary-data mdms.

Expectation:

For FSM Module: Non-URC flow: The locality drop-down should show all the localities as it is (there should be no impact). URC flow: The gram panchayat and village drop-down should show as per the new GP and village added to the MDMS.

For Property Tax Module: The locality drop-down should show all the localities as it is (there should be no impact).

Property Tax Screen:

The locality dropdown in property tax displays the values from the existing location hierarchy itself (there is no impact).

Employee Flow

SUJOG FSM (NON-URC)

In FSM, for non-URC, the locality drop-down shows the values from the existing hierarchy itself (there is no impact)..

SUJOG FSM (URC)

  • GP drop-down In the case of FSM (URC), the gram panchayat and village drop-downs are showing values from the new hierarchy we have configured in the existing MDMS.

  • Village Dropdown

  • Pricing

    • Pricing per trip will be entered by “ULB employees” for each request.

    • ULB employees will have a free text entry field to enter the price for a request.

FSTP Flow

In FSTP, there are two scenarios -

  1. Selects a gram panchayat from drop-down but the village is not in the list. In this case, select 'other' in the village and a free text field appears.

  2. Select 'other' in the GP list. In this case, 2 free text fields appear - one for GP and one for village.

If the locality or GP is located outside the city, then select “Outside ULB Limits” and provide the locality/gram panchayat name in the text field.

Citizen flow

Dashboard - URC Charts:

Description

In the dashboard, add the following chart:

  1. Add pie chart: Applications by source

    1. Pie chart value: Ratio of applications from GP: Ratio of requests from urban areas.

    2. Add toggle for applications and sludge.

    3. Pie chart value: Ratio of sludge disposed from GP: Ratio of sludge from urban areas.

    4. Tooltip: Show total applications and total sludge (See design). Tooltip value to be responsive to toggle between unit, lakh, and crore.

    5. The chart should filter based on the period, district, ULB (dashboard filters).

  2. Add bar chart: Number of applications per month from the GP.

    1. Bar chat value: The total number of applications from the GP.

    2. Add toggle for applications and sludge disposed.

    3. Tooltip: Show the total applications and total sludge (See design). Tooltip value to be responsive to toggle between unit, lakh, and crore.

    4. The chart should filter based on the period, district, ULB (dashboard filters).

boundaryType=Locality&tenantId=pb.amritsar

boundaryType=GP&tenantId=pb.amritsar

We are keeping the locality hierarchy under the city as it is [No change there]. And the ‘location api’ with boundaryType as 'locality' will be used the same way it's being called currently to get the localities. Below are the API details: boundaryType=Locality&tenantId=pb.amritsar Response:

To get a list of gram panchayats and corresponding villages, pass the boundaryType as 'GP'. Below are the API details: boundaryType=GP&tenantId=pb.amritsar

The chart should have export, share, and download options.

The chart should have export, share, and download options.

https://dev.digit.org/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=REVENUE&
https://dev.digit.org/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=REVENUE&
https://dev.digit.org/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=REVENUE&
https://dev.digit.org/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=REVENUE&