Healthcare Accessibility Models using Spatial Data

Grace Cooper - IPUMS Senior Data Analyst

Outline of webinar

  • What is Healthcare Accessibility?
  • Methods of measuring healthcare accessibility
  • Q&A
  • Introducing an improved model
  • Example application
  • Q&A

Zoom Logistics

  • Webinar is being recorded & will be posted
  • Real-time closed captions are being auto-generated
    • Turn off/on by clicking “CC” button in zoom controls
  • Send questions about zoom directly to host (IPUMS)
  • Use the Q&A to ask questions
  • The recording and materials will be posted on the Spatial Analysis and Health Research blog
  • Code provided will be in Python, but executable in RStudio through Quarto
  • Will post written Q&A document following the webinar

What is Healthcare Accessibility?

Dimensions of Healthcare Accessibility

  • Spatial Accessibility
    • Distance or Travel Time
    • Supply and Demand
  • Availability of Care
    • Services and provider capacity
  • Affordability of Services
    • Insurance and out-of-pocket costs
  • Quality of Care
    • Provider type
    • Patient experience

Spatial Accessibility: How travel time is measured

Straight-line Distance

  • Travel “as the crow flies”
  • Simple buffer
  • No data about road or terrain needed

Map showing a single facility buffered with a circle.

Simple buffer around a facility

Spatial Accessibility: How travel time is measured

Straight-line Distance

  • Travel “as the crow flies”
  • Simple buffer
  • No data about road or terrain needed

Road Network Distance

  • Travel along roads
  • Requires complete road network data, including travel speeds
  • Assumes travel is restricted to roads

Map showing a catchment area based on network analysis.

Service area created from network analysis

Spatial Accessibility: How travel time is measured

Straight-line Distance

  • Travel “as the crow flies”
  • Simple buffer
  • No data about road or terrain needed

Road Network Distance

  • Travel along roads
  • Requires complete road network data, including travel speeds
  • Assumes travel is restricted to roads

Friction Surface

  • Travel across the landscape
  • Travel cost varies based on roads, terrain, and barriers
  • Allows travel both along and off roads

Map showing a catchment area based on friction surface.

Service area created from a friction surface

Spatial Accessibility: Other Considerations

  • Supply
    • The availability of healthcare services, such as facilities, providers, or beds
  • Demand
    • The population that needs or seeks those services
  • Distance Decay
    • The tendency for use to decrease as distance increases
  • Preferences
    • Factors that influence which services people choose, such as provider gender or facility type
  • Other Factors
    • Quality, cost, hours of operation, and other characteristics of services

Existing Frameworks for Measuring Accessibility

Table showing two frameworks for measuring spatial accessibility: cost-distance based and network-based.

Existing Frameworks for Measuring Accessibility

Table showing the ideal pieces of the two frameworks for measuring spatial accessibility.

Existing Frameworks for Measuring Accessibility

Table showing the ideal pieces of the two frameworks for measuring spatial accessibility.

Existing Frameworks for Measuring Accessibility

Table showing the ideal pieces of the two frameworks for measuring spatial accessibility.

Improved Framework for Measuring Accessibility

Table showing the new improved framework for measuring spatial accessibility.

Accessibility Models

Simple Metrics Models

Figure showing the effect of straightline and network distance on facility preference.

Gravity Models

Figure showing the effect of distance decay on facility preference

2SFCA Models

Figure showing the effect of supply and demand on facility preference

2SFCA: Step One

  • Calculate the provider to population ratio (PPR)
    • Capacity = number of beds/providers/etc in the facility
    • Population = number of people within the catchment area

\[PPR = {Capacity \over Population}\]

Map showing step 1 of the 2SFCA calculation, including facility capacity, catchment areas, and population points

2SFCA: Step Two

  • Sum the PP ratios within the catchment area for the population point

\[Accessibility = {\sum PPR}\]

Map showing step 2 of the 2SFCA calculation, including facility points with pp ratios, pop points with accessibility scores, and catchment areas

2SFCA: Flexibility comes with data requirements

Benefits

  • Flexible: incorporate other factors into analysis as needed
    • Insurance coverage -> demand
    • Facility competition
    • Transportation types
  • Distance decay aligns with reality

Limitations

  • Relies on high-resolution data
    • Small area geographic identifiers
    • Complete road network data
    • Temporally recent population census
  • Overestimates demand for care
    • People in multiple service catchment areas are counted twice

What’s Next?

  • A new raster-based model that enables improved spatial research in low-income countries
  • First, a short break for questions

Q & A

Q and A image

Introducing an Improved Model

