A pilot spatial analytics workflow for geocoding and visualizing a medical provider panel in Kenya
# Medical Providers Panel – Spatial Analysis
This repository contains a Python-based spatial analytics workflow for
geocoding, mapping, and summarizing a medical providers panel in Kenya.
The project is structured in phases. Phase 1 focuses on reliable location
enrichment and visualization, while Phase 2 extends into proximity and
population-based coverage analysis.
---
## Project Objectives
- Standardize and clean provider address data
- Geocode provider locations using OpenStreetMap (Nominatim)
- Apply hierarchical fallback logic with explicit confidence tiers
- Visualize providers on an interactive map
- Generate county-level summary metrics for reporting
- Integrate population data for coverage analysis
- Calculate provider-to-population ratios by county
- Lay the foundation for coverage and underserved-area analysis
---
## Data Inputs
The workflow expects an Excel file with the following columns:
- Name
- Town
- Physical Address
- County
- Specialty
- Phone
- Email
- Status (Active / Inactive)
> Note: Sensitive or identifiable provider data is anonymized
> for this repository.
---
## Enhanced Features (Phase 2)
### Population Data Integration
- **WorldPop Constrained Estimates**: 2026 population data at 100m resolution
- **County Boundaries**: Official administrative boundaries from HDX
- **Automated Extraction**: Population sums calculated per county using raster masking
- **Robust Name Matching**: Handles hyphenated and alternative county name formats
### Enhanced Analysis
- **Provider-to-Population Ratios**: Calculates providers per 100,000 population
- **National Coverage Metrics**: Weighted averages accounting for population distribution
- **Data Quality Diagnostics**: Tracks extraction success rates and issues
- **Formatted Outputs**: Population numbers with comma separators for readability
### Comprehensive Reporting
- **Interactive Maps**: Color-coded providers with population density overlays (planned)
- **Detailed Summaries**: County-le …