Introduction

2016-09-03

rgho is an R package to access WHO GHO data from R via the Athena web service, an API providing a simple query interface to the World Health Organization’s data and statistics content.

The Global Health Observatory

As stated by the WHO website: The GHO data repository contains an extensive list of indicators, which can be selected by theme or through a multi-dimension query functionality. It is the World Health Organization’s main health statistics repository.

Data structure

GHO data is composed of indicators structured in dimensions. The list of dimensions is available in vignette("dimensions", package = "rgho"), the list of indicators for the GHO dimension (the main dimension) in vignette("codes-gho", package = "rgho")).

It is possible to access dimensions with get_gho_dimensions():

get_gho_dimensions()
## A 'GHO' object of 115 elements.
## 
##                  Label              ID
## 1            Indicator             GHO
## 2 Indicator Categories          GHOCAT
## 3          Data Source      DATASOURCE
## 4          Child cause  GBDCHILDCAUSES
## 5      ICD10CAUSEGROUP ICD10CAUSEGROUP
## 6         ICD10CHAPTER    ICD10CHAPTER
## ...
## 
## (Printing 6 first elements.)

And codes for a given dimension with get_gho_codes():

get_gho_codes(dimension = "COUNTRY")
## A 'GHO' object of 247 elements.
## 
##                 Label  ID
## 1         Afghanistan AFG
## 2             Albania ALB
## 3             Algeria DZA
## 4             Andorra AND
## 5              Angola AGO
## 6 Antigua and Barbuda ATG
## ...
## 
## (Printing 6 first elements.)
## 
## Attributes:
## 
## DS
## FIPS
## GEOMETRY
## IOC
## ISO
## ISO2
## ITU
## LAND_AREA_KMSQ_2012
## LANGUAGES_EN_2012
## MARC
## MORT
## SHORTNAMEES
## SHORTNAMEFR
## WHO
## WHOLEGALSTATUS
## WHO_REGION
## WHO_REGION_CODE
## WMO
## WORLD_BANK_INCOME_GROUP
## WORLD_BANK_INCOME_GROUP_CODE
## WORLD_BANK_INCOME_GROUP_GNI_REFERENCE_YEAR
## WORLD_BANK_INCOME_GROUP_RELEASE_DATE
get_gho_codes(dimension = "GHO")
## A 'GHO' object of 2196 elements.
## 
##                                                                                       Label
## 1 Infant mortality rate (probability of dying between birth and age 1 per 1000 live births)
## 2                                   Adolescent birth rate (per 1000 women aged 15-19 years)
## 3                                                              Contraceptive prevalence (%)
## 4                                                        Unmet need for family planning (%)
## 5            Under-five mortality rate (probability of dying by age 5 per 1000 live births)
## 6                            Median availability of selected generic medicines (%) - Public
##               ID
## 1 MDG_0000000001
## 2 MDG_0000000003
## 3 MDG_0000000005
## 4 MDG_0000000006
## 5 MDG_0000000007
## 6 MDG_0000000010
## ...
## 
## (Printing 6 first elements.)
## 
## Attributes:
## 
## CATEGORY
## DEFINITION_XML
## DISPLAY_ES
## DISPLAY_FR
## IMR_ID
## RENDERER_ID

Filtering results

Dimension codes can be filtered according to their attributes.

results <- get_gho_codes(dimension = "COUNTRY")

filter_attrs(
  results,
  WHO_REGION_CODE == "EUR"
)
## A 'GHO' object of 53 elements.
## 
##        Label  ID
## 1    Albania ALB
## 2    Andorra AND
## 3    Armenia ARM
## 4    Austria AUT
## 5 Azerbaijan AZE
## 6    Belarus BLR
## ...
## 
## (Printing 6 first elements.)
## 
## Attributes:
## 
## DS
## FIPS
## GEOMETRY
## IOC
## ISO
## ISO2
## ITU
## LAND_AREA_KMSQ_2012
## LANGUAGES_EN_2012
## MARC
## MORT
## SHORTNAMEES
## SHORTNAMEFR
## WHO
## WHOLEGALSTATUS
## WHO_REGION
## WHO_REGION_CODE
## WMO
## WORLD_BANK_INCOME_GROUP
## WORLD_BANK_INCOME_GROUP_CODE
## WORLD_BANK_INCOME_GROUP_GNI_REFERENCE_YEAR
## WORLD_BANK_INCOME_GROUP_RELEASE_DATE

Attribute values can be displayed.

values_attrs(
  results,
  "WHO_REGION_CODE"
)
## [1] "AFR"  "AMR"  "EMR"  "EUR"  "SEAR" "WPR"

Data download

An indicator can be downloaded as a data_frame with get_gho_data(). Here we use MDG_0000000001, Infant mortality rate (probability of dying between birth and age 1 per 1000 live births):

result <- get_gho_data(
  dimension = "GHO",
  code = "MDG_0000000001"
)

