Research & Methodology

A transparency page,
not a publications page. Working in the open.

vasus.ai makes deterministic, evidence-weighted decisions at every layer of the platform — this page documents them. The EHSPI weight vectors are derived from peer-reviewed environmental health literature and currently being submitted for informal methodological review. The Google Environmental API Spot Study, comparing our input signals against OpenAQ and ECMWF, is live and running. Nothing here is dressed up.

Patent pending EHSPI™ v1.6 · Updated nightly

A composite location-scoring system that quantifies relative environmental burden across five chronic condition sensitivities.

The EHSPI scores locations 0–100 where 100 represents the most environmentally favourable conditions in the monitored set and 0 the least. Scores are relative to the 20-city monitoring cohort, not absolute thresholds.

Why a composite index?

The exposome is multi-stressor by nature. No single environmental signal adequately characterises health risk. A barometric pressure drop that is irrelevant to a respiratory patient is the primary signal for a migraine patient. The EHSPI aggregates across seven signal types, weighted by condition-specific clinical evidence — producing a score that is meaningfully different for each sensitivity.

How it differs from AQI

Air Quality Index is a single-signal public health measure. The EHSPI is condition-specific: five separate scoring models, each with distinct signal weights derived from published environmental health literature. A city with excellent AQI may score poorly on migraine sensitivity if barometric pressure is highly volatile.

Five-stage computation

01
Feature ingestion

Raw environmental signals ingested from Google Air Quality, Pollen and Weather APIs across 20 city tiles. Stored as time-series in Cloud SQL.

02
Derived features

24h and 72h window statistics computed: mean, peak P90, std dev, threshold hours. Barometric delta, pollen load, overnight hot hours.

03
Per-sensitivity score

Each of five condition models applies its published weight vector to the normalised derived features. Output: five raw scores 0–100.

04
Percentile normalisation

Scores normalised across the 20-city cohort so 100 = most favourable in the set. Relative, not absolute — stated explicitly in every response.

05
Composite + confidence

Composite = unweighted mean of five scores. Confidence label assigned by history depth: Minimal (<9d), Low, Moderate (~36d), High (~90d).

06
Cache & serve

Results stored to nightly cache. Served via GET /v1/ehspi with full weight_vectors object in every response.

Data maturity & confidence levels

Each city's score includes a confidence label based on how many days of data have been ingested. This honesty about data maturity is a credibility signal, not a weakness.

Label History depth data_confidence Interpretation
Minimal < 9 days < 0.05 Directional only. Do not surface to end users.
Low 9–36 days 0.05–0.13 Early signal. Display with confidence caveat.
Moderate 36–90 days 0.13–0.18 Reliable for most use cases. Seasonal patterns emerging.
High > 90 days > 0.18 Statistically stable. Suitable for research applications.

Methodological precedents

The EHSPI is not the first index to weight environmental signals by health outcomes. It builds on two established methodologies.

🇨🇦
Health Canada & ECCC

Canada's Air Quality Health Index (AQHI)

The AQHI made a foundational shift: combining PM2.5, O₃ and NO₂ into a single score weighted by their relative contribution to short-term mortality risk. The EHSPI applies identical philosophy — feature selection and weighting grounded in clinical evidence — but extends it to five distinct chronic condition sensitivities and a longitudinal, multi-city framing.

📊
Yale Center for Environmental Law & Policy

Yale Environmental Performance Index (EPI)

The Yale EPI constructs composite environmental quality scores by normalising indicators across countries and applying evidence-based weights. It demonstrates that a principled, transparent weighting scheme can produce credible, comparable cross-location scores from heterogeneous data sources. The EHSPI applies the same deductive composite methodology — at city level, with temporally-windowed features, targeting condition-specific health outcomes.

Patent pending All five sensitivity weight tables published transparently — exact weights used in live computation

No other commercial environmental health platform publishes its clinical weighting methodology at this level of detail.

