Plan Service
Overview
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.
Pre-requisites
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.
Key Features of Plan Service
1. Data Upload and Configuration
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.
2. Activity and Resource Management
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.
3. Employee Assignment
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.
4. Facility Assignment
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.
Service Dependencies
MDMS service
Persister service
Census service
Facility service
Project factory
User service
Workflow service
Base URL
/plan-service
API Specification
Microplan:
Plan Configuration:
Producer Details
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.
Consumer Details
Topic
Description
resource-microplan-create-topic
Triggers microplan creation after resource estimation.
resource-plan-config-update-topic
Updates plan configuration from resource generator service.
Configurations and Helm Chart Details
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
Environment Variable Details
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.
MDMS Details
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
Reference Docs
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
Last updated