质控数据训练实体类设计与实现
概述
在实验室质量控制(QC)系统中,训练数据是评估分析性能和建立统计控制限的基础。本文介绍了TrainData实体类的设计与实现,该类用于存储和管理质控数据的统计参数和控制限。
实体类设计
TrainData实体类继承自EntityCreated基类,包含了质控数据分析所需的各种统计参数。以下是该实体类的完整实现:
namespace ABCLab.Entities.QC;
using FreeSql.DataAnnotations;
public class TrainData : EntityCreated
{
/// <summary>
/// 数据个数
/// </summary>
public int DataCount { get; set; }
/// <summary>
/// 均值
/// </summary>
public double Mean { get; set; }
/// <summary>
/// 标准差
/// </summary>
public double StandardDeviation { get; set; }
/// <summary>
/// α值(2.5%)
/// </summary>
public double AlphaValue { get; set; }
/// <summary>
/// β值(7.5%)
/// </summary>
public double BetaValue { get; set; }
/// <summary>
/// 下限
/// </summary>
public double LowerLimit { get; set; }
/// <summary>
/// 上限
/// </summary>
public double UpperLimit { get; set; }
/// <summary>
/// 是否截断
/// </summary>
public bool IsTruncated { get; set; }
/// <summary>
/// 统计方法
/// </summary>
[Column(StringLength = 100)]
public string StatisticalMethod { get; set; }
/// <summary>
/// 权重
/// </summary>
public double Weight { get; set; }
/// <summary>
/// Mean(均值)
/// </summary>
public double MeanValue { get; set; }
/// <summary>
/// SD(标准差)
/// </summary>
public double SD { get; set; }
/// <summary>
/// MAX(最大值)
/// </summary>
public double MAX { get; set; }
/// <summary>
/// MIN(最小值)
/// </summary>
public double MIN { get; set; }
/// <summary>
/// 报警线2SD
/// </summary>
public double AlarmLine2SD { get; set; }
/// <summary>
/// 报警线3SD
/// </summary>
public double AlarmLine3SD { get; set; }
/// <summary>
/// TEA(总允许误差)
/// </summary>
public double TEA { get; set; }
/// <summary>
/// 第N个数报警
/// </summary>
public int AlarmAtNthNumber { get; set; }
}属性说明
基本统计参数
- DataCount: 数据集中的样本数量
- Mean 和 MeanValue: 数据的平均值
- StandardDeviation 和 SD: 数据的标准差,衡量数据分散程度
- MAX 和 MIN: 数据集中的最大值和最小值
控制限相关参数
- AlphaValue: 2.5%处的α值,用于计算控制限
- BetaValue: 7.5%处的β值,用于计算控制限
- LowerLimit 和 UpperLimit: 控制图的下限和上限
- AlarmLine2SD: 2个标准差的报警线
- AlarmLine3SD: 3个标准差的报警线
- TEA: 总允许误差,通常基于临床或分析性能要求
其他控制参数
- IsTruncated: 指示数据是否被截断处理
- StatisticalMethod: 使用的统计方法,如"Westgard规则"
- Weight: 用于加权计算的权重值
- AlarmAtNthNumber: 指定第N个数据点出现时触发报警
应用场景
TrainData实体类主要应用于以下场景:
- 质控数据训练: 使用历史数据计算统计参数,建立控制限
- Westgard规则应用: 实现Westgard多规则质控策略
- 质控图生成: 为控制图提供所需的统计参数
- 报警规则配置: 设置和存储各种报警阈值和规则
FreeSql特性应用
实体类中使用了FreeSql的[Column]特性来指定数据库列的属性:
[Column(StringLength = 100)]
public string StatisticalMethod { get; set; }这样可以确保在数据库中该字段的长度限制为100个字符。
总结
TrainData实体类的设计充分考虑了实验室质控数据的特点和需求,提供了完整的统计参数和控制限存储能力。通过这个实体类,系统可以有效地管理质控数据的训练结果,为质量控制提供可靠的基础数据。
作者:Claude
日期:2024-05-14
标签:C#, 实体类设计, FreeSql, 数据分析
