The Geriatric Depression Scale (GDS) is an instrument designed specifically for rating depression in the elderly. It can be administrated to healthy, medically ill, and mild to moderately cognitively impaired older adults. As a general rule, GDS is administrated in LCBC to older adults with a lower cut off around 60 years. However, please consult the instructions for each project, as this guideline has been implemented at different time points across the projects.

The questionnaire consists of 30 questions tapping into a wide variety of topics relevant to depression, including cognitive complaints, motivation, thoughts about the past and the future, self-image, and mood itself. The answers should be based the participants' feelings throughout the last week.

Twenty of the questions indicate the presence of depression when answered positively, while the ten remaining indicate depression when answered negatively (see scoring instructions below). The questionnaire is scored accordingly, giving one point for each statement that affirms a depressive symptom. The sum of these scores yields one total score, with a possible range between 0 and 30. ##Scoring The GDS is quite straight forward in its format, a series of 30 questions that take a yes or no answer. This binary coding makes it quite easy to work with. Several of the questions, however, are formulated in such a way that they require a reversal of the coding before the total score can be summed. The questions which require reversal of coding are, 01, 05, 07, 09, 15, 19, 21, 27, 29, 30, meaning answering "yes" to these should be altered to 0, and "no" altered to 1, before calculating the sum score. The total GDS score is after reversal, a simple addition of all the answers into a single score.

One point is given for any “No” answered to the following questions: 1, 5, 7, 9, 15, 19, 21, 27, 29 and 30

and one point is given for every “Yes” answered on the following questions: 2, 3, 4, 6, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 22, 23, 24, 25, 26, 28

Depression categories

There are 3 categories of severity for the GDS total score. Below or equal to 9 is "Normal", above 19 is "Severe depression", and the remaining fall within "Mild depression".

GDS scoreDepression category
0-9Normal
10-19Mild depressive
20-30Severe depressive

Data requirements

Column naming

The easiest is to have data coded as in the NOAS, as this will let you use default values for the arguments. The column names in the NOAS all start with gds_ and then are followed by a two-digit numbering of the question:

gds_01, gds_02, gds_03, ... gds_28, gds_29, gds_30

If your data is coded differently, a consistent naming scheme should help you use the functions anyway.

Data values

Each row of data should belong to a single answer to the entire questionnaire. Meaning if you have multiple answers to the questionnaire over time, these should be placed in another row, duplicating the participant ID, together with a column indicating the timepoint the data was collected in. Data values are binary yes and no answers to the GDS. While the functions are made in such a way that any type of binary coding works well, the default is set to be yes = 1, no = 0. These can be altered by applying the gds_values functions to the other functions asking for the coding schema.

References

Depression Screening Scale: A Preliminary Report, J Psychiatr Res, 17 (1), 37-49, doi: 10.1016/0022-3956(82)90033-4

E L Lesher 1, J S Berryhill (1994), Validation of the Geriatric Depression Scale -- Short Form Among Inpatients, J Clin Psychol, 50 (2), 256-60, doi: 10.1002/1097-4679(199403)50:2<256::aid-jclp2270500218>3.0.co;2-e

gds_compute_sum(
  data,
  cols = dplyr::matches("[0-3][0-9]$"),
  cols_rev = dplyr::matches("01$|05$|07$|09$|15$|19$|21$|27$|29$|30$"),
  values = gds_values()
)

gds_factorise(gds_sum)

gds_compute(
  data,
  cols = dplyr::matches("[0-9][0-9]$"),
  cols_rev = dplyr::matches("01$|05$|07$|09$|15$|19$|21$|27$|29$|30$"),
  values = gds_values(),
  prefix = "gds_",
  keep_all = TRUE
)

Arguments

data

data.frame with GDS data in it

cols

GDS data columns

cols_rev

Columns for reversal of binary code

values

named vector of 2 providing the coding for Yes and No answers c(Yes = 1, No = 2)

gds_sum

numeric vector of GDS sums

prefix

string to prefix column names of computed values

keep_all

logical, append to data.frame

Value

numeric

factor

data frame

Functions

  • gds_compute_sum(): Calculate the total GDS score

  • gds_factorise(): Create a factor from the sum of the GDS scores

See also

Other gds_functions: gds_alter_values(), gds_binary(), gds_values()

Other gds_functions: gds_alter_values(), gds_binary(), gds_values()

Other gds_functions: gds_alter_values(), gds_binary(), gds_values()