Skip to content
OnlyProjects
MCA · Data Science & AnalyticsFor educational purposes only

Dengue Outbreak Early-Warning and Surveillance Analytics System from NCVBDC Data (Python)

Turning NCVBDC surveillance counts and Open-Meteo climate reanalysis into a leak-free weekly dengue alert for city health teams

Mapped to your syllabusAnna University MCA Regulation 2021 · Project Work · Semester 4

Overview

1 min read

Dengue outbreaks in Indian cities follow the weather. Rain-filled containers breed Aedes aegypti mosquitoes, and reported cases surge a few weeks after sustained rain — a delay that gives a prepared health team a genuine head start. This project builds a weekly dengue early-warning prototype for a large Indian city (Chennai) entirely from public data, and turns that delay into a measurable alert lead time.

Three verifiable sources feed the study. The NCVBDC (National Centre for Vector-Borne Diseases Control, Ministry of Health and Family Welfare) publishes state/UT-wise dengue cases and deaths; the OpenDengue open dataset (CC BY 4.0) provides weekly India case counts at national and sub-national level; and the Open-Meteo historical weather API serves daily ERA5 reanalysis — temperature, rainfall and humidity — for any coordinate. The case series is aligned to epidemiological weeks and joined with climate features lagged 1–8 weeks, following the lag structure reported in the published literature for Indian states.

The modelling question is deliberately honest: can a simple, transparent model beat a seasonal-naive baseline at flagging outbreak weeks, under a strictly temporal train/validation/test split (no shuffled k-fold, no leakage)? Results are reported as ROC-AUC, precision, recall, F1 and practical lead time, and converted into an alert-threshold discussion written for municipal health officials: what threshold, how many weeks of warning, and what to do first.

This is an analysis project, not a packaged application — the deliverables are the pipeline scripts, the regenerated charts and an evaluation memo.

Relevant for
Tamil Nadu
Level
Intermediate · 14 weeks · solo
Common at
Anna University, Visvesvaraya Technological University, Osmania University
Updated
Nov 2026

Syllabus alignment

Anna University · MCA Regulation 2021

Project Work · Semester 4

Subjects this project applies
  • Python (MC4103)
  • Data Mining (MC4020)
  • Data Viz (MC4019)
  • Advanced DB (MC4202)
  • Big Data (MC4025)
How it is evaluated

See your department's project guidelines.

Also fits: VTU MCA 2022 Scheme, Osmania University 2-year MCA 2022-23, AKTU MCA 2020-21 (KCA).

What's in the box

11 parts · 5 free · 3 previewed · 3 unlock for ₹2,000

Problem & synopsis

5 min read

Problem statement

Health departments in dengue-endemic cities learn about an outbreak when hospitals report case clusters — typically two to four weeks after the weather conditions that triggered it. Surveillance data sits in situation reports and PDF tables, climate reanalysis sits on a public API, and nothing systematically joins the two into a forward-looking weekly signal. Meanwhile, published forecasting results are hard to trust: many use shuffled cross-validation that leaks future information into training, skip any baseline comparison, and stop at a model score without saying what a health official should actually do when it fires. There is a need for a small, honest, reproducible study that answers three questions on real Indian data: how many weeks of warning are achievable, at what precision and recall, and what alert rule would make that warning usable in daily municipal practice.

Synopsis

Abstract

Dengue is India's fastest-growing vector-borne disease, with NCVBDC recording well over a million reported cases during 2021–2025 and a peak in 2023. Municipal health teams tend to react to case surges rather than anticipate them, because the weather signal that precedes an outbreak is never routinely combined with surveillance data at the city level. This project builds a reproducible weekly early-warning prototype for Chennai that joins public dengue surveillance with reanalysis climate data, engineers climate-lag features, and measures how far in advance an outbreak week can be flagged with usable precision.

Introduction

The Aedes mosquito breeds in standing water, so weekly rainfall, temperature and humidity in preceding weeks are physically linked to case counts a few weeks later. Published studies for Indian states report lagged associations — rainfall and relative humidity near zero to a few weeks of lag, temperature effects stretching to one to three months. A student project cannot access confidential case-line data, but it does not need to: NCVBDC situation tables, the OpenDengue dataset and the Open-Meteo archive API together provide everything required at city-week resolution, free of cost.

