mcpField
M
meta-analysis

meta-analysis

github.com/aperivue数据与数据库353161 次安装1 天前更新
代码仓库

关于 meta-analysis

meta-analysis 是用于指导系统综述和荟萃分析的研究技能,涵盖诊断准确性、干预、预后、预测及观察性研究。它按研究类型组织从方案制定到检索、筛选和提取的流程,并提供验证关卡。

主要功能

  1. 01按研究类型制定综述方法
  2. 02PROSPERO 方案撰写指导
  3. 03数据库检索规划
  4. 04双评审者筛选流程
  5. 05筛选计数与研究池验证
  6. 06结构化数据提取指导

适用场景

  1. 01为诊断准确性综述起草方案
  2. 02规划跨多个数据库的检索
  3. 03跟踪筛选决定并核对计数
  4. 04准备荟萃分析的数据提取流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aperivue/medsci-skills --skill meta-analysis

安装后在 Claude Code 中输入/meta-analysis确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
ai_pre_screening_template.py
data_integrity_checklist.md
empirical_lessons.md
icmje_coi_guide.md
LICENSES.md
phase10_recovery.md
phase3_screening_detail.md
phase4_extraction_detail.md
phase4_km_composite.md
phase6_statistical_synthesis.md
phase9_circulation.md
post_submission_release_ops.md
PROSPERO_template.md
r_templates.md
review_orchestration.md
single_arm_proportion_ma.md
submission_package_drift.md
references/checklists/
JBI_Case_Series.md
NOS.md
PRISMA_DTA.md
PROBAST.md
QUADAS2.md
QUADAS3.md
RoB2.md
ROBINS_I.md
scripts/check_exclusion_code_validity_challenge/
problem.md
scripts/check_exclusion_code_validity_challenge/fixture/
protocol_negative.md
protocol_positive.md
screening_negative.tsv
screening_positive.tsv

详细介绍

Meta-分析技能

Meta-分析类型

类型偏倚风险工具统计模型报告指南
DTA(诊断试验准确性)QUADAS-3(旧版综述使用 QUADAS-2)二元 / HSROCPRISMA-DTA
干预(治疗效果)RoB 2(RCT)/ ROBINS-I(NRSI)随机效应(REML,Hartung-Knapp CI)PRISMA 2020
预后因素(某一因素与结局的关联)QUIPS随机效应PRISMA 2020
预测模型(模型性能)PROBAST随机效应PRISMA 2020
观察性研究(患病率 / 关联)NOS / JBI随机效应MOOSE

如果类型不明确(DTA 还是干预),请先向用户确认再继续。


工作流阶段

阶段 1:方案制定

目标:编写一份符合 PROSPERO 要求的方案文档。无论用户使用何种语言,方案、提取表和论文文本均须用英文撰写——PROSPERO 记录和目标期刊均使用英文。

  1. 研究问题:DTA 使用 PIRD(人群、待评估试验、参考标准、诊断);干预研究使用 PICO(人群、干预、对照、结局)。

  2. 仅适用于 DTA——现在完成 QUADAS-3 阶段 1 和 2,而不是等到偏倚风险评估时再做。 这两个阶段属于综述层面,应纳入方案:阶段 1 说明综合问题(人群、待评估试验、目标状况——一项综述可能有多个问题);阶段 2 为每个问题定义理想的试验准确性研究(目标、参与者、待评估试验、目标状况的定义、分析)。之后所有偏倚风险和适用性判断都以该研究为基准。还须在此处写明针对本综述、用于回答各项信号问题的指导,并纳入临床和方法学方面的意见,然后将其作为网络附录发布。看过研究结果后再定义理想研究,是根据结果作出的判断,并非评估。参见 references/checklists/QUADAS3.md。

  3. 纳入标准:研究设计、人群、待评估试验/干预、对照/参考标准、结局(DTA 使用 Se/Sp;干预研究使用效应量),以及附有理由的排除标准。

  4. 检索计划:至少检索 3 个数据库——PubMed、Embase 和 Cochrane CENTRAL(视需要增加 Scopus/Web of Science);根据 PIRD/PICO 组成部分制定布尔检索策略;制定灰色文献检索计划(会议摘要、试验注册平台);明确说明语言限制和日期范围,并给出理由。

  5. 偏倚风险计划:根据研究类型选择工具(见上表),至少安排 2 名独立评估者,并说明分歧解决方法(协商一致、第三名评审者)。

  6. 综合计划:DTA 使用双变量随机效应模型(Reitsma)或 HSROC(Rutter & Gatsonis);干预研究使用随机效应模型(阶段 6);制定异质性、亚组/敏感性分析和发表偏倚计划。

  7. PROSPERO 注册文档:阅读 ${CLAUDE_SKILL_DIR}/references/PROSPERO_template.md,并遵循其中的字段指南、字数限制、输出格式(Markdown + pandoc 生成的 DOCX)和常见问题检查清单。保存至项目的 7_Submission/ 或等效目录。

    • 在正式检索前提交,并记录日期。 注册由用户提交;请在项目状态文件(STATUS.md、project_state.json 或 project.yaml,以项目实际使用的文件为准)中记录首次提交日期(而非记录发布日期)。阶段 2 的入口检查会核查此日期。提交前可以进行试检索;但不得进行正式检索、筛选或提取,包括 AI 首轮草稿。
    • 注册编号格式检查。 PROSPERO 编号的格式为 CRD42 + 9 位数字(共 14 个字符),例如 CRD42024500001。使用 grep -oE 'CRD42[0-9]+' 验证稿件或注册文档中出现的任何编号,并确认其长度为 14 个字符且符合 ^CRD42\d{9}$——15 位编号(多出一位数字)属于转录错误,评审者会对照实时记录核查。
    • 综述类型选择。 根据实际设计,在门户提供的综述类型中选择最接近的选项,并在方案中说明门户的任何限制。描述性单臂比例综合并非“干预综述”;仅为满足门户字段而选择该类型,会与后续的 GRADE/效应确定性陈述相矛盾。方案承诺使用的确定性表述(GRADE 或“仅陈述证据”)必须与稿件中的措辞完全一致——描述性综述类型并不支持指南式的“我们建议”表述。
