| Title: | Mapping Calculator for EQ-5D Utility Scores |
|---|---|
| Description: | Provides a 'shiny' web application to map scores from clinical instruments (PANSS, SQLS, WHODAS 2.0, PHQ-8, EQ-5D-5L) to preference-based EQ-5D-5L health utility values using validated regression-based and beta-mixture mapping algorithms developed from Singapore population studies. Intended for use in health economic evaluations and cost-utility analyses. Methods are based on: Abdin et al. (2019) <doi:10.1007/s11136-018-2037-7>, Seow et al. (2023) <doi:10.1080/14737167.2023.2215430>, Abdin et al. (2021) <doi:10.1186/s12888-021-03463-0>, Abdin et al. (2024) <doi:10.1080/14737167.2024.2376100>. |
| Authors: | Edimansyah Abdin [aut, cre] (ORCID: <https://orcid.org/0000-0002-1016-3298>) |
| Maintainer: | Edimansyah Abdin <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 2.0.0 |
| Built: | 2026-06-06 06:54:08 UTC |
| Source: | https://github.com/edimansyahabdin/mappingcalc |
Provides a 'shiny' web application to map scores from clinical instruments (PANSS, SQLS, WHODAS 2.0, PHQ-8, EQ-5D-5L) to preference-based EQ-5D-5L health utility values using validated regression-based and beta-mixture mapping algorithms developed from Singapore population studies. Intended for use in health economic evaluations and cost-utility analyses. Methods are based on: Abdin et al. (2019) doi:10.1007/s11136-018-2037-7, Seow et al. (2023) doi:10.1080/14737167.2023.2215430, Abdin et al. (2021) doi:10.1186/s12888-021-03463-0, Abdin et al. (2024) doi:10.1080/14737167.2024.2376100.
Maintainer: Edimansyah Abdin [email protected] (ORCID)
Shiny module server for the Data Analysis tab. All analysis tabs share a single uploaded dataset. Covers descriptive statistics, linear regression, cost-utility analysis, and probabilistic sensitivity analysis.
Analyses_server(id)Analyses_server(id)
id |
Character. The Shiny module namespace ID. |
A Shiny module server function (called for its side effects).
Shiny module UI for the Data Analysis tab. Provides tools for descriptive statistics, linear regression, basic cost-utility analysis (ICER), and probabilistic sensitivity analysis (PSA) with CEAC. A single shared dataset upload at the top feeds all analysis tabs.
Analyses_ui(id)Analyses_ui(id)
id |
Character. The Shiny module namespace ID. |
A Shiny tabPanel UI element.
Returns whether the index value for a given EQ-5D-5L health state profile is above or below the Singapore population mean of 0.95.
eq5d5l_index_comparison( Mobility, SelfCare, UsualActivities, PainDiscomfort, AnxietyDepression, profile_data )eq5d5l_index_comparison( Mobility, SelfCare, UsualActivities, PainDiscomfort, AnxietyDepression, profile_data )
Mobility |
Integer 1–5. Mobility dimension level. |
SelfCare |
Integer 1–5. Self-care dimension level. |
UsualActivities |
Integer 1–5. Usual activities dimension level. |
PainDiscomfort |
Integer 1–5. Pain/discomfort dimension level. |
AnxietyDepression |
Integer 1–5. Anxiety/depression dimension level. |
profile_data |
Data frame with columns |
Character. "above" if index value > 0.95, "below"
otherwise.
profile_file <- system.file("extdata", "profile.csv", package = "MappingCalc") profile_data <- utils::read.csv(profile_file) eq5d5l_index_comparison(1, 1, 1, 1, 1, profile_data) eq5d5l_index_comparison(5, 5, 5, 5, 5, profile_data)profile_file <- system.file("extdata", "profile.csv", package = "MappingCalc") profile_data <- utils::read.csv(profile_file) eq5d5l_index_comparison(1, 1, 1, 1, 1, profile_data) eq5d5l_index_comparison(5, 5, 5, 5, 5, profile_data)
Returns the EQ-5D-5L index value for a given five-digit health state profile using the Singapore value set (Luo et al., 2014) via the crosswalk method (van Hout et al., 2012).
eq5d5l_index_value( Mobility, SelfCare, UsualActivities, PainDiscomfort, AnxietyDepression, profile_data )eq5d5l_index_value( Mobility, SelfCare, UsualActivities, PainDiscomfort, AnxietyDepression, profile_data )
Mobility |
Integer 1–5. Mobility dimension level. |
SelfCare |
Integer 1–5. Self-care dimension level. |
UsualActivities |
Integer 1–5. Usual activities dimension level. |
PainDiscomfort |
Integer 1–5. Pain/discomfort dimension level. |
AnxietyDepression |
Integer 1–5. Anxiety/depression dimension level. |
profile_data |
Data frame with columns |
Numeric scalar. EQ-5D-5L index value for the specified profile.
profile_file <- system.file("extdata", "profile.csv", package = "MappingCalc") profile_data <- utils::read.csv(profile_file) eq5d5l_index_value(1, 1, 1, 1, 1, profile_data) eq5d5l_index_value(3, 3, 3, 3, 3, profile_data)profile_file <- system.file("extdata", "profile.csv", package = "MappingCalc") profile_data <- utils::read.csv(profile_file) eq5d5l_index_value(1, 1, 1, 1, 1, profile_data) eq5d5l_index_value(3, 3, 3, 3, 3, profile_data)
Concatenates the five EQ-5D-5L dimension levels into a
five-digit profile string (e.g., "11111" for full health).
eq5d5l_profile_string( Mobility, SelfCare, UsualActivities, PainDiscomfort, AnxietyDepression )eq5d5l_profile_string( Mobility, SelfCare, UsualActivities, PainDiscomfort, AnxietyDepression )
Mobility |
Integer 1–5. Mobility dimension level. |
SelfCare |
Integer 1–5. Self-care dimension level. |
UsualActivities |
Integer 1–5. Usual activities dimension level. |
PainDiscomfort |
Integer 1–5. Pain/discomfort dimension level. |
AnxietyDepression |
Integer 1–5. Anxiety/depression dimension level. |
Character scalar. Five-digit EQ-5D-5L profile string.
eq5d5l_profile_string(1, 2, 3, 2, 1) eq5d5l_profile_string(3, 3, 3, 3, 3)eq5d5l_profile_string(1, 2, 3, 2, 1) eq5d5l_profile_string(3, 3, 3, 3, 3)
Returns whether the predicted EQ-5D-5L utility is above or below the Singapore population mean of 0.95.
panss_utility_comparison(positive, negative, gps, age1, gender)panss_utility_comparison(positive, negative, gps, age1, gender)
positive |
Numeric. PANSS Positive subscale score (range: 7–49). |
negative |
Numeric. PANSS Negative subscale score (range: 7–49). |
gps |
Numeric. PANSS General Psychopathology score (range: 16–112). |
age1 |
Numeric. Patient age in years (minimum: 21). |
gender |
Numeric. Gender code: 1 = female, 0 = male. |
Character. "above" if predicted utility > 0.95,
"below" otherwise.
panss_utility_comparison(34, 17, 80, 40, 1)panss_utility_comparison(34, 17, 80, 40, 1)
Predicts the EQ-5D-5L utility index value using an OLS regression model from Abdin et al. (2019). Predicted scores above 1.000 are capped at 1.000.
panss_utility_score(positive, negative, gps, age1, gender)panss_utility_score(positive, negative, gps, age1, gender)
positive |
Numeric. PANSS Positive subscale score (range: 7–49). |
negative |
Numeric. PANSS Negative subscale score (range: 7–49). |
gps |
Numeric. PANSS General Psychopathology score (range: 16–112). |
age1 |
Numeric. Patient age in years (minimum: 21). |
gender |
Numeric. Gender code: 1 = female, 0 = male. |
Numeric scalar. EQ-5D-5L utility value rounded to 3 decimal places, capped at a maximum of 1.000.
Abdin E, Chong SA, Seow E et al. (2019). Mapping the Positive and Negative Syndrome Scale scores to EQ-5D-5L and SF-6D utility scores in patients with schizophrenia. Quality of Life Research, 28, 177–186. doi:10.1007/s11136-018-2037-7
panss_utility_score(34, 17, 80, 40, 1) panss_utility_score(positive = 20, negative = 15, gps = 40, age1 = 35, gender = 0)panss_utility_score(34, 17, 80, 40, 1) panss_utility_score(positive = 20, negative = 15, gps = 40, age1 = 35, gender = 0)
Launches the MappingCalc interactive Shiny calculator in the default web browser. Provides validated mapping calculators for PANSS, SQLS, WHODAS 2.0, PHQ-8, and EQ-5D-5L instruments, plus a Data Analysis module for descriptive statistics, linear regression, cost-utility analysis, and probabilistic sensitivity analysis.
run_app(...)run_app(...)
... |
Additional arguments passed to |
Called for its side effect of launching a Shiny application.
Returns the value of shiny::runApp() invisibly.
if (interactive()) { run_app() }if (interactive()) { run_app() }
Returns whether the predicted EQ-5D-5L utility is above or below the Singapore population mean of 0.95.
sqls_utility_comparison(psychosocial, motivation, symptoms, age, gender)sqls_utility_comparison(psychosocial, motivation, symptoms, age, gender)
psychosocial |
Numeric. SQLS Psychosocial subscale score (range: 0–100). |
motivation |
Numeric. SQLS Motivation subscale score (range: 0–100). |
symptoms |
Numeric. SQLS Symptoms subscale score (range: 0–100). |
age |
Numeric. Patient age in years. |
gender |
Numeric. Gender code: 1 = female, 0 = male. |
Character. "above" if predicted utility > 0.95,
"below" otherwise.
sqls_utility_comparison(50, 50, 50, 40, 1)sqls_utility_comparison(50, 50, 50, 40, 1)
Predicts the EQ-5D-5L utility index value using an OLS regression model from Seow et al. (2023).
sqls_utility_score(psychosocial, motivation, symptoms, age, gender)sqls_utility_score(psychosocial, motivation, symptoms, age, gender)
psychosocial |
Numeric. SQLS Psychosocial subscale score (range: 0–100). |
motivation |
Numeric. SQLS Motivation subscale score (range: 0–100). |
symptoms |
Numeric. SQLS Symptoms subscale score (range: 0–100). |
age |
Numeric. Patient age in years. |
gender |
Numeric. Gender code: 1 = female, 0 = male. |
Numeric scalar. EQ-5D-5L utility value rounded to 3 decimal places.
Seow E, Abdin E, Subramaniam M, Chong SA (2023). Mapping the schizophrenia quality of life scale to EQ-5D, HUI3 and SF-6D utility scores in patients with schizophrenia. Expert Review of Pharmacoeconomics and Outcomes Research, 23(7), 813–821. doi:10.1080/14737167.2023.2215430
sqls_utility_score(50, 50, 50, 40, 1)sqls_utility_score(50, 50, 50, 40, 1)
Returns whether the predicted EQ-5D-5L utility is above or below the Singapore population mean of 0.95.
whodas_total_utility_comparison(whodas_scores)whodas_total_utility_comparison(whodas_scores)
whodas_scores |
Numeric. WHODAS 2.0 total score (range: 0–48). |
Character. "above" if predicted utility > 0.95,
"below" otherwise.
whodas_total_utility_comparison(10)whodas_total_utility_comparison(10)
Predicts the EQ-5D-5L utility index value from the WHODAS 2.0 12-item total score using a robust regression model from Abdin et al. (2024). Predicted values below -0.584 are floored at -0.584.
whodas_total_utility_score(whodas_scores)whodas_total_utility_score(whodas_scores)
whodas_scores |
Numeric. WHODAS 2.0 total score (range: 0–48). |
Numeric scalar. EQ-5D-5L utility value rounded to 3 decimal places, floored at a minimum of -0.584.
Abdin E et al. (2024). Mapping the World Health Organization Disability Assessment Schedule 2.0 to the EQ-5D-5L in patients with mental disorders. Expert Review of Pharmacoeconomics and Outcomes Research. doi:10.1080/14737167.2024.2376100
whodas_total_utility_score(10) whodas_total_utility_score(48)whodas_total_utility_score(10) whodas_total_utility_score(48)