Existing system vs proposed work

  • Surveillance reaches the public as cumulative tables and PDF situation reports; nobody joins it with climate data routinely.
  • City dashboards show the present; none offer a probabilistic view of the next 2–4 weeks.
  • Many published forecasting results use shuffled cross-validation, which leaks the future into training and inflates accuracy; baselines are often missing.
  • Proposed: a documented weekly pipeline — acquisition, cleaning, lag features, temporal split, baseline-versus-model comparison — with every figure regenerable from scripts and every source cited, ending in an actionable alert rule rather than a bare model score.

Feasibility study

  • Data: all three sources are free; Open-Meteo needs no API key for non-commercial use, and OpenDengue is CC BY 4.0.
  • Technical: pandas, NumPy and scikit-learn handle the entire pipeline on a student laptop; the joined dataset is only a few thousand rows.
  • Economic: zero cost; everything runs offline after download.
  • Operational: outputs are plain charts and a one-page alert memo that a health officer can act on; no production deployment is claimed.
  • Ethical: only aggregate, publicly reported counts are used — no patient records and no personal identifiers are touched.

Objectives

  1. 01Consolidate public dengue surveillance (NCVBDC situation tables and the OpenDengue weekly series) into a clean city-week case dataset with a documented data dictionary.
  2. 02Fetch and aggregate daily climate variables (maximum/minimum temperature, rainfall, relative humidity) from the Open-Meteo historical weather API onto the same epidemiological-week grid.
  3. 03Engineer climate-lag features — lags of 1–8 weeks, rolling 4-week rainfall totals and seasonality encodings — selecting lag terms by cross-correlation computed on training data only.
  4. 04Implement a strictly temporal train/validation/test split and prove the absence of leakage with automated checks.
  5. 05Build seasonal-naive and moving-average baselines, then train transparent classifiers (logistic regression, random forest, gradient boosting) for outbreak-week flags.
  6. 06Compare baselines and models on ROC-AUC, precision, recall, F1 and practical lead time, and present everything in one results table.
  7. 07Derive an actionable alert-threshold rule (consecutive weeks above a probability cut-off) with the precision–recall trade-off made explicit.
  8. 08Package the study as a reproducible repository with tests, so every number in the report can be regenerated by the examiner.

Scope

In scope

  • One city (Chennai) with the option to swap in any other Indian city by changing coordinates and data extracts.
  • Weekly resolution, using the longest window the case sources allow (OpenDengue weekly India data; NCVBDC state tables from 2021 onwards).
  • Three free data sources: NCVBDC situation tables, OpenDengue (CC BY 4.0) and Open-Meteo ERA5 reanalysis.
  • Climate-lag feature engineering, temporal validation, baseline-versus-model evaluation and an alert-threshold analysis.
  • Aggregate counts only; no individual patient or hospital-identity data.

Out of scope (v1)

  • Ward-level or street-level prediction — no public weekly data exists at that resolution.
  • A deployed real-time system with automatic ingestion and SMS alerts; the study delivers the analytics and a design for deployment.
  • Bed-capacity or hospital-logistics planning, and other vector-borne diseases beyond dengue.
  • Collecting primary data from hospitals or the corporation; everything is secondary and public.

Methodology

The study follows an adapted CRISP-DM cycle — business understanding, data understanding, data preparation, modelling, evaluation — compressed into a 14-week academic timeline and run as a research workflow rather than a software build.

PhaseWeeksActivitiesDeliverable
Problem framing1Study NCVBDC reporting practice and published lag studies; define 'outbreak week'; list requirementsStudy design note
Data acquisition2–3Download OpenDengue weekly series; transcribe NCVBDC tables to CSV; script Open-Meteo archive callsRaw data folder + download log
Cleaning & EDA4–5Align to epidemiological weeks; handle revisions and gaps; plot seasonality and case–climate scatterCleaned SQLite tables, EDA charts
Feature engineering6–7Build lag 1–8 features, rolling rainfall, week-of-year encodings; leakage guard testsFeature store table
Baselines8–9Seasonal-naive and 4-week moving-average flags on the same splitBaseline metrics
Modelling10–11Logistic regression, random forest, gradient boosting with expanding-window CV on train yearsModel metrics
Evaluation & alerts12Hold-out test years; precision–recall analysis; threshold and lead-time ruleResults table, alert memo
Documentation13–14Tests, README, final report and slidesSubmission pack

Validation design: train on the earliest years, validate on 2023, and touch 2024–2025 only once at the end. Every transformer is fitted on training years alone, and a scripted guard asserts that no feature row can reference data from its own week or later. Model quality is reported only next to the seasonal-naive baseline — if the model cannot beat it on held-out years, the report says so.

