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
  • Plant User Mapping
  • Pre-requisites
  • Key Functionalities
  • Feature Enhancement
  • Kafka Topic Details
  • Integration
  • Changes for FSMv1.4
  • Inbox V2 API
  • Interaction Diagram
  • Sequence Diagram
  • Reference Docs
  • API List

Was this helpful?

Export as PDF
  1. Technology
  2. Architecture
  3. FSM
  4. Low Level Design
  5. Services

FSM Service

Learn how to setup and configure FSM service

Overview

Faecal sludge management (FSM) is a system that enables citizens to raise a request for septic tank cleaning with their urban local bodies (ULBs) directly or by reaching out to the ULB counter. Citizens can track the application, make a payment for the charges, and rate the service. This document contains details on how to set up FSM, and describes the functionalities it provides. It contains the details about the feature enhancements being released as part of FSM v1.3.

As part of the FSM v1.4, a new worker registry concept is being introduced. The creation of a worker, updation of details, searching and tagging a worker for different operations on sanitation programmes will be covered. While assigning vehicle for the application, we have the functionalities which will provide the ability to assign multiple sanitation workers for the application.

Plant User Mapping

The fsm service enables mapping plant codes to FSTP employee, ensuring that each is only authorised to manage to their account, enhancing control and accountability. In the mapping process need to check below mention things

  • PlantCode : Unique plant code which is configured in the mdms

  • employeeUuid : Unique user id of the employee which have the type of fsm-fstp.

Pre-requisites

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 fsm-persister config path added in it

  • PSQL server is running and a database is created to store FSM Application data

  • (Optional) Indexer config for FSM is added in egov-indexer yaml paths to index the generated data. An index is required for data visualisation in kibana or in DSS.

  • Following services should be up and running:

    • egov-user

    • egov-workflow-v2

    • egov-perister

    • egov-localisation

    • egov-notification-sms

    • egov-mdms

    • egov-idgen

    • egov-url-shortening

    • vehicle

    • vendor

    • fsm-calculator

    • billing-service

    • collection-services

    • individual-services

Key Functionalities

  • Citizens can file, track, and rate the application for cleaning the septic tank.

  • A ULB employee can file application for cleaning the septic tank on behalf of a citizen.

  • A ULB employee can assign a DSO to the given application with a possible service date.

  • A DSO can accept or reject the application.

  • A DSO or a ULB employee can complete the FSM application after cleaning the septic tank.

  • The FSM admin in a ULB can cancel the application at any stage before completing the application.

  • A ULB employee or an admin can view the audit log of the given application.

  • Capture citizen gender information if not present or pre-populate the gender information when a citizen is creating the FSM application.

  • Add citizen's choice for payment.

  • Introducing pre-pay and post-pay service.

  • Post-pay service: Workflow changes (Desludging application and vehicle trip).

  • Post-pay service: Employee flow enhancements.

  • Add payment selection for DSO.

  • Post-pay service: Number of trips is editable, and price calculation will be now based on the number of trips entered by the DSO.

  • Capture DSO and FSTPO gender.

  • Show citizen gender on FSM DSS.

  • Select vehicle capacity instead of vehicle make.

  • Citizen Notifications | Payment Options | Timeline Enhancements.

  • FSTPO vehicle log inbox enhancements.

  • FSTPO can decline the vehicle trip.

  • Add owner attribute for vehicles.

  • Add ULB contact details in the FSM application flow.

  • DSO can edit pit and property usage details.

  • Show vehicle trip status in employee inbox along with the desludging application.

  • Unrestricted assignment of service requests to a single vehicle.

  • Vehicle logging at FSTP decoupled from the FSM module.

  • Photo and attachment view in the application of the ULB employee UI.

  • Dashboard enhancement.

  • Advance pay service: Employee flow enhancements.

  • Introduced two new workflows in the system:

- FSM_ADVANCE_PAY_SERVICE and FSM_ZERO_PAY_SERVICE .

  • Advance pay service: The number of trips is made editable (increase or decrease based on the requirement), and price calculation will be now based on number of trips entered by the DSO or ULB.

  • Allowed to pay part payment while creating the application.

  • ULB and DSO are allowed to decrease the number of trips if not required and if full payment is not done.

  • ULB and DSO are allowed to increase or decrease the number of trips n number of times.

  • With the updated number of trips, an updated bill will be generated.

  • Delink the payment from DSO in progress state.

  • Zero pay service: Employee flow enhancements.

  • Zero pay service: System now skips the collection, and will not generate the demand for zero price application.

  • Demand generation process: Generating demand every time the trip is updated.

  • Demand generation process: Added validation not to complete the application from ULB side before completing all payment.

  • Enhancement of FSM receipt.

  • Enhancement of assigning sanitation-worker to fsm application

  • Enhancement of assigning driver to fsm application

