You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django实验室信息系统:模型前端可自定义分析组设计咨询

实验室分析管理应用(LIS)模型设计方案

核心关联关系选择

  • 排除多对一:多对一要求一个探针只能归属一个分析,不符合你提到的「PROBE1被多个分析复用」的场景,直接排除。
  • Meta类不涉及关联逻辑:Meta类是ORM中用于配置模型元数据(如表名、排序规则)的工具,和关联关系的选择无关,无需考虑。
  • 推荐多对多关联:你的场景中,一个分析包含多个探针、一个探针可被多个分析复用,完全匹配多对多的关联场景。

完整模型设计方案

模型分层说明

分为模板层(存储分析/探针的基础配置)和业务实例层(存储具体服务案例的检测数据),避免模板数据和业务数据混存。

具体模型定义(以ORM示例)

# 模板层:分析模板
class Analysis(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255, unique=True)  # 如"血常规分析"

# 模板层:探针模板
class Probe(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255, unique=True)  # 如"白细胞计数"
    reference_range = models.CharField(max_length=255)    # 参考范围,如"4-10×10^9/L"
    measurement_unit = models.CharField(max_length=50)    # 测量单位,如"×10^9/L"
    # 多对多关联分析模板,实现探针复用
    analyses = models.ManyToManyField(Analysis, related_name="probes")

# 业务实例层:服务案例
class Visit(models.Model):
    id = models.AutoField(primary_key=True)
    client_info = models.CharField(max_length=255)  # 客户信息
    visit_date = models.DateTimeField(auto_now_add=True)
    operator = models.CharField(max_length=255)     # 操作员工号/姓名

# 业务实例层:服务案例下的分析执行记录
class AnalysisInstance(models.Model):
    id = models.AutoField(primary_key=True)
    visit = models.ForeignKey(Visit, on_delete=models.CASCADE, related_name="analysis_instances")
    analysis = models.ForeignKey(Analysis, on_delete=models.CASCADE)
    performed_at = models.DateTimeField(auto_now_add=True)  # 分析执行时间

# 业务实例层:探针的具体检测结果
class ProbeResult(models.Model):
    id = models.AutoField(primary_key=True)
    analysis_instance = models.ForeignKey(AnalysisInstance, on_delete=models.CASCADE, related_name="probe_results")
    probe = models.ForeignKey(Probe, on_delete=models.CASCADE)
    value = models.CharField(max_length=255)  # 检测数值/结果,支持数字或字符串(如"阳性")
    is_abnormal = models.BooleanField(default=False)  # 是否超出参考范围

前端视图适配流程

「LAB settings」视图操作

  1. 添加新分析:直接创建Analysis实例。
  2. 关联探针:通过多对多关联,选择已有探针或新建探针后绑定到目标分析。

检测数据录入视图操作

  1. 选择目标Visit(服务案例),再选择要执行的Analysis模板,生成AnalysisInstance(分析执行记录)。
  2. 系统自动加载该Analysis关联的所有Probe,生成录入表单。
  3. 操作员录入每个探针的value,保存为ProbeResult实例。

设计优势

  • 探针复用:多对多关联避免重复创建相同探针,降低维护成本。
  • 数据分离:模板层和业务实例层分离,不会因业务数据变化污染基础配置。
  • 扩展性强:后续可轻松添加结果审核、异常标记等功能,无需修改核心关联逻辑。

内容的提问来源于stack exchange,提问作者rzrwolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:15:33