Study design

2 diagrams · 8 tools · 2 min read

  • Python 3.11
  • pandas
  • NumPy
  • scikit-learn
  • Matplotlib
  • requests
  • SQLite
  • pytest

The study is organised as a linear pipeline of small scripts over a local SQLite database, so each stage can be re-run and audited independently.

  1. Ingestion layer — one downloader per source: a manual transcription helper for NCVBDC PDF tables (with the source file name logged), a CSV fetch for OpenDengue, and a requests client for the Open-Meteo archive endpoint.
  2. Storage layer — SQLite holds raw and cleaned tables (cases, weather, weeks, features, predictions) so joins are SQL-auditable and the file can be submitted alongside the report.
  3. Feature layer — pandas builds lagged climate variables and seasonality encodings on the epidemiological-week grid, with an automated leakage guard.
  4. Model layer — scikit-learn pipelines fit baselines and classifiers; every split boundary is a date, never a random seed.
  5. Evaluation layer — one script recomputes ROC-AUC, precision, recall, F1 and lead time for every entry in the results table.
  6. Alert layer — translates predicted probabilities into a consecutive-weeks rule and renders the officer-facing memo and charts.
flowchart TD
  N["NCVBDC situation tables (PDF)"] -->|"transcribe + log source"| C["Clean weekly case series"]
  O["OpenDengue weekly CSV (CC BY 4.0)"] -->|download| C
  M["Open-Meteo archive API - ERA5 daily climate"] -->|JSON over HTTPS| W["Daily weather table"]
  C --> D[("SQLite: dengue.db")]
  W --> D
  D --> F["Feature builder: lags 1-8 weeks, rolling rainfall, seasonality"]
  F --> L["Leakage guard tests"]
  L --> S["Temporal split: train / validate / test"]
  S --> B["Baselines: seasonal naive, 4-week mean"]
  S --> G["Models: logistic regression, random forest, gradient boosting"]
  B --> E["Metrics: ROC-AUC, precision, recall, F1, lead time"]
  G --> E
  E --> T["Threshold analysis: precision-recall trade-off"]
  T --> A["Alert rule: 2 consecutive weeks above cut-off"]
  A --> R["Charts and one-page memo for health officials"]

Dataset schema

