Levey-Jennings Chart Maker with Westgard Rules
Paste a control's results, give its target mean and SD (or let the tool work them out), and get a Levey-Jennings chart with the mean and ±1, 2 and 3 SD lines. Every run is checked against the Westgard rules 1-2s, 1-3s, 2-2s, R-4s, 4-1s and 10x, with the rule and the reason shown on the chart and in the table. It prints on one sheet for the QC binder; to have software plot the charts instead, compare lab QC software.
Levey-Jennings chart — assaydeck.com
Glucose Levey-Jennings chart
Pre-filled with made-up glucose controls. Change any value or paste your own results.
Paste a column (or two) from a spreadsheet or type them in. Oldest run first; up to 120 runs.
(each rejection rule fires once)
Runs rejected
1 of 20
- Accept
- Warning (1-2s)
- Reject
- Mean
- ±1s
- ±2s
- ±3s
| Run | Level 1 (mg/dL) | Level 2 (mg/dL) | SDI 1 | SDI 2 | Rules | Decision |
|---|---|---|---|---|---|---|
| 1 | 95 | 291 | 0.00 | +0.17 | None | Accept |
| 2 | 97 | 286 | +0.80 | −0.67 | None | Accept |
| 3 | 94 | 293 | −0.40 | +0.50 | None | Accept |
| 4 | 93 | 289 | −0.80 | −0.17 | None | Accept |
| 5 | 96 | 295 | +0.40 | +0.83 | None | Accept |
| 6 | 94 | 303 | −0.40 | +2.17 |
| Warning |
| 7 | 92 | 288 | −1.20 | −0.33 | None | Accept |
| 8 | 96 | 292 | +0.40 | +0.33 | None | Accept |
| 9 | 95 | 285 | 0.00 | −0.83 | None | Accept |
| 10 | 98 | 290 | +1.20 | 0.00 | None | Accept |
| 11 | 94 | 294 | −0.40 | +0.67 | None | Accept |
| 12 | 96 | 287 | +0.40 | −0.50 | None | Accept |
| 13 | 93 | 291 | −0.80 | +0.17 | None | Accept |
| 14 | 95 | 297 | 0.00 | +1.17 | None | Accept |
| 15 | 97 | 289 | +0.80 | −0.17 | None | Accept |
| 16 | 94 | 283 | −0.40 | −1.17 | None | Accept |
| 17 | 96 | 293 | +0.40 | +0.50 | None | Accept |
| 18 | 95 | 291 | 0.00 | +0.17 | None | Accept |
| 19 | 98 | 297 | +1.20 | +1.17 | None | Accept |
| 20 | 99 | 298 | +1.60 | +1.33 |
| Reject |