The Raster-Based 2SFCA

  • Use a Network-Based Model Framework
    • 2SFCA Model
  • With Raster-Based Data
    • Gridded Population (i.e. WorldPop)
    • Friction surface rather than road network data

Types of Data

Map of Kisii District showing choropleth map of subcounty populations

Census Counts Aggregated to the Subcounty

Map of Kisii District, showing gridded population from WorldPop

WorldPop Gridded Population

Steps of the Raster-Based 2SFCA Model

1
Create Cost Raster
(Friction Surface)
2
Create Service Area Polygons
(Catchment Areas)
3
Accessibility Analysis
(2SFCA Model)

1. Create cost raster

  • Purpose
    • Build a friction surface representing the time it takes to travel on foot across a grid cell (min/cell)
    • Replaces network analysis
    • Represents travel beyond roads

Map showing the final cost raster output

1. Create cost raster: Barriers and Roads Inputs

OpenStreetMap (OSM)

  • Download OSM (vector) for your study area and add the following fields
    • Roads: lines with travel speed values
    • Rivers: lines with crossing cost values
    • Wetlands: polygons with traversal cost values

Map showing a small area with river lines, road lines, and wetland polygons

1. Create cost raster: Vegetation Input

ESA WorldCover

  • Download Land Cover (raster) for your study area and reclassify accordingly
    • Landcover, reclassified to represent travel values
      • Permanent waterbodies: higher values (difficult to traverse)
      • Bare earth/sparse vegetation: lower values (easier to traverse)

Map showing a small area showing Land Cover classes

1. Create cost raster: Terrain Input

Shuttle Radar Topography Mission (SRTM)

  • Download elevation data (raster) for your study area (no changes needed)
    • Digital Elevation Model (DEM)
    • Used to derive slope and apply Tobler’s hiking function as a penalty to traverse difficult terrain

Map showing grayscale elevation

1. Create cost raster: Step 1

Convert vector layers to raster

Map showing vector river and wetland data

Map showing raster river and wetland data

1. Create cost raster: Step 2

Combine all raster inputs

Map showing raster inputs

Map showing base costraster output

1. Create cost raster: Step 3

Calculate slope (in degrees) from DEM

Map showing elevation input

Map showing slope output

1. Create cost raster: Step 4

Apply Tobler’s Hiking Function

  • Estimate walking speed (km/h) based on terrain slope
  • Fastest walking terrain is slightly downhill

Graph showing Tobler's hiking function, with slope (deg) on the X-axis and walking speed (km/h) on the Y-axis. Speed exponentially increases going from a slope of -60 (the y-int), which is a large downhill slope where speed is almost zero, until you get to roughly -3 or -4 degree slope (slightly downhill), the peak in walking speed. Walking speed decreases again, exponentially as slope increases from -3 or -4 up to 50, where speed is almost zero.

1. Create cost raster: Step 5

Convert from minutes per meter to minutes per cell

  • Multiply by grid cell size
  • Final cost raster output

Map showing the final cost raster output

Steps of the Raster-Based 2SFCA Model

1
Create Cost Raster
(Friction Surface)
2
Create Service Area Polygons
(Catchment Areas)
3
Accessibility Analysis
(2SFCA Model)

2. Create service area polygons

  • Purpose
    • Define areas around facilities that can be reached by walking, biking, or driving
    • Threshold (30 min, 60 min, etc.) - defined by the user

Map showing a service area polygon.

2. Create service area polygons: Inputs

  • Cost Raster Surface (raster)
    • Output from previous step

Example of a costraster output from the previous script

2. Create service area polygons: Inputs

  • Cost Raster Surface (raster)
    • Output from previous step
  • Healthcare Facility Locations (vector points)
    • Locations of public healthcare facilities in all of sub-Saharan Africa
    • Available through the Humanitarian Data Exchange

Map showing the full dataset of public healthcare facilities in SSA (Maina et al, 2019)

Public Healthcare Facilities (Maina et al, 2019)

2. Create service area polygons: Process

  • Calculate catchment area using cost raster
    • 🛠️ ArcGIS Pro Distance Accumulation Tool
      • Set maximum accumulation according to desired catchment size
      • Run it (in a loop) on one facility at a time

Map showing distance accumulation output

Distance Accumulation Output (raster)

2. Create service area polygons: Process

  • Calculate catchment area using cost raster
    • 🛠️ ArcGIS Pro Distance Accumulation Tool
      • Set maximum accumulation according to desired catchment size
      • Run it (in a loop) on one facility at a time

Map showing distance accumulation output with arrows pointing out catchment boundaries