阶段 2:检索策略

目标:制定并验证可复现的检索策略。

入口检查——正式检索前先注册。 查找阶段 1 步骤 7 中记录的注册提交日期。如果没有记录,请暂停并询问用户选择:现在提交注册,并在该日期之后进行检索;或不提交注册而继续,此时阶段 8 第 5 项将限制手稿可以声称的内容。记录用户的选择。提交前进行的筛选或提取(包括 AI 首轮草稿)之后无法变为前瞻性研究。在 /orchestrate --e2e 下,这一暂停对应 REGISTRATION_PENDING 停止状态;不会自动默认跳过此检查。

  1. 根据 PIRD/PICO 组成部分构建检索块,并使用 /search-lit 在各数据库中执行检索(PubMed:MeSH + 自由文本;Embase:Emtree + 自由文本;其他数据库按方案规定)。此步骤仅限检索:筛选记录和提取结果属于阶段 3–4,不属于 /search-lit 自身的筛选和深度阅读步骤。
  2. 按照 PRISMA-S 报告(Rethlefsen 等,2021,PMID:33499930):每个数据库单列一节,注明检索日期、结果数量以及应用的任何限制条件。
  3. 合并并去重到一个电子表格中:优先按 DOI 去重,其次按 PMID。保存原始计数,以用于 PRISMA 流程图。
阶段 3:筛查与筛选

目标:由两名独立审阅者系统地进行标题/摘要筛查和全文筛查。执行一轮筛查时(排除代码集、AI 预筛查模板和 Methods 模板文本),或触发 3f/3f.5 关卡时(集合代数、协调表),请阅读 references/phase3_screening_detail.md。

3a. 第 1 轮——标题/摘要(单名审阅者)。 根据方案定义排除代码。为每条记录标记 INCLUDE / EXCLUDE / MAYBE,并注明原因代码 → round1_{date}.tsv。

3b. 第 2 轮——标题/摘要双人独立筛查。 由第二名独立审阅者(或将 AI 作为有记录的二次筛查工具,并由人工核验)重新筛查所有 R1 记录。在 Methods 中报告 Cohen's κ。round2_tag = INCLUDE / EXCLUDE / MAYBE(MAYBE = 意见不一致或任一审阅者标记存在不确定性),另加 round2_reason。

3c. 第 3 轮——裁定(第一名审阅者)。 先处理 MAYBE 记录,再对 INCLUDE 记录进行简要确认 → round3_decision(仅在推翻 R2 决定时填写 round3_reason)。可选的 AI 预筛查可以减少工作量,但AI 建议不等于决定:审阅者必须独立确认或推翻每一项建议。

3d. 第 4 轮——全文(/fulltext-retrieval):针对 round3_decision = INCLUDE 的记录进行全文筛查,使用全文排除代码,由两名独立审阅者筛查并计算 Cohen's κ,通过共识或第三名审阅者裁定。将对比研究标记为优先提取对象。

3e. PRISMA 流程图。 跟踪每个阶段(R1 → R2 → R3 → R4 → 最终纳入)的数量;最终结果确定后,使用 /make-figures 绘制流程图。

3f. 共识后数量核对关卡(第 5 阶段撰写前的强制要求)。 根据原始 ID 集合,而非文字摘要核对数量,并整理到一个权威文件中:

python "${CLAUDE_SKILL_DIR}/scripts/screening_reconcile.py" \
  --screening 2_Screening/fulltext_screening.tsv \
  --consensus 2_Screening/consensus_decisions.tsv \
  --table1 6_Tables/table1_studies.csv \
  --output 2_Screening/screening_consensus.json

