Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Possible Values: true/false
Supported Chart Types: METRIC
How it Works: This property is added to support the new requirement to show the Date and the last updated time in the Todays Collection Metric Chart
Populating true for isTodaysCollection for any chart config in chartApiConfig.json of type metric chart, MetricChartResponseHandler looks for todaysDate and lastUpdatedTime aggregations with the bucket(s) having epoch in key. These are used as values for todaysDate and lastUpdatedTime respectively and added to plots in the response. The UI framework is used to show the Collection on Date and lastupdate time tooltip.
Sample Response
Sample Query
Possible Values: Map the key as one of the aggregationPaths and value as compute Helper
For instance -
Supported Chart Types: METRIC
How it Works: Metric Chart Type has the action property. Possible values include percentage or undefined. On Collecting the aggregationPath values -
the percentage is calculated if the action is a percentage
all aggregation values are summed up if the action is undefined
For TargetAchievement there is a requirement to apply repsonseToDifferenceOfDates
compute helper on one of the aggregation path values before applying action.
The preaction theory helps to apply to compute helper before actually applying the action.
According to the above example, responseToDifferenceOfDate Compute helper is applied to the value of the Actual Collection aggregation before applying percentage calculation on all aggregation values. National Dashboard UI Tech Documentation:
About and Purpose page for National Dashboard Enhancement
An about the dashboard page that describes the purpose of the dashboard as well as the source of the data is required to be built as per the feedback received from the demos.
Web URL:-
The file location in Digit-Dev:- ../modules/dss/src/pages/About.js
The file location in egov-mdms-data:- ../../pb/dss-dashboard/About.json
code
OUTPUT
To add a question we need to mention titleHeader
To add the first point we need to mention define
To add the first sub-points we need to mention definePoints
To add the second point we need to mention subdefine
To add the second sub-points we need to mention subdefinePoints
If we need to remove the content we need to delete it according titleHeader,define,definePoints, subdefine
, subdefinePoints
To enhance the dashboard and make it more user-friendly, an FAQ page is to be developed so that users can access it from any page for any queries that they may have regarding any acronyms or how to navigate.
The File location in egov-mdms-data:- ../../pb/dss-dashboard/FAQs.json
code
OUTPUT
To add a question we need to mention question
To add the First point we need to mention answer, ans
To add the First sub-points we need to mention answer, point
To add the Second point we need to mention subAnswer, ans
To add the Second sub-points we need to mention subAnswer, point
If we need to remove the content we need to delete it according question, answer, subAnswer, ans, point
National dashboard KPIs
We have added 3 new KPIs as per requirements. The following are the KPIs:
Average Property Tax Collected: This represents the average tax collected by each property. This is calculated by the formula- (Total property tax collected / Total number of properties paid). This KPI is added in the National Dashboard Property Tax screen on the overview card.
Total Non-Tax Collection: This is the sum of all non-tax revenue collections such as ( Trade licenses, Building plan approval, miscellaneous receipts, etc..)This KPI can be found in the National Dashboard Overview Screen on the overview card.
Total Non-Tax Revenue Contribution: This represents the percentage contribution of the total non-tax revenue over total revenue. This is calculated by the formula - (Total non-tax collected/Total revenue collected) x 100. This KPI can also be found in the National Dashboard Overview Screen on the overview card.
The updated screens for these KPIs have been added to the and docs.
In each module, we cannot bifurcate the tax and nontax heads. Eg: PT tax including cess consider as one Tax head.
The average property tax paid is decided based on the number of payment transactions. If the same property is paid 2 times for different financial years, we consider these two transactions.
Tax and Non Tax includes arrears, penalty, exemption etc.
Mcollect: Here many tax heads are there. All are considered non-tax heads.
Re-indexing is required to the existing data for "Average property tax Paid" Kpi.
Each payment is assumed to be separate (PT), and partial payment is also considered a single payment
Data can only be considered from today or existing national DSS data should be reindexed
Mappings for the new property should be considered Long
Long or decimal-amount fields.
Build and commit to division operation required for PT avg tax KPI.
Step 2: Add the config placement in the MasterDashboardConfig.json file. Placement configs can be referred from 2 places in the file:
Updated PT fields: "PT":{"transactions":"array::number","todaysTotalApplications":"number","todaysClosedApplications":"number","assessments":"number","assessedProperties":"array::number","propertiesRegistered":"array::number","todaysCollection":"array::number","propertyTax":"array::number","cess":"array::number","rebate":"array::number","penalty":"array::number","interest":"array::number","noOfPropertiesPaidToday":"number"}
Step 4: Update the index mapping in Kibana as follows:
Step 5: Re-indexing pt-national-dashboard
Step 7: Upsert the localisations for the new KPIs as follows:
Step 8: Once these changes are implemented, restart the dashboard-analytics and national-dashboard-ingest by checking the Cluster-configs.
Note: Now the data can be ingested using an adapter. Step 8 is optional and should be used only for testing purposes.
Step 9 (Optional Step - Only for testing purposes): Now you can upsert the new data for testing using _ingest API. The curl for the same is as follows:
Provides a detailed walk-through of how to set up, configure and deploy Airflow DAGs on the state side to extract data from the Elastic Search server to push to the National Dashboard Adaptor.
Design and develop an adaptor service which will extract data from the state DIGIT installations and push it onto the National Dashboard instance periodically.
A list of tasks for this has been tracked for the Adaptor
Adaptor to be deployed on state DIGIT installations
Periodically, the adaptor extracts data and aggregates it from the different DIGIT modules
Posts the data to the National Dashboard for the state
Bookkeeping is done for every adaptor data extract and pushes for audit and debugging
Out of scope: Extraction from non-DIGIT sources
A national dashboard adaptor extracts data from the state DSS at a scheduled time which can be configured and then would ingest in the National Dashboard. The adaptor ingests data at the state/ULB/Ward level for each module on a daily basis. The adapter sends the data in a batch size of 50 to the national dashboard.
Web URL:- The File location in Digit-Dev:- ../dss/src/pages/FAQs
Follow the steps below to implement the new KPIs. Step 1: Add the config changes in the ChartApiConfig.json file in the repository. Newly added configs can be referred to from .
For National Dashboard Overview KPIs in the Overview card refer .
For property tax KPI refer .
Step 3: Add the newly added property: noOfPropertiesPaidToday to the PT module-fields-mapping in the DevOps, in the respective environment file, refer .
Step 6: Code-level changes are required in dashboard analytics as well to implement the “division” logic. Add the change as listed . Refer to file for adding constants. Following is the build: dashboard-analytics:v1.1.8_beta-9dabbb1f7c-107
Individual DSS configurations like FSM - DSS configuration is built on the DSS module where configuration and data are received from a set of APIs which can be accessed by users with specific user roles.
Role - FSM_ADMIN
Module - FSM
API Curl
Data for each configuration is fetched using {env}/dashboard-analytics/dashboard/getChartV2?_=1627404593531
API CURL -
Each of the charts will have unique data parameters and responses in distinct API calls.
Fundamentally DSS has various functionalities including filtering of data, charts and drill-down charts with download PDF, Image and .XLS files. This is achieved by various components utilizing external plugins and internal services
Filter component in DSS consists of 4 components:-
The DateRange component is a styling wrapper around DateRangePicker plugin.
Filter on the basis of ULB and DDR (District) is done by selecting single or multiple instances of DDR/ ULB. DDR is an encapsulation of ULBs, and getChart API filters data on the basis of ULB tenants,
Sample request header -
The component in itself uses MultiSelectDropdown
component
React Component named Switch which uses styled radio inputs.
The GenericChart is a common wrapper for all charts. It adds the basic styles to all the chart components.
The MetricChart component is a wrapper component around the MetricChartRow component. MetricChartRow component uses getChart API to fetch data for the “METRIC“ chart type. The MetricData component is a styling component used to format data.
The CustomAreaChart component is used to render line chart types. It can format data based on denomination filter data. It uses the AreaChart component from the recharts package to draw the chart.
The CustomBarChart component is used to render the performing-metric chart type. It uses the BarChart component from the recharts package to draw the chart.
The CustomHorizontalBarChart component is used to render horizontal bar chart type. It uses the BarChart component from the recharts package to draw the chart.
The CustomPieChart component is used to render the doughnut chart type. It displays the top 4 categories and aggregates all the other categories into the “Others“ category. It uses the PieChart component from the recharts package to draw the chart.
The CustomTable component is used to render table chart types. The insights are calculated by fetching the previous year's data and compared with the current data.
The download service is a common service used by all the chart components to facilitate the download/share pdf option. It is handled by using the JSPDF package.
A decision support system (DSS) is a composite tool that collects, organizes and analyzes business data to facilitate quality decision-making for management, operations and planning. A well-designed DSS aids decision-makers in compiling a variety of data from many sources: raw data, documents, and personal knowledge from employees, management, executives and business models. DSS analysis helps organizations identify and solve problems, and make decisions.
Type Of Users
National Level Admin (NATADMIN)
State Level Admin (STADMIN)
Dashboard List
There are three types of dashboards -
Home page (refer to figure 1).
Overview page (refer to figure 2).
Module-level dashboard (refer to figure 3).
The home page contains multiple cards - each card is clickable.
There are two types of cards, i.e, Overview cards and module-level cards.
Overview and Module level card is differentiated by vizType,
Overview card: Clicking on the Overview card, redirects users to the overview page. vizType for Overview is a collection.
Module Level card: Clicking on the Module level card, redirects users to the Module level dashboards. vizType is module (i.e Property Tax, Trade License etc).
Map chart: This entity displays the total, active ULBs within states where DIGIT is live.
Enable national dashboard: MDMS details
Enable the NDSS in the city module.
Request Payload For Dashboard Config
https://qa.digit.org/dashboard-analytics/dashboard/getDashboardConfig/NURT_DASHBOARD
auth-token: authenticates the request and fetches from the local storage key called Employee.token
DashboardConfig API Response
Visualizations: The key contains all configurations for displaying the visualization like rows with charts etc. - refer to figure 1.3. In Figure 1.3, the vizType key defines the module UI.
For Collection Chart & Module Chart refer figure 1
Visualizations List
In the dashboardConfig response visualizations key contains all rows & charts details (refer to figure 1.3).
Each row contains visual details like name, vizType, noUnit, charts etc.(refer to figure 1.3).
name - the name of visualization
vizType - the type of visualization like COLLECTION, MODULE, METRIC-COLLECTION, PERFORMING-METRIC, CHART
COLLECTION - contains collection data and is displayed on the home page (refer to figure 1)
MODULE - contains module-level data and is displayed on the home page (refer to figure 1)
METRIC-COLLECTION - contains collection data and is displayed on Overview/Module level page (refer to figure 2.1)
PERFORMING-METRIC - contains top/bottom performing data displayed on Overview/Module level page (refer to figure 2.2).
CHART - contains the below visualizations displayed on Overview/Module level page (refer to figure 2.3 to figure 2.7).
PIE CHART (refer to figure 2.3)
LINE CHART (refer to figure 2.4)
BAR CHART (refer to figure 2.5)
HORIZONTAL BAR CHART (refer to figure 2.6)
TABLE CHART (refer to figure 2.7)
List of visualizations
Figure: 2.1 Collection Metric
Figure: 2.2 Performance Metric
Figure: 2.3 Pie Chart
Figure: 2.4 Line Chart
Figure: 2.5 Bar Chart
Figure: 2.6 Horizontal Bar Chart
Figure: 2.7 Table Chart
Figure: 2.8 Global Filters
Figure: 2.9 Download & Share Button
Global Filters (figure 2.8)
Filters are loaded from MDMS API - https://egov-micro-dev.egovernments.org/egov-mdms-service/v1/_search
egov-mdms-data/nationalInfo.json at QA · egovernments/egov-mdms-data (github.com)
State is fetched from stateCode
ULB from code
Denomination filter: Denomination filter offers three options to display the amount and number in a particular format.
Crore
Lakh
Unit
Denomination filter is not applied on the percentage and text (figure 2.10). Type of data is identified by symbol in plots of charts API.
Figure 2.10
Custom Date Filter
If the duration is < 15 days, data is displayed days-wise.
If duration <= 30 days, data is displayed week-wise.
If duration >30, data is displayed monthly wise.
Tabs
Currently, the dashboard has two types of tabs -
Revenue (figure: 4.1)
Service (figure: 4.1)
Tabs are identified by name in visualizations of config API.
Table chart with drill-down
Table chart visualizations have normal material UI data table features like search, sort etc.
In the table response filter key & drillDownChartId has a value that indicates it is a drill-down table.
Cards
Each card header is localized and has an info icon with a tooltip option which displays the header and the description.
The number of cards in rows on the page is driven by the backend. The backend provides a row number to each card where it should be displayed.
The card contains an option icon that contains the image download and image share options.
Image download and share option use id from vizArray in order to differentiate each card on a page.
Download and Share (figure 2.9)
The download has two options - download as an Image or PDF
Share: Share creates the Image/PDF and uploads it S3 using the below API and returns file id - /filestore/v1/files
Using file Id calls the following API - /filestore/v1/files/url
Each S3 image is shortened using the following API - /egov-url-shortening/shortener
Upload localization keys:
code: pre-defined key for back-end
message: message contains the value for the key
module: rainmaker-dss
locale: contains locale data
Contact eGov team for more details
Module name: rainmaker-dss
NPM Module Used
Note:: Consider this while pushing new State data - both MDMS state names and codes should be in sync
1. Map component: https://raw.githubusercontent.com/egovernments/egov-mdms-data/DEV/data/pb/dss-dashboard/dashboard-config.json
Where id is state code and name is state name.
2. Global Filter: https://raw.githubusercontent.com/egovernments/egov-mdms-data/QA/data/pb/tenant/nationalInfo.json
If the values are pushed under different names then the existing file is updated accordingly.
Steps to setup DSS in local
Step 1: Run as independent, switch to micro-ui-internals folder
Step 2: Run yarn install and yarn start:dev to start working on DSS in a local setup.
Supporting links
Code Git Repos: DIGIT-OSS/frontend/micro-ui/web/micro-ui-internals at master · egovernments/DIGIT-OSS
State names are configured in the dashboard-config. egov-mdms-data/dashboard-config.json at DEV · egovernments/egov-mdms-data
API
Roles
/localization/messages/v1/_search
/egov-mdms-service/v1/_search
/dashboard-analytics/dashboard/getDashboardConfig/national-ws
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/national-tradelicense
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/national-propertytax
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/national-pgr
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/NURT_DASHBOARD
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/nss-obps
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/national-firenoc
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/national-mcollect
NATADMIN
/dashboard-analytics/dashboard/getDashboardConfig/national-overview
NATADMIN
The objective of the national-dashboard-ingest service is listed below -
To provide a one-stop framework for ingesting data regardless of the data source based on configuration.
To create provision for ingesting based on module-wise requirements which directly or indirectly requires aggregated data ingestion functionality.
Prior Knowledge of Java/J2EE
Prior Knowledge of SpringBoot
Prior Knowledge of PostgresSQL
Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.
Prior Knowledge of ElasticSearch
Step 1: Define the index name for the module as per your requirement in module.index.mapping
key present in the configuration here - DIGIT-DevOps/qa.yaml at master · egovernments/DIGIT-DevOps .
Step 2: Define the allowed metrics for the module as per your requirement in module.fields.mapping
key present in the configuration here - DIGIT-DevOps/qa.yaml at master · egovernments/DIGIT-DevOps
Step 6: Create Kafka connectors for all the modules that have been configured. A sample request for creating a trade license national dashboard Kafka connector is as follows -
Step 7: Run the national-dashboard-ingest application along with the national-dashboard-ingest-kafka-pipeline.
Definitions
Config file - A YAML (xyz.yml) file which contains configuration for running national dashboard ingest.
API - A REST endpoint to post data based on the configuration.
Functionality
When national dashboard ingest metrics API is hit, all the data payload lookup keys are first checked against the db to determine whether they already exist or not. The db table currently being used for storing lookup keys is nss-ingest-data
.
If the record for a given date and area details is not present, the payload is then flattened and pushed to nss-ingest-keydata
topic.
National dashboard ingest kafka pipeline consumer listens on nss-ingest-keydata
topic and according to the module to which the data belongs to, pushes it to the respective topic defined in the module.index.mapping
key.
Once the national dashboard ingest kafka pipeline pushes data to the respective topic, a kafka-connector then takes the flattened records from that topic and ingests to ElasticSearch.
Add configs for different modules required for National Dashboard Ingest Service and National Dashboard Kafka Pipeline service.
Deploy the latest version of National Dashboard Ingest and National dashboard kafka pipeline service.
Add Role-Action mapping for API’s.
The national dashboard service is used to push aggregated data present in systems and persisting them onto elasticsearch on top of which dashboards are built for visualizing and analyzing data.
Can perform service-specific business logic without impacting the other module.
In the future, if we want to expose the application to citizens then it can be done easily.
To integrate the host of national-dashboard-ingest-service module should be overwritten in the helm chart.
national-dashboard/metric/_ingest
should be added as the search endpoint for the config added.
national-dashboard/masterdata/_ingest
should be added as the search endpoint for the config added.
URI: The format of the ingest API to be used to ingest data using national-dashboard-ingest is as follows: national-dashboard/metric/_ingest
Example Ingest Request Body -
The steps for creating the index and adding the index mapping for the same are available here - National Dashboard: Steps for index creation
The following section contains module-wise index names, index mapping and the ingest curls for ingesting data to national dashboard indexes.
a. Index - pt-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - ws-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - firenoc-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - pgr-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - tl-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - mcollect-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - obps-national-dashboard
b. Index mapping -
c. Ingest curl -
a. Index name - common-national-dashboard
b. Index mapping -
c. Ingest curl -
Note: ulb, ward and region are not applicable as common-nation-dashboard data is ingested at state level. These three field values will be dummy and can be same across. The Dashboard queries does not use ward, ulb or region in Landing Page Metrics
Technical Doc
DSS has two sides to it. One is the process in which the data is pooled to ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of data sets, there is a need for making this configurable. This ensures that the process can be configured easily in case a new scenario is introduced.
This document walks us through the steps on how to define the configurations for DSS state analytics for the Fire NOC module.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch to a consumable data response. This is later used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. Add the changes related to fire NOC in this dashboard analytics. Configuration file path: configs/egov-dss-dashboards/dashboard-analytics at qa · egovernments/configs Below is a list of configurations that need to be changed to run the fire NOC data analytics successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each visualization has its properties. Each visualization comes from different data sources (Sometimes it is a combination of different data sources). To configure each visualization and its properties, we have a Chart API Configuration Document.
The Visualization Code, which happens to be the key, has its properties configured as a part of the configuration and are easily changeable.
Sample ChartApiConfiguration.json data for the Fire NOC -
Click here to check the complete configuration
Master Dashboard Configuration: Master Dashboard Configuration is the main configuration which defines as which are the Dashboards which are to be painted on the screen.
It includes all the Visualizations, their groups, the charts which come within them and even their dimensions as what should be their height and width.
Click here for the complete configuration
Role Dashboard Mappings Configuration: Master Dashboard Configuration which was explained earlier holds the list of dashboards that are available.
Given the instance where role action mapping is not maintained in the Application Service, this configuration acts as a role dashboard mapping configuration. In this, each role is mapped against the dashboard that they are authorized to see.
This was used earlier when the role action mapping of eGov was not integrated. Later, when the role action mapping started controlling the dashboards to be seen on the client side, this configuration was just used to enable the dashboards for viewing.
Click here to check the configuration
MDMS Configuration to be added: common-masters/uiCommonConstants.json
Click here to check the complete configuration
roleaction.json
Click here to check the complete configuration
Action test.json:
Click here to check the complete configuration
FireNoc-National DSS contains multiple graphs that represent the Fire NOC data. Each graph has its own configuration that describes the chart and its type.
National DSS contains the following charts in Fire NOC:
Fire Noc Page
Overview
Total Cumulative Collection
Total applications vs Provisional NOCs issued vs Actual NOCs issued
Collection by Payment Mode
Total NOCs issued by type
Actual Fire NOCs by usage type
Top 3 Performing States
Bottom 3 Performing States
Service Report
Overview: The overview graph contains multiple data information as below in the selected time period.
Today’s Collection: This represents the sum of revenue collected from the issuance of a Provisional and Actual Fire NOC which is Application fee + NOC Issuance fee
Total Collection: Sum of revenue collected from Fire NOC for the applied date filter
Total Applications: Total number of applications submitted for a new Fire NOC
Provisional NOC Issued: The Provisional NOC is to be obtained to ensure that the proposed constructions meet the fire safety compliant norms
Actual NOCs Issued: The Actual NOC is to be obtained to ensure that the proposed constructions meet the fire safety compliant norms
Avg. days to issue Provisional Fire NOC: Average number of days taken to issue a Provisional NOC
Avg. days to issue Actual Fire NOC: Average number of days taken to issue an actual NOC
SLA Compliance (Actual Fire NOC): % of Actual NOCs issued within SLA
SLA Compliance (Provisional Fire NOC): % of Provisional NOCs issued within SLA
Total Cumulative Collection: This graph contains the Fire NOC collection amount information on a monthly base as a cumulative line graph for each Fire NOC collection separately. This will change as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Total applications vs Provisional NOCs issued vs Actual NOCs issued: This graph contains the Fire NOC showing total applications submitted vs provisional NOCs issued vs actual NOCs issued for a given month collection separately. This changes as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Collection by Payment Mode: This is a pie chart showing the bifurcation of total collections by payment mode (online, cash, card, cheque) which is the sum of revenue collected from Fire NOC for the applied date filter.
Total NOCs issued by type: This is a pie chart showing bifurcation of Total NOCs issued into Provisional and Actual Fire NOCs. The sum of Provisional and Actual Fire NOCs issued.
Actual Fire NOCs by usage typeThe total: This is a pie chart showing a bifurcation of Actual Fire NOCs by usage type. Total number of Fire NOCs issued by the concerned authority.
Top 3 Performing States: This card shows the Top 3 Performing States/ULBs/Wards based on % NOCs issued. The number of Fire NOCs issued / Number of applications depends on whether a user selects 'Provisional' or 'Actual'.
Clicking on Actual shows the % of NOCs issued for Actual Fire NOCs.
Clicking on Provisional shows the % of NOCs issued for Actual Fire NOCs.
Clicking on the Show More option displays information about all states.
Bottom 3 Performing States: This card shows the Bottom 3 Performing States/ULBs/Wards based on % NOCs issued. The Number of Fire NOCs issued / Number of applications depends on whether a user selects 'Provisional' or 'Actual'.
Clicking on Actual shows the % of NOCs issued for Actual Fire NOCs.
Clicking on Provisional shows the % of NOCs issued for Actual Fire NOCs.
Clicking on Show More provides information on all the states.
Service Report: This tabular chart representation graph shows multiple Fire NOC information like Total Collection, Applications Submitted, Provisional Fire NOC issued, New Fire NOC Issued, Average days to issue Provisional NOC, SLA Compliance (Provisional NOC), Average days to issue New NOC, SLA Compliance (New NOC). And this table shows the data at the state level and also has the drill-down chart for each state to ULB and from ULB to the ward level data for the same.
xtable type allows to add multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns, computedFields [] where actionName (IComputedField<T> interface), fields [] names as in exist in query key, newField as name to appear for computation must be defined.
Clicking on any region name provides drill-down charts representing the specific state data.
Clicking on the ULB navigates to wards under that specific ULB and each ward shows the specific data regarding that ward.
isRoundOff: This property is introduced to round off the decimal values. Ex: if the value is 25.43 by using isRoundOff property in the configuration we will get it as 25. if the value is 22.56 round of value will be 23. This can be used for insights configuration as well for overview graphs.
Key(eg: fsmTotalrequest): This is the Visualization Code. This key will be referred to in further visualization configurations.
This is the key which will be used by the client application to indicate which visualization is needed for display.
chartName: The name of the Chart which has to be used as a label on the Dashboard. The name of the Chart will be a detailed name.
In this configuration, the Name of the Chart will be the code of Localization which will be used by the Client Side.
queries: Some visualizations are derived from a specific data source. While some others are derived from different data sources and are combined together to get a meaningful representation.
The queries of aggregation which are to be used to fetch out the right data in the right aggregated format are configured here.
queries.module: The module/domain level, on which the query should be applied on. Fire NOC is FIRE NOC.
queries.indexName: The name of the index upon which the query has to be executed is configured here.
queries.aggrQuery: The aggregation query in itself is added here. Based on the Module and the Index name specified, this query is attached to the filter part of the complete search request and then executed against that index
queries.requestQueryMap: Client Request would carry certain fields which are to be filtered. The parameters specified in the Client Request are different from the parameters in each of these indexed documents.
In order to map the parameters of the request to the parameters of the ElasticSearch Document, this mapping is maintained.
queries.dateRefField: Each of these modules has separate indexes. And all of them have their own date fields.
When there is a date filter applied against these visualizations, each of them has to apply it against their own date reference fields.
In order to maintain what is the date field in which index, we have this configured in this configuration parameter.
chartType: As there are different types of visualizations, this field defines what is the type of chart /visualization that this data should be used to represent.
Chart types available are:
metric - this represents the aggregated amount/value for records filter by the aggregate es query
pie - this represents the aggregated data on grouping. This is can be used to represent any line graph, bar graph, pie chart or donuts
line - this graph/chart is data representation on date histograms or date groupings
perform - this chart represents groping data as performance wise.
table - represents a form of plots and value with headers as grouped on and list of its key, values pairs.
xtable - represents a advanced feature of table, it has addition capabilities for dynamic adding header values.
valueType: In any case of data, the values which are sent to plot, might be a percentage, sometimes an amount and sometimes it is just a count.
In order to represent them and differentiate the numbers from amount from percentage, this field is used to indicate the type of value that this Visualization will be sending.
action: Some of the visualizations are not just aggregation on data source. There might be some cases where we have to do a post aggregation computation.
For Example, in the case of Top 3 Performing ULBs, the Target and Total Collection is obtained and then the percentage is calculated. In these kinds of cases, what is the action that has to be performed on that data obtained is defined in this parameter.
documentType: The type of document upon which the query has to be executed is defined here.
drillChart: If there is a drill down on the visualization, then the code of the Drill Down Visualization is added here. This will be used by Client Service to manage drill downs.
aggregationPaths: All the queries will be having Aggregation names in it. In order to fetch the value out of each Aggregation Responses, the name of the aggregation in the query will be an easy bet. These aggregation paths will have the names of Aggregation in it.
insights: It is to show the data with the comparison of last year with arrow symbols, it will show the data in how much % is increased or decreased.
_comment: In order to display information on the “i” symbol of each visualization, Visualization Information is maintained in this field.
The index that contains data for National Fire NOC is - firenoc-services
The mapping for this index is given below
The following is the table that describes the properties mentioned above:
Postman collection for National FireNoc- Dss:
https://www.getpostman.com/collections/2f7a283a42c695b2a52f
Step 3: Define the allowed group-by fields for the module as per your requirement in module.allowed.groupby.fields.mapping
key present in the configuration here - DIGIT-DevOps/qa.yaml at master · egovernments/DIGIT-DevOps
Step 4: Define the master data index name as per your requirement in master.data.index
key present in the configuration here - DIGIT-DevOps/qa.yaml at master · egovernments/DIGIT-DevOps
Step 5: Define the allowed metrics for the master data index as per your requirement in master.module.fields.mapping
key present in the configuration here - DIGIT-DevOps/qa.yaml at master · egovernments/DIGIT-DevOps
Body: The Body consists of 2 parts: RequestInfo and Data. Data is where the aggregated data to be ingested resides. The keys given under metrics object here are metrics provided in module.fields.mapping
present in the configuration here - DIGIT-DevOps/qa.yaml at master · egovernments/DIGIT-DevOps
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.
Attributes
Definition
Breakup
ulb
The district or region for which the data is ingested
Nil
state
The ULB name for which the data is ingested
Nil
ward
The ward for which the data is ingested
Nil
todaysCollection
Sum of revenue collected from issuance of a Fire NOC Application fee + NOC Issuance fee + renewal fee
Breakup by paymentMode and department
todaysApplications
Total number of applications received
Breakup by applicationType and department
nocIssuedToday
Total number of NOC issued by the concerned authority
Breakup by type
provisionalNOCIssued
The Provisional NOC is to be obtained to ensure that the proposed constructions meet the fire safety compliant norms
Breakup by department
actualNOCIssued
Total # of Fire NOCs issued by concerned authority
Breakup by usageType and department
avgDaysToIssueProvisionalNOC
Total # of days taken to issue a Provisional NOC / Provisional NOCs issued - latest date
Breakup by department
slaComplianceActual
# of Actual NOCs issued within SLA / Total applications - till the given date
Breakup by department
slaComplianceProvisional
# of Provisional NOCs issued within SLA / Total applications - till the given date
Breakup by department
avgDaysToIssueActualNOC
Total # of days taken to issue an actual NOC / Actual NOCs issued - latest date
Breakup by department
todaysClosedApplications
# of Applications closed on the given date
Nill
todaysCompletedApplicationsWithinSLA
# of Applications closed on the given date within SLA
Nill
This document lists the steps to be followed to create national dashboard indexes.
Prior Knowledge of ElasticSearch
The steps to be followed to create a property tax index for the national dashboard are exemplified here.
Open Kibana
Create an index using the following query -
1PUT pt-national-dashboard 2{}
Add corresponding field mappings for the created index -
Since we have around 600 wards in Punjab, we decided to make the national dashboard service robust enough to handle 600 requests simultaneously in a short time( preferably midnight when the employees ingest the day’s data ).
The national dashboard ingest service API underwent extensive stress testing. The service was tested for 25 concurrent threads (users) targeting 100 requests per minute with each request payload containing 30 records (the ingest API is a bulk API). The service passed all the tests with 0 percent error with a throughput of 21 requests per second with a total number of samples being 12671 in 10 minutes which roughly equals 21 requests per second.
The stress test ran with the following configuration and reliably persisted each and every record that was ingested -
National-dashboard-ingest service -
Number of pods- 5
Number of threads for each pod- 25
Heap memory- 750 mb
Producer linger time- 1 ms
National dashboard Kafka pipeline service -
Number of pods- 3
Number of threads for each pod- 10
Heap memory- 512 mb
Producer linger time- 1 ms
Technical Document
NDSS has two sides to it. One is the process in which the data is pooled to the ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of data sets, there is a need for making this configurable. This ensures that the process can be configured easily in case a new scenario is introduced.
This document walks us through the steps on how to define the configurations for DSS analytics for Property Tax module.
Analytics: A microservice responsible for building, fetching, aggregating and computing the Data on ElasticSearch to a consumable data response. This is later used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. We need to add the changes related to National Dashboard in this dashboard analytics. Dashboard analytics configuration file path: configs/egov-dss-dashboards/dashboard-analytics at qa · egovernments/configs Below is a list of configurations that need to be changed to run the National Dashboard successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each visualization has its own properties. Each visualization comes from different data sources (sometimes it is a combination of different data sources). In order to configure each visualization and its properties, we have a Chart API Configuration Document.
In this, Visualization Code, which happens to be the key, has its properties configured as a part of the configuration and is easily changeable.
Sample ChartApiConfiguration.json data for the Property Tax below.
Click here to check the complete configuration
Master Dashboard Configuration: Master Dashboard Configuration is the main configuration which defines the Dashboards to be painted on the screen. It includes all visualizations, their groups, the charts which comes within them and even their dimensions in terms of height and width.
Click here for the complete configuration
Role Dashboard Mappings Configuration: Master Dashboard Configuration which was explained earlier hold the list of available dashboards.
Given the instance where Role Action Mapping is not maintained in the Application Service, this configuration acts as the Role - Dashboard Mapping Configuration. Each Role is mapped against the Dashboard which they are authorized to see. This was used earlier when the Role Action Mapping of eGov was not integrated. Later, when the Role Action Mapping started controlling the Dashboards to be seen on the client side, this configuration was just used to enable the Dashboards for viewing.
Click here to check the configuration
MDMS configuration file path: common-masters/uiCommonConstants.json
Click here to check the complete configuration
roleaction.json
Click here to check the complete configuration
Action test.json:
Click here to check the complete configuration
Property Tax-National DSS contains multiple graphs that represent the PT data. Each graph has its own configuration that describes the chart and its type.
National DSS contains the following charts in Property Tax:
Revenue Tab:
Overview
Total Cumulative Collection
Top 3 States By Performance
Bottom 3 States by Performance
Collection by Usage Type
Key Financial Indicators
Boundary
Usage
Tax Heads
Boundary
Usage
Service Tab:
Overview
Total Cumulative Properties Assessed
Top 3 Performing States By Completion
Bottom 3 Performing States By Completion
Properties By Usage Type
Properties By Financial Year
Revenue Tab:
Overview: Overview graph contains multiple data information as below in the selected time period.
Collection on: This represents the today’s collection amount.
Total Collection: This represents the total collection amount.
Target Collection: This represents the target collection amount.
Target Achievement: This represents the target achieved in percentage. This is calculated by formula- (Total Collection/Target Collection)*100%
Total Cumulative Collection: This graph contains the Property Tax collection amount information in the monthly base as a cumulative line graph. This will change as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Top 3 Performing States By Completion -This graph represents the States based on the target achieved in bar chart representation with the % of target achieved in descending order.
Bottom 3 States by Performance - This graph represents the States based on the target achieved in bar chart representation with the % of target achieved in ascending order.
Collection by Usage Type - This graph shows the collection amount based on the usage/property type.
Key Financial Indicators
Boundary - This tabular chart representation graph shows multiple W&S information like Target Collection, Total Collection, Total Transactions, Total Assessed Properties and Target Achievement (in %). And this table shows the data at the State level and also has the drill-down chart for each State to ULB and from ULB to ward level data for the same.
xtable type allows adding multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns, computedFields [] where actionName (IComputedField<T> interface), fields [] names as in existing query key, newField as name to appear for computation must be defined.
Clicking on any State name provides a drill-down view of charts for the specific ULB level data.
Clicking on the ULB navigates users to the wards specific data.
Usage - shows the data in the form of connection type for the given time period. Usage Type, Total Collection, Transactions, Assessed Properties.
Tax Heads
Boundary - This tabular chart representation graph shows multiple PT information like Total Collection, Penalty, Interest etc. And this table shows the data at the State level and also has the drill-down chart for each State to ULB and from ULB to ward level data for the same.
table type allows adding multiple aggregated fields.
Clicking on the State name provides a drill down view of the specific ULB data in the form of charts.
Clicking on the ULB navigates to the specific ward and displays the ward-level data insights.
Usage - shows the data in form of Connection type for the given time period. Usage Type, Total Amount,Tax, Cess, Rebate, Penalty, Interest.
Service Tab
Overview: The overview graph contains multiple data information as below in the selected time period.
Total Applications: This represents the total number of applications.
Total Properties: This represents the total number of properties registered.
Total Properties Assessed: This represents the total Properties Assessed.
Total Assessments: This represents the total Assessment of Properties.
Completion Rate: This represents Total Properties Assessed / Total Properties.
Total Cumulative Properties Assessed: This Graph contains the Assessed Properties information in the monthly base as a cumulative line graph.
line - this graph/chart is data representation on date histograms or date groupings.
Top 3 Performing States By Completion: This graph represents the States based on the Assessed Properties of Total Properties Register in bar chart representation with the % in descending order.
Bottom 3 Performing States By Completion: This graph represents the States based on the Assessed Properties of Total Properties Register in bar chart representation with the % in descending order.
Properties By Usage Type: This circular chart represents the assessed properties as part of connection type like commercial, industrial, residential etc for the given time period.
Properties By Financial Year: This table shows total number of properties which has been registered on the system for the financial years.
Index Properties of National Property Tax - The index that contains data for National-PT is- pt-national-dashboard. The mapping details for this index is given below:
The following table that describes the properties mentioned above:
Postman collection for National Property Tax
Technical Doc
NDSS has two sides to it. One is the process in which the data is pooled to the ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of data sets, there is a need for making this configurable. This ensures that the process can be configured easily in case a new scenario is introduced.
This document walks us through the steps on how to define the configurations for DSS analytics for the Trade License module.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch into a consumable data response. This is used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. Add the changes related to OBPS in this dashboard analytics.
Configuration file path: configs/egov-dss-dashboards/dashboard-analytics at qa · egovernments/configs
Below is a list of configurations that need to be changed to run the National Dashboard successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each visualization has its own properties. The visualization data is fetched from different sources. In some cases, it is a combination of different data sources. The Chart API configuration document is used to configure each visualization and its properties.
The visualization code is the key whose properties are configured here. These properties are easily changeable.
Below is the sample ChartApiConfiguration.json data for the Trade License.
Click here for the complete configuration
Master Dashboard Configuration: Master dashboard configuration is the main configuration that defines the dashboards to be painted on the screen. This includes the visualizations, their groups, the charts and the chart dimensions in terms of height and width.
Click here for complete configuration
Role Dashboard Mappings Configuration: Master Dashboard Configuration which was explained earlier hold the list of Dashboards which are available.
Given the instance where Role Action Mapping is not maintained in the Application Service, this configuration will act as Role - Dashboard Mapping Configuration
In this, each Role is mapped against the Dashboard which they are authorized to see
This was used earlier when the Role Action Mapping of eGov was not integrated.
Later, when the Role Action Mapping started controlling the Dashboards to be seen on the client side, this configuration was just used to enable the Dashboards for viewing.
Click here for complete configuration
MDMS Configuration to be added: common-masters/uiCommonConstants.json
Click here for complete configuration
roleaction.json
Click here for complete configuration
Action test.json:
Click here for complete configuration
Trade License-National DSS contains multiple graphs that represent trade license data. Each graph has its own configuration that describes the chart and its type.
National DSS contains the following charts in Trade License:
Revenue Tab:
Overview
Total Cumulative Collection
Top 3 States By Performance
Bottom 3 States by Performance
Collection by Trade Type
Key Financial Indicators
Tax Heads
Service Tab:
Overview
Total Cumulative Licenses Issued
Top 3 Performing States By Completion
Bottom 3 Performing States By Completion
Trade Licenses by Status
Status Report
Revenue Tab:
Overview: The Overview graph contains multiple data information as below in the selected time period.
Today’s Collection: This represents the day’s collection amount.
Total Collection: This represents the total collection amount.
Target Collection: This represents the target collection amount.
Target Achievement: This represents the target achieved in percentage. This is calculated by the formula - (Total Collection/Target Collection)*100
Total Cumulative Collection: This graph displays the Trade License collection amount information on a monthly base as a cumulative line graph. The graph changes as per the selected denomination amount filter.
line - this graph/chart is data representation on date histograms or date groupings.
Top 3 Performing States By Completion: This graph represents the States based on the Target achieved in bar chart representation with the % of target achieved in descending order.
Bottom 3 States by Performance: This graph represents the States based on the Target achieved in bar chart representation with the % of target achieved in ascending order.
Collection by Trade Type: This graph shows the collection amount based on the trade type.
Key Financial Indicators: This tabular chart representation displays multiple Trade License information like Target Collection, Total Collection, Total Transactions, Total Licenses Issued and Target Achievement (in %). The table shows the data at the State level and also provides the drill-down chart for each State to ULB and from ULB to the ward level data.
xtable type allows adding multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns, define computedFields [] where actionName (IComputedField<T> interface), fields [] names as existing in query key, newField as name to appear for computation must be defined.
Clicking on any State name provides the drill-down charts and data for that specific ULB.
Clicking on the ULB navigates to the ward-level data for that specific ULB.
Tax Heads: This tabular chart representation graph shows multiple Trade License information like TL Tax, Adhoc Penalty, Adhoc Rebate, Total Amount etc. The table displays the data at the State level and also provides a drill-down chart for each State to ULB and from ULB to ward level data for the same.
table type allows adding multiple aggregated fields.
Clicking on the State name provides the drill-down charts that represent the specific ULB data.
Clicking on the ULB navigates to the ward level data illustration.
Service Tab:
Overview: The Overview graph illustrates multiple data information as below in the selected time period.
Total Applications: This represents the total number of trade license applications.
Total Licenses: This represents the total licenses issued.
Total Cumulative Licenses Issued: This graph displays the licenses issued and total application information on a monthly base as a cumulative line graph.
line - this graph/chart is data representation on date histograms or date groupings.
Top 3 Performing States By Completion: This graph represents the States based on the number of licenses issued within SLA and the number of licenses issued, in bar chart representation with the % in descending order.
Bottom 3 Performing States By Completion: This graph represents the states based on the number of licenses issued within SLA and the number of licenses issued, in bar chart representation with the % in ascending order.
Trade Licenses by Status: This circular chart represents the number of trade licenses according to status.
Status report: This table shows the status-wise breakup of trade licenses by states for the selected year.
If we select a state, the drill down chart for ULBs in that state appears.
Index Properties of National Trade License: The index that contains the data for National-Trade License is- tl-national-dashboard
The mapping for this index is given below:
The table below describes the properties mentioned above:
Technical document
There are two dimensions to DSS. The first refers to the process where the data is pooled to ElasticSearch and the second relates to the way the data is fetched, aggregated, computed, transformed and sent across.
The DSS processes are easily configurable and this enables users to configure new analytics insights using a wide range of data sets.
This document defines the configuration steps for fetching analytical insights on the DSS for the Water & Sewerage module.
Analytics: Micro Service responsible for building, fetching, aggregating and computing the data on ElasticSearch to a consumable data response. This is used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. Add the changes related to FSM in the dashboard-analytics configuration file. File location : List of configurations that need to be changed to run FSM successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Each visualization has its own properties. The visualization is derived from different data sources or a combination of data sources.
The Chart API Configuration Document is used to configure each visualization and its properties. The Visualization Code is the key and its properties are easily configurable.
Sample ChartApiConfiguration.json data for the W&S
Master Dashboard Configuration is the main configuration that defines the key insights and visualizations to be painted on the screen.
It includes all the visualizations, the groups, the charts embedded within them and even the dimensions in terms of height and width.
Sample ChartApiConfiguration.json data for the W&S
The master dashboard configuration explained earlier contains the list of available dashboards. Map the roles to specific dashboard views based on the user role requirements. The configuration allows each role to be mapped to authorized dashboard views.
Use the configuration link here to add MDMS details - common-masters/uiCommonConstants.json
roleaction.json
Action test.json
W&S-National DSS consists of multiple graphs that represent the data of W&S. Each graph has its own configuration that describes the chart and its type.
National DSS consists of the following charts in W&S:
Revenue Tab
Overview
Total Cumulative Collection
Top ULB By Performance
Bottom ULB by Performance
W&S Collection by Usage Type
W&S Collection by Channel Type
W&S Key Financial Indicators
W&S Tax Heads
Service Tab
Overview
Total Cumulative Connection
Water Connection By Usage
Sewerage Connections By Usage
Connection By Channel
W&S Connection Ageing
Overview
The Overview graph contains multiple data information as listed below:
Today’s Collection: This represents today’s collection amount for Water and Sewerage Application Fee + Consumption Charges.
Total Collection: This represents the total collection amount for Water and Sewerage Application Fee + Consumption Charges.
Target Collection: This represents the target collection amount for the Water and Sewerage connections.
Target Achievement: This represents the target achieved in percentage. This is calculated by the formula- (Total Collection/Target Collection)*100%
Total Cumulative Collection
This graph illustrates the Water and Sewerage collection amount information on a monthly basis. The insights are represented in distinct cumulative line graphs for water and sewerage collections. The graph changes as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Top State By Performance
This graph represents the States performance based on the % of target achieved in the form of bar charts in descending order.
On the click of the Show More button the system displays the information of all the states as seen in the screenshot below:
This graph represents the States performance based on the % of target achieved in the form of bar charts in ascending order.
On the click of the Show More button, the system displays the information of all the states as seen in the screenshot below:
W&S Collection by Usage Type
This graph shows the collection amount based on the usage/property type and this amount changes as per the selected denomination filter.
W&S Collection by Channel Type
This graph shows the collection amount based on the collection channel type (eg-online, counter, etc) and this amount changes as per the selected denomination filter.
W&S Key Financial Indicators
This tabular chart representation graph shows multiple W&S information like Target Collection, Total Collection, Total Transactions, Total Connections and Target Achievement (in %). The table shows the data at the district level and provides a drill-down chart for each district to the ULB level and from the ULB level to the ward level.
xtable type adds multiple computed fields with the aggregated dynamic fields.
To add multiple computed columns -
provide the actionName in the following format - actionNameComputedField<T> interface
provide the fields [] names as it exists in the query key
provide the newField as a name to reflect the computed details
Clicking on any district name provides the drill-down charts, that represent data at the district level.
Clicking on the ULB offers a drill-down view of the data at the ward level.
W&S Tax Heads
The tabular chart representation graph shows multiple W&S information like Total Collection, Penalty, Interest and Target Collection. The table provides the view of data at the district level. Drill-down charts are available for each district to ULB level and for each ULB to ward level.
table type allows the addition of multiple aggregated fields.
Clicking on the distinct name provides a drill-down view of data at the ULB level.
Clicking on the ULB name provides a drill-down view of data at the ward level.
Overview - The overview graph offers insights on multiple data items listed below for a selected time period.
Total Applications: the total number of applications submitted for new, modify, and disconnection requests
SLA Compliance: the total SLA observed in percentage
Total Active Connections: the total active water and sewerage connections
Water-Metered Connections: the total active metered water connections
Water-Non-MeteredInformation Connections: the total active non-metered water connections
Sewerage Connections: the total active sewerage connections
Cumulative Connections
This graph provides insights into the Water and Sewerage connections on a monthly basis in the form of a cumulative line graph. Distinct line graphs are illustrated for water and sewerage connections.
line - this graph/chart is data representation on date histograms or date groupings.
Water Connections by Usage Type
This graph provides the active water connection insights based on the usage/property type.
Sewerage Connections by Usage Type
This graph offers the active Sewerage connection details based on the usage/property type.
W&S Connections by Channel Type
This graph provides the active water and sewerage connection details by channel type (eg-online, counter, etc).
W&S Connection Ageing
This tabular chart graph provides insights on the submitted W&S applications that are pending to be worked on. Information like Pending from 0 to 3 days, Pending from 3 to 7 days, Pending from 7 to 15 days, Pending for more than 15 days, and Total Pending Applications are shown in the chart. The data is visible at the district level with the drill-down facility down to the State level to the ULB level and finally to the Ward level.
xtable type allows adding multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns -
provide the actionName in the following format - actionNameComputedField<T> interface
provide the fields [] names as it exists in the query key
provide the newField as a name to reflect the computed details
Clicking on the district or State name provides a drill-down view of the data at the ULB level.
Clicking on the ULB name provides a drill-down view of the data at the ward level.
isRoundOff: This property is introduced to round off the decimal values. For example, the value 25.43 is rounded off to 25 using the isRoundOff property configuration. The value 22.56 is rounded off to 23. This configuration property is used for insights configuration and overview graphs.
Key(eg: fsmTotalrequest): This is the Visualization Code used to configure visualization details. It allows the client application to identify the visualization for display.
chartName: The name of the chart to be used as a label on the dashboard. The name of the chart is the detailed name. In this configuration, the name of the chart is the localization code used by the client side.
queries: Some visualizations are derived from specific data sources. While some others are derived from different data sources and are combined together to get a meaningful representation. The queries of aggregation used to fetch out the right data in the right aggregated format are configured here.
queries.module: The module/domain level, on which the query is applied on. The Water and Sewerage module is referred to as W&S.
queries.indexName: This property allows the configuration of the name of the index upon which the query is executed.
queries.aggrQuery: The aggregation query in itself is added here. Based on the specified module and the index name, the query is attached to the filter part of the complete search request and then executed against that index.
queries.requestQueryMap: Client requests carry certain fields that require filtering. The parameters specified in the client request are different from the parameters in each of the indexed documents. This mapping is maintained to map the request parameters to the ElasticSearch Document parameters.
queries.dateRefField: Each of the modules have separate indexes. And all of them have their own date fields. When there is a date filter applied against these visualizations, each of them has to apply it against their own date reference fields. This configuration parameter maintains the date field index.
chartType: This configuration field identifies the type of chart/visualization data to be used to represent data insights.
Available Chart Types
metric - this presents the aggregated amount/value for records filtered by the query
pie - this presents grouped data in the form of line graphs, bar graphs, pie charts or donuts
line - this graph/chart is data representation using dated histograms or grouped data
perform - this chart groups data performance-wise
table - presents data grouped into rows and columns with distinct headers
xtable - represents an advanced feature of the table with dynamic capabilities for adding header values.
valueType: In any case of data, the values sent for plotting, might be in percentage, sometimes an amount or sometimes just a count. This field allows the configuration of the type of value represented by the data in the visualization - that is whether it reflects a number, a percentage or an amount.
action: Some of the visualizations are not just aggregation of the data source. There might be some cases where we have to do a post aggregation computation. For Example, in the case of Top 3 Performing ULBs, the Target and Total Collection is obtained and then the percentage is calculated. This parameter defines the action that has to be performed on the data obtained.
documentType: This parameter defines the type of document upon which the query has to be executed.
drillChart: This field adds the drill-down code for the visualization in case the chart offers drill-down. This is used by the client service to manage drill-downs.
aggregationPaths: All the queries have Aggregation names in them. In order to fetch the value out of each Aggregation Responses, the name of the aggregation in the query is an easy bet. These aggregation paths will have the names of Aggregation in it.
insights: This field shows the data in comparison to last year with arrow symbols that indicate the % increase or decrease.
comment: In order to display information on the “i” symbol of each visualization. This field captures any additional information linked to visualization.
The index that contains data for National-W&S is- ws-national-dashboard
The mapping for this index is:
The following table describes the properties mentioned above:
Technical Doc
The overview page is an aggregation of multiple services like property tax, trade license, water and sewerage, fire NOC, OBPS, mCollect etc. NDSS has two sides to it. One is the process in which the data is pooled into ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around various data sets, there is a need to make this configurable. This ensures that the process can be configured easily in case a new scenario is introduced.
This document walks us through the steps on how to define the configurations for the analytics of NDSS for the overview page.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch into a consumable data response. This is essentially used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. We need to add the changes related to National-Dashboard in this dashboard-analytics. Configuration file path: Below is a list of configurations that need to be changed to run National-Dashboard successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration - Each Visualization has its own properties. Each Visualization comes from different data sources (Sometimes it is a combination of different data sources).
In order to configure each visualization and its properties, we have a Chart API Configuration document. In this, Visualization Code, which happens to be the key, has its properties configured as a part of the configuration and is easily changeable.
Here is the sample ChartApiConfiguration.json data for the Overview Page.
Master Dashboard Configuration - Master Dashboard Configuration is the main configuration which defines as which are the Dashboards which are to be painted on screen.
It includes all the Visualizations, their groups, the charts which comes within them and even their dimensions as what should be their height and width.
Role Dashboard Mappings Configuration - Master Dashboard Configuration which was explained earlier hold the list of Dashboards which are available.
Given the instance where Role Action Mapping is not maintained in the Application Service, this configuration will act as Role - Dashboard Mapping Configuration
In this, each Role is mapped against the Dashboard which they are authorized to see
This was used earlier when the Role Action Mapping of eGov was not integrated.
Later, when the Role Action Mapping started controlling the Dashboards to be seen on the client side, this configuration was just used to enable the Dashboards for viewing.
MDMS configuration to be added: common-masters/uiCommonConstants.json
roleaction.json
Action test.json:
Overview Page - National DSS consists of multiple graphs which represent the aggregated data for various services. Each graph has its own configuration which will describe the chart and its type.
National DSS consists of the following charts on the Overview page:
Revenue Tab
Overview
Total Cumulative Collection
Total Cumulative Collection (Service Wise)
Top 3 States By Performance
Bottom 3 States by Performance
Service Tab
Overview
Total & Closed Applications
Total Applications(Service Wise)
Top 3 Performing States By Completion
Bottom 3 Performing States By Completion
Revenue Tab
Overview - The overview graph contains multiple data information as below in the selected time period.
Collection on: This represents the aggregated data of today’s collection amount from the module PropertyTax, TradeLicense, Water&Sewerage, FireNoc, OBPS, and mCollect.
Total Collection: This represents the aggregated total collection amount from the module PropertyTax, TradeLicense, Water&Sewerage, FireNoc, OBPS, and mCollect.
Target Collection: This represents the aggregated target collection amount from the module, PropertyTax, TradeLicense, Water&Sewerage.
Target Achievement: This represents the aggregated target achieved in percentage. This is calculated by formula- (Total Collection(PT, TL, W&S)/Target Collection(PT, TL, W&S))*100%
Total Cumulative Collection - This graph contains an aggregated amount of the modules PropertyTax, TradeLicense, Water&Sewerage, FireNoc, OBPS, and mCollect. Collection of amount information on a monthly base as a cumulative line graph. This changes as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Total Cumulative Collection (Service Wise) - This graph represents the module-wise collection for the given period of time.
Modules are - PropertyTax, TradeLicense, Water&Sewerage, FireNoc, OBPS, and mCollect.
Top 3 Performing States By Performance - This graph represents the States based on the aggregated target achieved from the modules PropertyTax, TradeLicense, Water&Sewerage in bar chart representation with the % of target achieved in descending order.
Bottom 3 Performing States By Performance - This graph represents the States based on the aggregated target achieved from the modules PropertyTax, TradeLicense, Water&Sewerage in bar chart representation with the % of target achieved in ascending order.
Service Tab
Overview - The overview graph contains multiple data information as below in the selected time period.
Total Applications: This represents the aggregated total number of Applications entered from the modules PropertyTax, TradeLicense, Water&Sewerage, FireNoc, and OBPS.
Closed Applications: This represents the aggregated total number of Applications closed from the modules PropertyTax, TradeLicense, Water&Sewerage, FireNoc, and OBPS.
SLA Achievement: This represents the total no of applications closed within the time from common-index across the modules.
Citizen Registered: This represents the total no of Citizen Registered from common-index across the modules.
Total & Closed Applications - This line chart represents the total and closed applications graph month-wise (non-cumulative) aggregated data lines from the modules PropertyTax, TradeLicense, Water&Sewerage, FireNoc, and OBPS.
Total Applications(Service Wise) - This graph represents the module-wise application registered.
Modules are - PropertyTax, TradeLicense, Water&Sewerage, FireNoc, and OBPS.
Top 3 Performing States By Completion - This graph represents the States based on the aggregated data by application closed within SLA from the modules PropertyTax, TradeLicense, Water&Sewerage, OBPS and Firenoc in bar chart representation with the % of completion in descending order.
Bottom 3 Performing States By Completion - This graph represents the States based on the aggregated data by application closed within SLA from the modules PropertyTax, TradeLicense, Water&Sewerage, OBPS and Firenoc in bar chart representation with the % of completion in ascending order.
NDSS has two sides to it. One is the process in which the data is pooled to the ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of data sets, there is a need for making this configurable. This ensures that the process can be configured easily in case a new scenario is introduced.
This document walks us through the steps on how to define the configurations for DSS analytics for the OBPS module.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch into a consumable data response. This is used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. Add the changes related to OBPS in this dashboard-analytics. Configuration file path: Below is a list of configurations that need to be changed to run OBPS successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each visualization has its own properties. The visualization data is fetched from different sources. In some cases, it is a combination of different data sources.
The Chart API configuration document is used to configure each visualization and its properties.
The visualization code is the key whose properties are configured here. These properties are easily changeable.
Below is the sample ChartApiConfiguration.json data for the OBPS.
Master Dashboard Configuration: Master dashboard configuration is the main configuration that defines the dashboards to be painted on the screen. This includes the visualizations, their groups, the charts and the chart dimensions in terms of height and width.
Role Dashboard Mappings Configuration:
Master Dashboard Configuration which was explained earlier hold the list of Dashboards which are available.
Given the instance where Role Action Mapping is not maintained in the Application Service, this configuration will act as Role - Dashboard Mapping Configuration
In this, each Role is mapped against the Dashboard which they are authorized to see
This was used earlier when the Role Action Mapping of eGov was not integrated.
Later, when the Role Action Mapping started controlling the Dashboards to be seen on the client side, this configuration was just used to enable the Dashboards for viewing.
MDMS configuration to be added: common-masters/uiCommonConstants.json
roleaction.json
Action test.json:
OBPS-National DSS contains multiple graphs that represent OBPS data. Each graph has its own configuration that describes the chart and its type.
National DSS contains the following charts in OBPS:
Overview-Revenue
Overview-Service
Total Cumulative Collection
Total permits issued vs Total OC submitted vs Total OC issued
Collection by Payment Mode
Top 3 Performing States/ULBs/Ward
Bottom 3 Performing States/ULBs/Ward
Permits Issued by Risk Type
Permits Issued by Occupancy Type
Service Report
More details about the respective charts are discussed below.
Overview-Revenue: this chart contains multiple data information as below in the selected time period.
Today's Collection - This represents the day’s collection amount for OBPS Application Fee + Permit Fee.
Total Collection - This represents the total collection amount for OBPS Application Fee + Permit Fee.
Overview-Service: This chart illustrates multiple data information as below for the selected time period.
Total Plans Scrutinized - This represents the total number of plans submitted by an architect for scrutiny for new construction to the concerned authority.
Total permits issued - This represents the total number of new permits issued by the concerned authority.
Total OC issued - This represents the total number of occupancy certificates issued by the concerned authority for new construction.
Total sq m of land applied in the BPA system - This represents the total area in square meters approved for construction.
Avg. days to issue permits - This represents the average number of days taken to issue a permit application.
SLA Compliance (Permits) - This represents the total percentage of permits issued within SLA.
Avg. days to issue OC - This represents the average number of days taken to issue an OC.
SLA Compliance (OC) - This represents the percentage of OCs issued within SLA
Total Cumulative Collection: This graph displays the OBPS collection amount information on a monthly base as a cumulative line graph. The graph changes as per the selected denomination amount filter.
line - this graph/chart is data representation on date histograms or date groupings.
Total permits issued vs Total OC submitted vs Total OC issued: This graph shows total permits issued vs total OC submitted vs total OC issued for a given time period in the form of a line chart.
line - this graph/chart is data representation on date histograms or date groupings.
Collection by Payment Mode: This pie chart shows the bifurcation of total collections by payment mode (online, cash, card, cheque) which is the sum of revenue collected from the OBPS module for the applied date filter.
Top 3 Performing States: This card shows the top 3 performing states/ULBs/wards based on the percentage of permits issued. Number of Permits issued / Number of applications
Clicking on the Show More option displays the data for all states.
Bottom 3 Performing States: This card shows the bottom 3 performing states/ULBs/wards based on the percentage of permits issued. Number of Permits issued / Number of applications
Clicking on the Show More option displays the data for all states.
Permits Issued by Risk Type: This pie chart illustrates the bifurcation of total permits issued by risk type (low risk, medium risk, high risk) for the applied date filter.
Permits Issued by Occupancy Type: This pie chart illustrates the bifurcation of total permits issued by occupancy type (Residential, Institutional etc) for the applied date filter.
Service Report: This tabular chart representation graph shows information about multiple OBPS metrics like Total Collection or Total Cumulative Collection, Total Plans Scrutinized, Total applications submitted, Total permits issued, Avg. days to issue a permit, SLA Compliance (Permits), Total OC Plans scrutinized, Total OC submitted, Total OC issued, Deviation Percentage, Avg. days to issue OC, SLA Compliance (OC), and Total OCs with deviation. The table displays the data at the state level and also provides a drill down chart from state to ULB and from ULB to ward level.
Clicking on the state name provides drill-down charts representing the state-specific data.
Clicking on the ULB navigates to the display of ward-level data for the specified ULB.
isRoundOff: This property is introduced to round off the decimal values. For instance, the value 25.43 uses isRoundOff property in configuration to display it as 25. The value 22.56 is rounded off to 23. This can be used for insights configuration as well for overview graph.
Key(eg: bpaTotalCollection): This is the Visualization Code. This key is referred to in further visualization configurations. It is used by the client application to indicate which visualization is needed for display.
chartName: The name of the chart used as a label on the dashboard. The name of the chart is a detailed name. In this configuration, the chart name is added to the localization code used by the client-side.
queries: Some visualizations are derived from a specific data source. While some others are derived from different data sources and are combined together to get a meaningful representation. The queries of aggregation to fetch the right data in the right aggregated format are configured here.
queries.module: The module/domain level, on which the query is applied i.e., OBPS
queries.indexName: The name of the index upon which the query is executed is configured here.
queries.aggrQuery: The aggregation query in itself is added here. Based on the module and the index name specified, this query is attached to the filter part of the complete search request and then executed against that index.
queries.requestQueryMap: Client requests carry certain fields that need to be filtered. The parameters specified in the client request are different from the parameters in each of these indexed documents. In order to map the parameters of the request to the parameters of the ElasticSearch Document, this mapping is maintained.
queries.dateRefField: Each of these modules have separate indexes. And all of them have their own date fields. When there is a date filter applied against these visualizations, each of them has to apply it against their own date reference fields. This parameter is configured to maintain the date field and index mapping.
chartType: As there are different types of visualizations, this field defines what is the type of chart/visualization that should be used to represent the data.
Available chart types:
metric - this represents the aggregated amount/value for records filtered by the aggregate as query
pie - this represents the aggregated data on grouping. This is can be used to represent any line graph, bar graph, pie chart or donuts
line - this graph/chart is data representation on date histograms or date groupings
perform - this chart represents performance-wise grouping of data.
table - represents a form of plots and values grouped under distinct headers.
xtable - represents an advanced feature of a table that has the capability to add header values.
valueType: In any case of data, the values which are sent for plotting, might be a percentage, sometimes an amount or sometimes just a count. This field is used to indicate the type of value that the visualization displays.
action: Some of the visualizations are not just aggregation on data source. There might be some cases where a post aggregation computation is required. For instance, in the case of the top 3 performing ULBs, the Target and Total Collection is obtained and then the percentage is calculated. This parameter defines the action that has to be performed on the obtained data.
documentType: The type of document upon which the query has to be executed is defined here.
drillChart: If there is a drill down on the visualization the code for the drill-down is added here. This is used by client services to manage drill downs.
aggregationPaths: all the queries have aggregation names in it. In order to fetch the value out of each aggregation response, the name of the aggregation in the query is used. These aggregation paths have the names of aggregation in it.
insights: shows the data in comparison to last year with arrow symbols - displays the data on how much % is increased or decreased.
_comment: display information for the “i” symbol of each visualization is maintained in this field.
Index Properties of National OBPS: The index that contains data for National-OBPS is- obps-national-dashboard
The mapping for this index is given below:
The table below describes the properties mentioned above:
Postman collection for National OBPS:
Technical Documentation
DSS has two sides to it. One is the process in which the data is pooled into ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around various data sets, there is a need to make this configurable. This ensures that the process can be configured easily in case a new scenario is introduced. This document explains the steps on how to define the configurations for the analytics side of DSS for W&S.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch into a consumable data response. This is later used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. we need to add the changes related to FSM in this dashboard-analytics. Configuration file link: Below is a list of configurations that need to be changed to run FSM successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each Visualization has its own properties. Each Visualization comes from different data sources (Sometimes it is a combination of different data sources). In order to configure each visualization and its properties, we have a Chart API Configuration Document.
In this, Visualization Code, which happens to be the key, will be having its properties configured as a part of the configuration and are easily changeable.
ChartApiConfiguration.json sample data for the W&S is given below:
Master Dashboard Configuration: Master dashboard configuration is the main configuration which defines as which are the dashboards which are to be painted on the screen.
It includes all the visualizations, their groups, the charts which come within them and even their dimensions as what should be their height and width.
Role Dashboard Mappings Configuration: The master dashboard configuration which was explained earlier holds the list of dashboards which are available.
Given the instance where role-action mapping is not maintained in the application service, this configuration will act as a role-dashboard mapping configuration. In this, each role is mapped against the dashboard that they are authorized to see. This was used earlier when the role-action mapping of eGov was not integrated.
Later, when the role-action mapping started controlling the dashboards to be seen on the client side, this configuration was just used to enable the dashboards for viewing.
MDMS configuration to be added: common-masters/uiCommonConstants.json
roleaction.json
Action test.json:
National DSS consists of the following charts in National Urban Real-time Dashboard:
Overview Card
Onboarded States
Under Implementation
Live States
Live ULBs
Total Collections
Target Achievement
Total Applications
Total Citizens
SLA Achievement
Project Status
Onboarded ULBs vs Live ULBs
Property Tax
Total Collection
Properties Assessed
Trade License
Total Collection
Total Applications
Municipal Grievances
Total Grievances
SLA Achievement
Water & Sewerage
Total Collection
Total Connections
Building Permissions
Total Collection
Total Permits Issued
Fire NOC
Total Collection
Total Fire NOCs Issued
User Charges
Total Collection
Total Receipts
Overview Card: The overview graph contains multiple data information as below in the selected time period.
Under Implementation: This represents the No of states in the nation which are in the status of under implementation for DIGIT.
Live States: This represents the number of states across the nation which has DIGIT as Live.
Live ULBs: This represents the Total No of ULBs Live across states within the nation which has DIGIT as Live.
Target Achievement: This represents the target achieved in percentage. This is calculated by the formula - (Total Collection/Target Collection)*100%, across the modules and States.
Total Applications: This represents the total number of applications across the modules and states.
Total Citizens: This represents the total number of citizens registered across modules and states.
SLA Achievement: This represents the total number of citizens registered across the modules and States.
Project Status: This Graph Represent the states int he nation with their status of the DIGIT implementation into 4 different states Live, Under Implementation and Onboarded and None
Onboarded Vs Live ULBs - This Graph represents the Onboarded ULBs count vs Live ULBs count month wise for a given period.
DrilDown of the Project Status for a given State Ex: Punjab
Project Status shows the list of the Live ULBs module wise for a given state. Bar chart shows the onboarded vs live ULBs count month wise for a given state.
All the modules specific metrics discussed below are queried from the data in their respective National Dashboard Elastic Search index.
Property Tax
Total Collection - This metric represents the Total Collection for the Property Tax Service across the ULBs and States with in the nation.
Properties Assessed - This metric represents the Total No of Properties Assessed by Property Tax Service across the ULBs and States with in the nation.
Trade License
Total Collection - This metric represents the Total Collection for the Trade License Service across the ULBs and States with in the nation.
Total Applications - This metric represents the Total No of Trade Licenses processed by Trade License Service across the ULBs and States with in the nation.
Municipal Grievances
Total Grievances - This metric represents the Total No of Grievances created across the ULBs across the states in the Nation
SLA Achievement - This metric represents the Percentage of the Grievances Addressed/Solved with in the Grievances created across the ULBs across the states in the Nation.
Water & Sewerage
Total Collection - This metric represents the Total Collection for the Water & Sewerage Service across the ULBs and States with in the nation.
Total Connections - This metric represents the Total No of Connections issued across the Water & Sewerage across the ULBs and states with in the Nation.
Building Permissions
Total Collection - This metric represents the Total Collection for the Building Permissions Service across the ULBs and States with in the nation
Total Permits Issued - This metric represents the Total No of permission issued across the ULBs and states with in the Nation
Fire NOC
Total Collection - This metric represents the Total Collection for the Fire NOC Service across the ULBs and States with in the nation
Total Fire NOCs Issued - This metric represents the Total No of Fire NOCs issued across the ULBs and states with in the Nation
User Charges
Total Collection - This metric represents the Total Collection for the Collection Service across the ULBs and States with in the nation
Total Receipts - This metric represents the Total No of Receipts issued across the ULBs and states with in the Nation
isRoundOff: This property is introduced to round off the decimal values. Ex: if the value is 25.43 by using isRoundOff property in configuration we will get it as 25. if value is 22.56 round of value will be 23. This can be used for insights configuration as well for overview graph.
Key(eg: fsmTotalrequest) : This is the Visualization Code. This key will be referred to in further visualization configurations.
This is the key which will be used by the client application to indicate which visualization is needed for display.
chartName : The name of the Chart which has to be used as a label on the Dashboard. The name of the Chart will be a detailed name.
In this configuration, the Name of the Chart will be the code of Localization which will be used by Client Side.
queries : Some visualizations are derived from a specific data source. While some others are derived from different data sources and are combined together to get a meaningful representation.
The queries of aggregation which are to be used to fetch out the right data in the right aggregated format are configured here.
queries.module : The module / domain level, on which the query should be applied on. Water and sewerage is W&S.
queries.indexName : The name of the index upon which the query has to be executed is configured here.
queries.aggrQuery : The aggregation query in itself is added here. Based on the Module and the Index name specified, this query is attached to the filter part of the complete search request and then executed against that index
queries.requestQueryMap : Client Request would carry certain fields which are to be filtered. The parameters specified in the Client Request are different from the parameters in each of these indexed documents.
In order to map the parameters of the request to the parameters of the ElasticSearch Document, this mapping is maintained.
queries.dateRefField : Each of these modules have separate indexes. And all of them have their own date fields.
When there is a date filter applied against these visualizations, each of them has to apply it against their own date reference fields.
In order to maintain what is the date field in which index, we have this configured in this configuration parameter.
chartType : As there are different types of visualizations, this field defines what is the type of chart / visualization that this data should be used to represent.
Chart types available are:
metric - this represents the aggregated amount/value for records filter by the aggregate es query
pie - this represents the aggregated data on grouping. This is can be used to represent any line graph, bar graph, pie chart or donuts
line - this graph/chart is data representation on date histograms or date groupings
perform - this chart represents groping data as performance wise.
table - represents a form of plots and value with headers as grouped on and list of its key, values pairs.
xtable - represents a advanced feature of table, it has addition capabilities for dynamic adding header values.
valueType : In any case of data, the values which are sent to plot, might be a percentage, sometimes an amount and sometimes it is just a count.
In order to represent them and differentiate the numbers from amount from percentage, this field is used to indicate the type of value that this Visualization will be sending.
action : Some of the visualizations are not just aggregation on data source. There might be some cases where we have to do a post aggregation computation.
For Example, in the case of Top 3 Performing ULBs, the Target and Total Collection is obtained and then the percentage is calculated. In these kinds of cases, what is the action that has to be performed on that data obtained is defined in this parameter.
documentType : The type of document upon which the query has to be executed is defined here.
drillChart : If there is a drill down on the visualization, then the code of the Drill Down Visualization is added here. This will be used by Client Service to manage drill downs.
aggregationPaths : All the queries will be having Aggregation names in it. In order to fetch the value out of each Aggregation Responses, the name of the aggregation in the query will be an easy bet. These aggregation paths will have the names of Aggregation in it.
insights : It is to show the data with the comparison of last year with arrow symbols, it will show the data in how much % is increased or decreased.
_comment : In order to display information on the “i” symbol of each visualization, Visualization Information is maintained in this field.
Index Mapping of National Urban Relatime Dashboard:
The index that contains data for National Urban Relatime Dashboard is- common-national-dashboard
The mapping for this index is:
The following is the table that describes the properties mentioned above:
Technical Doc
NDSS has two sides to it. One is the process in which the data is pooled to the ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of data sets, there is a need for making this configurable. This ensures that the process can be configured easily in case a new scenario is introduced.
This document walks us through the steps on how to define the configurations for DSS analytics for mCollect module.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch into consumable data Response. This is used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. Add the changes related to National-Dashboard in the dashboard-analytics configuration here. Here is the location :
Below is a list of configurations that need to be changed to run the National Dashboard successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each Visualization has its own properties. The visualization is assembled from different data sources (Sometimes it is a combination of multiple data sources).
The Chart API configuration document is used to configure each visualisation and its properties.
In this, Visualisation Code, which happens to be the key, will be having its properties configured as a part of the configuration and are easily changeable.
Sample ChartApiConfiguration.json data for mCollect
Master Dashboard Configuration - Master Dashboard configuration is the main configuration which defines the dashboards to be painted on the screen. This includes the visualizations, the groups, the charts which comes within them and even the dimensions in terms of height and width.
Role Dashboard Mappings Configuration - Master Dashboard Configuration which was explained earlier hold the list of available dashboards. Given the instance where Role Action Mapping is not maintained in the application service, this configuration acts as Role - Dashboard Mapping configuration.
Each role is mapped against the dashboards that they are authorized to see. This was used earlier when the Role Action Mapping of eGov was not integrated. Later, when the role action mapping started controlling the dashboards to be seen on the client side, this configuration was used to enable the dashboards for viewing.
MDMS configuration to be added - common-masters/uiCommonConstants.json
roleaction.json
Action test.json:
mCollect - National DSS contains multiple graphs that represent mCollect data. Each graph has its own configuration that describe the chart and its type.
National DSS contains the following charts in mCollect:
Overview
Total Cumulative Collection
Receipts by Payment Mode
Collection by Payment Mode
Challan Count by Status
Receipts Count by Status
Collection by Status
Top Categories Collections
Monthly Collections
Overview: Overview graph contains multiple data information as below in the selected time period.
Today’s Collection : This represents the today’s collection amount
Total Collection : This represents the total collection amount
Total Challans : This represents the total number of challans
Total Receipts : This represents the total number of receipts
Number of Categories : This represents the total number of categories
Total Cumulative Collection - This graph illustrates the mCollect collection amount information in the monthly base as a cumulative line graph. The graph changes as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Receipts by Payment Mode - The graph shows the number of receipts based on the payment mode.
Collection by Payment Mode - This graph shows the collection amount based on the payment mode.
Challan Count by Status - This graph shows the number of challans based on the status.
Receipts Count by Status -This graph shows the number of receipts based on the status.
Collection by Status - This graph shows the collection amount based on the status.
Top Categories Collection - This graph shows the collection amount based on the categories, in descending order.
Monthly Collection - This graph shows the total collection and number of receipts for each month.
Collection Report
Boundary
This tabular chart representation graph shows multiple mCollect information like Total Collection, Number of Receipts and Number of Challans. The table shows the data at the State level and provides a drill down chart for each State to ULB and from ULB to the Ward level data.
xtable type allows to add multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns, define computedFields [] where actionName (IComputedField<T> interface), fields [] names as in exist in query key, and newField as the name for the computation.
Clicking on any State name provides drill down charts that represent the specific ULB data.
Clicking on the ULB offers a drill-down view of the data for the Wards for the specified ULB. Clicking on any ward displays the ward level data.
Category - shows the category wise data for Total Collections, Number of Challans and Number of Receipts.
The index that contains data for National-mCollect is- mcollect-national-dashboard
The mapping for this index is given below:
The following is the table that describes the properties mentioned above:
Technical Doc
NDSS has two sides to it. One is the process in which the data is pooled to the ElasticSearch and the other is the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of data sets, there is a need for making this configurable. This ensures that the process can be configured easily in case a new scenario is introduced. This document walks us through the steps on how to define the configurations for DSS analytics for the PGR module.
Analytics: Microservice responsible for building, fetching, aggregating and computing the data on ElasticSearch into a consumable data response. This is used for visualizations and graphical representations.
Analytics Configurations: Analytics contains multiple configurations. Add the changes related to PGR in the dashboard-analytics. Configuration file link:
Below is a list of configurations that need to be changed to run PGR successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Chart API Configuration: Each visualization has its own properties. The visualization comes from different data sources (sometimes it is a combination of different data sources).
The Chart API configuration document enables users to configure each visualisation and its properties. The visualization code is the key that has its properties configured as a part of the configuration and are easily changeable.
Sample ChartApiConfiguration.json data for National PGR:
Master Dashboard Configuration: Master dashboard configuration is the main configuration that defines the dashboards to be painted on the screen. This includes the visualizations, their groups, the charts and even the dimensions in terms of height and width.
Role Dashboard Mappings Configuration: Master Dashboard configuration explained earlier holds the list of available dashboards.
Given the instance where role action mapping is not maintained in the Application Service, this configuration provides the facility to map the roles to specific dashboard views. This option was used earlier when the role action mapping of eGov was not integrated. Once the role action mapping feature was integrated, this configuration was just used to enable the dashboards for viewing.
MDMS Configuration to be added: common-masters/uiCommonConstants.json
roleaction.json
Action test.json:
The national dashboard contains multiple graphs that represent the data of the national PGR. Each graph has its own configuration that describe the chart and its type.
National PGR consists of the following chart:
Overview
Cumulative Closed Complaints
Total Complaints by Source
Total Complaints by Status
Complaint By Status
Complaint By Department
Complaint By Channel
Event Duration Graph
Unique Citizens
Top Complaints
Service Report
Overview: The overview card contains metrics data information within a selected date range.
Total Complaints: Number of complaints raised by citizens or employees. This is calculated by the formula (Open Complaints + Closed Complaints).
Closed Complaints: Number of complaints successfully resolved by the concerned authorities. This is calculated by the formula (Resolved Complaints + Rejected Complaints).
SLA Achievements: Percentage of complaints resolved within SLA. This is calculated by the formula (Resolved complaints within SLA/Total Complaints) * 100%
Completion Rate: This represents the completion rate of raised complaints. This is calculated by the formula (Closed Complaints / Total Complaints) * 100%
Cumulative Closed Complaints: This graph contains the Total Complaints, Closed Complaints, and Reopened Complaints information on a monthly base in the form of cumulative line graphs. The graph changes as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Complaint By Channel: This graph shows the total number of complaints categorized by channel (eg Mobile, Web, etc) and it changes as per the denomination filter change.
Complaint By Department: This graph shows the total number of complaints categorized by department and it changes as per the denomination filter change.
Complaint By Status: This graph shows the total number of complaints categorized by status and it changes as per the denomination filter change. It shows the % of the top 4 properties, the remaining properties are reflected in the 'other' category.
Total Complaints by Status: This graph shows the data in horizontal bar representation and bars contain complaints categorized by status (eg Mobile App, Web, etc) in monthly wide and non-cumulative data.
Average Solution Time: This graph shows the average of (start to end) in a workflow, irrespective of status on a monthly basis as a line graph.
Unique Citizens: This graph shows the number of Unique Citizens who have filed complaints on a monthly basis as a line graph.
Top Complaints: This graph shows the total complaints based on category with the category having most of the registered complaints on top.
Service Report: This tabular chart representation graph in the form of a xtable shows multiple National PGR information like Total Complaints, Closed Complaints, Opened Complaints, Reopened Complaints, Resolved Complaints, Assigned Complaints, Reassigned Complaints, Rejected Complaints, Completion Rate (in %) and SLA Achievement (in %). The table has two tabs. The first tab shows the State level data and provides the option to drill down the chart to the ULB level and from the ULB to the ward level data. The second is the Department level view which shows the data for the department categories.
The service report contains metrics data information within a selected date range.
Total Complaints: Number of complaints raised by citizens or employees. This is calculated by the formula (Open Complaints + Closed Complaints).
Closed Complaints: Number of complaints successfully resolved by the concerned authorities. This is calculated by the formula (Resolved Complaints + Rejected Complaints).
Resolved Complaints: Number of complaints that are marked as done by last-mile employees and await citizen feedback.
Open Complaints: Number of complaints that have been filed by the citizen and await further action (assignment). This is calculated by the formula (Reopened Complaints + Assigned Complaints + Reassigned Complaints).
Reopened Complaints: Number of complaints reopened by the citizen (directly/ via counter employee) due to the unsuccessful resolution of complaint earlier.
Assigned Complaints: Number of complaints that have been assigned to an individual of the respective department.
Reassigned Complaints: Number of complaints for which a reassignment has been requested by the last mile employee.
Rejected Complaints: Number of complaints that have been terminated by the redressal officer. In such cases, citizens will have to file a new complaint.
SLA Achievements: Percentage of complaints resolved within SLA. This is calculated by the formula (Resolved complaints within SLA/Total Complaints) * 100%
Completion Rate: This represents the completion rate of raised complaints. This is calculated by the formula (Closed Complaints / Total Complaints) * 100%
xtable type allows adding multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns, define the computedFields [] where actionName (IComputedField<T> interface), fields [] names as existing in query key, newField as the name that appears on the computed field column.
Clicking on any state name provides drill-down charts that represent the district-specific data:
Clicking on the ULB navigates to the ward level data for the specific ULB and each ward shows the specific data for that ward.
Clicking on the department tab navigates to the Departments and each department shows the specific data for that department.
isRoundOff: This property is introduced to round off the decimal values. For instance, the value 25.43 using isRoundOff property in the configuration displays it as 25. The value 22.56 is rounded off to 23. This is used for insights configuration as well as for the overview graph.
Key(eg: fsmTotalrequest): This is the visualization code. The key is referred to in further visualization configurations. This key is used by the client application to indicate which visualization is needed for display.
chartName: The name of the chart to be used as a label on the dashboard. The name of the chart is the detailed name. In this configuration, the name of the chart is the localization code used by the client.
queries: Some visualizations are derived from a specific data source. While some others are derived from different data sources and are combined together to get a meaningful representation. The queries of aggregation which are to be used to fetch out the right data in the right aggregated format are configured here.
queries.module: The module / domain level, on which the query should be applied on. Faecal Sludge Management is FSM.
queries.indexName: The name of the index upon which the query has to be executed is configured here.
queries.aggrQuery: The aggregation query in itself is added here. Based on the Module and the Index name specified, this query is attached to the filter part of the complete search request and then executed against that index
queries.requestQueryMap: Client requests carry certain fields that need to be filtered. The parameters specified in the client request are different from the parameters in each indexed document. In order to map the parameters of the request to the parameters of the ElasticSearch Document, this mapping is maintained.
queries.dateRefField: Each of these modules have separate indexes. And all of them have their own date fields. When there is a date filter applied against these visualizations, each of them has to apply it against their own date reference fields.
This configuration parameter maintains the date field index.
chartType: As there are different types of visualizations, this field defines what is the type of chart / visualization that this data should be used to represent.
Available chart types
metric - this represents the aggregated amount/value for records filtered by the aggregate es query
pie - this represents the aggregated data on grouping. This is can be used to represent any line graph, bar graph, pie chart or donuts
line - this graph/chart is data representation on date histograms or date groupings
perform - this chart represents groping data as performance-wise.
table - represents a form of plots and values with headers as grouped on and list of its key, values pairs.
xtable - represents an advanced feature of the table - it has addition capabilities for adding header values dynamically.
valueType: the data values which are sent to the plot, might be a percentage, sometimes an amount and sometimes it is just a count. In order to represent them and differentiate the numbers in the form of numbers or percentages - this field allows the configuration of the type of value that the visualization illustrates.
action: some visualizations are not just aggregation of data sources. There might be some cases where a post aggregation computation is required.
For instance, in the case of the top 3 performing ULBs, the Target and Total Collection are obtained and then the percentage is calculated. In these kinds of cases, the parameter defines what is the action that has to be performed on that data obtained.
documentType: the type of document upon which the query has to be executed is defined here.
drillChart: if there is a drill down on the visualization, the code for the drill-down is added here. This is used by Client Service to manage drill downs.
aggregationPaths: All queries have Aggregation names in them. In order to fetch the value out of each Aggregation Responses, the name of the aggregation in the query is an easy bet. These aggregation paths have the names of Aggregation in it.
insights: It shows the data in comparison to last year with arrow symbols. It shows the data in terms of how much % is increased or decreased.
_comment: the display information on the “i” symbol of each visualization is maintained in this field.
Index Properties of National PGR: The index contains data for National-PGR is- pgr-national-dashboard
The mapping for this index is given below:
The following table describes the properties mentioned above:
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 is licensed under a .
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 is licensed under a .
National urban real-time dashboard-national DSS consists of multiple graphs which represent the data of all modules aggregated together. Each graph has its own configuration which will describe the chart and its type.
Onboarded States:This represents the No of states in the nation which are in the status of onboarded for DIGIT.
Postman collection for National Urban Relatime Dashboard:
All content on this page by is licensed under a .
All content on this page by is licensed under a .
Postman collection for pgr-national:
All content on this page by is licensed under a .
Attributes
Definition
Breakup
state
It represents the state name.
for ex. Punjab
Nil
ulb
It represents the ulb name of state .
for ex. for state Punjab, ulb can be "pb.amritsar"
, "pb.longowal" etc.
Nil
ward
It represents the ward name of particular ulb of particular state.
for ex. for ulb "pb.amritsar"
, ward name can we “Ram Nagar”, “Ajith Nagar” etc.
Nil
usageCategory
It represents the category like “RESIDENCIAL”, INDUSTRIAL”, “COMMERCIAL” etc.
Nil
transactionsForUsageCategory
It represents total transactions based on the usageCategory on given date.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
assessedPropertiesForUsageCategory
It represents total properties assessed based on the usageCategory on given date.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
todaysCollectionForUsageCategory
It represents the aggregation of fields property tax, cess, penalty, interest, rebate(should be nagative number) for the given date based on the usageCategory.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
propertyTaxForUsageCategory
It represents the collection done as part of property tax for given date based on the usageCategory.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
cessForUsageCategory
It represents the collection done as part of cess for given date based on the usageCategory.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
rebateForUsageCategory
It represents the rebate given based on the usageCategory.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
penaltyForUsageCategory
It represents the collection done as part of panalty for given date based on the usageCategory.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
interestForUsageCategory
It represents the collection done as part of interest for given date based on the usageCategory.
Breakup by usageCategory(RESIDENCIAL, INDUSTRIAL,COMMERCIAL etc. )
assessments
It represents number of assessments done.
Nil
todaysTotalApplications
It represents number of applications created as part of property tax on given date
Nil
todaysClosedApplications
It represents number of closed applications as part of property tax on given date.
Nil
date
It represents date for which data is ingesting
Nil
financialYear
it represents financial year which which data is inserting.
Nil
propertiesRegisteredForFinancialYear
It represents number of properties registered in the system for the given financial year.
Breakup by financialYear(“2021-22”, “2022-23” etc.)
Attributes
Definition
Breakup
ulb
The district or region for which the data is ingested
Nil
state
The ULB name for which the data is ingested
Nil
ward
The ward for which the data is ingested
Nil
transactions
Number of transactions related to TL module on a given date
Nil
todaysApplications
Number of applications related to TL module on a given date
Breakup by channel type and connection type has to be provided
todaysCollection
Total collection related to TL module on a given date
Breakup by trade type
todaysTradeLicenses
# of tradelicenses issued today
Breakup by status
applicatonsMovedToday
# of Applications moved today
Breakup by status
tlTax
Total tax applied on the trade license
Nil
adhocPenalty
Total ad-hoc penalty on the trade license
Nil
adhocRebate
Total ad-hoc rebate received on the trade license
Nil
Attributes | Definition | Breakup |
ulb | The district or region for which the data is ingested. | Nil |
state | The ULB name for which the data is ingested. | Nil |
ward | The ward for which the data is ingested. | Nil |
transactions | Number of transactions related to WS/SW module on a given date | Nil |
connectionsCreated | Number of connections related to WS/SW module on a given date. | Breakup by:
1.) channel type( |
todaysCollection | Total collection related to WS/SW module on a given date | Breakup by:
1.)usage type( |
waterConnections | new connections created on the given date | Breakup by:
1.) meter type( |
sewerageConnections | new sewreage connections created on the given date | Breakup by:
1.) usage( |
pendingConnections | pending connections on the given date | Breakup by: duration( |
slaCompliance | Percentage of complaints that are resolved within SLA till the given date. | Nil |
todaysTotalApplications | # of Applications created on the given date | Nil |
todaysClosedApplications | # of Applications closed on the given date | Nil |
todaysCompletedApplicationsWithinSLA | # of Applications closed on the given date within SLA | Nil |
Attributes | Definition | Breakup |
ulb | The district for which the data is ingested | Nil |
region | The region for which the data is ingested | Nil |
state | The ULB name for which the data is ingested | Nil |
ward | The ward for which the data is ingested | Nil |
date | The date for which the data is ingested | Nil |
module | The name of the module for which data is ingested i.e, OBPS | Nil |
ocPlansScrutinized | # of plans submitted by an architect for scrutiny for new construction to concerned authority for issuing OC on the given date | Nil |
plansScrutinized | # of plans submitted by an architect for scrutiny for new construction to concerned authority on the given date | Nil |
ocSubmitted | # of applications submitted for OC for new construction on the given date | Nil |
applicationsSubmitted | # of applications submitted for building permit for new construction on the given date | Nil |
ocIssued | # of OC applications issued by the concerned authority on the given date | Nil |
landAreaAppliedInSystemForBPA | total area in sq. mtr. approved for construction on the given date | Nil |
averageDaysToIssuePermit | # of days taken to issue a permit / Total permits issued - latest date | Nil |
averageDaysToIssueOC | # of days taken to issue an OC / Total OCs issued - latest date | Nil |
slaCompliancePermit | # of permits issued within SLA / Total permits issued - till the given date | Nil |
slaComplianceOC | # of OCs issued within SLA / Total OCs issued - till the given date | Nil |
applicationsWithDeviation | # of Permit Applications with Deviation on the given date | Nil |
averageDeviation | Average deviation % for all applications with deviations on the given date | Nil |
ocWithDeviation | # of OC Applications with Deviation on the given date | Nil |
todaysClosedApplicationsOC | # of OC Applications closed on the given date | Nil |
todaysClosedApplicationsOC | # of Permit Applications closed on the given date | Nil |
todaysCompletedApplicationsWithinSLAOC | # of OC Applications closed on the given date within SLA | Nil |
todaysCompletedApplicationsWithinSLAPermit | # of Permit Applications closed on the given date within SLA | Nil |
todaysCollection | Total collection related to OBPS module on a given date | Breakup by payment mode has to be provided |
permitsIssued | # of new permits issued by the concerned authority on the given date | Breakup by riskType, occupancyType, subOccupancyType has to be provided |
Attributes | Definition | Breakup |
ulb | Can be a dummy value as the common national dashboard data is not at ulb level | Nil |
state | The ULB name for which the data is ingested | Nil |
ward | Can be a dummy value as the common national dashboard data is not at ward level | Nil |
region | Can be a dummy value as the common national dashboard data is not at region level | Nil |
status | The status of the DIGIT implementation like Live/UnderImplementation/OnBoarded | Nil |
onboardedUlbsCount | The count of onboardeUlbs for a given state till that date | Nil |
totalCitizensCount | The count of the citizen registered for a given state till that date | Nil |
slaAchievement | The slaAchievment for a given state till that date | Nil |
totalLiveUlbsCount | The count of lvieUlbs for a given state till that date | Nil |
totalUlbCount | The count of all Ulbs for a given state till that date |
|
liveUlbsCount | The count of Live Ulbs for a given state till that date | Breakdown by the serviceModuleCode |
Attributes | Defintion | Breakup |
ulb | The district or region for which the data is ingested. | Nil |
state | The ULB name for which the data is ingested. | Nil |
ward | The ward for which the data is ingested. | Nil |
numberOfCategories | Number of categories related to mCollect module on a given date | Nil |
todaysCollection | Total collection related to mCollect module on a given date | Breakup by paymentMode, status and category has to be provided |
numberOfReceipts | Number of receipts issued on a given date | Breakup by paymentMode, status and category has to be provided |
numberOfChallans | Number of challans issued on a given date | Breakup by challanStatus and category has to be provided. |
Attribute | Definition | Breakup |
ulb | The district or region for which the data is ingested | Nil |
state | The ULB name for which the data is ingested | Nil |
ward | The ward for which the data is ingested | Nil |
uniqueCitizens | Unique number of citizens who have filed a complaint on given date | Nil |
todaysComplaints | Number of complaints filed on given date | Breakup by status type( |
todaysReopenedComplaints | Number of complaints reopened by citizen due to unsuccessful resolution till given date | Breakup by department type( |
todaysOpenComplaints | Number of complaints that have been filed by the citizen and are yet to be assigned to the respective department till given date | Breakup by department type( |
todaysAssignedComplaints | Number of complaints that have been assigned to the respective department till given date | Breakup by department type( |
todaysReassignRequestedComplaints | Number of complaints for which a reassignment has been requested by the last mile employee to the respective department till given date | Breakup by department type( |
todaysRejectedComplaints | Number of complaints that have been terminated by the redressal officer to the respective department till given date | Breakup by department type( |
todaysReassignedComplaints | Number of complaints that have been reassigned to the redressal officer to the respective department till given date | Breakup by department type( |
todaysClosedComplaints | Number of complaints that moved to closed status on the given date | Breakup by department type( |
todaysResolvedComplaints | Number of complaints that moved to resolved status on the given date | Breakup by department type( |
slaAchievement | Percentage of complaints that are resolved with SLA till the given date | Breakup by department type( |
completionRate | Percentage of complaints that are closed till given date | Breakup by department type( |
averageSolutionTime | Average of (start to end) in a workflow, irrespective of status to the respective department on given date | Breakup by department type( |