Plan Service

Overview

The Plan Service manages plan configuration and microplans. It supports create/update/search flows, validations, and workflow-driven processing.

It can run standalone for microplanning. It can also integrate with HCM Console for campaign execution, monitoring, and reporting.

For deeper design context (APIs, diagrams, and schemas), see Microplan - Low Level Design.

Prerequisites

  • Spring Boot

  • Git (or another version control system)

  • REST APIs

  • Kafka

  • PostgreSQL

  • MDMS and Persister familiarity (helpful)

Capabilities

Data upload and configuration

  • Upload population, facility, and census inputs (for example .xlsx, Shapefiles, GeoJSON).

  • Configure assumptions for estimation (demographics, constraints, availability).

  • Configure formulas to compute HR, commodities, and budgets.

Activity and resource planning

  • Manage activity sequences and dependencies.

  • Estimate and persist required resources per activity.

  • Track prerequisites for activities.

  • Define targets and track progress.

  • Generate microplan outputs (save/print/export).

Assignments

  • Assign employees to hierarchy levels (Province/District/Village).

  • Map jurisdictions for clear geographic responsibility.

  • Associate facilities to plans, including catchments and boundary metadata.

Dependencies

  • MDMS service

  • Persister service

  • Census service

  • Facility service

  • Project Factory

  • User service

  • Workflow service

API

Base path:

Swagger:

Postman collection:

Data model and flow diagrams

Microplan schema diagram

Kafka topics

Producer topics

Topic
Purpose

plan-config-create-topic

Create plan configuration with assumptions, operations, and uploaded files

plan-config-update-topic

Update a plan configuration

save-plan

Create a microplan for a locality with provided resources, activities, or targets

update-plan

Update a microplan

Consumer topics

Topic
Purpose

resource-microplan-create-topic

Trigger microplan creation after resource estimation

resource-plan-config-update-topic

Update plan configuration from Resource Generator service

Deployment and configuration

Access control (roles and role-actions)

  • Create role MICROPLAN_ADMIN in the ACCESSCONTROL-ROLES MDMS module.

  • Map action IDs to role codes in the ACCESSCONTROL-ROLEACTIONS MDMS module.

The mappings below are from a Dev environment setup. Treat them as a baseline.

API endpoint
Roles

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 variables

Configure environment values in your DIGIT DevOps environment YAMLs (search for plan-service):

Common values to review:

  • db-host, db-name, db-url, domain

  • Core platform service configs (for example - persister, filestore)

  • DB secrets (Postgres + Flyway) in the environment secrets file

  • DIGIT core service secrets in the environment secrets file

Localisation sheet:

MDMS

Align Plan Service MDMS with a known-good environment (for example - QA). Typical masters:

  • 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

Reference dataset:

Reference docs

Last updated

Was this helpful?