为什么这件事重要
GMP 受监管环境下,“一个数从哪里来” 是检查官最常问的问题。如果一个 LIMS 字段是”从 PDF 抄出来的”,但你拿不出”抄哪一行”的证据,这条数据就不可审计 —— ALCOA+ 的 A(可追溯)与 C(完整)都过不了。
ChromaParse 的设计前提就是:任何数值都必须能机读地回到 PDF 原文位置。
实现机制
每个解析结果(JSON / Excel / LIMS 对接载荷)中,每一行峰数据都带这些字段:
{
"peak_id": 7,
"retention_time": 4.281,
"area": 1283491,
"_source": {
"pdf_sha256": "8f2a...c4",
"page": 3,
"bbox": [120.5, 412.3, 480.0, 425.8],
"row_index_in_table": 6,
"extracted_at": "2026-06-16T03:14:21Z",
"engine_version": "1.4.2",
"template_id": "waters-empower-3-assay",
"template_version": "2.1"
}
}
意思是:这个 area = 1283491,来自哪份 PDF(pdf_sha256)的哪一页(page)的什么位置(bbox),是用哪个版本的解析引擎(engine_version)和哪个版本的模板(template_version)抽出来的。
UI 中点击数值,直接跳到 PDF 原文位置并高亮;在 LIMS 中通过审计追踪面板也能反查。
不可篡改性
- PDF SHA256 在上传时立即计算并固化 —— 后续无论谁修改 PDF,审计链路立即报警
- 解析过程本身只读 —— 永远不会回写或修改原 PDF
- 审计日志独立存储(Local 部署写入审计专用表;SaaS 写入独立写一次的审计存储),不可被普通用户删除
与 ALCOA+ 对齐
| ALCOA+ 原则 | ChromaParse 实现 |
|---|---|
| A Attributable(可归属) | 每个解析任务记录操作员 + 时间 |
| L Legible(可读) | 解析后输出标准 Excel/JSON,机读 + 人读 |
| C Contemporaneous(同期) | 解析时间戳 = 操作时间戳,不可后改 |
| O Original(原始) | 原始 PDF 永远保留,SHA256 固化 |
| A Accurate(准确) | 数值字段从文本层 100% 精确;OCR pipeline 显式标记精度 |
| + Complete(完整) | 缺失字段显式 review_needed,不静默 |
| + Consistent(一致) | 跨样品、跨日期使用同一个引擎 + 模板版本 |
| + Enduring(可保存) | 解析索引文件可与原 PDF 一并归档 |
| + Available(可获取) | 标准导出 + LIMS 直连 |
与 21 CFR Part 11 / NMPA 对齐
- 电子记录:解析输出 + 审计日志 + 原始 PDF + 索引文件 = 可审计的电子记录
- 电子签名:企业版支持双因素电子签名(可选)
- 关闭系统 vs 开放系统:Local 部署是关闭系统(数据不出客户网),SaaS 是开放系统(走加密通道,审计留存)
更多见 合规与认证。
IQ / OQ / PQ 验证包
每个已认证模板配套 IQ/OQ/PQ 测试用例,企业客户在合同中获取完整文档。详见 企业版交付与运维。