# | {{ resultText.questionCol }} | {{ resultText.answerCol }} |
---|---|---|
{{ a.id }} | {{ a.text }} | {{ a.answer }} |
Depression, anxiety, and stress describe how often mood changes, worry spikes, and physical tension show up; the 21-item Depression Anxiety Stress Scales checklist translates the past week's experiences into three comparable scores so you can see which cluster is most active.
Each prompt asks how often a statement applied, using anchors from "Did not apply to me at all" through "Applied to me very much, or most of the time." Answering with your first honest impression keeps the scale aligned with the proportion of days those feelings actually appeared.
You provide 21 quick responses, and the tool returns domain totals plus severity language so you can compare how mood loss, fear cues, and physiological tension move relative to one another. Seeing stress stay normal while anxiety jumps, for example, hints that racing thoughts are outrunning your current calming routines.
Treat unusually hectic or restful weeks as context notes when you interpret scores, and consider switching to the 42-item version in this catalog when you need a fuller item set for clinical documentation. Persistent high bands or escalating scores are cues to reach out to qualified health-care professionals rather than self-managing alone.
The Depression Anxiety Stress Scales (DASS-21) groups seven prompts per domain, covering loss of pleasure, nervous energy, breathlessness, irritability, and other cues surfaced in the questionnaire text. Responses are coded as integers from 0 to 3 so the four frequency anchors remain intact in storage.
The component sums each domain's raw scores and then doubles them so every area sits on a 0-42 range that aligns with the longer DASS-42 form. Let the raw sums across depression, anxiety, and stress items be denoted by ΣDep, ΣAnx, and ΣStr; their doubled values produce the displayed scores.
Severity bands mirror the cut-points encoded in the script: depression is Normal at 0-9, Mild at 10-13, Moderate at 14-20, Severe at 21-27, and Extremely Severe at 28 or above; anxiety uses 0-7, 8-9, 10-14, 15-19, and ≥ 20; stress uses 0-14, 15-18, 19-25, 26-33, and ≥ 34. These labels drive the colored chips, the "worst band" badge, and the next-step guidance.
As you answer, the tool flags any response of 2 or 3 as a driver, highlights values of 0 or 1 as relative strengths, and pairs them with domain-specific action ideas. Keeping the recall window to the past seven days makes repeated administrations comparable while still sensitive to weekly shifts.
Symbol | Meaning | Unit / datatype | Source |
---|---|---|---|
Response to item i on the 0-3 frequency scale | integer | Input | |
Depression score after doubling | 0-42 | Derived | |
Anxiety score after doubling | 0-42 | Derived | |
Stress score after doubling | 0-42 | Derived |
Suppose the seven depression items sum to 11, the anxiety items sum to 6, and the stress items sum to 8 once you convert the 0-3 responses. The doubled scores are:
A depression score of 22 lands in the Severe band, anxiety at 12 is Moderate, and stress at 16 is Mild. The guidance would therefore emphasise depression-focused actions, call out the anxiety drivers scored 2 or 3, and highlight stress items that stayed low.
Domain | Normal | Mild | Moderate | Severe | Extremely Severe |
---|---|---|---|---|---|
Depression | 0 to 9 | 10 to 13 | 14 to 20 | 21 to 27 | ≥ 28 |
Anxiety | 0 to 7 | 8 to 9 | 10 to 14 | 15 to 19 | ≥ 20 |
Stress | 0 to 14 | 15 to 18 | 19 to 25 | 26 to 33 | ≥ 34 |
Doubling the raw sums keeps interpretation aligned with the DASS-42 conventions; it also means each one-point change in the raw average shifts the doubled score by two points. Driver and strength lists stem directly from the thresholds in driverItems
and strengthItems
, helping you focus coaching conversations on the statements that mattered most.
This tool provides informational estimates and does not substitute professional advice. Treat Severe and Extremely Severe bands, or sudden spikes compared with last week, as signals to seek qualified support promptly.
Parameter | Meaning | Unit | Typical range | Sensitivity |
---|---|---|---|---|
ΣDep | Raw sum of depression items before doubling | points | 0-21 | Drives D |
ΣAnx | Raw sum of anxiety items before doubling | points | 0-21 | Drives A |
ΣStr | Raw sum of stress items before doubling | points | 0-21 | Drives S |
Driver flag | Responses scored ≥ 2 (considerable or most of the time) | level | 2-3 | Populates driver list |
Strength flag | Responses scored ≤ 1 (none or some of the time) | level | 0-1 | Feeds strengths list |
Domain scores respond most sharply when several driver items shift together; single-item changes move the doubled total by two points.
All raw sums and doubled scores remain as integers. Progress and percentage displays use Math.round
to nearest whole numbers, and the ECharts bar labels mirror the exact integer totals.
Field | Accepted values | Notes | Placeholder |
---|---|---|---|
Items 1-21 | 0, 1, 2, 3 | Rendered as radio groups; results unlock only after every item is answered. | None |
Query parameter r |
[0-3-]{21} | Hyphen stores blanks; invalid strings are ignored and reset. | N/A |
The shareable code updates after each valid change, and partial entries retain hyphens until you finish.
Channel | Content | Encoding | Precision |
---|---|---|---|
User interface | Ordinal frequency choices (0-3) | Integer | Exact |
URL parameter r |
21-character response string | String | Exact |
Computed outputs | Domain scores, severities, driver/strength lists | Number / string | Exact |
Query parameters remain untouched until you interact, preventing unsolicited URL changes on initial load.
All calculations and visualisations run locally; the component does not call remote APIs, analytics, or trackers.
Responses persist only in memory and in the optional encoded query string. Reloading without the code clears the data immediately.
Processing cost grows linearly with the 21 items (O(21)); once complete, rendering the bar chart is the only additional work. Memory usage stays minimal because results are stored as small arrays.
Identical answer patterns always yield the same domain rankings, badges, and next-step suggestions. Tie-breaking follows severity rank first and raw score second, ensuring consistent summaries.
Inputs are constrained to known enumerations, encoded URLs accept only digits 0-3 or hyphens, and no user-supplied HTML is injected. The tool avoids cookies and leaves no server-side logs.
r
parameter with characters outside 0-3 or '-' resets the entire response string.Severity ranges and terminology follow the cut-point arrays [9, 13, 20, 27], [7, 9, 14, 19], and [14, 18, 25, 33] embedded in script.js
, matching the conventional DASS-21 conversion table.
Domain-specific next steps reuse the guidance defined in nextSteps()
so the narrative feedback stays aligned with the encoded care playbooks.
No responses leave the browser unless you share the encoded query string. Organisations embedding this assessment should add their own consent language and retention policies to meet jurisdictional requirements.