High Level Design
Overview
The Health Campaign System provides:
Campaign Configuration: Create and manage different health campaigns with specific attributes and goals.
Survey Management: Define and assign surveys tailored to each campaign.
Progress Monitoring: Enable real-time data collection and tracking via dashboards.
Integration Support: Connects with other DIGIT modules (like Health Registry, Facility Registry) and third-party systems.
Architectural Design
Architecture Diagram

Components Overview
Campaign Service
Core backend service to manage campaign lifecycle
Survey Service
Enables survey creation, scheduling, and data collection
Notification Service
Supports citizen/staff outreach via SMS, IVR, or digital channels
Workflow Engine
Orchestrates the approval and campaign progression states
Analytics Module
Collects and visualizes campaign progress and outcomes
Registry Integrations
Interfaces with Facility, Staff, and Health registries
Mobile/Web Frontends
Interfaces for field workers, supervisors, and administrators
Design Considerations
Security: Role-based access control for different user types (field staff, admin, supervisors). Data encryption in transit and at rest.
Scalability: Built on DIGIT Core microservices, supporting large-scale deployments across districts/states.
Extensibility: Config-driven campaign types, reusable workflows, and pluggable registries.
Offline Support: Field apps support offline data collection and sync.
Data Design
High-Level Data Flow
Admin configures a campaign.
Surveys are created and assigned to health workers.
Data collected in the field is synced to the backend.
Dashboards and analytics display progress and coverage.
Key Data Entities
Campaign
Metadata including type, target groups, area
Survey
Questions and structure tailored to campaign
Responses
Data collected from field execution
User
Health worker, supervisor, admin roles
Technology Stack
Frontend
React / Mobile App Framework
Backend
Java Spring Boot Microservices
Messaging
Apache Kafka
Workflow
DIGIT Workflow Engine
Database
PostgreSQL / ElasticSearch
Deployment
Docker, Kubernetes
Infra-as-Code
Terraform
Deployment Architecture
The solution is deployed using Kubernetes clusters managed via Helm and Terraform. It supports multi-environment setups (dev, staging, production). Key services are containerised, and CI/CD is managed via GitHub Actions.
Assumptions & Dependencies
Facility, Staff, and User registries are available and populated.
Campaign types and workflows are pre-configured by the admin.
Field devices have intermittent internet access to support data sync.
Risks & Mitigation
Internet Unavailability in Fields
Delayed data sync
Offline data capture support
Workflow Misconfiguration
Blocked campaign progress
Pre-deployment validations and sandbox environment
Incomplete Registry Data
Inaccurate campaign targeting
Periodic registry audits and fallback mechanisms
Last updated
Was this helpful?