Skip to main content

Annexure A โ€” System Architecture

Deliverable for Milestone 1 โ€” Design specification document and EO data integration architecture plan.

Overviewโ€‹

The platform is structured as a four-layer architecture connecting raw satellite data sources to a health surveillance dashboard consumed by public health partners.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Layer 1 โ€” Data Sources โ”‚
โ”‚ EO Satellites ยท NICD ยท Public Health ยท Ground Sensors ยท DWSโ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Layer 2 โ€” EO Data Pipeline โ”‚
โ”‚ Ingestion โ†’ Pre-process โ†’ Feature Extraction โ†’ Storage โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Layer 3 โ€” Analytics & Modelling Engine โ”‚
โ”‚ Pathogen index ยท NCD risk ยท Spatial analysis ยท Alerts โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Layer 4 โ€” Health Surveillance Dashboard โ”‚
โ”‚ Interactive maps ยท Time-series ยท Alerts ยท Reports โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Layer 1 โ€” Data Sourcesโ€‹

SourceTypeData provided
Sentinel-2/3EO satelliteNDWI, NDVI, turbidity, chlorophyll-a
Landsat 8/9EO satelliteLand surface temperature (LST), land cover
MODISEO satelliteSoil moisture, vegetation index
NICDEpidemiologicalDisease case counts, outbreak alerts
DoHPublic healthDisease registry, facility data
DWSWater agencyWater body status, quality indices
SAWSMeteorologicalAir temperature, rainfall
Ground sensorsField obs.Water quality, in-situ validation

Layer 2 โ€” EO Data Pipelineโ€‹

See EO Data Pipeline โ†’ for the full six-stage breakdown.

Summary steps:

  1. Ingestion โ€” scheduled API pulls via Google Earth Engine
  2. Pre-processing & QA/QC โ€” atmospheric correction, cloud masking, normalisation
  3. Feature extraction โ€” NDWI, NDVI, turbidity, LST, chlorophyll-a
  4. Spatial-temporal fusion โ€” join EO features with health & ground data by GPS + date
  5. Storage โ€” cloud database + data lake (CSV for prototype, PostGIS for production)

Layer 3 โ€” Analytics & Modelling Engineโ€‹

Malaria risk indexโ€‹

The composite risk score is computed per ward per month:

def calculate_dynamic_risk(d):
score = 0
if d['Soil_Moisture'] > 0.35: score += 40
elif d['Soil_Moisture'] > 0.25: score += 20
if 25 <= d['LST_Surface_C'] <= 30: score += 30
if d['NDWI_Water'] > -0.1: score += 20
if d['Population_Density_Per_KM2'] > 300: score += 10
return score # 0โ€“100

Risk thresholds:

ScoreLabelColour
โ‰ฅ 50High#d93025
25โ€“49Moderate#f9bb06
< 25Low#34a853

NCD risk factorsโ€‹

NCD risk is derived from:

  • Air Quality Index (AQI)
  • Urban heat stress (LST deviation)
  • Population density and healthcare access
  • Lifestyle and land-cover proxies

Spatial analysisโ€‹

  • Ward-level and municipality-level aggregation (Limpopo, using GADM ADM3 boundaries)
  • Country-level NCD choropleth (South Africa, Botswana, Zimbabwe, Lesotho)
  • Hotspot detection via spatial clustering

Alert engineโ€‹

  • Configurable risk thresholds trigger notifications
  • Outputs: dashboard flags, email/SMS alerts, automated PDF reports

Layer 4 โ€” Health Surveillance Dashboardโ€‹

The dashboard is a Leaflet-based single-page application deployed on AWS Amplify.

ComponentDescription
Interactive mapsRisk-coloured circle markers per ward; Leaflet with OSM tiles
Region selectorProvince โ†’ Municipality โ†’ Ward drill-down with Apply/Reset
Time sliderMonthly snapshots from January 2025 to January 2026
Risk filterShow all / High / Moderate / Low
Environmental panelHabitat type, population density, agricultural area, surface temperature, soil moisture
Risk prediction panelCurrent risk level label + percentage
Popup cardsPer-ward risk summary on marker click

Technology stackโ€‹

LayerTechnology
EO processingGoogle Earth Engine (Python API)
FrontendHTML ยท CSS ยท JavaScript (ES6)
MappingLeaflet.js + OpenStreetMap
CSV parsingPapaParse
HostingAWS Amplify
Boundary dataGADM ADM1/ADM3 GeoJSON

Validation partnersโ€‹

The system architecture has been scoped in consultation with:

  • UCT โ€” University of Cape Town (environmental health modelling)
  • CSIR โ€” geospatial analysis and EO validation
  • NICD โ€” epidemiological data integration
  • TuksNovation / NeoFrontiers โ€” incubation and funder oversight