The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Crosswalk methods

Introduction

Crosswalk methods allow EQ-5D values to be estimated when a country-specific value set exists for one instrument version but not another. eq5dsuite implements three widely used approaches:

When to use crosswalk methods

Use crosswalk methods when:

Original crosswalk: eqxw()

eq5d5l_data <- data.frame(
  id = 1:5,
  mo = c(1, 2, 3, 1, 2),
  sc = c(1, 1, 2, 1, 3),
  ua = c(2, 1, 3, 1, 2),
  pd = c(2, 3, 2, 1, 4),
  ad = c(1, 2, 1, 3, 2)
)

# Apply crosswalk using UK 3L value set
eq5d5l_data$value_xw <- eqxw(
  eq5d5l_data,
  country   = "UK",
  dim.names = c("mo", "sc", "ua", "pd", "ad")
)

eq5d5l_data
#>   id mo sc ua pd ad  value_xw
#> 1  1  1  1  2  2  1 0.7947687
#> 2  2  2  1  1  3  2 0.6829058
#> 3  3  3  2  3  2  1 0.6288650
#> 4  4  1  1  1  1  3 0.8480001
#> 5  5  2  3  2  4  2 0.3374945

Reverse crosswalk: eqxwr()

eq5d3l_data <- data.frame(
  id = 1:5,
  mo = c(1, 2, 1, 3, 2),
  sc = c(1, 1, 2, 2, 1),
  ua = c(1, 2, 1, 3, 2),
  pd = c(2, 2, 1, 3, 3),
  ad = c(1, 1, 2, 2, 1)
)

# Apply reverse crosswalk using Spain 5L value set
eq5d3l_data$value_rxw <- eqxwr(
  eq5d3l_data,
  country   = "ES",
  dim.names = c("mo", "sc", "ua", "pd", "ad")
)

eq5d3l_data
#>   id mo sc ua pd ad   value_rxw
#> 1  1  1  1  1  2  1  0.90095476
#> 2  2  2  1  2  2  1  0.73260937
#> 3  3  1  2  1  1  2  0.81044151
#> 4  4  3  2  3  3  2 -0.04655332
#> 5  5  2  1  2  3  1  0.54478451

UK-specific crosswalk: eqxw_UK()

The UK-specific crosswalk requires age and sex in addition to the five EQ-5D dimensions:

uk_data <- data.frame(
  id   = 1:5,
  mo   = c(1, 2, 1, 3, 2),
  sc   = c(1, 1, 2, 2, 1),
  ua   = c(1, 2, 1, 3, 2),
  pd   = c(2, 2, 1, 3, 3),
  ad   = c(1, 1, 2, 2, 1),
  age  = c(45, 62, 38, 71, 55),
  male = c(1,  0,  1,  0,  1)
)

uk_data$value_uk <- eqxw_UK(
  uk_data,
  age  = "age",
  male = "male"
)

uk_data
#>   id mo sc ua pd ad age male  value_uk
#> 1  1  1  1  1  2  1  45    1 0.8637525
#> 2  2  2  1  2  2  1  62    0 0.7420881
#> 3  3  1  2  1  1  2  38    1 0.8471943
#> 4  4  3  2  3  3  2  71    0 0.5306411
#> 5  5  2  1  2  3  1  55    1 0.6685958

Crosswalk compatibility with custom value sets

All crosswalk functions are compatible with custom value sets added via eqvs_add(). The mapping and valuation steps are independent, so any compatible value set can be used without modification.

References

van Hout B, et al. (2012). Interim scoring for the EQ-5D-5L. Value in Health, 15(5), 708–715.

van Hout B, Shaw JW (2021). Mapping EQ-5D-3L to EQ-5D-5L. Value in Health, 24(9), 1285–1293.

Hernandez Alava M, et al. (2023). Estimating the relationship between EQ-5D-5L and EQ-5D-3L. PharmacoEconomics, 41(2), 199–207.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.