Health Score Calculation Algorithm
Comprehensive explanation of how Medova calculates country health scores using WHO epidemiological data and healthcare metrics.
Overview
The Medova Health Score is a composite metric (0-100) that provides travelers with an objective assessment of health safety conditions in any country. The score aggregates data from multiple authoritative sources, primarily the World Health Organization (WHO) Global Health Observatory.
Score Components
The Health Score is calculated using four weighted components:
| Component | Weight | Description |
|---|---|---|
| Disease Risk | 35% | Epidemiological data on infectious diseases |
| Healthcare Infrastructure | 25% | Quality and accessibility of healthcare services |
| Vaccination Coverage | 25% | Population immunization rates |
| Travel Safety | 15% | General safety indicators for travelers |
Component Details
1. Disease Risk (35%)
This component measures the prevalence and incidence of infectious diseases relevant to travelers. Data sources include:
- WHO GHO indicators for disease cases, incidence rates, and mortality
- 19 diseases tracked: Measles, Yellow Fever, Hepatitis A/B/C, Rabies, Malaria, Japanese Encephalitis, Cholera, Tetanus, Polio, Diphtheria, Pertussis, Tuberculosis, Meningococcal Meningitis, Typhoid Fever, Dengue, Mumps, Rubella
The disease risk score is inverted - lower disease burden results in higher scores.
const DISEASE_RISK_INDICATORS = { measles: { cases: 'WHS3_62', incidence: 'WHS2_168', vaccination: 'WHS8_110', }, malaria: { incidence: 'MALARIA_EST_INCIDENCE', deaths: 'MALARIA_EST_DEATHS', mortality: 'MALARIA_EST_MORTALITY', }, // ... more diseases };
2. Healthcare Infrastructure (25%)
Evaluates the quality and accessibility of healthcare services:
- Healthcare Quality Index - WHO healthcare quality metrics
- JCI Accredited Hospitals - Number of internationally accredited facilities
- Universal Health Coverage - Population coverage percentage
- Healthcare Spending - Per capita healthcare expenditure
3. Vaccination Coverage (25%)
Measures population immunization rates using WHO vaccination coverage data:
const VACCINATION_COVERAGE_INDICATORS = [ 'WHS8_110', // Measles MCV1 'WHS4_129', // Measles MCV2 'WHS4_117', // Hepatitis B HepB3 'VACCINECOVERAGE_YFV', // Yellow Fever 'WHS4_128', // Tetanus PAB 'WHS4_543', // DTP3 'WHS4_544', // Polio Pol3 ];
4. Travel Safety (15%)
General safety indicators for international travelers:
- Safety Rating - Overall safety assessment
- Water Safety - Tap water potability
- Food Safety - Food hygiene standards
- English Proficiency - Communication accessibility
Rating Scale
Scores are categorized into five rating levels:
| Score Range | Rating | Color |
|---|---|---|
| 80-100 | Excellent | Green |
| 60-79 | Good | Emerald |
| 40-59 | Moderate | Amber |
| 20-39 | Poor | Orange |
| 0-19 | Critical | Red |
Data Freshness
- Update Frequency: Daily synchronization with WHO GHO
- Data Lag: Typically 1-2 years due to WHO reporting cycles
- Completeness: Varies by country; tracked via
data_completeness_percent
Technical Implementation
The score is calculated by the calculate-health-scores Netlify function:
interface CountryHealthScore { total_score: number; disease_risk_score: number; healthcare_infrastructure_score: number; vaccination_coverage_score: number; travel_safety_score: number; score_breakdown: ScoreBreakdown; data_completeness_percent: number; }
API Access
Health scores can be accessed via:
GET /api/countries/{iso3_code}/health-score
Response includes the total score, component scores, and detailed breakdown.
Limitations
- Data Availability: Not all countries report to WHO consistently
- Temporal Lag: WHO data may be 1-2 years old
- Scope: Focuses on infectious diseases; doesn't cover all health risks
- Subjectivity: Some components involve interpretation of data
