质量控制
分析目的
质量控制(quality
control,QC)通过定期测定质控品并监控结果是否偏离靶值,判断测量系统是否处于
受控状态。ivdtools提供 Levey–Jennings 图与 Westgard
多规则评价(qc_chart())、换批/换组情境 下的分组监控,以及双水平质控的
Youden 图(youden_plot())。
本文演示:获取与理解 Westgard
规则、日常质控结果是否超限、试剂换批时如何正确分组评价,以及双
水平质控的 Youden 图。示例数据为确定性的教学数据;Westgard
规则组合与允许限应根据实验室的风险 管理策略和方案预先确定。
::: cell
library(ivdtools) library(readr):::
函数概述
函数 主要用途 关键输入或输出
list_westgard()查看 Westgardbrief=TRUE仅返回规则向量
规则名称与含义
qc_chart()Levey–Jennings 图 +rules、mean/sd、group、run
规则判定
youden_plot()双水平质控 Youden 图 两个样本列、靶值均值/SD
示例一:获取规则与日常质控
查看 Westgard 规则
::: cell
list_westgard():::
读取日常质控数据
::: cell
qc_daily <- read_csv("./data/qc-daily.csv", show_col_types = FALSE) qc_daily <- as.data.frame(qc_daily) head(qc_daily):::
数据为目标值 mean = 100、SD = 3 的日常质控结果,共 30 个运行点。
运行质量判定
::: cell
qc <- qc_chart( qc_daily, value = "value", rules = "1-2s,1-3s,2-2s,R-4s,4-1s,10x", mean = 100, sd = 3, run = "run" ) print(qc):::
::: cell
plot(qc):::
qc_chart()把每条规则的违例点记录在$violations中:
::: cell
qc$violations:::
本例第 15 点超出 +3s(触发1-3s与1-2s,判为失控),第 23 点超出
−2s(触发1-2s,判为 警告)。n_warn与n_oc
分别给出警告与失控点计数。
参数说明:
qc_chart()的rules
为逗号分隔的规则字符串;mean/sd为目标值(不给出时用
数据估计,但监控质控应使用来自说明书的靶值)。run
指定运行顺序列,group指定分组列(见示例二)。
示例二:试剂换批时的分组评价
读取数据
数据中前 10 个点为 L1 批、中间 10 个为 L2 批(存在整体偏移)、后 10 个为
L3 批:
::: cell
qc_lot <- read_csv("./data/qc-lot-change.csv", show_col_types = FALSE) qc_lot <- as.data.frame(qc_lot) table(qc_lot$lot):::
对整条序列分组
用group = "lot"画图,Westgard 规则仍在整条序列上判定:
::: cell
qc_lot_all <- qc_chart( qc_lot, value = "value", mean = 100, sd = 3, run = "run", group = "lot" ) qc_lot_all$n_oc:::
::: cell
plot(qc_lot_all):::
图中虽按批分面,但规则在整条序列上计算,观察换批造成的系统性偏移。
示例三:双水平质控的 Youden 图
读取数据
Youden
图使用两个不同浓度(水平)的质控品在同一次运行中的结果(宽表格式,一列一个水平):
::: cell
youden_dat <- read_csv("./data/qc-youden.csv", show_col_types = FALSE) youden_dat <- as.data.frame(youden_dat) head(youden_dat):::
绘制 Youden 图
::: cell
yd <- youden_plot( youden_dat, sample1 = "low", sample2 = "high", mean1 = 80, mean2 = 200, sd1 = 2, sd2 = 5 ) print(yd):::
::: cell
plot(yd):::
::: cell
yd$outside_rows:::
youden_plot()用 ±2s 矩形框标注超出范围的点。本示例有 3
个运行点落在矩形外(含人为设置的
失控点),提示这些运行可能同时受到系统误差影响。两水平的共享偏移(点沿对角线方向外移)提示
系统误差,单一方向的大幅度偏移则更可能来自随机误差或单水平问题。
参数说明:
youden_plot()的sample1/sample2
为两个水平的数值列;mean1/mean2/sd1/sd2
为靶值(不给出时用数据估计)。$n_outside与$outside_rows
给出矩形外的点。
结果判读要点
- 靶值来源:质控图的目标均值与 SD
应来自说明书或验证数据,而不是临时用数据估计。 - 规则组合:Westgard
规则组合与判为失控的处置流程应在方案中预先规定,并随风险重新评估。 - 双水平互补:Youden
图同时看两个水平的联合表现,识别系统误差与随机误差的迹象。 - 失控处置:检测到失控点后应停止报告、排查原因、必要时重新验证与召回,记录完整处置链。
- 统计≠放行:质控判定是放行决策的依据之一,最终决定应符合实验室质量体系要求。