2. ELN实验模板的数据模型

电子实验记录本(ELN)要支撑“一次设计、多次复用”,关键不在于界面有多漂亮,而在于底层数据模型能否把模板与实验实例清晰分离,同时把步骤、参数、结果、附件这些实体组织成可追溯、可版本化的结构。本节围绕这一数据模型展开,先讲实体与关系,再讲元数据、版本状态,最后落到模板到实例的映射规则。

一、核心实体与关系骨架

一个可复用的ELN模板,通常由六类核心实体构成:模板(Template)、实验(Experiment)、步骤(Step)、参数(Parameter)、结果(Result)、附件(Attachment)。它们的关系可以概括为:模板定义“应该怎么做”,实验实例记录“实际怎么做”;模板包含若干步骤定义,每个步骤定义绑定若干参数定义;实验实例继承模板结构,但参数值、结果值和附件都归属于具体实例。

需要特别区分两类对象:定义型实体(模板、步骤定义、参数定义)和记录型实体(实验、步骤执行记录、参数值、结果、附件)。定义型实体一旦发布,应尽量保持稳定;记录型实体则允许在实验过程中不断追加和修正。这种“定义—记录”分离,是后续版本管理和审计追踪的基础。

定义型实体(模板侧) 模板 Template template_id · name · version · status 步骤定义 StepDef step_id · order · action · expected 参数定义 ParamDef param_id · name · unit · type · default 结果定义 ResultDef result_id · name · unit · precision 记录型实体(实验侧) 实验 Experiment exp_id · template_ref · operator · time 步骤执行 StepRun run_id · step_ref · status · timestamp 参数值 ParamValue value · unit · source · deviation 结果 Result value · unit · pass/fail · reviewer 实例化 引用 赋值 记录 附件 Attachment 可挂载于实验/步骤/结果

二、元数据设计:让模板可检索、可治理

仅有实体字段还不够,模板要能被检索、分类和治理,必须设计元数据。元数据分三层:标识层(template_id、名称、分类、标签)、治理层(负责人、审核人、创建时间、适用范围)、技术层(版本号、状态、依赖模板、适用仪器)。

以“高效液相色谱含量测定”模板为例,其元数据可设计为:

template_id: HPLC-ASSAY-001
name: 高效液相色谱含量测定
category: 分析方法 / 含量测定
tags: [HPLC, 含量, 药典]
owner: 张工
reviewer: 李工
version: 2.1.0
status: released
applicable_instrument: Agilent 1260 / Waters e2695
created_at: 2025-03-12
updated_at: 2025-06-08

其中 category 与 tags 决定检索效率,owner 与 reviewer 决定责任归属,applicable_instrument 决定实例化时是否允许绑定某台仪器。元数据不是装饰,它直接影响模板能否被正确复用。

三、版本与状态管理

模板的版本管理建议采用语义化版本:主版本号变化表示结构不兼容(如步骤增删、参数定义变更),次版本号变化表示兼容性增强(如新增可选参数),修订号变化表示文字修正或默认值调整。状态则建议采用四态:草稿(draft)→ 审核中(review)→ 已发布(released)→ 已废弃(deprecated)。

关键规则是:已发布的模板不可直接修改。任何修改都应生成新版本,旧版本保留,已引用旧版本的实验实例继续指向旧版本,从而保证历史记录可追溯。例如模板 v2.0.0 已发布,若要调整某步骤的默认流速,应创建 v2.1.0,而不是原地覆盖。

注意:若允许直接修改已发布模板,已完成的实验实例会“追溯性改变”,导致审计追踪失效。版本冻结是ELN合规性的底线。

四、模板与实验实例的映射关系

模板到实例的映射,本质是“结构复制 + 值绑定”。实例化时,系统按模板的步骤定义生成对应的步骤执行记录,按参数定义生成参数值占位,按结果定义生成结果占位。映射关系有三种典型模式:

  • 强绑定:实例严格继承模板结构,步骤不可增删,仅允许填写参数值和结果。适用于法规方法。
  • 弱绑定:实例继承模板作为起点,允许增加步骤或调整顺序,但需记录偏离原因。适用于探索性实验。
  • 快照绑定:实例化时复制模板的完整定义快照,之后模板再变化也不影响该实例。适用于长期项目。

以强绑定为例,模板中定义“步骤3:进样,参数:进样体积 10 μL,流速 1.0 mL/min”,实例化后生成步骤执行记录,操作员填写实际值“进样体积 10.2 μL,流速 1.0 mL/min”,系统自动计算偏差并标记是否超出允差。这样,模板提供“标准”,实例记录“实际”,两者通过 template_ref 和 step_ref 关联,形成完整证据链。

五、附件与结果的归属

附件不应只挂在实验顶层,而应支持挂载到具体步骤或结果上。例如色谱图应挂在“步骤5:数据采集”下,原始数据文件应挂在对应结果下。附件元数据至少包含:文件名、类型、大小、哈希值、上传人、上传时间、关联对象ID。哈希值用于完整性校验,防止文件被替换。

结果实体则需区分原始结果与审核结果:原始结果由操作员录入,审核结果由复核人确认,两者都保留,并记录审核意见。这样,模板复用产生的每个实验实例,都能独立完成“录入—复核—归档”的闭环。

设计建议:把“模板定义”和“实验记录”放在不同的数据表中,通过外键关联,而不是把模板字段直接冗余到实验表。这样版本升级时只需新增模板版本,历史实验不受影响。

综上,ELN模板数据模型的核心是“定义与记录分离、版本冻结、映射可追溯”。模板、步骤定义、参数定义、结果定义构成可复用的知识资产;实验、步骤执行、参数值、结果、附件构成可审计的实验证据。两者通过实例化映射连接,配合元数据与状态机,才能让模板真正被安全、高效地复用。