The Patient Health Questionnaire 15 item (PHQ-15) contains the PHQ's somatic symptom scale. It is a well-validated measure, which asks whether symptoms are present and about their severity. (see: Wikipedia)

scoring_phq15(data, items = 1:15, keep = TRUE, nvalid = 12, digits = NULL)



a data.frame containing the PHQ-15 items orderd from 1 to 15. The data.frame may contain further variables.


A character vector with the PHQ-15 item names ordered from 1 to 15, or a numeric vector indicating the column numbers of the PHQ-15 items in data.


Logical, whether to keep the single items and whether to return variables containing the number of non-missing items on each scale for each respondent. The default is TRUE.


A numeric value indicating the number of non-missing items required for score calculations. The default is 12.


Integer of length one: value to round to. No rounding by default.


The function returns 3 variables:

  • nvalid.phq15: Number of valid values (MAX=15)

  • score.phq15: PHQ-15 score

  • cutoff.phq15: PHQ-15 as categorical variable


  • Number of items: 15

  • Item range: 0 to 2

  • Reverse items: none

  • Score range: 0 to 30

  • Cut-off-values: < 5 = "minimal"; 5 to 9 = "mild"; 10 to 14 = "moderate"; \(\ge\) 15 = "severe"

  • Minimal clinically important difference: none

  • Treatment of missing values: Questionnaires with up to three missing values (20%) are scored, replacing any missing values with the average score of the completed items.


Kroenke et al. 2010 (

Kocalevent et al. 2013 (


if (FALSE) { library(dplyr) items.phq15 <- paste0("phq_", seq(1, 15, 1)) scoring_phq15(mydata, items = items.phq15) }