Methods for Analysing 'EQ-5D' Data and Calculating 'EQ-5D' Index Scores

EQ-5D is a widely used health-related quality-of-life instrument developed by the EuroQol Group and used in the clinical and economic evaluation of health care. Health is described using five dimensions (mobility, self-care, usual activities, pain/discomfort, and anxiety/depression) rated on either a three-level (EQ-5D-3L and EQ-5D-Y-3L) or five-level (EQ-5D-5L) scale. Responses can be reported as EQ-5D health states or converted to utility index scores using country-specific value sets. The package provides methods for the valuation, reporting and analysis of EQ-5D data. Utility index scores can be calculated for EQ-5D-3L, EQ-5D-5L and EQ-5D-Y-3L data using a wide range of value sets and mapping approaches. Functionality is also provided for descriptive-system reporting, severity and distributional summaries, informativity measures, health-state distribution analysis, longitudinal change analysis, probability of superiority analysis and Health Profile Grid visualisation. Methods described in Devlin et al. (2020) are implemented where appropriate. A companion 'Shiny' application is included for interactive analysis and visualisation of EQ-5D datasets.


eq5d

CRANstatus Downloads R-CMD-check Codecov testcoverage License:MIT

eq5d provides tools for the valuation, reporting and analysis of EQ-5D health outcomes.

The package supports utility index calculation, descriptive system reporting, severity and distributional summaries, longitudinal change analysis and visualisation of EQ-5D profiles. A companion Shiny application is also included for interactive analysis of EQ-5D datasets.

EQ-5D is a health-related quality-of-life instrument developed by the EuroQol Group. Health is described using five dimensions: Mobility (MO), Self-care (SC), Usual Activities (UA), Pain/Discomfort (PD) and Anxiety/Depression (AD). eq5d supports valuation and analysis of EQ-5D-3L, EQ-5D-Y-3L and EQ-5D-5L data.

Installation

Install the latest release from CRAN:

install.packages("eq5d")

Install the development version from GitHub:

# install.packages("remotes")
remotes::install_github("fragla/eq5d")

Getting started

The examples below illustrate some of the main functionality provided by eq5d.

Utility index calculation

library(eq5d)
#> Loading required package: lifecycle
#> Loading required package: rlang

scores <- c(MO = 1, SC = 2, UA = 3, PD = 2, AD = 1)

eq5d(scores, country = "UK", version = "3L", type = "TTO")
#> [1] 0.329

# Five-digit health state
eq5d(12321, country = "UK", version = "3L", type = "TTO")
#> [1] 0.329

Finding value sets

valuesets(
  country = "France",
  references = c("PubMed", "DOI")
)
#>    Version Type Country   PubMed                        DOI           Notes
#> 1 EQ-5D-3L  DSU  France       NA                       <NA>            <NA>
#> 2 EQ-5D-3L  TTO  France 21935715  10.1007/s10198-011-0351-x            <NA>
#> 3 EQ-5D-5L   CW  France 22867780 10.1016/j.jval.2012.02.008            <NA>
#> 4 EQ-5D-5L  DSU  France       NA                       <NA>            <NA>
#> 5 EQ-5D-5L   VT  France 31912325 10.1007/s40273-019-00876-4            <NA>
#> 6 EQ-5D-3L  RCW  France 34452708 10.1016/j.jval.2021.03.009 van Hout (2021)

Descriptive-system reporting

dat <- read.csv(
  system.file("extdata", "eq5d3l_example.csv", package = "eq5d")
)

dd <- descriptive_data(
  dat,
  version = "3L",
  metric = "percent"
)

table_descriptive(dd)
#>   Level    MO  SC    UA  PD    AD
#> 1     1  52.5  60  39.5  17  65.5
#> 2     2  47.5  40  55.5  72  31.0
#> 3     3   0.0   0   5.0  11   3.5
#> 4 Total 100.0 100 100.0 100 100.0

Severity summaries

lss(scores, version = "3L")
#> [1] 9

lfs(scores, version = "3L")
#> [1] "221"

Change analysis

pre  <- subset(dat, Group == "Group1")
post <- subset(dat, Group == "Group2")

pchc(pre, post, version = "3L", summary = TRUE)
#>                     Number Percent
#> No change               14      14
#> Improve                 59      59
#> Worsen                  14      14
#> Mixed change            13      13
#> Total with problems    100     100
#> No problems              0       0

Value sets

eq5d includes a wide range of EQ-5D-3L, EQ-5D-5L, EQ-5D-Y-3L, crosswalk, reverse-crosswalk and DSU mapping value sets.

See ?valuesets for details.

Documentation

Further documentation is available in the package vignettes:

Core reporting vignettes

  • Reporting EQ-5D Data with eq5d
  • Reporting the EQ-5D Descriptive System
  • Reporting EQ-5D Severity and Distributional Summaries
  • Reporting EQ-5D Change Analysis

Specialised vignettes

  • Mapping between EQ-5D-5L and EQ-5D-3L using the NICE DSU models

Shiny application

Launch the companion Shiny application with:

shiny_eq5d()

Online version:

https://fragla.shinyapps.io/shiny-eq5d

Contributing

Bug reports, feature requests and pull requests are welcome.

Please use the GitHub issue tracker:

https://github.com/fragla/eq5d/issues

Citation

To obtain citation information for eq5d:

citation("eq5d")

License

MIT License.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("eq5d")

0.17.0 by Fraser Morton, a month ago


https://github.com/fragla/eq5d


Report a bug at https://github.com/fragla/eq5d/issues


Browse source code at https://github.com/cran/eq5d


Authors: Fraser Morton [aut, cre] , Jagtar Singh Nijjar [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Depends on lifecycle, rlang

Suggests testthat, shiny, DT, mime, readxl, ggplot2, ggiraph, ggiraphExtra, shinycssloaders, shinyWidgets, FSA, PMCMRplus, knitr, rmarkdown, covr


See at CRAN