The resource estimation service is responsible for processing various file formats to estimate resources, generating microplans, uploading result sheets, and updating the HCM Console.
Knowledge of SpringBoot.
Knowledge of Git or any version control system.
Knowledge of RESTful web services.
Knowledge of the Kafka and Postgres.
Knowledge of egov-mdms service, egov-filestore, boundary-service, project-factory and egov-localization will be helpful.
File Parsing and Resource Estimation:
The service processes multiple file formats (Excel, Shapefiles, GeoJSON) to estimate the resources required for a microplanning campaign.
It reads the input data, applies predefined assumptions and formulas, and calculates the necessary resources.
Triggers for Plan-Facility Creation, Census Data Creation, and Plan Generation:
Plan-Facility Creation Trigger: When a facility file is uploaded, the service triggers the Plan-Facility Creation API from the project-factory
. This ensures that the facilities are created based on the file contents.
Census Data Creation Trigger: When a population file is uploaded, the service triggers the Census Data Creation process. This involves reading the population file, processing the data, and updating the system with the relevant census information.
Plan Generation Trigger: After the census data is approved, the service reads the updated population file, updates the census data, and triggers the resource estimation and microplan generation based on the latest data detailing the necessary resources and their distribution for the campaign.
Resource Mapping:
The service enriches the mapping of resource columns from the data upload to a predefined set of attributes required for each campaign. This ensures the resources are aligned with the necessary specifications.
Upload Updated Result Sheet:
After the microplan is created and have gone through the estimation approval process, the updated approved resource estimations sheet is uploaded to the filestore and updated back into the plan configuration ensuring the latest version of the resource data is securely stored and accessible.
HCM Console Integration:
The service integrates with the HCM Console, updating the project factory with the estimated resources. This ensures that the project factory always has the most accurate and up-to-date resource requirements for effective campaign planning and execution.
Mdms service
Filestore service
Project factory service
Plan service
Boundary service
Localization service
NA
Topic
Description
resource-microplan-create-topic
Pushes to plan service for microplan creation after resource estimation.
resource-plan-config-update-topic
Updates a plan configuration with INVALID_DATA status in case of exception while processing file.
Topic
Description
plan-config-update-topic
Triggers resource estimation, microplan creation, and campaign manager integration.
Below are the variables that should be configured well before deployment of the resource estimation service build image.
Add these ‘db-host’, ’db-name’, ’db-url’, ‘domain’, and all the digit core platform services configurations (persister, filestore, etc.) in respective environments.
Make sure to add the digit core services related secrets are configured in the respective environment secret file the way it's done here.
Localisation details here.
Configure all the MDMS data for plan service
Refer to the following:
- Plan service documentation
- https://github.com/egovernments/egov-mdms-data/tree/UNIFIED-QA/data/mz/health/hcm-microplanning
Title
Link
MDMS Technical Document
Filestore Service Documentation
Boundary Service Documentation
Localization Service Documentation
Project Factory Documentation
Plan Service Documentation
The Plan Service is a solution for managing plan configurations and microplans, enabling the creation, updating, validation, and processing of these plans and their associated components. This service supports data management for microplanning, including resource estimation, activity sequencing, and output generation. It can function as a standalone tool for microplanning or be integrated with HCM Console for campaign execution, monitoring, and reporting.
Knowledge of SpringBoot.
Knowledge of Git or any version control system.
Knowledge of RESTful web services.
Knowledge of the Kafka and Postgres.
Knowledge of eGov-mdms service and eGov-persister will be helpful.
Data Upload for Microplanning: Upload population, facility, and census data in formats like .xlsx (Excel)
, Shapefiles, and GeoJSON. Location coordinates are optional for microplanning.
Assumptions Configuration: Set up assumptions for estimation processes, including demographics, resource availability, and operational constraints.
Formula Configuration: Define formulas to calculate human resources, commodities, and budgets for accurate planning.
Activity Management: Define and manage activity sequences and dependencies for campaign execution.
Resource Estimation: Estimate and save the required resources for each activity, ensuring proper planning for materials and personnel.
Condition Monitoring: Set and monitor prerequisites for activities, ensuring necessary conditions are met before proceeding.
Target Setting and Tracking: Define and track performance metrics to ensure campaign goals are achieved.
Output Generation: Generate, save, and print microplans, ensuring comprehensive documentation for the campaign.
Employee Assignment: Assign roles based on hierarchy levels (Province, District, Village) and define employee roles (e.g., PLAN_ESTIMATION_APPROVER).
Jurisdiction Mapping: Link employees to specific jurisdictions, clarifying roles and geographical responsibilities.
Facility Assignment and Mapping: Associate facilities with specific plans, linking resources and operations to microplanning requirements.
Facility Details and Boundaries: Define facility IDs, residing and service boundaries, and metadata (e.g., facility type, capacity, and operational status).
Custom Metadata: Capture detailed information about each facility, such as fixed post status, population served, and resource capacities.
MDMS service
Persister service
Census service
Facility service
Project factory
User service
Workflow service
/plan-service
Topic
Description
plan-config-create-topic
Create plan configuration with assumption, operations, uploaded files.
plan-config-update-topic
Updates a plan configuration.
save-plan
Creates a microplan for a locality with provided resources, activities, or targets.
update-plan
Updates a microplan.
Topic
Description
resource-microplan-create-topic
Triggers microplan creation after resource estimation.
resource-plan-config-update-topic
Updates plan configuration from resource generator service.
Configure the role MICROPLAN_ADMIN for plan-service in the ‘ACCESSCONTROL-ROLES’ module.
Configure the action id(s) with the corresponding role code ‘ACCESSCONTROL-ROLEACTIONS’ module.
For Plan Service Role-Action mappings are as follows in the Dev environment.
Plan APIs
/plan-service/plan/_create
SYSTEM
/plan-service/plan/_search
ROOT_RESOURCE_ESTIMATION_APPROVER, RESOURCE_ESTIMATION_APPROVER
/plan-service/plan/_update
ROOT_RESOURCE_ESTIMATION_APPROVER, RESOURCE_ESTIMATION_APPROVER
/plan-service/plan/bulk/_update
ROOT_RESOURCE_ESTIMATION_APPROVER, RESOURCE_ESTIMATION_APPROVER
Plan configuration APIs
/plan-service/config/_create
MICROPLAN_ADMIN
/plan-service/config/_search
MICROPLAN_ADMIN
/plan-service/config/_update
MICROPLAN_ADMIN
Plan facility catchment APIs
/plan-service/facility/_create
SYSTEM
/plan-service/facility/_search
ROOT_FACILITY_CATCHMENT_MAPPER, FACILITY_CATCHMENT_MAPPER
/plan-service/facility/_update
ROOT_FACILITY_CATCHMENT_MAPPER, FACILITY_CATCHMENT_MAPPER
Plan employee assignment APIs
/plan-service/employee/_create
MICROPLAN_ADMIN
/plan-service/employee/_search
MICROPLAN_ADMIN
/plan-service/employee/_update
MICROPLAN_ADMIN
Below are the variables that should be configured before deployment of the plan service build image:
Add the value of plan service-related environment variables like the way it is done in the unified-uat environment yaml file and unified-health-uat environment yaml file (search for plan-service).
Add these ‘db-host’,’db-name’,’db-url’,’domain’, and all the digit core platform services configurations (persister, filestore, etc.) in the respective environments.
Make sure to add the DB (Postgres and Fyway) username and password in the respective environment secret yaml file the way it is done here.
Make sure to add the DIGIT core services-related secrets that are configured in the respective environment secret file the way it is done here.
Localisation details here.
Configure all the MDMS data for plan service as done in the QA environment. Data to configure:
UOM config
Metric config
Hypothesis’ assumptions config
Input rules config
Output rules config
Campaign Based Schema
Microplan status config
Map layers config
Map filters config
Preview Aggregates config
UI configs
Upload Config
Refer to the following: https://github.com/egovernments/egov-mdms-data/tree/UNIFIED-QA/data/mz/health/hcm-microplanning
Title
Link
MDMS Technical Document
Persister Technical Document
Census Service Technical Document
Facility Service Technical Document
Facility Service
Project Factory Technical Document
User Service Technical Document
Workflow Service Technical Document
API Contract
Postman Collection
The Census Service enables the creation and categorization of census records, ensures boundary validity, enforces user compliance, and automates record timeframes. With robust demographic data handling and advanced analysis, it supports precise planning and resource allocation while maintaining data integrity.
Knowledge of SpringBoot.
Knowledge of Git or any version control system.
Knowledge of RESTful web services.
Knowledge of the Kafka and Postgres.
Knowledge of eGov-mdms service and eGov-persister will be helpful.
Census Record Creation: Create census records for specific boundaries and categorize them by population type, such as people, animals, and plants.
Demographic Data Handling: Store population data by demographic variables (e.g., age, gender, ethnicity) for detailed analysis (e.g., if categorized by age:{"0-14": 1000, "15-24": 8000}
).
Boundary and User Validation:
Validate boundaries via the Boundary Service.
Verify user roles for compliance.
Manage and update census record validity periods.
Integration with Plan Service: Map facilities to boundaries via the Plan Facility API for seamless resource allocation and microplanning.
Boundary service
Plan service
Workflow service
Persister service
/census-service
Topic
Description
census-create-topic
Creates a census record for the specified boundary.
census-update-topic
Updates a census record.
census-bulk-update-topic
Updates a list of census records.
Topic
Description
resource-census-create-topic
Triggers census creation after resource estimation
update-plan-facility
Marks the boundaries in census where facility is assigned.
Configure the role MICROPLAN_ADMIN, ROOT_POPULATION_DATA_APPROVER, POPULATION_DATA_APPROVER, ROOT_FACILITY_CATCHMENT_MAPPER, FACILITY_CATCHMENT_MAPPER for census-service in the ‘ACCESSCONTROL-ROLES’ module.
Configure the action id(s) with the corresponding role code ‘ACCESSCONTROL-ROLEACTIONS’ module.
For Census Service Role-Action mappings are as follows in the Dev environment.
/census-service/_create
MICROPLAN_ADMIN
/census-service/_search
ROOT_POPULATION_DATA_APPROVER, POPULATION_DATA_APPROVER, ROOT_FACILITY_CATCHMENT_MAPPER, FACILITY_CATCHMENT_MAPPER
/census-service/_update
ROOT_POPULATION_DATA_APPROVER, POPULATION_DATA_APPROVER, ROOT_FACILITY_CATCHMENT_MAPPER, FACILITY_CATCHMENT_MAPPER
/census-service/bulk/_update
ROOT_POPULATION_DATA_APPROVER, POPULATION_DATA_APPROVER, ROOT_FACILITY_CATCHMENT_MAPPER, FACILITY_CATCHMENT_MAPPER
Below are the variables that should be configured before deployment of the census service build image:
Add census service-related environment variables’ value like the way it is done in the unified-uat environment yaml file and unified-health-uat environment file (search for census-service).
Add these ‘db-host’, ’db-name’, ’db-url’, ’domain’ and all the digit core platform services configurations (persister, boundary, etc.) in the respective environments.
Make sure to add the DB (Postgres and flyway) username and password in the respective environment secret yaml file the way it is done here.
Make sure to add the DIGIT core services-related secrets that are configured in the respective environment secret file the way it is done here.
Localisation details here.
NA
Title
Link
Persister Technical Document
Boundary Service Documentation
Plan Service Documentation
API Contract
Postman Collection