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 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:
eqxw) — maps
EQ-5D-5L responses to EQ-5D-3L values (van Hout et al., 2012)eqxwr) — maps
EQ-5D-3L responses to EQ-5D-5L values (van Hout and Shaw, 2021)eqxw_UK) —
maps EQ-5D-5L responses to values on the UK EQ-5D-3L value set
(Hernández Alava et al., 2023)eqxwr_UK)
— maps EQ-5D-3L responses to values on the UK EQ-5D-5L value set
(Hernández Alava et al., 2023)The two NICE DSU mappings are age- and sex-specific and cover the
United Kingdom only. They are not the van Hout crosswalks:
eqxwr() and eqxwr_UK() answer different
questions and are not interchangeable.
Use crosswalk methods when:
eqxw()eqxwr()eqxwr_UK()NICE’s interim methods statement of 27 August 2026 (NICE, 2026;
PMG51) takes the UK EQ-5D-5L value set (Rowen et al., 2026) as the
reference case for topics started after that date – for technology
appraisals, those whose invitation to participate was issued after it.
Topics started earlier continue to map EQ-5D-5L data to EQ-5D-3L utility
values (with eqxw_UK()). For new topics:
eq5d5l(x, country = "GB"). No mapping
is needed.eqxwr_UK(), the mapping the statement specifies in that
situation (Hernández Alava et al., 2023).eqxw_UK() maps in the other direction, to the older UK
EQ-5D-3L value set. It remains for topics started before 27 August 2026
and for reproducing earlier analyses.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 = "GB",
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.3374945eq5d3l_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.54478451Both NICE DSU mappings require age and sex in addition to the five EQ-5D dimensions. Age is used in years and grouped into five bands (16–34, 35–44, 45–54, 55–64, 65 and over); sex is 1 for male and 0 for female.
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.6685958When only EQ-5D-3L data are available, eqxwr_UK() maps
them so they can be valued on the UK EQ-5D-5L value set:
uk3l <- 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)
)
uk3l$value_uk5l <- eqxwr_UK(uk3l, age = "age", male = "male")
uk3l
#> id mo sc ua pd ad age male value_uk5l
#> 1 1 1 1 1 2 1 45 1 0.92506034
#> 2 2 2 1 2 2 1 62 0 0.79902655
#> 3 3 1 2 1 1 2 38 1 0.86239329
#> 4 4 3 2 3 3 2 71 0 -0.08121815
#> 5 5 2 1 2 3 1 55 1 0.56006048Both functions also accept an EQ-5D value instead of a
health state, for mapping a mean reported in a published study. There is
no unique health state behind a mean, so the result is a kernel-weighted
average of the mapped values of nearby states.
bwidth = "default" applies the DSU’s recommended bandwidths
for mean values: 0.1 for values above 0.6, and 0.4 for values at or
below 0.6.
# a mean EQ-5D-3L value of 0.54 in women aged 35
eqxwr_UK(0.54, age = 35, male = 0, bwidth = "default")
#> [1] 0.7005354
# the bandwidth matters: a narrower one weights fewer states
eqxwr_UK(0.54, age = 35, male = 0, bwidth = 0.1)
#> [1] 0.746695This input is not intended for individual-level data. Map individual respondents from their health states, as above.
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.
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.
Hernández Alava M, Pudney S, Wailoo A (2023). Estimating the relationship between EQ-5D-5L and EQ-5D-3L: results from a UK population study. PharmacoEconomics, 41(2), 199–207.
Rowen D, Mukuria C, Bray N, et al. (2026). A UK value set for the EQ-5D-5L. Value in Health, 29(5), 858–869.
National Institute for Health and Care Excellence (2026). Interim methods statement: implementing the EQ-5D-5L value set (PMG51). Published 27 August 2026. https://www.nice.org.uk/process/pmg51
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.