Distance Accumulation Output (raster)

Map showing service area polygon

Catchment Area Polygon (vector)

2. Create service area polygons: Why run it in a loop?

Distance accumulation output for facility A

Facility A distance accumulation output

Catchment area polygon for facility A (boundary of dist accum output)

Facility A catchment area

Distance accumulation output for facility B

Facility B distance accumulation output

Catchment area polygon for facility B (boundary of dist accum output)

Facility B catchment area

Catchment area polygons overlap, but are distinct from each other

Both facility catchments as individual polygons

2. Create service area polygons: Why run it in a loop?

If you run it on multiple facilities at a time…

Distance accumulation output for both facilities (as one)

Distance accumulation output

Catchment area polygon (one polygon based on distance accumulation run on two facilities at once)

Cathment area (one polygon for two facilities)

2. Create service area polygons: Process

If you run it on multiple facilities at a time…

Distance accumulation output for both facilities (as one)

Distance accumulation output

Catchment area polygon (one polygon based on distance accumulation run on two facilities at once) - this is a bad output

Cathment area (one polygon for two facilities)

Steps of the Raster-Based 2SFCA Model

1
Create Cost Raster
(Friction Surface)
2
Create Service Area Polygons
(Catchment Areas)
3
Accessibility Analysis
(2SFCA Model)

3. Accessibility Analysis

  • How it works
    • 2SFCA Model
      • Gridded population used to identify where people live
      • Friction surface (cost raster) used to define travel catchment areas
    • Generates an accessibility surface (raster)
  • Inputs
    • Service area polygons (output from previous script)
    • Gridded Population Surface, i.e. WorldPop (raster)
    • Healthcare facility locations (vector)

3. Accessibility Analysis: Step 1

  • Summarize total population within each facility polygon
    • 🛠️ ArcGI SPro Zonal Statistics as Table Tool

Gridded population (WorldPop) with a catchment area overlapping

Zonal statistics summarizes the population (blue) within the catchment area (yellow)
  • Calculate provider-to-population ratio (pp-ratio)
    • 🛠️ ArcGIS Pro Calculate Field Tool
        code_block="""
          def calc_pp_ratio(beds, population):
            if population in (0, None) or beds in (None, 0):
                return None
          return beds / population
          """

3. Accessibility Analysis: Step 2

  • Summarize pp-ratio for each population point (extracted from gridded population raster)
    • Join population points and service areas
      • 🛠️ ArcGIS Pro Spatial Join Tool
    • Sum pp-ratio values for each population point from all overlapping service areas
      • 🛠️ ArcGIS Pro Statistics Tool

3. Accessibility Analysis: Step 3

  • Calculate the final accessibility score for each population point, in a loop
    • Accessibility = sum(pp-ratio)
    • Multiply by 10,000 to re-scale to a readable range (relative meanings stay the same)
  • Convert to a raster surface
    • 🛠️ ArcGIS Pro Point to Raster Tool

Summary of the Raster-Based 2SFCA Model

1
Create Cost Raster
(Friction Surface)
2
Create Service Area Polygons
(Catchment Areas)
3
Accessibility Analysis
(2SFCA Model)

Validating Modeled Accessibility Against Reported Healthcare Barriers

Linking accessibility models with individual-level survey data

Map showing Kenya PMA 2020 clusters on top of modeled accessibility.

Kenya 2020 Performance Monitoring for Action (PMA)

Workflow

➜ PMA household

➜ GPS cluster location

➜ Buffer GPS Clusters

➜ Extract accessibility value

➜ Analyze healthcare access outcomes

Testing whether modeled accessibility predicts reported healthcare barriers

Hypothesis

  • Higher spatial accessibility is associated with fewer reports of accessibility issues

Outcome Variable

  • Transportation or cost barrier (Yes/No)

Primary Predictor Variable

  • Raster-based accessibility quintile

Model

  • Weighted logistic regression
  • Adjusted for age, education, and urban/rural residence

Simplified Logistic regression results table, showing the variable, Odds Ratio, and 95% confidence intervals.

Reported healthcare barriers vary across modeled accessibility quintiles

Logistic regression results bar chart, with modelled accessibility quintiles (x-axis) and number of respondents reporting barriers to healthcare (y-axis)

Why raster-based accessibility models matter


Traditional models

Raster-Based 2SFCA

  • Limited by available administrative units
  • Uses globally-available gridded population
  • Assume uniform population distribution
  • High resolution (100m) population distribution
  • Travel beyond roads is not measured
  • Complete coverage with terrain and land cover

Q & A

Q and A image