🌀
Migraine & Weather
Pressure-led · v1.6 unchanged
Σ = 1.00
Signal Weight Clinical rationale
Barometric pressure delta (24h abs mean) 0.38 Rapid frontal passage — strongest replicated environmental trigger for migraine.
Pressure volatility (std dev over 72h) 0.28 Sustained variability. Chronic migraineurs sensitive to prolonged instability, not just acute drops.
Peak temperature (90th percentile, 6h) 0.12 Heat as secondary trigger. Summer migraine seasonality.
Heat index mean (72h) 0.10 Apparent temperature — integrates humidity and heat. More clinically relevant than temperature alone.
Dew point mean 0.06 Humidity-headache association. Secondary signal.
AQI peak 0.04 Air quality as minor trigger. Low weight.
PM2.5 mean 0.02 Weak association with migraine. Contextual only.
🫁
Breathing & Air Quality
Pollen added as co-primary in v1.6 · PM2.5 reduced from 0.28
Σ = 1.00
Signal Weight Clinical rationale
PM2.5 mean (72h) 0.22 Chronic respiratory trigger. PM2.5-asthma dose-response well-replicated.
Pollen exposure load (recency-weighted) 0.18 NEW in v1.6. Pollen is the leading precipitant of asthma exacerbations globally.
AQI hours unhealthy (72h) 0.18 Duration of dangerous air quality — chronic exposure metric.
Ozone peak (8h rolling, P90) 0.16 Asthma exacerbation driver. WHO 8h guideline reference.
PM2.5 peak (6h, P90) 0.10 Acute episode risk. Peak exposure drives exacerbation in short-onset conditions.
PM2.5 hours above WHO guideline 0.08 WHO 24h threshold (15 µg/m³) breach frequency.
AQI peak (daily worst) 0.04 Worst-case AQI reading as daily sentinel signal.
Temperature mean 0.03 Cold air bronchospasm — secondary contextual signal.
Dew point mean 0.01 Humidity modulates airway reactivity. Minor contextual role.
❤️
Heat & Cardiovascular
Heat-led · PM2.5 secondary · v1.6 unchanged
Σ = 1.00
Signal Weight Clinical rationale
Heat index mean (72h) 0.25 Strongest CV heat stress signal. Sustained heat index drives cardiac strain independently.
Peak temperature (P90) 0.20 Direct thermal load. Temperature-mortality linear above 25°C in at-risk populations.
PM2.5 mean 0.18 PM2.5-cardiovascular mortality link. One of the most replicated relationships in environmental epidemiology.
AQI hours unhealthy 0.14 Duration of AQ risk — chronic exposure has independent CV effects.
Multi-stressor exposure burden 0.10 Composite of PM2.5, AQI, temperature. Captures compound exposure effects.
Overnight hot hours (>24°C) 0.07 Sleep deprivation from thermal discomfort → cardiovascular strain.
Temperature mean (72h) 0.04 Baseline thermal environment. Contextual.
Ozone peak (8h rolling) 0.02 Ozone-CV association. Weaker than PM2.5 pathway but documented.
🌙
Sleep & Nighttime
Overnight heat dominant · v1.6 unchanged
Σ = 1.00
Signal Weight Clinical rationale
Overnight hot hours (22:00–06:00, >24°C) 0.35 Primary sleep disruption driver. 1°C increase in minimum temperature → 0.58% more insufficient sleep nights.
Heat index mean (72h) 0.25 Humid heat disrupts sleep more than dry heat. 72h window captures multi-night persistence.
Pressure volatility (std dev) 0.14 Pressure changes affect sleep architecture. Correlated with poor sleep quality in sensitive populations.
Dew point mean 0.12 Dew point >21°C is a critical thermal comfort threshold. Oppressive humidity independently disrupts sleep.
AQI peak 0.08 Air quality affects sleep quality. Upper airway irritation from pollution.
PM2.5 mean 0.06 Chronic PM2.5 linked to sleep-disordered breathing and OSA exacerbation.
🌸
Allergies & Pollen
NEW in v1.6 · Pollen-led · highest single weight (0.40) across all five sensitivities
Σ = 1.00
Signal Weight Clinical rationale
Pollen exposure load (recency-weighted) 0.40 Dominant driver. Outdoor pollen is the leading cause of allergic rhinitis globally. Recency-weighted to prioritise recent days.
Tree pollen UPI (peak) 0.15 Tree pollen (oak, birch, cedar) — spring peak. Species-specific sensitisation is clinically significant.
Grass pollen UPI (peak) 0.12 Grass pollen (timothy, bermuda, ryegrass) — summer peak. Most globally prevalent pollen allergen.
Weed / ragweed pollen UPI (peak) 0.10 Weed and ragweed — autumn. Ragweed is the largest allergenic trigger in North America, increasing in Europe.
PM2.5 mean 0.10 Pollen-PM2.5 compound effect: PM2.5 particles carry pollen fragments and amplify allergenicity.
Ozone peak (8h rolling) 0.08 Ozone-allergen synergy: increases nasal epithelial permeability, amplifying pollen sensitisation.
Dew point mean 0.05 Humidity modulates pollen dispersal. High humidity causes grains to rupture, releasing smaller allergenic particles.