后续阶段使用 screening_consensus.json 获取数量和 ID 集合;Markdown 共识文档则保留作为人工说明。以下三条硬性规则:

  1. 明确列出仅见于叙述的 ID。 最需要警惕的是声称某个数字(例如“10 项仅见于叙述的研究”),但该数字与可枚举集合 (A ∪ C) \ B \ T 不符。
  2. 没有 ID 凭据,就不能声称“N → M”变化。 “FLAG 共识后 k 从 30 增至 32”必须列出新增/移除的 ID。没有可枚举 ID 集合的变化声明属于 P0,会阻止移交至第 5 阶段。
  3. STAGE_TRANSFER_LOSS 属于 P0。 如果某条记录已在筛查中纳入,却完全未出现在共识产物中,即从未记录过裁定,则以退出码 1 结束。排除是一项决定;没有记录则是缺失。绝不能让此类记录最终仅见于叙述。

3f 还有另外两个关卡;任一关卡以非零退出码结束,都会阻止撰写第 5 阶段内容:

# every applied exclusion code vs the *registered* eligibility criteria
python3 ${CLAUDE_SKILL_DIR}/scripts/check_exclusion_code_validity.py --protocol 0_Protocol/protocol.md --screening 2_Screening/*.tsv --strict
# DI-6: PRISMA numbers on 5 surfaces vs YAML SSOT; re-run on every revision touching PRISMA numbers
python3 ${CLAUDE_SKILL_DIR}/scripts/prisma_5way_consistency.py --ssot prisma.yaml

排除代码的判定结果:CODE_CONTRADICTS_ELIGIBILITY(某代码排除了方案允许纳入的研究设计——可能造成其他关卡无法发现的大量研究损失)、CODE_NOT_REGISTERED、CODE_RENUMBERED。判定结果、NOT_ASSESSED 情况以及所有 3f 关卡的已知局限,见 references/phase3_screening_detail.md §3f。

  • 已知局限:PRISMA 5 类仍未涵盖 after_dedup → full_text_assessed;可选的 prisma2020: 计数会加入报告层级的身份标识(§3f)。

3f.5 研究池组成锁定(裁定冻结时的强制要求)。 通过 3f 后,将研究池冻结到一个权威 YAML 文件中,以便核对所有下游产物:

cp "${CLAUDE_SKILL_DIR}/templates/FINAL_POOL_LOCK.yaml.template" 2_Data/FINAL_POOL_LOCK.yaml
# fill counts + UID lists from 3f, compute the SHA-256 over the sorted UID list,
# and COMMIT THE LOCK before any Phase 4 extraction
  • 构建稿件时,绝不能从提取 TSV 重新推导 k included——始终引用锁定文件中的 final_pool_n。
  • 汇总患者/病灶数量也要锁定,而不只是研究数量。 区分可按组别拆分的行与涵盖两组的行:仅贡献一个组别的研究,其完整队列数量不得计入汇总总数。若手动沿用的核心总数无法根据锁定的逐项研究数值重新推导,则属于 P0。
  • 冻结后若要更改研究池,必须正式修订 PROSPERO:提交修订,将研究池重新冻结为 FINAL_POOL_LOCK_v2.yaml,并同步更新所有产物。
第 4 阶段:数据提取

目标:创建标准化提取表,并提取 2×2 数据或效应量数据。创建表格(DTA/干预字段列表)时、有人分享 AI 草稿时、使用可选的 extract_assist.py 建议(AI_SUGGESTED,每项都由人工确认后再运行 dta_extraction_qc.py)时,或触发 QC 标记时,请阅读 references/phase4_extraction_detail.md。

4.0 入口关卡(强制)——样本池组成锁定 ↔ 裁决 TSV。 开始任何提取工作之前,请确认第 3 轮裁决 TSV 与 FINAL_POOL_LOCK.yaml(第 3f.5 阶段)在纳入哪些 UID 上一致:

python "${CLAUDE_SKILL_DIR}/scripts/check_pool_consistency.py" \
    --lock 2_Data/FINAL_POOL_LOCK.yaml \
    --adjudication-tsv 2_Screening/round3_adjudication.tsv \
    --decision-col round3_decision --uid-col uid \
    --include-labels "INCLUDE,INCLUDE_MIXED" \
    --out qc/pool_consistency.json

关卡采用失败即阻止的机制:任何 UID 不一致都会阻止提取。 请通过重新冻结并修正 UID 集(并向下游传递)或更正标记错误的 TSV 行来解决。若存在不一致,切勿继续——提取矩阵将无法与锁定样本池对齐,并且这种偏差会在同行评审时成为足以构成学术造假的严重警示。

# before the first extraction row (DI-1): comparative arm rows never live in R-script comments
python3 ${CLAUDE_SKILL_DIR}/scripts/extraction_consensus_log_init.py --output 2_Data/extraction_consensus_log.md

故障模式交叉参考 → references/data_integrity_checklist.md 中的 DI-1~DI-5 在提取期间必须执行(2×2 组别互换、KM 审计轨迹、方法不匹配、PRISMA 五方偏差、单一来源 k)。

提取表。 设计表格前,请阅读 ${CLAUDE_SKILL_DIR}/references/empirical_lessons.md。对于高影响力的放射学/医疗 AI 研究目标,请使用 ${CLAUDE_SKILL_DIR}/templates/extraction_form_v2.md:其中的双提取者、来源页码引用和逐字引文列,可弥补 2×2 单元格互换和队列重叠盲点。

AI 起草的初始文档——应视为可能存在幻觉。 如果导师或合作者分享了 AI 起草的研究列表、2×2 数据集或效应估计(即使标注为“仅供参考”),请将其保存,并在文件名末尾添加 _DO_NOT_USE_VERBATIM,然后根据来源 PDF 重新核实每个 N、分母、事件数、OR/CI 和作者/年份。可信度顺序:来源 PDF + 自行分析的 stdout > 导师直接提供的文本 > 附带的 AI 草稿——绝不可将草稿提升到该顺序中更高的位置。

4b. 特殊情况(KM 重建、复合暴露)。 如果研究只通过 Kaplan-Meier 曲线报告结局,或干预由多种技术组合而成,请加载 ${CLAUDE_SKILL_DIR}/references/phase4_km_composite.md,查看 WebPlotDigitizer → IPDfromKM 流程(引用 Guyot 等,2012,doi:10.1186/1471-2288-12-9)以及复合暴露的四路径决策树。请预先指定一项敏感性分析,排除复合暴露研究。

交叉核验(≥2 名独立审阅者)。 报告标题/摘要阶段和全文阶段的审阅者间一致性(百分比或 Cohen's κ)。核实分母一致性——同一研究的不同结局可能使用不同分母,因此请对每个结局反算 event ÷ denominator,并确认结果与论文报告的百分比一致。区分 KM 曲线估计值与原始事件数,并记录数据来源(表格/KM/正文)。将所有共识决策记录在 2_Data/extraction_consensus_log.md 中,然后锁定数据集;之后的更改必须附有注明日期的理由。如果缺少 2×2 单元格数据,建议联系作者,或使用填补值进行敏感性分析。

4c. 提取 QC 与队列重叠。 双提取者达成共识后,在锁定前运行以下两项:

# 2x2 cell integrity: validates TP/FN/TN/FP against source-reported sens/spec (catches arm-swap)
python3 "${CLAUDE_SKILL_DIR}/scripts/dta_extraction_qc.py" \
  --input 2_Extraction/extraction.csv --tolerance 0.02 \
  --out 2_Extraction/qc/dta_extraction_qc.tsv

# cohort overlap: shared public DB / same institution+period / same first author ±2y
python3 "${CLAUDE_SKILL_DIR}/scripts/cohort_overlap_check.py" \
  --input 2_Extraction/studies.csv --enrich \
  --out 2_Extraction/qc/cohort_overlap.md

任何 FLAG_SWAP/FLAG_MISMATCH 都必须由第三名审阅者裁决后,才能进入第 6 阶段。确认的标记只有在提取表本身完成编辑后才算解决——如果只在审阅备注中修正标记,它仍会悄然重新进入综合分析;因此,请重新运行 QC,并确认锁定前没有未解决的标记。高置信度重叠研究对必须在局限性中予以说明,并进行排除其中一项研究的敏感性分析。

阶段 5:偏倚风险评估

目标:使用适当的工具指导结构化 RoB 评估。

DTA:此阶段执行 QUADAS-3 第 3–6 阶段(流程图、确定要评估的估计值、评估、总体判断)。第 1–2 阶段——综合问题和理想的诊断准确性试验——已在上文阶段 1 中撰写。如果尚未撰写,请先停下来补上,再进行任何判断;每项判断都以它们为参照。

根据荟萃分析类型选择工具(见上表),然后阅读其清单:

工具清单文件
QUADAS-3(DTA,当前版)${CLAUDE_SKILL_DIR}/references/checklists/QUADAS3.md
QUADAS-2(DTA,旧版)${CLAUDE_SKILL_DIR}/references/checklists/QUADAS2.md
RoB 2(RCT)${CLAUDE_SKILL_DIR}/references/checklists/RoB2.md
ROBINS-I(NRSI)${CLAUDE_SKILL_DIR}/references/checklists/ROBINS_I.md
PROBAST(预测)${CLAUDE_SKILL_DIR}/references/checklists/PROBAST.md
NOS(观察性研究)${CLAUDE_SKILL_DIR}/references/checklists/NOS.md
JBI(病例系列)${CLAUDE_SKILL_DIR}/references/checklists/JBI_Case_Series.md

对于 AI/ML 预测模型,还要应用 PROBAST+AI 扩展。

输出:汇总表 + 交通灯图(使用 /make-figures)。

第 6 阶段:统计综合

目标:执行荟萃分析并生成可直接用于发表的输出。

失效模式交叉引用 → references/data_integrity_checklist.md DI-6/DI-7/DI-9 是一致性检查关卡(CSV ↔ 脚本 ↔ 正文;k 的单一来源;第 4 阶段之前进行三方数值核对)。

始终使用 R(软件包:meta、metafor、mada);所有报告的估计值、CI、p 值和样本量均须来自已执行代码的输出(第 6b 阶段会对此进行审核)。切勿猜测数据集的列名或编码——如果映射不确定,请输出 [VERIFY: variable_name],并请用户根据数据字典确认。

分析类别主要工具关键输出
DTAmada::reitsma()(双变量)合并 Se/Sp + 带置信区间/预测区间的 SROC
干预meta::metagen() / meta::metabin()合并 OR/RR、τ² + I² + 预测区间、与效应量匹配的漏斗图检验(k ≥ 10)、逐一剔除分析
双重(比较性 + 单臂)metabin + metaprop根据预先指定的方案确定 PRIMARY 与 SECONDARY

运行合并分析前,请阅读 ${CLAUDE_SKILL_DIR}/references/phase6_statistical_synthesis.md——其中包含完整的 R 代码模板(配套文件:${CLAUDE_SKILL_DIR}/references/r_templates.md)、双重方法决策表(比较性与单臂)、实用注意事项(method.tau、HK CI、零事件单元格校正)、发表偏倚检验的效能、敏感性分析选项以及错误处理规则。将每项分析的合并估计值、异质性统计量和 k(取自已执行的 R 输出)写入 analysis/meta_analysis_outputs.json。

汇总结果前的三项检查——每项检查都须写入方法部分的一句话,而不只是作为一项设置。R 代码和详情见同一参考文件:

  1. **事件是否罕见?**合并事件率 < 1%,或任何组出现零事件,都应将分析从默认的逆方差法改为 Peto / Mantel-Haenszel(不进行零事件单元格校正)/ GLMM。对于罕见事件,应避免使用包括 DerSimonian-Laird 在内的逆方差法,也应避免与这些方法搭配使用 0.5 连续性校正。
  2. **为什么选择这个模型?**选择固定效应还是随机效应模型,取决于是否认为存在一个共同的真实效应——绝不能根据 Cochran's Q 或 I² 推导。“因为 I² 为 65%,所以采用随机效应模型”会被审稿人指出,而不是充分的理由。
  3. **是否有研究贡献了多个相关效应量?**同一参与者的多个结局、读者、阈值或时间点,需要为每项研究预先指定一个估计值、采用多变量模型,或进行稳健方差估计——不能将其视为独立效应进行合并。

合并经转录的比值 CI(并反向推导 SE)之前,请先检查(列为 study, measure, estimate, lower, upper,可选的 ci_level 以百分比表示,ci_method);RATIO_CI_IMPOSSIBLE 属于 Major,RATIO_CI_ASYMMETRIC(Minor)表示需要核对转录内容或声明 ci_method:

python3 ${CLAUDE_SKILL_DIR}/scripts/check_ratio_ci_symmetry.py --extraction 2_Extraction/extraction.csv --out 2_Extraction/qc/ratio_ci.json --strict
阶段 6b:分析后源数据保真度审计(必须执行)

目标:发现前向流程(CSV → .R → 手稿)中仍未被发现的数值幻觉。

**运行时机:**每当阶段 6 的输出发生变化时(初稿、修订、审稿人要求的重新分析)都要运行,包括“轻微”重跑。先例:在一次小修阶段的重新分析中,由于根据误读的源表格手动输入了 Fisher matrix(),导致某安全性结局的各组事件数(及其 p 值)报告方向颠倒,而提取 CSV 中的数据是正确的。所有下游产物都沿用了错误的数字,因此内部一致性检查均通过;只有一次对原始论文的随机回查才发现了问题。

不可妥协的规则:

  1. **存在 CSV 时,不得手动输入数值矩阵。**使用 read.csv(...) 并进行子集选择/筛选;绝不能凭眼睛把论文中的 2×2 表格抄到 matrix(c(...), ...) 中。如果确实无法避免手动输入(例如仅从文本提取),则 matrix、c() 或 data.frame 那一行 MUST 添加注释,注明确切的 CSV 行+列,或原始来源的确切表格/页码位置:

    # source: data_extraction_final.csv row <N> (<first-author> <year>), cols <event_arm1>=0, <event_arm2>=1
    # verified against primary source Table <X>, page <P>
    fisher.test(matrix(c(0, 45, 1, 55), nrow = 2, byrow = FALSE))
    
  2. **比较组子集必须单独占用共识日志中的一行。**如果一项研究的组别特定数值用于比较分析,而其他地方使用的是其完整队列数据,则 extraction_consensus_log.md 必须为组别特定数值明确添加一行。汇总总数与组别特定数值 MUST NOT 共用一行。

  3. **结束阶段 6 前随机回查 3 条声明。**森林图/漏斗图/亚组分析输出稳定后,从结果初稿中随机抽取 3 条数值声明,并将每条追溯至 (a) R 输出日志和 (b) 原始论文中的表格/图。记录在 peer_review_<vN>_internal.md 中:

    声明(手稿行)R 输出文件:行原始来源(论文、表/图、页码)是否匹配?

    出现一处不匹配即为 P0 阻断问题——解决前不得进入阶段 7。

  4. **修订新增的数字必须标记。**v1 之后新增的任何数字——包括来自新比较/亚组/敏感性脚本的数字——在 /self-review 中的阶段 2.5a 审计确认无误前,MUST 在手稿中以内联形式标记为 [VERIFY-CSV]。

  5. 必须基于修改后的数据重新计算敏感性分析,不得复制。敏感性/逐一剔除/侵蚀/替代模型分析中报告的每个效应量(Cohen's dz/f、AUC、OR、HR、β、sens/spec、ICC)都 MUST 根据修改后的数据重新推导。如果敏感性分析表中的效应量保留两位小数后与主要分析在 ≥4 个数值上完全相同,而底层均值/SD/计数不同,则可能并未运行重新计算(逐一剔除导致的微小变化可能四舍五入后相同,因此应检查脚本输出确认,而不是想当然),也可能是直接转录了主要分析的数值——请对修改后的数据重新运行脚本。

  6. **审计备注标记为“已修复”/“已解决”必须有重跑证据,不能只有声明。**只有提供时间戳以及显示修正值的 stdout/输出文件行,或说明所做更改的提交记录,标记为 fixed、resolved 或 corrected 的数值才算处理完毕。仅写“已在 v10 修复”不足以清除此问题——请重新运行脚本并附上输出。在接受任何“已修复”状态前,结果分母交叉核对(/self-review 阶段 2.5b,队列算术/汇总锁定断言)必须通过,且核对对象必须是当前输出。

阶段 7:GRADE / 证据确定性

目标:评估证据总体的确定性。

DTA:GRADE-DTA——偏倚风险(来自 QUADAS-3,或旧版综述使用 QUADAS-2)、间接性 (适用性方面的疑虑)、不一致性(异质性)、不精确性(置信区间较宽、样本量较小)、 发表偏倚。干预:标准 GRADE。

按结局评估确定性,而不是对整篇综述只评估一次。 各结局对应的领域评估结果各不相同—— 一项基于 12 项研究汇总、置信区间较窄的结果,与一项基于 3 项研究汇总、置信区间较宽的 结果,不能共用一个评级;而一句笼统的“中等确定性”综述级结论,无法告诉读者他们关心的 结局如何。对纳入“结果汇总”表的每个结局进行评级,并说明每次降级的原因(具体领域及原因), 不能只给出最终标签。

输出:“结果汇总”表——每个结局一行,同时列出汇总估计值及其精确度,以及确定性评级 (高/中等/低/极低)。

阶段 8:报告与论文

目标:生成符合 PRISMA 要求的论文各部分。

故障模式交叉引用 → references/submission_package_drift.md——准备多期刊投稿文件夹时,采用 _build.sh 模式和 DO_NOT_EDIT_HERE 关卡。

投稿前重新阅读 references/empirical_lessons.md。

  1. 检查报告规范符合情况:使用 PRISMA-DTA(随附副本: references/checklists/PRISMA_DTA.md)或 PRISMA 2020 运行 /check-reporting,然后对 摘要单独再运行一次 PRISMA 2020 for Abstracts(PRISMA_2020_Abstracts.md,共 12 项, 使用其自身的分母)。单独报告该评分:主清单的第 2 项仅要求参照该摘要清单,因此论文即使 满足正文的全部 42 项,也仍可能漏掉摘要清单中的大多数项目;把两者合并为一个总分,正是 这些问题不易被发现的原因。

  2. 撰写论文:根据 Meta 分析类型运行 /write-paper → manuscript/manuscript.md。 切勿凭记忆生成参考文献;所有引文都使用 /search-lit。

  3. 图表(/make-figures):PRISMA 流程图、森林图(DTA 使用配对图)、SROC 曲线 (DTA)、漏斗图(DTA 使用 Deeks' 方法——参见 DTA 陷阱)、偏倚风险汇总图(红绿灯图)。

  4. 表格:纳入研究的特征;每项研究的 2x2 数据(DTA);偏倚风险评估结果;证据汇总/ GRADE 表(每个结局一行——阶段 7)。

  5. 已发表的放射学 SR/MA 最常遗漏的项目——在运行符合性检查前,手动核查以下项目。Park 2022(Korean J Radiol;PMID:35213097)依据 PRISMA 2020 对 24 篇 SR/MA(其中 18 篇包含 Meta 分析)进行了评分,每项均使用其自身分母(仅 MA 项以 18 为分母),发现 42 项中有 24 项 的报告率低于 80%:

    PRISMA 项目缺失内容观察结果
    20a对于每项综合分析,简要总结其纳入研究的特征和偏倚风险——而不是用一段总述涵盖所有汇总结果0/24
    27数据可用性:提取表、提取数据、分析数据集和分析代码中,哪些已公开,以及公开位置0/24
    24a–c注册编号、可查阅方案的位置,以及任何修订——明确说明“未注册”即可满足 24a0/24
    22 / 15每个结局的证据确定性,以及评估确定性所用的方法9%
    13f / 20d敏感性分析:方法和结果28%(5/18)
    18每项研究的偏倚风险,应逐项展示,而不是仅展示汇总比例32%
    13d综合分析模型的选择依据(参见阶段 6 检查 2)28%(5/18)
    16b看似符合条件但最终排除的研究,需逐项引用并说明排除原因25%
    摘要 #3、#12结构式摘要中的纳入标准和注册信息各 0/24
    根据首次提交日期表述注册情况(而非记录之后的发表日期),不得套用模板:“前瞻性注册”仅用于筛查开始之前注册的情况;筛查或数据提取已开始后注册的,应表述为“回顾性注册”;没有记录时,应表述为“本综述未注册”(明确说明即可满足 24a)。注明实际使用的注册库(PROSPERO、OSF Registries)。
    同一表述应出现在声明的每个版本中:摘要、Methods、投稿附信以及门户网站的伦理和注册字段。
  6. 数据可用性声明:注明共享的内容(提取模板、锁定数据集、分析代码、RoB 判断)以及存放位置——存储库、DOI 或补充文件。如今很少有期刊接受“可根据合理请求向通讯作者索取”,且这已不再满足第 27 项。如果 Zenodo DOI 在接收后生成,references/post_submission_release_ops.md 介绍了如何将其补充回此声明。

  7. 补充材料与分析代码投稿前审核门槛(第 9 阶段传阅前及门户网站上传前)。具备 8 个文件的材料包(经验教训 5)是必要条件,但并不足够——每项内容还必须达到审稿就绪状态:

    • 去除脚手架内容:清理内部 QC/工具产物——原始 /check-reporting 输出(“Assessed by: ”、JSON 块、“READY FOR SUBMISSION”判定、行动项列表)、检索策略开发规划文档(决策日志、预期产出估算、[Check on execution] 占位符、版本历史开发备注)以及过时的版本标记。提交简洁的 PRISMA 2020 核对清单(仅含 27 项/42 个子项的表格)和基于实际执行方法编写的检索策略文档,而非工作草稿。
    • 匿名化:删除作者姓名/首字母缩写以及同系列项目的交叉引用(“Designed by: ”、“identical to a sibling review”)——标准应与匿名稿件相同。
    • 交叉一致性:所有补充材料中的数字都必须与正文一致——PRISMA 计数、合并分析的 k/N、Cochrane/CENTRAL 检索描述以及 RoB 计数。
    • 可复现、自包含的分析代码:从材料包的干净副本运行代码。代码必须读取材料包内的锁定数据集(而非材料包外的路径)、将文件写入工作目录,并重新生成结果表中的每项合并分析。若硬编码的研究 ID 子集与稿件不一致(例如,合并分析的 k=7,但稿件报告 k=9),则属于 P0 问题——必须修复并重新运行;切勿提交过时的代码或由此生成的图表。
    • 仅针对补充材料的审查:稿件自审不会检查补充材料;请参照 /self-review 第 2.5c–2.5d 阶段,对补充文件进行参考文献和交叉引用 QC。
  8. 投稿门槛(在第 8 阶段预提交及每次期刊重新定向时执行;非零退出码会阻止提交):

    • /sync-submission SR-MA 门槛:补充材料包符合 templates/supplementary_8file_checklist.md 中的全部 8 个文件要求(PRISMA、PROSPERO、检索策略、排除列表、提取表、逐项研究 x 逐领域 RoB、亚组森林图、敏感性分析 / 发表偏倚);包含 AI 披露(交叉引用 /peer-review 第 2A 阶段 P8);引用列表中没有重复的 PMID/DOI(/verify-refs 门槛 5)。
    • DI-8 标签门槛 — 如果 7_Manuscript、supplement、SUBMISSION 等目录中仍存在 VERIFY-CSV/TODO/FIXME/XXX,则检查失败:bash ${CLAUDE_SKILL_DIR}/scripts/tag_cleanup_gate.sh
    • SPD 材料包完整性 — 基于校验和检测主稿与构建的 SUBMISSION/{journal}/ 文件夹之间的偏差(期刊可编辑文件 — 投稿信、回复、MANIFEST、DO_NOT_EDIT_HERE.md — 会自动排除)。每个期刊首次构建时运行 python3 ${CLAUDE_SKILL_DIR}/../sync-submission/scripts/verify_package_integrity.py --record --journal <name>,然后在每次重新提交前运行 --verify --journal <name>。
    • 每位作者的 ICMJE COI 表:${CLAUDE_SKILL_DIR}/references/icmje_coi_guide.md。

第 9 阶段:合著者传阅

目标:在提交前将稿件传阅给合著者和资深方法学家 / 审稿人,设定明确的审阅期限并控制附件范围。

触发条件:第 8 阶段已完成,且草稿已通过第 6b 阶段的来源忠实度审计。

摘要:回复之前版本的邮件线程,以保持 In-Reply-To 的连续性(v1 → v2 → v3 均在同一处跟踪)。附上含内嵌图表的稿件正文;对于 v≥2,还需附上修改摘要 — 在确认目标期刊前,不附图形摘要、投稿信、COI 表和补充材料。TO = 通讯作者 + 一位资深方法学家;CC = 其余合著者。设定 7 天期限(5 个工作日 + 周末)。请通讯作者提供目标期刊偏好、审稿人候选人和投稿信的表述思路。

按需加载的流程细节(线程连续性、附件范围依据、篇幅至方法对照表、期刊未定时的表述方式、回复跟踪日志): ${CLAUDE_SKILL_DIR}/references/phase9_circulation.md。

失效模式交叉引用 → references/review_orchestration.md RO-1~RO-5(双重评分完整性、防御性语气偏差审计、回复矩阵数值跟踪、第二审稿人是否可用的阻断检查)。


阶段 10:自审恢复(v{N} → v{N+1} 冲刺)

目标:当审计发现结构性数据错误或方案应用错误时,撤回当前版本,重新构建,并在透明的审计跟踪记录下重新发布。

触发条件(满足任一项即可):

#触发条件来源
T1提取 CSV ↔ 原始来源之间的某个单元格不一致,且该单元格会影响合并估计/亚组估计或报告比例阶段 6b 审计
T2重新阅读后发现纳入/排除的研究违反预先规定的标准方案审查
T3分析脚本中手动输入的数值字面量可追溯到错误值阶段 6b 审计
T4PROSPERO 方案 ↔ 已交付分析在结局、亚组或资格标准方面存在不一致方案 ↔ 分析差异
T5双评审者共识记录 ↔ 锁定数据集在纳入情况方面存在不一致共识日志差异

不可妥协的规则:如果阶段 9 发布后、期刊投稿前触发此规则,必须在 24 小时内撤回当前版本。与自行撤回相比,由评审者发现问题是严重得多的失败情形。

冲刺:阅读 ${CLAUDE_SKILL_DIR}/references/phase10_recovery.md 并执行其中的 12 个步骤,从 10.1(在 qc/audit_vN_to_vNplus1.md 中记录审计日志)开始,经过 PROSPERO 修订(修正申请内容,而非更改标准)以及在阶段 9 讨论串中重新发布,直至 10.12(恢复后循环)。

失败模式交叉引用 → references/post_submission_release_ops.md 中的 Gate 4 涵盖拒稿/修订后的 Zenodo 版本管理、标签清理关卡以及重新定向工作流(避免在重新定向时误用“新版本”)。


DTA 专属注意事项(务必检查)

注意事项问题解决方案
分别合并 Se/Sp忽略相关性使用双变量/HSROC 模型
忽略阈值效应造成异质性假象根据 SROC 图和双变量 Se–FPR 相关性判断(Spearman 仅作描述性分析)
将标准漏斗图用于 DTA不适用使用 Deeks 漏斗图
仅使用 I-squared 衡量异质性无法反映阈值效应使用 SROC 上的预测区域
缺少 GRADEDTA MA 中常见的遗漏应用 GRADE-DTA。如果研究少于 4 项,则对每个领域进行叙述性评估,并明确说明这一局限
部分验证偏倚高估敏感度QUADAS-3 3.2(对所有参与者评估目标状况)。QUADAS-3 不含流程与时间领域——那是 QUADAS-2 中的内容
差异性验证偏倚扭曲 Se 和 SpQUADAS-3 3.3(以相同方式评估所有参与者的目标状况)
排除无法评估的结果导致准确性估计偏倚报告诊断意向分析

小样本研究注意事项

纳入研究数量较少(< 10)时:

  • 双变量/HSROC 模型可能无法收敛(DTA 综述的研究少于 4 项时,提醒用户)——可考虑将单变量随机效应模型作为备用方案
  • 发表偏倚检验的统计效能不足——说明这一局限
  • 不建议进行亚组/Meta 回归分析
  • 预计预测区域较宽——在结论中强调不确定性
  • 可考虑以叙述性综合作为替代或补充

评论

支持 Markdown