ASL Tool 3 Development Plan: - Architecture blueprint v1.5 (6 rounds of architecture review, 13 red lines) - M1/M2/M3 sprint checklists (Skeleton Pipeline / HITL Workbench / Dynamic Template Engine) - Code patterns cookbook (9 chapters: Fan-out, Prompt engineering, ACL, SSE dual-track, etc.) - Key patterns: Fan-out with Last Child Wins, Optimistic Locking, teamConcurrency throttling - PKB ACL integration (anti-corruption layer), MinerU Cache-Aside, NOTIFY/LISTEN cross-pod SSE - Data consistency snapshot for long-running extraction tasks Platform capability: - Add distributed Fan-out task pattern development guide (7 patterns + 10 anti-patterns) - Add system-level async architecture risk analysis blueprint - Add PDF table extraction engine design and usage guide (MinerU integration) - Add table extraction source code (TableExtractionManager + MinerU engine) Documentation updates: - Update ASL module status with Tool 3 V2.0 plan readiness - Update system status document (v6.2) with latest milestones - Add V2.0 product requirements, prototypes, and data dictionary specs - Add architecture review documents (4 rounds of review feedback) - Add test PDF files for extraction validation Co-authored-by: Cursor <cursoragent@cursor.com>
122 lines
8.2 KiB
Markdown
122 lines
8.2 KiB
Markdown
# **ASL 自动化证据合成工具运行机制详解 (Tool 4 & Tool 5\)**
|
||
|
||
**文档目的:** 详细解答工具 4(系统综述图表生成器)与工具 5(Meta 分析量化引擎)的输入、输出、操作流及底层技术原理。
|
||
|
||
**业务阶段:** 定性合成 (Qualitative Synthesis) 与 定量合成 (Quantitative Synthesis)。
|
||
|
||
**解耦声明:** 两个工具均支持“关联项目流水线自动输入”与“下载模板独立本地上传”双通道模式。
|
||
|
||
## **📊 工具 4:系统综述 (SR) 图表生成器**
|
||
|
||
**一句话理解:** 帮医生把繁琐的筛选流水账和基线数据,全自动画成符合国际期刊发表规范的 PRISMA 图和横向比对表。
|
||
|
||
### **1\. 数据的【输入】是什么?**
|
||
|
||
本工具支持两种输入模式:
|
||
|
||
* **自动串联输入(主流):** 读取当前项目中,工具 1(检索总数)、工具 2(初筛排除数及原因)、工具 3(全文复筛排除数、提取到的基线 JSON 数据)。
|
||
* **独立上传输入(解耦):** 医生下载系统提供的标准 Excel 模板,填入自己在其他地方做好的数据,上传生成图表。
|
||
|
||
#### **📥 核心补充:独立模式数据源模板 (Excel Template) 详解**
|
||
|
||
当用户选择“独立使用”工具 4 时,系统提供下载的文件为 SR\_Charting\_Template.xlsx。该文件包含两个工作表(Sheet),分别对应两种图表的数据输入:
|
||
|
||
**Sheet 1: PRISMA\_Data (用于生成流程图)**
|
||
|
||
这是一个极简的键值对表格,用户只需填写各个筛选阶段的数字账本。
|
||
|
||
| 阶段节点 (Stage) | 数值 (Count) | 排除原因明细 (Exclusion\_Reasons \- 可选) |
|
||
| :---- | :---- | :---- |
|
||
| Total\_Identified (检索总数) | 1245 | |
|
||
| Duplicates\_Removed (去重排除) | 345 | |
|
||
| Title\_Abstract\_Excluded (初筛排除) | 700 | 非RCT研究:400, 人群不符:200, 综述:100 |
|
||
| FullText\_Excluded (全文排除) | 80 | 缺乏结局数据:50, 无法获取PDF:30 |
|
||
| Final\_Included (最终纳入) | 120 | |
|
||
|
||
**Sheet 2: Baseline\_Data (用于生成基线特征 Table 1\)**
|
||
|
||
这是一个典型的科研特征矩阵表。每一行代表一篇被纳入的文献。
|
||
|
||
| Study\_ID (研究标识) | Intervention\_Name (实验组名称) | Control\_Name (对照组名称) | Intervention\_N (实验组人数) | Control\_N (对照组人数) | Age\_Mean\_SD (平均年龄) | Male\_Percent (男性比例) |
|
||
| :---- | :---- | :---- | :---- | :---- | :---- | :---- |
|
||
| Gandhi 2018 | Pembrolizumab \+ Chemo | Placebo \+ Chemo | 410 | 206 | 62.5 ± 8.1 | 60.5% |
|
||
| Hellmann 2019 | Nivolumab \+ Ipilimumab | Chemotherapy | 583 | 583 | 64.0 ± 9.2 | 68.0% |
|
||
|
||
*(注:系统在读取这些 Excel 后,会在前端通过 xlsx.js 解析为底层 JSON 传递给渲染器。)*
|
||
|
||
### **2\. 用户【操作流程】**
|
||
|
||
1. **选择图表类型:** 在左侧选择要画什么图。
|
||
2. **选择数据源:** 勾选“关联当前项目”或点击“下载模板并上传本地 Excel”。
|
||
3. **一键生成:** 点击“渲染生成图表”按钮。
|
||
4. **预览与导出:** 右侧大屏渲染出矢量图,用户可一键导出 SVG/PNG 或复制表格。
|
||
|
||
### **3\. 底层【工作原理】**
|
||
|
||
* **自动汇总:** Node.js 后端去数据库做 COUNT() 统计出各个阶段的留存数量。
|
||
* **前端渲染:** 拿到统计数字或用户上传的数字后,前端利用 Echarts 或 Mermaid.js 动态填入预设的漏斗图拓扑结构中,渲染出矢量图。
|
||
* **矩阵转置:** 将提取到的纵向数据(每篇文献的各个特征),转置拼装为标准的医学横向对比 Markdown 表格。
|
||
|
||
## **📈 工具 5:Meta 分析量化引擎**
|
||
|
||
**一句话理解:** 这是一个内置了“医学统计学专家”的超级计算器。它把多个独立研究的数据融合在一起,得出一个终极的“合并疗效结论”。
|
||
|
||
### **1\. 数据的【输入】是什么?**
|
||
|
||
* **统计学配置(左上角):** 配置结局指标类型和数学模型(随机/固定效应)。
|
||
* **核心矩阵数据(左下角网格):** 可以是一键从工具 3 导入的,也可以是用户独立上传的。
|
||
|
||
#### **📥 核心补充:独立模式数据源模板 (Excel Template) 详解**
|
||
|
||
Meta 分析对数据的要求极其严格。根据临床研究终点的不同,工具 5 提供了 **3 种不同分类的数据模板**(打包为 Meta\_Analysis\_Templates.zip)。用户必须根据自己的结局指标类型,选择对应的模板填写:
|
||
|
||
**分类 1:生存分析预计算型模板 (Template\_Hazard\_Ratio.xlsx)**
|
||
|
||
* **适用场景:** 肿瘤、心血管等带时间跨度的生存数据(如 OS, PFS),文献直接给出了算好的 HR 值。
|
||
|
||
| Study\_ID (研究标识) | HR\_Value (风险比) | Lower\_CI (95%置信区间下限) | Upper\_CI (95%置信区间上限) |
|
||
| :---- | :---- | :---- | :---- |
|
||
| Gandhi 2018 | 0.49 | 0.38 | 0.64 |
|
||
| Hellmann 2019 | 0.79 | 0.65 | 0.96 |
|
||
|
||
**分类 2:二分类原始数据型模板 (Template\_Dichotomous.xlsx)**
|
||
|
||
* **适用场景:** 计算发生率的指标(如:感染/未感染,死亡/存活)。R 引擎会自动根据这些原始人数计算出 OR (比值比) 或 RR (相对危险度)。
|
||
|
||
| Study\_ID (研究标识) | Events\_Intervention (实验组事件数) | Total\_Intervention (实验组总数) | Events\_Control (对照组事件数) | Total\_Control (对照组总数) |
|
||
| :---- | :---- | :---- | :---- | :---- |
|
||
| Study A 2021 | 45 | 150 | 60 | 148 |
|
||
| Study B 2022 | 30 | 100 | 40 | 100 |
|
||
|
||
**分类 3:连续型原始数据型模板 (Template\_Continuous.xlsx)**
|
||
|
||
* **适用场景:** 有均值和标准差的连续数值指标(如:血压下降了多少 mmHg,体重减轻了多少 kg)。
|
||
|
||
| Study\_ID | Mean\_Intervention (实验组均值) | SD\_Intervention (实验组标准差) | N\_Intervention (实验组人数) | Mean\_Control (对照组均值) | SD\_Control (对照组标准差) | N\_Control (对照组人数) |
|
||
| :---- | :---- | :---- | :---- | :---- | :---- | :---- |
|
||
| Trial 1 | 12.5 | 2.1 | 100 | 8.4 | 1.9 | 100 |
|
||
|
||
### **2\. 用户【操作流程】**
|
||
|
||
1. **导入/配置数据:** 点击“继承工具3”,或“下载模板并上传本地 Excel”,左侧数据可视化网格瞬间填满。
|
||
2. **微调修改:** 如果发现某篇文献的数据有问题,直接在网格里手动双击单元格修改。
|
||
3. **点击“运行 R 引擎分析”:** 触发核心计算,前端将网格里的数据转为 JSON 发送给后端。
|
||
4. **等待加载:** 页面弹出暗色遮罩,调用后台 R Statistical Engine(耗时 2-5 秒)。
|
||
5. **查看结果大屏:** 右侧展示计算出的合并效应量、P 值、异质性 ![][image1] 指标,并渲染出森林图。
|
||
|
||
### **3\. 底层【工作原理】(硬核技术壁垒)**
|
||
|
||
这里的原理是**跨语言微服务调用**,彻底打通前端展现与深层统计学:
|
||
|
||
* **数据打包:** Node.js 后端将左侧网格数据打包成标准 JSON。
|
||
* **呼叫 R 语言容器:** 后端将 JSON 发送给我们内网独立部署的 ssa-r-statistics Docker。
|
||
* **R 语言黑盒计算:** 在 Docker 内部,R 语言调用全球最权威的医学统计包 meta::metagen()。
|
||
* **结果回传:** R 语言算出 Pooled Effect(合并效应量),并画出高清的**森林图 (Forest Plot)**,转为 Base64 编码图片回传给前端直接显示。
|
||
|
||
### **4\. 【输出】与【报告】交付**
|
||
|
||
* **定性结果 (工具4):** 动态可交互的 PRISMA 流程图(SVG/PNG),合并好的基线特征表(Table 1)。
|
||
* **定量结果 (工具5):** 合并效应值 (如 HR: 0.63, p=0.01)、异质性检验 (![][image1])、森林图 & 漏斗图原图。
|
||
* **终极交付:** 这两者的结果最终通过大模型合成,输出一份完整的\*\*《自动化循证证据合成报告》(Word 格式)\*\*,可直接作为医生撰写 SCI 论文 Method 和 Result 部分的核心素材。
|
||
|
||
[image1]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAYCAYAAAD3Va0xAAAA9ElEQVR4XmNgGAUgIC8vvxyI/0OxIbo8UUBBQaFBRUVFFMRWUlLiBxmmrKwshq6OIABq3APEP5H4/+Tk5MqR1cABUGIHED9Ccv4XEB/kAnS1UHlLdHEUADMIXRwGgHLFQAtuoYujACkpKRGoQQfQ5UBAUVERKCV/Gl0cAwADNR1kkKysrB+6HDSQF8P4QHYRsjwKAEpeBRkkKirKgyxubGzMChS/APRSCBTnArExshoUgCt8QF6FycEwumVwQCh8iAb4wockII8jfEgGML+ji5MEkMLnMLocSQBoQA7UoGh0OaIAKKnDvISMpaWlhdHVjoJBAgCqjk8Vrk2liAAAAABJRU5ErkJggg==> |