erDiagram
  WEEK_CASES ||--o{ WEEK_FEATURES : "joins on epi_week"
  WEEK_CLIMATE ||--o{ WEEK_FEATURES : "joins on epi_week"
  WEEK_FEATURES ||--o{ PREDICTION : "feeds"

  WEEK_CASES {
    int epi_week PK
    int year
    int week_no
    int cases
    int deaths
    string source
  }
  WEEK_CLIMATE {
    int epi_week PK
    float rain_mm_total
    float temp_max_mean
    float temp_min_mean
    float humidity_mean
  }
  WEEK_FEATURES {
    int epi_week PK
    float rain_lag1
    float rain_lag4
    float temp_lag8
    float sin_week
    float cos_week
    int outbreak_label
  }
  PREDICTION {
    int epi_week PK
    string model
    float prob_outbreak
    int alert_flag
  }

Work packages

6 packages

  1. Package 01

    Data Ingestion & Cleaning

    One downloader per source with a logged citation: OpenDengue CSV for the weekly series, a transcription worksheet for NCVBDC state tables, and scripted Open-Meteo archive calls. Cleaning aligns everything to epidemiological weeks, records revisions and fills the data dictionary.

  2. Package 02

    Climate-Lag Feature Engineering

    Builds lagged rainfall, temperature and humidity features (1–8 weeks), rolling 4-week rainfall totals and sin/cos week-of-year encodings. Lag selection uses cross-correlation computed only on training years, so the choice of lags cannot peek at the test period.

  3. Package 03

    Leakage Guard & Temporal Split

    A pytest suite that asserts feature rows never reference their own week or later, that split boundaries are dates, and that scalers and encoders are fitted on training years alone. This module is what makes the evaluation claim defensible in the viva.

  4. Package 04

    Baselines & Model Training

    Seasonal-naive (same week last year) and 4-week moving-average flags form the honest floor. Logistic regression, random forest and gradient boosting classifiers predict the outbreak-week probability using scikit-learn pipelines with expanding-window cross-validation on the training span.

  5. Package 05

    Evaluation & Metrics Reporting

    Recomputes ROC-AUC, precision, recall, F1 and Brier score for every baseline and model, and measures lead time — how many weeks before the outbreak week the alert first fired. All results land in a single comparison table quoted in the report.

  6. Package 06

    Alert Threshold & Officer Memo

    Translates probabilities into a rule the health team can follow: alert when the predicted probability crosses a cut-off for two consecutive weeks. The module plots the precision–recall curve, picks operating points and renders a one-page memo listing the first actions (larval survey, source reduction, hospital preparedness).

Slides

12 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    Dengue Outbreak Early-Warning and Surveillance Analytics

  2. Slide 2

    Why dengue needs a warning, not a report

  3. Slide 3

    Problem Statement

  4. Slide 4

    Data Sources (all public, all citable)

  5. Slide 5

    Objectives

  6. Slide 6

    Methodology — CRISP-DM in 14 weeks

  7. Slide 7

    System Pipeline

  8. Slide 8

    Climate-Lag Feature Design

  9. Slide 9

    Validation Without Leakage

  10. Slide 10

    Results — Baseline vs Models

  11. Slide 11

    Alert Rule for Health Officials

  12. Slide 12

    Limitations & Future Scope

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 17 answered free · 14 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    Why did you use a temporal split instead of shuffled k-fold cross-validation?

    The rows are a time series — this week's outbreak is correlated with last week's weather and cases. Shuffled folds would train on future weeks and test on past ones, leaking information and inflating accuracy. I train on the earliest years, validate on 2023, and touch 2024–2025 only once, exactly as a deployed system would experience time.

  2. 02Concept

    What is a lag feature and why does dengue prediction need it?

    A lag feature carries a variable's value from earlier weeks into the current row — for example, rainfall four weeks before the case week. Aedes mosquitoes breed in standing water, so this week's rain affects cases only after the breeding cycle completes. The lags encode that biological delay directly into the model's inputs.

  3. 03Concept

    How do you define an 'outbreak week' in this study?

    A week is labelled an outbreak when reported cases exceed a seasonal threshold — the 75th percentile of case counts for the same calendar weeks across the training years. Defining it as an exceedance over the seasonal norm keeps the label comparable across monsoon and dry seasons, and turns prediction into a binary flag a health team can act on.

+14 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

How to reproduce the study

5 steps · unlocks with the project

Unlocks with the project · ₹2,000

5 steps

Every step to carry the project out with the tools in the tech stack, in order.

Unlock for ₹2,000

READMEFIRST

265 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

265 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

352 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

352 words · ~2 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

8 sources

  1. NCVBDC — Dengue Situation in India (cases and deaths by State/UT), National Centre for Vector-Borne Diseases Control, MoHFW
  2. OpenDengue — a global database of publicly reported dengue case counts (weekly/sub-national India series, CC BY 4.0)
  3. Open-Meteo Historical Weather API documentation (ERA5 / ERA5-Land reanalysis archive)
  4. Kakarla, S.G. et al. (2022), 'Weather integrated multiple machine learning models for prediction of dengue prevalence in India', International Journal of Biometeorology 67(2):285–297
  5. World Health Organization — Dengue fact sheet
  6. State-wise dengue cases and deaths reported in the country, 2013–2015, MoHFW on data.gov.in
  7. Wes McKinney, Python for Data Analysis, 3rd ed., O'Reilly Media
  8. Aurélien Géron, Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow, 3rd ed., O'Reilly Media

Cite this bundle

OnlyProjects. (2026). Dengue Outbreak Early-Warning and Surveillance Analytics System from NCVBDC Data (Python): MCA Data Science & Analytics project bundle [Educational resource]. https://onlyprojects.online/projects/mca-ds-dengue-outbreak-early-warning-system

Future scope

1 min read

  • Real-time ingestion: scheduled jobs that re-fetch OpenDengue and Open-Meteo weekly and refresh the alert memo automatically.
  • Multi-city expansion: run the same pipeline across several Tamil Nadu cities and study whether shared climate drivers let one model serve all.
  • ** richer features:** ENSO/Indian Ocean Dipole indices, soil moisture from ERA5-Land, and vector-density data if the corporation shares it.
  • Calibrated probabilities: isotonic or Platt calibration so the threshold maps to a defensible alert frequency (for example, at most six alerts a year).
  • Ward-level modelling if weekly ward data can be obtained through an academic MoU with the city health department.
  • Deployment prototype: a small dashboard plus SMS/e-mail digest for corporation staff, designed in Chapter 6.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.