Microplan - Low Level Design

Overview

The Low Level Design (LLD) details on this page provide a detailed technical blueprint for implementing the Microplanning system. It translates functional requirements into concrete technical components, including APIs, service responsibilities, sequence flows, and database schemas.

The LLD covers:

  • Internal architecture of Microplanning services

  • API specifications at a component level

  • Asynchronous processing flows

  • Sequence diagrams for key workflows

  • Database schema design and entity relationships

System Overview

The Microplanning system enables planning, estimation, and allocation of resources across administrative units, employees, and facilities. It is composed of two core backend services:

  1. Resource Generator Service – Responsible for generating resource estimations asynchronously.

  2. Plan Management Service – Manages the lifecycle of micro plans, including configuration, assignments, validation, and approval.

Both services follow DIGIT’s event-driven, microservices-based architecture.

Resource Management

The Draft API is part of the Resource Generator Service. It initiates the resource estimation process for a given micro plan configuration.

Key Characteristics

  • Fully asynchronous processing

  • Designed for large datasets

  • Non-blocking client interaction

Processing Flow

  1. Client invokes Draft API with plan configuration reference

  2. Request is validated and accepted

  3. The estimation job is triggered asynchronously

  4. Input data is parsed and business logic applied

  5. Output file is generated and uploaded to File Store

  6. Plan configuration is updated with estimation metadata

API Specification

Resource Generator API Specificationarrow-up-right

​​Postman Collectionarrow-up-right

Sequence Diagrams

Draft API

Plan Management

The Plan Management Service handles the complete lifecycle of micro plans, including:

  • Micro plan creation and configuration

  • Employee assignment to plans

  • Facility linkage

  • Validation and approval of estimations

Key Characteristics

Plan Configuration

  • Create and update micro plans

  • Store administrative hierarchy and planning parameters

Plan Employee Assignment

  • Assign employees to micro plans

  • Validate role and jurisdiction alignment

Plan Facility Linkage

  • Link facilities (e.g., schools, health centres) to plans

  • Support one-to-many and many-to-many mappings

Plan Estimation Management

  • Store estimation references

  • Track draft vs approved estimations

Validation & Approval

  • Rule-based validation of estimation data

  • Approval workflows for finalised plans

API Specification

Plan Management API Specificationarrow-up-right

Sequence Diagrams

Plan Configuration APIs

Plan Configuration Create API Sequence Diagram
Plan Configuration Search API Sequence Diagram
Plan Configuration Update API Sequence Diagram

Plan Employee Assignment APIs

Plan Employee Assignment Create API Sequence Diagram
Plan Employee Assignment Search API Sequence Diagram
Plan Employee Assignment Update API Sequence Diagram

Plan Facility APIs

Plan Facility Create API Sequence Diagram
Plan Facility Search API Sequence Diagram
Plan Facility Update API Sequence Diagram

Plan Management APIs

Plan Create API Sequence Diagram
Plan Search API Sequence Diagram
Plan Update API Sequence Diagram

Database Schemas

Plan Configuration Database Schema
Plan Employee Assignment Database Schema
Plan Facility Database Schema
Plan Database Schema

Census Management

Overview

The Census Management Service is responsible for managing population census data used as a key input for microplanning and resource estimation. It supports capture, validation, approval, and versioning of census data across administrative hierarchies.

Census data acts as a foundational dataset for estimation logic and must pass through defined validation and approval workflows before it can be consumed by downstream services such as the Resource Generator.

Key Characteristics

  • Capture population census data at multiple administrative levels

  • Maintain draft and approved versions of census datasets

  • Validate census data against configured rules

  • Support approval workflows for finalised census data

  • Expose approved census data to dependent services

API Specifications

Census Management API Specificationarrow-up-right

Sequence Diagrams

Census Management APIs

Census Create API Sequence Diagram

Census Search API Sequence Diagram
Census Update API Sequence Diagram

Database Schemas

Last updated

Was this helpful?