Feature Enhancement

As part of the FSM v1.4, Creation of fstp plant user mapping configuration we moved PlantInfo from mdms v1 to mdms v2 . For the changes follow below steps.

For a new environment these changes are required.

  1. Create plantInfo in PQM.Plant schema .

  2. Use the existing collection to create,update and search

Kafka Topic Details

Description
Topic Name

Save new FSM application

save-fsm-application

Update FSM application

update-fsm-application

Update FSM application workflow

update-fsm-workflow-application

Update vehicle Trip Details

update-vehicle-trip-Details

Save plant user mapping

save-plant-map-application

Update plant user mapping

update-plant-map-application

Receipts get pushed to this topic

egov.collection.payment-create

SMS Notification topic

egov.core.notification.sms

Event (In-app) Notification topic

persist-user-events-async

Users

User

Role

Description

How to create

FSM Creator

FSM_CREATOR_EMP

  • Can create FSM application on behalf of a citizen.

Through HRMS with role.

FSM Editor

FSM_EDITOR_EMP

  • Can edit the application created by a citizen for demand generation.

  • Assign/re-assign DSO.

  • Complete the application.

Through HRMS with role.

FSM Viewer

FSM_VIEW_EMP

Can view FSM application.

Through HRMS with role.

FSM Admin

FSM_ADMIN

  • Can cancel the application at any stage of the workflow.

Through HRMS with role.

DSO

FSM_DSO

  • Can accept/reject the assigned application.

  • can complete the FSM application.

FSTP Operator

FSM_EMP_FSTPO

  • Can mark the vehicle trip as disposed. Not FSM service user.

Through HRMS with role.

Collector

FSM_COLLECTOR

  • Can collect the payment amount for the application based on demand.

Through HRMS with role.

FSM Report Viewer

FSM_REPORT_VIEWER

Can view FSM reports

Through HRMS with role.

FSM Driver

FSM_DRIVER

Driver role for FSM.

Through HRMS with role.

  • User with userType employee and role FSM_CREATOR_EMP role.

Integration

Integration Scope

FSM can be integrated with any ULB or system which wants to track the FSM application. The organisations can customise the workflow depending on their product requirements.

Integration Benefits

  • Easy tracking and resolution of the FSM application.

  • Configurable workflow according to client requirement.

Steps

  1. Citizen/ULB employee can file application request using the /fsm/v1/_create.

  2. An organisation or system can search the FSM Applications using /fsm/v1/_searchendpoint.

  3. Once the application is filed, the organisation or system can call /fsm/v1/_update endpoint to move the application further in the workflow until it gets resolved.

Inbox API

  • Introduced new inbox service to get the FSM applications in registered ULB employee inbox. With this, a ULB employee can track the application or perform the actions based on employee role.

  • ULB employees can also apply the filter to check the particular state or applications or any other filter as required.

Changes for FSMv1.4

Inbox V2 API

  • Inbox v2 provide same feature what ever have in inbox v1 .

  • Introduced new inbox service to get the FSM applications in registered ULB employee inbox. With this, a ULB employee can track the application or perform the actions based on employee role.

  • ULB employees can also apply the filter to check the particular state or applications or any other filter as required.

Integration

  • Add the mdms changes in the given path and restart the mdms service .

Path: data/pg/inbox-v2/InboxConfiguration.json

 {
      "module": "fsm",
      "index": "fsm-application",
      "allowedSearchCriteria": [
        {
          "name": "tenantId",
          "path": "Data.tenantId.keyword",
          "isMandatory": false,
          "operator": "EQUAL"
        },
        {
          "name": "status",
          "path": "Data.currentProcessInstance.state.uuid.keyword",
          "isMandatory": false
        },
        {
          "name": "mobileNumber",
          "path": "Data.mobileNumber.keyword",
          "isMandatory": false
        },
        {
          "name": "locality",
          "path": "Data.locality.keyword",
          "isMandatory": false
        },
        {
          "name": "assignee",
          "path": "Data.currentProcessInstance.assignes.uuid.keyword",
          "isMandatory": false
        },
        {
          "name": "applicationNos",
          "path": "Data.applicationNo.keyword",
          "isMandatory": false,
          "operator": "WILDCARD"
        },
        {
          "name": "fromDate",
          "path": "Data.auditDetails.createdTime",
          "isMandatory": false,
          "operator": "GTE"
        },
        {
          "name": "toDate",
          "path": "Data.auditDetails.createdTime",
          "isMandatory": false,
          "operator": "LTE"
        }
      ],
      "sortBy": {
        "path": "Data.@timestamp",
        "defaultOrder": "DESC"
      },
      "sourceFilterPathList": [
        "Data.currentProcessInstance",
        "Data.auditDetails",
        "Data.additionalDetails",
        "Data.tenantId",
        "Data.applicationNo",
        "Data.workflow",
        "Data.locality"
      ]
    }
  • Add the indexer file in the given path and restart the services.

