# | {{ resultText.questionCol }} | {{ resultText.answerCol }} |
---|---|---|
{{ a.id }} | {{ a.text }} | {{ a.answer }} |
The Kessler K10 screens psychological distress over the past four weeks. It captures fatigue, anxiety-like symptoms, low mood, and effort so you can monitor mental health and decide when to seek support.
Rate how often each experience occurred from none of the time to all of the time. Higher numbers indicate greater distress, letting the scale map total severity and subcluster patterns.
Results provide the 10-50 total, severity band, cluster subscores (anxiety-like, low mood, fatigue/effort), dominant patterns, driver items, strengths, and tailored coping suggestions. Alerts highlight when distress or safety prompts clinical follow-up.
Use the scale for self check-ins, primary care visits, and digital therapy programs. High totals, rising trajectories, or safety concerns should prompt a conversation with a qualified clinician.
Responses xi
range from one to five. The total T sums all ten items (10-50). bandName()
labels totals as Low (≤19), Mild (20-24), Moderate (25-29), or Severe (≥30).
deriveInsights()
subtracts one from each item to standardise them at zero-based severity, then aggregates into clusters: anxiety-like (items 2, 3, 5, 6), low mood (items 4, 7, 9, 10), fatigue/effort (items 1, 8). It calculates percentages, grade labels via gradeCluster()
, identifies the top cluster, and determines profile balance.
Driver lists contain items scored four or five; strengths list those scored one or two. buildNextSteps()
blends severity bands with cluster dominance to suggest coping skills and when to seek professional care.
The tool also flags risk when items 4, 8, or 9 reach five, adding urgent support reminders to the highlight list.
Symbol | Meaning | Unit / datatype | Source |
---|---|---|---|
Total distress score | points | totalScore |
|
Anxiety-like cluster total | points | deriveInsights |
|
Low mood cluster total | points | deriveInsights |
|
Fatigue / effort cluster total | points | deriveInsights |
|
Cluster grade (low, mild, moderate, high) | string | gradeCluster |
|
Dominant cluster label | string | deriveInsights |
If responses are [3, 4, 4, 3, 4, 3, 3, 4, 3, 2], T = 33, anxiety-like = 15, low mood = 11, fatigue = 7.
A total of 33 lands in the Severe band, driven by anxiety-like items. The tool highlights panic risk, suggests urgent professional review, adds relaxation and worry scheduling tips, and notes fatigue pacing.
Band | Total range | Implication |
---|---|---|
Low | 10 to 19 | Maintain routines; check in periodically. |
Mild | 20 to 24 | Add self-care adjustments and monitor change. |
Moderate | 25 to 29 | Consider guided self-help or clinical consultation. |
Severe | 30 to 50 | Seek professional evaluation promptly; engage support networks. |
Cluster percentages drive the coloured bars in the subscore panel, making it clear where distress concentrates.
Risk flags note when high severity items require urgent outreach, echoing deriveInsights()
logic.
Parameter | Meaning | Unit | Typical range | Sensitivity |
---|---|---|---|---|
Total distress | points | 14-40 | Sets severity band | |
Anxiety-like subscore | points | 8-20 | Signals worry and agitation load | |
Low mood subscore | points | 8-20 | Captures hopelessness and sadness | |
Fatigue / effort subscore | points | 4-10 | Highlights exhaustion patterns | |
Risk flag | Indicates high severity item triggers | boolean | true/false | Prompts safety messaging |
Each one point change in an item shifts the relevant cluster and total by one, making the scale responsive to subtle shifts.
Totals and subscores remain integers. Percentage displays round to whole percentages, while totals display exactly.
Field | Accepted values | Notes | Placeholder |
---|---|---|---|
Item selectors | 1-5 | All ten must be answered to compute results. | None |
Query string r |
[1-5-]{10} | Hyphen stores blanks; invalid strings reset decoding. | N/A |
Responses sync into the query parameter after each change, enabling consistent share links.
Channel | Content | Encoding | Precision |
---|---|---|---|
User interface | Ten Likert radios | Integer | Exact |
URL parameter r |
10 character response string | ASCII | Exact |
Computed outputs | Total, clusters, highlights, next steps | Number / string | Exact |
Export buttons provide CSV, JSON, PDF, and DOCX outputs for clinical notes or self tracking.
All computation is local; no external requests are made.
Only the query parameter holds data. Clear it to reset.
Processing is O(10). Chart elements reuse a single ECharts instance, keeping performance light.
Given a fixed encoded string, decode()
reconstructs responses exactly, ensuring identical scores, clusters, and guidance.
Inputs accept only digits 1-5 or hyphen. No cookies, localStorage, or analytics run; mental health data stays on the device.
Severity thresholds mirror bandName()
. Cluster definitions and risk checks reuse logic from deriveInsights()
.
Next steps derive from buildNextSteps()
, keeping coping suggestions aligned with the coded heuristics.
All processing stays client side. When used clinically, obtain consent, document storage plans, and follow mental health privacy regulations.
ExampleRun K10 before therapy, notice anxiety-like scores stay high, and discuss exposure practice plus worry scheduling with your clinician.
Outcome: you track distress trends, target coping skills, and seek support at the right time.
It falls in the Moderate band, suggesting clinically meaningful distress. The tool recommends professional consultation and enhanced coping plans.
Responses stay in memory and the optional r
parameter. Clearing the URL or closing the tab removes them.
Clusters follow the heuristic grouping in deriveInsights()
. They show relative emphasis but should be discussed with a clinician for nuance.
Yes. Use the export controls to capture CSV, JSON, PDF, or DOCX files for records or therapy journals.
Once loaded, the tool runs offline; charts and exports remain available.
No. The K10 calculator runs free in your browser.
If any item hits five or the total is Severe, deriveInsights()
sets a risk flag so highlights remind you to reach out for immediate help.