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.
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
Raw environmental signals ingested from Google Air Quality, Pollen and Weather APIs across 20 city tiles. Stored as time-series in Cloud SQL.
24h and 72h window statistics computed: mean, peak P90, std dev, threshold hours. Barometric delta, pollen load, overnight hot hours.
Each of five condition models applies its published weight vector to the normalised derived features. Output: five raw scores 0–100.
Scores normalised across the 20-city cohort so 100 = most favourable in the set. Relative, not absolute — stated explicitly in every response.
Composite = unweighted mean of five scores. Confidence label assigned by history depth: Minimal (<9d), Low, Moderate (~36d), High (~90d).
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.
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 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.
No other commercial environmental health platform publishes its clinical weighting methodology at this level of detail.
| 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. |
| 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. |
| 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. |
| 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. |
| 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 |
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
Open-source global air quality data aggregator — crowd-sourced and government sensor networks.
European Centre for Medium-Range Weather Forecasts reanalysis dataset — gold standard for meteorological data.
Copernicus Atmosphere Monitoring Service — EU satellite-derived AQ and pollen data.
Finnish Meteorological Institute pollen transport model — European pollen reference.
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 →