print(result, width = Inf)
## # A tibble: 5,330 × 11
##               GHO PUBLISHSTATE  YEAR REGION WORLDBANKINCOMEGROUP COUNTRY
##             <chr>        <chr> <int>  <chr>                <chr>   <chr>
## 1  MDG_0000000001    PUBLISHED  1996    AFR               WB_UMI     AGO
## 2  MDG_0000000001    PUBLISHED  2002    AFR               WB_UMI     AGO
## 3  MDG_0000000001    PUBLISHED  2010    AFR               WB_UMI     AGO
## 4  MDG_0000000001    PUBLISHED  1993    AFR                WB_LI     BDI
## 5  MDG_0000000001    PUBLISHED  2002    AFR                WB_LI     BDI
## 6  MDG_0000000001    PUBLISHED  1999    AFR                WB_LI     ETH
## 7  MDG_0000000001    PUBLISHED  2013    AFR                WB_LI     ETH
## 8  MDG_0000000001    PUBLISHED  2004    AFR               WB_UMI     GAB
## 9  MDG_0000000001    PUBLISHED  2004    AFR               WB_LMI     GHA
## 10 MDG_0000000001    PUBLISHED  1995    AFR                WB_LI     GIN
##        `Display Value` Numeric   Low  High Comments
##                  <chr>   <dbl> <dbl> <dbl>    <chr>
## 1  132.3 [119.1-148.8]   132.3 119.1 148.8     <NA>
## 2  125.5 [109.6-144.6]   125.5 109.6 144.6     <NA>
## 3   109.6 [81.3-146.8]   109.6  81.3 146.8     <NA>
## 4   104.8 [95.4-115.9]   104.8  95.4 115.9     <NA>
## 5     88.6 [79.2-98.8]    88.6  79.2  98.8     <NA>
## 6     92.6 [86.6-99.1]    92.6  86.6  99.1     <NA>
## 7     44.5 [34.5-55.7]    44.5  34.5  55.7     <NA>
## 8     51.4 [45.5-58.7]    51.4  45.5  58.7     <NA>
## 9     58.1 [54.6-62.0]    58.1  54.6  62.0     <NA>
## 10 122.3 [115.2-130.3]   122.3 115.2 130.3     <NA>
## # ... with 5,320 more rows

Filter requests

The filter argument in get_gho_data() allows request filtering:

result <- get_gho_data(
  dimension = "GHO",
  code = "MDG_0000000001",
  filter = list(
    REGION = "EUR",
    YEAR = "2015"
  )
)

print(result, width = Inf)
## # A tibble: 54 × 11
##               GHO PUBLISHSTATE  YEAR REGION WORLDBANKINCOMEGROUP COUNTRY
##             <chr>        <chr> <int>  <chr>                <chr>   <chr>
## 1  MDG_0000000001    PUBLISHED  2015    EUR                WB_HI     NOR
## 2  MDG_0000000001    PUBLISHED  2015    EUR               WB_UMI     MNE
## 3  MDG_0000000001    PUBLISHED  2015    EUR                WB_HI     MLT
## 4  MDG_0000000001    PUBLISHED  2015    EUR                WB_HI     LTU
## 5  MDG_0000000001    PUBLISHED  2015    EUR               WB_LMI     KGZ
## 6  MDG_0000000001    PUBLISHED  2015    EUR                WB_HI     GRC
## 7  MDG_0000000001    PUBLISHED  2015    EUR               WB_LMI     GEO
## 8  MDG_0000000001    PUBLISHED  2015    EUR                WB_HI     CZE
## 9  MDG_0000000001    PUBLISHED  2015    EUR                WB_HI     CYP
## 10 MDG_0000000001    PUBLISHED  2015    EUR               WB_UMI     ROU
##     `Display Value` Numeric   Low  High Comments
##               <chr>   <dbl> <dbl> <dbl>    <chr>
## 1     2.0 [1.7-2.4]     2.0   1.7   2.4     <NA>
## 2     4.3 [3.5-5.5]     4.3   3.5   5.5     <NA>
## 3     5.1 [4.1-6.5]     5.1   4.1   6.5     <NA>
## 4     3.3 [2.5-4.3]     3.3   2.5   4.3     <NA>
## 5  19.0 [17.0-21.5]    19.0  17.0  21.5     <NA>
## 6     3.6 [3.2-4.1]     3.6   3.2   4.1     <NA>
## 7   10.6 [8.9-13.3]    10.6   8.9  13.3     <NA>
## 8     2.8 [2.5-3.1]     2.8   2.5   3.1     <NA>
## 9     2.5 [1.9-3.2]     2.5   1.9   3.2     <NA>
## 10   9.7 [8.7-10.9]     9.7   8.7  10.9     <NA>
## # ... with 44 more rows

Other parameters

Other parameters than format can be specified to get_gho_data() (such as apikey, asof…). Parameters are listed on this page. Note that most parameters are not available to general users.