PCL-6
PTSD Checklist 6 (PCL-6)
Measuring: A screening tool for posttraumatic stress disorder (PTSD).
Number of Items: 6
| Item | Question Wording | TILDA Variable |
|---|---|---|
| 1 | Repeated, disturbing memories, thoughts or images of a stressful experience from the past? | SCQPCL1 |
| 2 | Feeling very upset when something reminded you of a stressful experience from the past? | SCQPCL2 |
| 3 | Avoided activities or situations because they reminded you of a stressful experience from the past? | SCQPCL3 |
| 4 | Feeling distant or cut off from other people? | SCQPCL4 |
| 5 | Feeling irritable or having angry outbursts? | SCQPCL5 |
| 6 | Difficulty concentrating? | SCQPCL6 |
Scoring Method:
5-point Likert scale
1 = Not at all
2 = A little bit
3 = Moderately
4 = Quite a bit
5 = Extremely
- Score are cumulated within each subscale, with higher scores indicating a greater use of that particular coping strategy (6-30).
Citation: Lang, A.J., Stein, M.B. (2005) An abbreviated PTSD checklist for use as a screening instrument in primary care. Behaviour Research and Therapy, 43, 585-594.
Code
* PTSD Checklist 6 (PCL-6)
mvdecode SCQPCL1-SCQPCL6, ///
mv(-99=. \ -812=. \ -823=. \ -834=. \ -845=.)
* Total score: 6-30
egen PCL6Score = rowtotal(SCQPCL1-SCQPCL6)
* Require all 6 items to be answered
egen PCL6_missing = rowmiss(SCQPCL1-SCQPCL6)
replace PCL6Score = . if PCL6_missing > 0
label variable PCL6Score "PTSD Checklist 6 (PCL-6) total score"
* Positive PTSD screen using cut-off >=14
gen PCL6_screen = .
replace PCL6_screen = 0 if PCL6Score < 14 & PCL6Score != .
replace PCL6_screen = 1 if PCL6Score >= 14 & PCL6Score != .
label define PCL6_screen ///
0 "Negative screening (<14)" ///
1 "Positive screening (14+)"
label values PCL6_screen PCL6_screen
label variable PCL6_screen "PCL-6 probable PTSD screen"
tab PCL6_screen, missing
summarize PCL6Scorepcl_items <- paste0("SCQPCL", 1:6)
for (var in pcl_items) {
data[[var]][data[[var]] %in% c(-99, -812, -823, -834, -845)] <- NA
}
# Total score: 6-30.
# Stata rowtotal() is used first, then the score is set missing if any item is missing.
data$PCL6Score <- rowSums(data[pcl_items], na.rm = TRUE)
data$PCL6_missing <- rowSums(is.na(data[pcl_items]))
data$PCL6Score[data$PCL6_missing > 0] <- NA_real_
attr(data$PCL6Score, "label") <- "PTSD Checklist 6 (PCL-6) total score"
# Positive PTSD screen using cut-off >=14.
data$PCL6_screen <- NA_real_
data$PCL6_screen[!is.na(data$PCL6Score) & data$PCL6Score < 14] <- 0
data$PCL6_screen[!is.na(data$PCL6Score) & data$PCL6Score >= 14] <- 1
attr(data$PCL6_screen, "label") <- "PCL-6 probable PTSD screen"
attr(data$PCL6_screen, "labels") <- c(
"Negative screening (<14)" = 0,
"Positive screening (14+)" = 1
)
print(table(data$PCL6_screen, useNA = "ifany"))
summary(data$PCL6Score)RECODE SCQPCL1 TO SCQPCL6
(-99 = SYSMIS)
(-812 = SYSMIS)
(-823 = SYSMIS)
(-834 = SYSMIS)
(-845 = SYSMIS).
* Stata rowtotal() followed by complete-case requirement.
COMPUTE PCL6Score = SUM(SCQPCL1, SCQPCL2, SCQPCL3, SCQPCL4, SCQPCL5, SCQPCL6).
COUNT PCL6_missing = SCQPCL1 SCQPCL2 SCQPCL3 SCQPCL4 SCQPCL5 SCQPCL6 (MISSING).
IF (PCL6_missing > 0) PCL6Score = $SYSMIS.
VARIABLE LABELS PCL6Score "PTSD Checklist 6 (PCL-6) total score".
COMPUTE PCL6_screen = $SYSMIS.
IF (NOT MISSING(PCL6Score) AND PCL6Score < 14) PCL6_screen = 0.
IF (NOT MISSING(PCL6Score) AND PCL6Score >= 14) PCL6_screen = 1.
VALUE LABELS PCL6_screen
0 "Negative screening (<14)"
1 "Positive screening (14+)".
VARIABLE LABELS PCL6_screen "PCL-6 probable PTSD screen".
FREQUENCIES VARIABLES=PCL6_screen /MISSING=INCLUDE.
DESCRIPTIVES VARIABLES=PCL6Score.
EXECUTE.