Path: sanitation/egov-indexer/fsm-inbox-indexer.yml

FSM Apply As A Service

Currently, we provide FSM as an adhoc service.To avoid multiple times, a user has to create the FSM request every time. In the system itself after some days, we will create the same FSM application and if the user wants a service, he/she will pay the amount.

MDMS Changes

As mentioned above, we need to define the time parameter in order to create a periodic application. For that, we added the periodic service master where we configure the time limit and whether the schedular is enabled or not. Find the configuration and location below

{ "tenantId": "pb.amritsar",
"moduleName": "FSM",
"PeriodicService":[
{
"timeLimit" : 864000000,
"isSchedularConfiguration":true
}
]
}

cronjob will read the cron job’s configured in the cronjobapiconfig.json, and based on the schedular time, it will call the API which is configured. Find the configuration and file location below:

{ "jobName": "daily",
"active": "true",
"method": "POST",
"url": "http://fsm.egov:8080/fsm/v1/_schedular",
"payload": {
"RequestInfo": "{DEFAULT_REQUESTINFO}" },
"header": { "Content-Type": "application/json"
}

We are using the fsm/v1/_schedular API. This API will read the master data for each tenant and based on the time limit configured for that tenant, it will get all eligible applications and create periodic applications for those FSM applications.

data/pb/FSM/AdvancePayment.json

master-config.json

Infra changes

We added a new chart called mdms-read-cronjob. Find the chart location below:

Interaction Diagram

1. Advance Amount Workflow

2. Zero Price Application Workflow

Sequence Diagram

Reference Docs

Doc Links

Title

Link

Workflow Technical Document

User Technical Document

MDMS Technical Document

NEEDS TO BE UPDATED

IDGen Technical Document

NEEDS TO BE UPDATED

Localisation Technical Document

NEEDS TO BE UPDATED

Persister Technical Document

NEEDS TO BE UPDATED

SMS Notification Technical Document

NEEDS TO BE UPDATED

HRMS Technical Document

NEEDS TO BE UPDATED

API Contract

Postman Collection

API List

Title

Link

Deprecation Status

/fsm/v1/_create

False

/fsm/v1/_update

False

/fsm/v1/_search

False

/fsm/v1/_audit

False

/fsm/v1/_plainsearch

False

/fsm/plantmap/v1/_create

False

/fsm/plantmap/v1/_update

False

/fsm/plantmap/v1/_search

False

/inbox/v1/_search

True

/fsm/v1/_schedular

False

/inbox/v2/_search

False

test

Was this helpful?

path:- deploy-as-code/helm/charts/sanitation/fsm/values.yaml -

Through vendor service, use the create DSO Request from .

Idgen changes -

File: file which need to add

link
Link
click here
SM-499 : mdms file for advanceBalance and cancellationfee · egovernments/egov-mdms-data@3b3233e
Update AdvancePayment.json · egovernments/egov-mdms-data@a864a90
Update CancellationFee.json · egovernments/egov-mdms-data@3a614e5
SM-499 adding advancepayment and cancellationfee · egovernments/egov-mdms-data@c4efb2e
https://github.com/egovernments/DIGIT-DevOps/tree/master/deploy-as-code/helm/charts/utilities/mdms-read-cronjob
postman Collection
Workflow Service
User Service
FSM API Contract
FSM Postman Collection
https://api.postman.com/collections/23418568-946a158e-9391-44b2-9d2b-48f30ea8cd63?access_key=PMAT-01GSPRPC338T9RR0GAKTRCRDP8
https://api.postman.com/collections/23418568-946a158e-9391-44b2-9d2b-48f30ea8cd63?access_key=PMAT-01GSPRPC338T9RR0GAKTRCRDP8
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://www.getpostman.com/collections/a51486db12539a2aa597
https://api.postman.com/collections/23418568-dd47ece3-c134-4831-b008-9a86f715cd6e?access_key=PMAT-01HK7JPCNGK90XJAMXRA0YN050