Bench sheet
- Level 1 mean95.0 mg/dL
- Level 1 SD2.50 (CV 2.6 %)
- Level 1 2s limits90.0 to 100.0
- Level 2 mean290.0 mg/dL
- Level 2 SD6.00 (CV 2.1 %)
- Level 2 2s limits278.0 to 302.0
- Runs20
- Warning only1
- Rejected1
- 1-2s used aswarning
How to use it
- Pick one or two control levels. A quantitative test needs two control materials of different concentrations each day patients are tested (§ 493.1256(d)(3)), so most benches keep two charts per analyte. A lab on an individualized quality control plan follows its plan's frequency instead.
- Enter each level's target mean and SD: the values your lab established or verified for this lot. If you only have results, choose “Compute from results”. Westgard's chart lesson starts from a minimum of 20 measurements over at least 10 days.
- Paste the results oldest first, one run per line. A two-column copy from a spreadsheet works as it is.
- Choose when the rejection rules apply: on every run, or only after a 1-2s warning (the classic manual protocol). The table shows which runs the choice changes. The sigma metric calculator turns your method's bias and CV into a rule choice.
- Print the chart and table for the QC binder, or copy the run table as CSV for a spreadsheet.
Everything runs in this browser tab. Nothing you paste is sent to AssayDeck or stored.
What it calculates
Each result becomes an SD index: (result − mean) ÷ SD (the CV calculator sets a new lot's mean and SD). A glucose control with a mean of 95 mg/dL and an SD of 2.5 that reads 100 has an SD index of +2.00. It sits on the +2s line but does not exceed it, so no rule fires: every rule here counts results strictly beyond a limit. The chart draws the mean and the ±1s, ±2s and ±3s lines, and the rules read the SD indexes. These are the six rules as Westgard QC defines them:
| Rule | Fires when | How this tool applies it | Points to |
|---|---|---|---|
| 1-2s | One result beyond the mean ± 2 SD | Each result, within its run. A warning, never a rejection on its own | Either; a prompt to look |
| 1-3s | One result beyond the mean ± 3 SD | Each result, within its run | Random |
| 2-2s | Two consecutive results beyond the same 2 SD limit | Both levels in one run; and each level across its last 2 runs | Systematic |
| R-4s | One result above +2 SD and another below −2 SD | Within a run only, across the two levels. Never across runs | Random |
| 4-1s | Four consecutive results beyond the same 1 SD limit | Each level across its last 4 runs; and both levels across the last 2 runs | Systematic |
| 10x | Ten consecutive results on one side of the mean | Each level across its last 10 runs; and both levels across the last 5 runs | Systematic |
Westgard asks every QC program to state how it applies the rules within and across runs and control materials, because most software never says. This tool follows the protocol in Westgard's multirule interpretation lesson, with two more choices made explicit:
- After a rejected run, the look-back starts again. Results from before the fix no longer describe the process, so the next run is judged on its own.
- R-4s is a counting rule: one result above +2s and another below −2s. A pair at +2.6 and −1.8 SD is not an R-4s violation even though it spans 4.4 SD.
With one level, R-4s cannot fire (it needs two results in one run), and the other rules read that level across runs.
Worked example: every rule fires once
Westgard's lesson 18 walks two cholesterol controls (200 ± 4 and 250 ± 5 mg/dL) through a month and names the rule each bad run breaks. The results below are made up to reproduce that sequence, so each rejection rule fires exactly once, on the run the lesson names. The last column is this tool's own output on the same numbers. Press “Load the worked example” in the tool to plot it.
| Run | Level 1 | Level 2 | Lesson 18 reports | This tool |
|---|---|---|---|---|
| 1 | 201 | 248 | In control | None Accept |
| 2 | 198 | 253 | In control | None Accept |
| 3 | 209 | 261 | 2-2s Both levels above +2s in the same run | 2-2s Reject |
| 4 | 201 | 239 | 1-2s Warning only; the run before was rejected, so no look-back | 1-2s Warning |
| 5 | 203 | 251 | In control | None Accept |
| 6 | 197 | 247 | In control | None Accept |
| 7 | 199 | 266 | 1-3s Level 2 above +3s | 1-3s Reject |
| 8 | 200 | 252 | In control | None Accept |
| 9 | 202 | 238 | 1-2s Warning only | 1-2s Warning |
| 10 | 198 | 239 | 2-2s Level 2 below −2s in runs 9 and 10 | 2-2s Reject |
| 11 | 205 | 261 | 1-2s Warning only | 1-2s Warning |
| 12 | 206 | 257 | 4-1s Four results above +1s across runs 11–12; no 1-2s in run 12 | 4-1s Reject (classic: accept) |
| 13 | 201 | 249 | In control | None Accept |
| 14 | 191 | 262 | R-4s Level 2 above +2s, level 1 below −2s | R-4s Reject |
| 15 | 199 | 252 | In control | None Accept |
| 16 | 198 | 247 | In control | None Accept |
| 17 | 197 | 244 | In control | None Accept |
| 18 | 199 | 246 | In control | None Accept |
| 19 | 195 | 248 | In control | None Accept |
| 20 | 191 | 243 | 10x Ten results below the mean across runs 16–20 | 10x Reject |
Run 12 is the one to study. Four results in a row sit above +1s, but no result passes 2s. Under the classic protocol nothing triggers a look, so the run is accepted; with every rule applied to every run, 4-1s rejects it. Lesson 18 notes the same split: a computer checking every run would flag it.
A second check uses Westgard's own numbers. The 28 days of Control 1 in the Levey-Jennings chart lesson (mean 200, SD 4) give 3s limits of 188 and 212 and 2s limits of 192 and 208, as the lesson states. Day 5 (186) breaks 1-3s; days 8, 11, 17, 25 and 27 exceed 2s. Run with every rule, the same data also break 10x on day 27: days 18 to 27 all read below 200.
When a run is rejected
The rule that fired points at the kind of error. 1-3s and R-4s usually mean random error: the method's scatter has grown. 2-2s, 4-1s and 10x usually mean systematic error: the whole method has moved, as a calibration problem moves it. Lesson 18's protocol is to find the cause with the instrument's troubleshooting guide, correct it, rerun the controls, then repeat or verify the patient samples once the method is back in control. CLIA already makes you rerun controls after a complete change of reagents, major preventive maintenance or a critical part replaced (§ 493.1256(d)(6)): those are the first places to look. The same events can also call for calibration verification, which the calibration verification calculator checks.
Takeaway
What 42 CFR 493 says
CLIA does not name the Westgard rules or require a Levey-Jennings chart. It requires the parts a chart is built from: a mean and SD “for each batch and lot number” of quantitative control (§ 493.1256(d)(10)(i)); control results that meet the lab's criteria for acceptability “before reporting patient test results” (§ 493.1256(f)); and a record of every control procedure (§ 493.1256(g)). The rules you choose are those criteria, so write them into the procedure. The control records are what a surveyor reads at a CLIA inspection, and a missing one is the kind of gap cited on a Form CMS-2567 statement of deficiencies.
An assayed control's stated value may be used only if it fits your method and instrument “and is verified by the laboratory” (§ 493.1256(d)(10)(ii)). For an unassayed control, the lab establishes the mean and SD over time ((d)(10)(iii)). A QC peer comparison program shows how those figures sit against other labs'.
The rule itself (§ 493.1282(b)(2)): “All patient test results obtained in the unacceptable test run and since the last acceptable test run must be evaluated to determine if patient test results have been adversely affected.”
Takeaway