20 cities. Global coverage. Three priority tiers.

Each city is assigned a priority tier that determines its refresh interval. Data confidence reaches High after approximately 90 days of continuous ingestion.

City Region Priority Refresh Confidence at 90d
Delhi NCR, India South Asia Highest 60 min High
Bangkok, Thailand SE Asia Highest 60 min High
Jakarta, Indonesia SE Asia Highest 60 min High
Los Angeles, USA North America Highest 60 min High
Mexico City, Mexico North America Highest 60 min High
London, UK Europe High 120 min High
Paris, France Europe High 120 min High
Istanbul, Turkey Europe / MENA High 120 min High
Dubai, UAE Middle East High 120 min High
Riyadh, Saudi Arabia Middle East High 120 min High
Singapore SE Asia High 120 min High
Kuala Lumpur, Malaysia SE Asia High 120 min High
Hong Kong East Asia High 120 min High
New York City, USA North America High 120 min High
Colombo, Sri Lanka South Asia High 120 min High
Zurich, Switzerland Europe Standard 180 min High
Mecca, Saudi Arabia Middle East Standard 180 min High
Sydney, Australia Southern Hem. Standard 180 min High
Nairobi, Kenya Africa Standard 180 min High
Cape Town, South Africa Africa Standard 180 min High
Study in progress Findings to be published Q2 2026 (indicative)

Validating our data sources against independent reference networks.

vasus.ai ingests environmental data from three Google APIs: the Air Quality API, the Solar and Weather API, and the Pollen API. As part of our commitment to data transparency, we are conducting a systematic spot study comparing Google Environmental API outputs against independent reference data sources for a representative subset of the 20 monitored cities.

This study matters for three reasons: it validates that the input signals feeding the EHSPI are accurate relative to authoritative monitoring networks; it documents any systematic biases transparently; and it establishes vasus.ai as a platform committed to methodological transparency rather than treating data sources as a black box.

Planned reference sources

OpenAQ

Open-source global air quality data aggregator — crowd-sourced and government sensor networks.

ECMWF ERA5

European Centre for Medium-Range Weather Forecasts reanalysis dataset — gold standard for meteorological data.

Copernicus CAMS

Copernicus Atmosphere Monitoring Service — EU satellite-derived AQ and pollen data.

SILAM (FMI)

Finnish Meteorological Institute pollen transport model — European pollen reference.

WHO ambient data

WHO ambient air quality database — national monitoring stations as ground truth.

EHSPI Research Updates

The EHSPI is a living index. We publish periodic research notes covering weight vector updates, validation findings, new city additions, and methodological notes. If you are a researcher, clinician, or institution working at the intersection of environmental health and chronic conditions, register below.

Register for research updates →