农业农村部第174号公告明确要求:兽药产品追溯信息上传为兽药GMP工作内容之一,进口兽药产品赋码时应对两级以上(包含两级)包装建立关联关系。对于国内兽药生产企业,批包装记录中同样需要记录追溯码信息以及对两级以上包装进行赋码关联关系信息。
这意味着,"多级包装关联"不是企业可选项,而是合规刚需。但在实际产线中,瓶码→中盒码→箱码的三级关联远比看上去复杂——涉及数据模型设计、产线时序控制、异常处理机制等多个技术层面。任何一个环节的数据断裂,都可能导致追溯链路不完整,影响企业合规。
本文从数据模型设计的技术视角出发,结合硕创科技在多条兽药产线的实际部署经验,系统拆解多级包装关联的核心技术架构。
一、多级包装关联的本质:一张"树形关系表"
兽药多级包装关联的数据本质,是一棵以箱码为根节点、瓶码为叶节点的有向树。每一层级之间存在严格的父子关系:
| 包装层级 | 标识载体 | 编码规则 | 典型包装形式 | 在关联树中的角色 |
|---|---|---|---|---|
| 一级(单品) | 瓶码/袋码 | 24位追溯码(唯一) | 西林瓶/安瓿瓶/铝箔袋 | 叶节点(N个) |
| 二级(中盒) | 盒码/中盘码 | 24位追溯码(唯一) | 纸盒/塑封中盘 | 中间节点(M个) |
| 三级(外箱) | 箱码 | 24位追溯码(唯一) | 瓦楞纸箱 | 根节点(1个) |
这棵树的核心约束是:每个叶节点有且仅有一个父节点,每个父节点包含确定数量的子节点(即包装比例,如10瓶/盒、20盒/箱)。关联数据的核心任务,就是在这棵树上建立完整的"谁属于谁"的映射关系。
二、数据模型设计:三张核心表的关联架构
在硕创追溯平台的技术架构中,多级包装关联的数据模型由三张核心表构成,通过外键关系形成完整的数据链路:
2.1 包装层级定义表(PackageLevel)
定义每个产品SKU的包装规格层级结构。这是一张"模板表",在产线启动前完成配置:
- 产品编码、批准文号
- 包装层级数量(2级/3级/4级)
- 每级包装比例(如一级→二级=10:1,二级→三级=20:1)
- 各级包装编码规则(前缀、流水号位数)
2.2 赋码采集记录表(CodeRecord)
记录产线上每一个被采集到的追溯码信息,是关联关系的"原材料":
- 追溯码值(24位唯一编码)
- 采集时间戳(精确到毫秒级)
- 采集工位编号
- 产品批次号
- 采集状态(正常/重码/异常/剔除)
- 关联的父级码值(待填充)
2.3 包装关联关系表(PackageRelation)
这是关联数据的核心表,记录每一条"子码→父码"的映射关系:
- 子码值(瓶码/盒码)
- 父码值(盒码/箱码)
- 关联层级(1→2 或 2→3)
- 关联时间
- 关联批次号
- 完整性校验标记
硕创的数据模型设计思路
硕创追溯平台将"赋码采集"和"关联建立"拆分为两个独立阶段:产线运行时先高速采集所有码值并缓存,在包装工位完成时由关联引擎按包装比例自动建立层级关系。这种"采集-关联分离"的架构,避免了在高速产线上做实时关联运算的性能瓶颈。
三、产线关联引擎:从"码流"到"树"的实时构建
数据模型定义了"存什么",而关联引擎解决的是"怎么建"的问题。在产线运行时,关联引擎需要处理的核心流程如下:
3.1 采集阶段:按序入栈
在一级包装工位(如西林瓶贴标工位),视觉检测系统逐个采集瓶码。采集到的码值按时间顺序进入"待关联队列"(FIFO结构)。此时只记录码值,不建立关联。
3.2 关联触发:包装比例计数
当待关联队列中的瓶码数量达到预设的包装比例(如10瓶/盒),系统触发一次关联动作:
- 从队列中取出前10个瓶码
- 在二级包装工位打印/采集一个盒码
- 建立10条"瓶码→盒码"的关联记录
- 将盒码加入二级待关联队列
3.3 逐级聚合:盒码到箱码
同样的逻辑在二级→三级的关联中重复执行。当二级待关联队列中的盒码数量达到箱装比例(如20盒/箱),触发箱码关联,建立20条"盒码→箱码"的关联记录。
| 关联环节 | 触发条件 | 关联动作 | 数据写入 | 耗时要求 |
|---|---|---|---|---|
| 瓶→盒 | 累计采集N个瓶码(N=盒装量) | 生成/采集盒码,建立N条关联 | PackageRelation表 | ≤500ms |
| 盒→箱 | 累计采集M个盒码(M=箱装量) | 生成/采集箱码,建立M条关联 | PackageRelation表 | ≤1000ms |
| 箱→托 | 累计采集P个箱码(P=托盘量) | 生成/采集托盘码,建立P条关联 | PackageRelation表 | ≤2000ms |
四、拆合箱场景:关联数据的"逆向操作"
生产现场并非所有场景都是"标准满箱"。拆箱(部分取出)和合箱(多箱合并)是实际产线中最容易出问题的场景,也是关联数据模型必须覆盖的核心能力。
4.1 拆箱场景
当某箱已关联20个盒码,但因质检或客户要求需拆出5个盒时:
- 原箱码与拆出的5个盒码之间的关联关系需要"解除"
- 拆出的盒码进入"游离状态",等待重新关联
- 原箱码下保留15条关联记录,同时更新箱码的"当前子码数量"
- 所有操作需要记录"拆箱日志",包含操作时间、操作人、拆出码值清单
4.2 合箱场景
当两个不满箱需要合并为一个满箱时:
- 原两个箱码的所有子码关联关系需要"解除"
- 所有子码归入新的箱码下,重新建立关联
- 旧箱码标记为"已作废",新箱码标记为"已激活"
- 合并操作同样需要完整日志记录
五、异常处理机制:关联链路中的"容错设计"
产线运行中,关联过程可能遇到多种异常。数据模型的健壮性,取决于对这些异常场景的覆盖程度:
| 异常类型 | 产生原因 | 系统处理策略 | 数据影响 |
|---|---|---|---|
| 重码 | 同一码值被采集两次 | 立即报警,锁定关联流程,人工确认 | 拒绝重复关联 |
| 漏扫 | 某瓶码未被视觉系统识别 | 累计计数不满,暂停关联触发 | 关联队列阻塞,等待补扫 |
| 剔除 | 视觉检测判定不合格 | 将该码从待关联队列移除 | 队列数量减少,需补齐或调整包装比例 |
| 跨批混入 | 不同批次产品混入同一包装 | 批次号校验不匹配,拒绝关联 | 触发批次隔离,人工处理 |
| 尾数箱 | 最后不足一个满箱的量 | 支持"非标准包装比例"关联 | 标记为"尾数箱",记录实际子码数 |
六、数据完整性验证:关联完成后的一致性校验
关联建立后,需要通过校验机制确认数据链路的完整性。硕创追溯平台在每箱关联完成后自动执行以下校验:
- 数量一致性校验:箱码下的子码数量是否与包装比例匹配(尾数箱除外)
- 层级完整性校验:从叶节点(瓶码)到根节点(箱码)的路径是否完整,不存在"断链"
- 批次一致性校验:同一箱码下所有子码的批次号是否一致
- 唯一性校验:每个子码是否只关联了一个父码,不存在"一对多"异常
- 时间逻辑校验:关联时间是否在合理范围内(子码采集时间 < 关联时间 < 出库时间)
校验通过后,系统自动生成"关联完整性报告",作为批包装记录的电子附件存档,满足兽药GMP对批包装记录的归档要求。
硕创的技术优势
硕创追溯平台的多级包装关联引擎支持2-5级灵活配置,可适配从简单的"瓶-箱"二级关联到复杂的"瓶-盒-中箱-箱-托"五级关联。关联引擎处理速度支持最高每分钟300个包装单位的关联运算,满足高速产线的实时关联需求。同时,所有关联数据的变更均留有完整审计轨迹,满足ALCOA+数据完整性原则。
总结
兽药追溯多级包装关联的技术核心,不在于单个码的赋码质量,而在于码与码之间关系数据的完整构建。从数据模型设计到产线关联引擎,从拆合箱处理到异常容错机制,每一个技术环节都需要精密的工程化设计。
硕创科技在兽药追溯领域积累了多条产线的实战经验,从数据模型到产线落地,形成了完整的多级包装关联技术方案。无论是西林瓶注射剂的高速关联,还是粉剂袋装线的多规格适配,硕创都能够提供稳定可靠的追溯关联解决方案。
兽药追溯多级包装关联,需要专业团队支撑
硕创科技深耕兽药追溯领域,具备从数据模型设计到产线集成的全栈技术能力。
📞 17605416989
5×12常规服务 + 紧急24h响应 | 全国服务范围