qlq_c30: Score the EORTC QLQ-C30 Quality of Life Questionnaire

View source: R/qlq_c30.R

qlq_c30R Documentation

Score the EORTC QLQ-C30 Quality of Life Questionnaire

Description

Scores the European Organization for Research and Treatment of Cancer (EORTC) QLQ-C30 Quality of Life Questionnaire (version 3.0).

Usage

qlq_c30(df, iprefix = NULL, items = NULL, keepNvalid = FALSE)

Arguments

df

A data frame containing responses to the 30 QLQ-C30 items, and possibly other variables.

iprefix

Quoted item number prefix. Quote the letter(s) preceding the item numbers as they are named in your data frame. For example, use iprefix = "q" if your items are named "q1", "q2", etc. Use either this iprefix argument or the items argument (but NOT BOTH) to tell the function which variables in df are the QLQ-C30 items. See Details for more information.

items

A character vector with the QLQ-C30 item names, or a numeric vector indicating the column numbers of the QLQ-C30 items in df. Use either this items argument or the iprefix argument (but NOT BOTH) to tell the function which variables in df are the QLQ-C30 items. If both items and iprefix are omitted, then qlq_c30 will assume that df contains ONLY the QLQ-C30 items and no other variables. See Details for more information.

keepNvalid

Logical, whether to return variables containing the number of valid, non-missing items on each scale for each respondent should be returned in the data frame with the scale scores. The default is FALSE. Set to TRUE to return these variables, which will be named "scalename_N" (e.g., QL_N). Most users should omit this argument entirely. This argument might be removed from future versions of the package, so please let me know if you think this argument useful and would rather it remain a part of the function.

Details

This function returns a total of 16 different scores from the EORTC QLQ-C30 (Aaronson et al., 1993), including the new QLQ-C30 Summary Score (Giesinger et al, 2016). Scores are calculated according to the official scoring algorithms in the EORTC QLQ-C30 Scoring Manual (Fayers et al, 2001).

In addition to the name of your data frame containing the QLQ-C30 item responses (df), you need to tell the function how to find the variables that correspond to the QLQ-C30 items in df. You can do this in 1 of 3 different ways:

  1. The easiest way is to use the iprefix argument. This assumes that your items are named using a consistent prefix, followed by the item number (e.g., 'q1', 'q2', 'q3', etc.). In this case, you could use iprefix = 'q', and the function will know to look for items named 'q1' to 'q30' in your data (df). Note that this method will NOT work if your items are numbered with leading zeros for single digit item numbers (e.g., 'q01', 'q02', etc.).

  2. The second way is to manually provide the item names or locations using the items argument. For example, if your first 10 variables in df contain demographics, followed by the 30 QLQ-C30 items in order starting with the 11th variable, then you could use items = 11:40.

  3. The last way only applies if your data frame (df) contains ONLY the 30 variables corresponding to the 30 QLQ-C30 items, in order, with no other non-QLQ-C30 variables. In this case, you can just use the df argument and omit iprefix and items.

You can use EITHER the iprefix or items argument, or NEITHER of them (in the case of #3 above). But you cannot use both.

Value

A data frame with all of the QLQ-C30 scores is returned. All scores are scaled to range from 0-100, even scores based on single items. Be aware that these single-item scales still have only 4 possible values, even though they are transformed to range from 0-100. The scale names and numbers of items are listed below.

Global health status/QoL

  • QL - Global health status/QoL (revised) (from 2 items)

Functional Scales (higher is better functioning)

  • PF - Physical functioning (from 5 items)

  • RF - Role functioning (from 2 items)

  • EF - Emotional functioning (from 4 items)

  • CF - Cognitive functioning (from 2 items)

  • SF - Social functioning (from 2 items)

Symptom Scales (higher is more symptoms, worse functioning)

  • FA - Fatigue (from 3 items)

  • NV - Nausea and Vomiting (from 2 items)

  • PA - Pain (from 2 items)

Single-Item Symptom Scores (higher is more symptoms, worse functioning)

  • DY - Dyspnoea

  • SL - Insomnia

  • AP - Appetite Loss

  • CO - Constipation

  • DI - Diarrhoea

  • FI - Financial Difficulties

QLQ-C30 Summary Score (higher is better functioning, fewer symptoms)

  • C30SUMMARY - QLQ-C30 Summary Score, composed by taking mean of all scores except for QL (Global health status/QoL) and FI (Financial Difficulties)

Optionally, the data frame can additionally have variables containing the number of valid item responses on each scale for each respondent (if keepNvalid = TRUE, but this option might be removed in future package updates).

How Missing Data is Handled

The qlq_c30 function will calculate the scale scores as long as at least half of the items on the given scale have valid, non-missing item responses. The qlq_c30 function will calculate the QLQ-C30 Summary Score (C30SUMMARY) for a respondent only if all 13 scales contributing to that score are non-missing. Scores calculated in the presence of missing items are pro-rated so that their theoretical minimum and maximum values are identical to those from scores calculated from complete data.

Note

This function follows the scoring algorithm in the official EORTC QLQ-C30 Scoring Manual (Fayers et al, 2001) exactly, with two exceptions.

  • QLQ-C30 Summary Score - The QLQ-C30 Summary Score C30SUMMARY was developed after the EORTC QLQ-C30 Scoring Manual was published. This summary scale was scored according to instructions on the EORTC website (http://groups.eortc.be/qol/manuals).

  • Scale Score Names - The QLQ-C30 Scoring Manual names the Global Health Status/QoL scale, the Physical Functioning scale, and the Role Functioning scale 'QL2', 'PF2', and 'RF2', respectively, to indicate that these are revised versions of these scales. However, this clashes with the naming convention that many statisticians use for longitudinal assessments (e.g., where 'QL2' would be used to indicate the second 'QL' assessment). As such, this function drops the '2' suffix from these scale names.

References

Aaronson NK, Ahmedzai S, Bergman B, Bullinger M, Cull A, Duez NJ, Filiberti A, Flechtner H, Fleishman SB, Haes JCJM de, Kaasa S, Klee M, Osoba D, Razavi D, Rofe PB, Schraub S, Sneeuw K, Sullivan M, Takeda F (1993). The European Organization for Research and Treatment of Cancer QLQ-C30: A Quality-of-Life Instrument for Use in International Clinical Trials in Oncology. JNCI J Natl Cancer Inst 85:365-376.

Fayers PM, Aaronson NK, Bjordal K, Groenvold M, Curran D, Bottomley A, on behalf of the EORTC Quality of Life Group. The EORTC QLQ-C30 Scoring Manual (3rd Edition). Published by: European Organisation for Research and Treatment of Cancer, Brussels 2001.

Giesinger JM, Kieffer JM, Fayers PM, Groenvold M, Petersen MA, Scott NW, Sprangers MAG, Velikova G, Aaronson NK (2016). Replication and validation of higher order models demonstrated that a summary score for the EORTC QLQ-C30 is robust. Journal of Clinical Epidemiology 69:79-88.

Examples


## Not run: 
dat <- PROscorerTools::makeFakeData(n = 10, nitems = 30, values = 1:4)
qlq_c30(dat, 'q')

## End(Not run)

PROscorer documentation built on Oct. 17, 2023, 1:06 a.m.