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

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

メタアナリシススキル

メタアナリシスの種類

種類バイアスリスク評価ツール統計モデル報告ガイドライン
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(Population、Index test、Reference standard、Diagnosis)、介入では PICO(Population、Intervention、Comparator、Outcome)を使用します。

  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. RoB 計画:種類に応じたツール(上の表を参照)、独立した評価者を少なくとも 2 名配置し、意見の相違を解決する方法(合意形成、第 3 のレビュー担当者)を定めます。

  6. 統合計画:DTA には二変量ランダム効果モデル(Reitsma)または HSROC(Rutter & Gatsonis)、介入にはランダム効果モデル(フェーズ 6)を使用します。異質性、サブグループ/感度分析、出版バイアスの計画も定めます。

  7. PROSPERO 登録文書:${CLAUDE_SKILL_DIR}/references/PROSPERO_template.md を読み、フィールドガイド、文字数制限、出力形式(pandoc 経由の Markdown + DOCX)、および「よくある落とし穴チェックリスト」に従ってください。プロジェクトの 7_Submission/ または同等のディレクトリに保存します。

    • 登録 ID の形式チェック。PROSPERO ID は CRD42 + 9 桁の数字(合計 14 文字)です。例:CRD42024500001。原稿または登録文書に記載されている ID は、grep -oE 'CRD42[0-9]+' で検証し、14 文字であること、および ^CRD42\d{9}$ に一致することを確認してください。15 文字の ID(数字が 1 桁余分)は転記ミスであり、査読者が公開レコードと照合して確認します。
    • レビュー種別の選択。実際のデザインに最も適した(不一致が最も少ない)ポータル上のレビュー種別を選び、ポータルの制約があればプロトコルに記載します。単群の記述的な割合の統合は「介入レビュー」ではありません。ポータルの項目を満たすためだけにその種別を選ぶと、後の GRADE/効果の確実性に関する記述と矛盾します。プロトコルで定めた確実性に関する表現(GRADE または「エビデンスの記述のみ」)は、原稿と一字一句一致させる必要があります。記述的レビューの種別では、ガイドライン形式の「推奨します」という表現は正当化されません。
フェーズ 2:検索戦略

目標:再現可能な検索戦略を作成し、妥当性を確認します。

  1. PIRD/PICO の構成要素から検索ブロックを作成し、/search-lit を使ってデータベースごとに検索を実行します(PubMed:MeSH + フリーテキスト、Embase:Emtree + フリーテキスト、その他のデータベースはプロトコルの指定に従います)。
  2. PRISMA-S に従って報告します(Rethlefsen et al. 2021, PMID:33499930)。データベースごとに、検索日、検索結果数、適用した制限を記載したセクションを設けます。
  3. 結果を統合して重複を削除し、単一のスプレッドシートにまとめます。まず DOI、次に PMID で照合します。PRISMA フロー用に検索件数の生データを保存します。
フェーズ 3:スクリーニングと選定

目標:独立した 2 名のレビュー担当者による、タイトル・抄録および全文の体系的なスクリーニングです。ラウンドの実施時(除外コードセット、AI による事前スクリーニングのテンプレート、Methods の定型文)、または 3f/3f.5 のゲートが発動した場合(集合代数、照合表)は、references/phase3_screening_detail.md を参照してください。

3a. ラウンド 1 — タイトル・抄録(1 名のレビュー担当者)。プロトコルに基づいて除外コードを定義します。すべてのレコードに、理由コードとともに INCLUDE/EXCLUDE/MAYBE のいずれかを付けます → round1_{date}.tsv。

3b. ラウンド 2 — タイトル・抄録の二重独立スクリーニング。2 人目の独立したレビュー担当者(または、人間による検証を伴う、記録された 2 回目の確認用ツールとしての AI)が、R1 のすべてのレコードを再スクリーニングします。Methods に Cohen の κ を記載します。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 のレコードについて、全文の除外コード、独立した 2 名のレビュー担当者、Cohen の κ、合意形成または 3 人目のレビュー担当者を含めます。優先的に抽出する比較研究にフラグを付けます。

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

後続の段階では、件数と ID 集合に screening_consensus.json を使用します。Markdown の合意形成文書は、人間向けの説明として引き続き使用します。厳守するルールは 3 つです。

  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 にはさらに 2 つのゲートがあります。どちらかの終了コードが 0 以外の場合、フェーズ 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の5項目間のずれ、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 の接尾辞を付けて保存し、N、分母、イベント数、OR/CI、著者/年をすべて原著PDFと照合してください。信頼度の優先順位は 原著PDF+自分で実行した分析のstdout > メンターからの直接の文章 > 添付されたAIのドラフト です。ドラフトをこの優先順位で上位に引き上げてはいけません。

4b. 特殊ケース(KMの再構築、複合曝露)。 研究のアウトカムがKaplan-Meier曲線のみで報告されている場合、または介入が複数の手法の組み合わせである場合は、${CLAUDE_SKILL_DIR}/references/phase4_km_composite.md を読み、WebPlotDigitizer → IPDfromKM の手順(Guyot et al. 2012、doi:10.1186/1471-2288-12-9を引用)と、複合曝露の4経路の判断ツリーを確認してください。複合曝露研究を除外した感度分析を事前に規定してください。

相互検証(独立した査読者2名以上)。 タイトル/抄録段階と全文段階で、査読者間の一致度(%またはCohenのκ)を報告してください。分母の一貫性を検証してください。**1つの研究でも、アウトカムによって分母が異なる場合があります。**そのため、アウトカムごとに 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を再実行し、未解決のフラグがゼロであることを確認してからロックしてください。重複の確信度がHIGHのペアについては、「限界」にその旨を記載し、ペアの一方を除外した感度分析を行ってください。

フェーズ 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 の前に 3 方向の数値を照合)。

必ず R を使用してください(パッケージ:meta、metafor、mada)。報告するすべての推定値、CI、p 値、サンプルサイズは、実行したコードの出力から取得してください(フェーズ 6b で監査します)。データセットの列名やコーディングを推測してはいけません。対応関係が不確かな場合は、[VERIFY: variable_name] を出力し、データ辞書を確認するようユーザーに依頼してください。

分析ファミリー主なツール主な出力
DTAmada::reitsma()(2 変量)統合 Se/Sp + 信頼領域/予測領域付き SROC
介入meta::metagen()/meta::metabin()統合 OR/RR、τ² + I² + 予測区間、尺度に合ったファンネル検定(k ≥ 10)、1 件ずつ除外する分析
デュアル(比較+単一群)metabin + metaprop事前規定プロトコルに基づく PRIMARY と SECONDARY

統合分析を実行する前に ${CLAUDE_SKILL_DIR}/references/phase6_statistical_synthesis.md を読んでください。ここには、完全な R コードテンプレート(関連資料:${CLAUDE_SKILL_DIR}/references/r_templates.md)、デュアルアプローチの判断表(比較 vs 単一群)、実務上の注意点(method.tau、HK CI、ゼロセル補正)、出版バイアス検定の検出力、感度分析の選択肢、エラー処理のルールが記載されています。各分析の統合推定値、異質性統計量、k を、実行した R の出力から取得して analysis/meta_analysis_outputs.json に記録してください。

統合結果を記述する前に、次の 3 点を確認してください — それぞれ Methods の文に記載し、設定だけにとどめないでください。R と詳細は同じ参考資料にあります。

  1. イベントはまれですか? 統合イベント率が 1% 未満、または 0 イベントの群がある場合は、分析方法をデフォルトの逆分散法から、Peto 法/Mantel-Haenszel 法(ゼロセル補正なし)/GLMM に変更します。DerSimonian-Laird 法を含む逆分散法は、まれなイベントには使用しないでください。また、これらの方法と組み合わせた 0.5 の連続性補正も避けてください。
  2. なぜこのモデルを選ぶのですか? 固定効果とランダム効果の選択は、共通の真の効果が 1 つ存在するかどうかについての判断であり、Cochran の Q や I² から導き出すものではありません。「I² が 65% だったため、ランダム効果モデルを使用した」というのは、妥当な根拠ではなく、査読で指摘される内容です。
  3. 1 件の研究から相関する効果量が複数得られていますか? 同じ参加者から得られた複数のアウトカム、判定者、閾値、時点については、研究ごとに事前規定した推定値を 1 つ選ぶか、多変量モデル、またはロバスト分散推定を使用する必要があります。独立したものとして統合してはいけません。

比率 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 の出力が変更されるたび(初稿、改訂、査読者の要請による再分析など)に実行します。「軽微な」再実行も含みます。前例:軽微な改訂段階での再分析において、抽出 CSV は正しかったにもかかわらず、誤読した原資料の表をもとに Fisher の matrix() を手入力したため、安全性アウトカムの群別イベント数(および p 値)が逆の方向で報告されました。後続の成果物はすべて誤った数値を反映していたため、内部整合性チェックでは問題が見つからず、原著論文とのランダムな照合で初めて誤りが発覚しました。

譲れないルール:

  1. CSV がある場合、数値行列を手入力しないでください。 read.csv(...) とサブセット化/フィルターを使用し、論文の 2×2 表を目視で matrix(c(...), ...) に転記してはいけません。手入力がどうしても避けられない場合(例:テキストのみの抽出)は、matrix、c()、または data.frame の行に、該当する 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 に群別値の明示的な行を設ける必要があります。プールした合計値と群別値を同じ行に記載してはいけません。

  3. フェーズ 6 を終える前に、ランダムに選んだ 3 つの主張を遡って照合してください。 フォレスト/ファンネル/サブグループ分析の出力が確定した後、原稿の結果から数値に関する主張をランダムに 3 つ選び、それぞれを(a)R の出力ログと(b)原著論文の表/図まで遡って照合してください。照合結果を peer_review_<vN>_internal.md に記録します:

    主張(原稿の行)R 出力ファイル:行原資料(論文、表/図、ページ)一致?

    1 件でも不一致があれば P0 のブロッカーです。解決するまでフェーズ 7 に進んではいけません。

  4. 改訂で追加した数値にはタグを付けてください。 v1 以降に追加した新しい数値は、新しい比較分析/サブグループ分析/感度分析スクリプトによる数値も含め、フェーズ 2.5a の監査で /self-review にて確認されるまで、原稿内で [VERIFY-CSV] をインラインで付ける必要があります。

  5. 感度分析は、変更後のデータで再計算し、転記してはいけません。 感度分析/1 件除外分析/エロージョン分析/代替モデル分析で報告するすべての効果量(Cohen's dz/f、AUC、OR、HR、β、sens/spec、ICC)は、変更後のデータセットから再導出する必要があります。感度分析表の効果量が 2 桁の小数まで主要分析と同一である値が 4 つ以上あり、その一方で基礎となる平均値/SD/件数が異なる場合は、再計算が実行されていない可能性があります(1 件除外による小さな変動は丸めると同じ値になる場合があるため、決めつけずスクリプトの出力で確認してください)。主要分析の値を転記した可能性があるため、変更後のデータでスクリプトを再実行してください。

  6. 監査メモで「修正済み」/「解決済み」とするには、主張ではなく再実行の証拠が必要です。 fixed、resolved、または corrected と記録された数値は、修正後の値が示されたタイムスタンプ付きの stdout/出力ファイルの行、またはその数値を変更したコミットがある場合にのみ有効です。「v10 で修正済み」と記載するだけでは、指摘事項は解消されません。スクリプトを再実行して、その出力を添付してください。「固定」ステータスを認める前に、アウトカムの分母のクロスチェック(/self-review フェーズ 2.5b のコホート算術/プールロックのアサーション)が現在の出力に対して合格している必要があります。

フェーズ 7:GRADE/エビデンスの確実性

目標:エビデンス全体の確実性を評価します。

DTA:GRADE-DTA — バイアスリスク(QUADAS-3、または旧レビューではQUADAS-2による)、非直接性 (適用可能性に関する懸念)、不一致(異質性)、不精確性(信頼区間が広い、サンプルが小さい)、 出版バイアス。介入:標準的なGRADE。

確実性はレビュー全体で一度ではなく、アウトカムごとに評価します。 ドメインの評価は アウトカムごとに異なります。12件の研究を統合した信頼区間の狭い結果と、3件を統合した信頼区間の広い結果で 評価が同じになるとは限りません。また、レビュー全体に対する「確実性は中程度」という一文だけでは、 読者が知りたいアウトカムについて何も伝わりません。エビデンスの要約 (Summary of Findings)表に含めるすべてのアウトカムを評価し、最終的な評価ラベルだけでなく、 格下げの理由(どのドメインか、なぜか)をそれぞれ明記してください。

出力:エビデンスの要約(Summary of Findings)表 — アウトカムごとに1行とし、統合推定値と その精度、および確実性の評価(高/中程度/低/非常に低い)を併記します。

フェーズ 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項目すべてを満たしていても、抄録の12項目の大半を 満たさないことがあります。両者を合算して1つのスコアにすると、その不備が見えなくなります。

  2. 原稿を執筆する:メタ分析の種類を指定して /write-paper を実行し、manuscript/manuscript.md に出力します。 参考文献を記憶から生成してはいけません。引用にはすべて /search-lit を使用してください。

  3. 図(/make-figures):PRISMAフロー図、フォレストプロット(DTAではペアで作成)、SROC曲線 (DTA)、ファンネルプロット(DTAではDeeks法 — DTAの落とし穴を参照)、RoB要約(信号機プロット)。

  4. 表:採用研究の特性、研究ごとの2x2データ(DTA)、RoB評価結果、エビデンスの要約(Summary of findings)/ GRADE表(アウトカムごとに1行 — フェーズ 7)。

  5. 放射線学分野のSR/MA論文で最も頻繁に欠落している項目 — 準拠性チェックの前に、これらを手作業で確認してください。 Park 2022(Korean J Radiol;PMID:35213097)は、PRISMA 2020に照らして24件のSR/MA(うち18件はメタ分析あり)を評価しました。 各項目の割合はそれぞれ独自の分母(メタ分析のみの項目は18件)を用いて算出され、42項目中24項目が80%未満の報告率でした。

    PRISMA項目欠落している内容観察結果
    20a各統合について、寄与した研究の特性とバイアスリスクの簡潔な要約 — すべての統合結果を網羅する全体的な段落を1つ記載するだけでは不十分です0/24
    27データの利用可能性:抽出フォーム、抽出データ、解析データセット、解析コードのうち、どれが公開されているか、およびその公開場所0/24
    24a–c登録番号、プロトコルの閲覧場所、変更の有無 — 明示的に「未登録」と記載すれば24aを満たします0/24
    22 / 15アウトカムごとのエビデンスの確実性と、その評価に用いた方法9%
    13f / 20d感度分析:方法と結果28%(5/18)
    18研究ごとのバイアスリスク。統合した割合ではなく、研究ごとに示す32%
    13d統合モデルの選択理由(フェーズ 6 の確認項目2を参照)28%(5/18)
    16b適格に見えるものの除外した研究を、除外理由とともに個別に引用する25%
    抄録 #3、#12構造化抄録内の適格基準と登録情報それぞれ0/24

    PROSPERO IDがない場合は、限界として指摘したうえで作業を続けてください。

  6. データの利用可能性に関する声明:何を共有するのか(抽出テンプレート、ロック済みデータセット、解析コード、RoB 評価)と、その公開場所(リポジトリ、DOI、補足ファイル)を明記してください。「合理的な要請があれば責任著者から入手可能」という記載を認めるジャーナルは現在ではほとんどなく、項目 27 の要件も満たしません。受理後に Zenodo DOI を取得する場合は、references/post_submission_release_ops.md に、この声明へ DOI を反映する手順が記載されています。

  7. 補足資料と解析コードの投稿前ゲート(Phase 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=9 と報告しているのに、統合対象が k=7 など)は P0 です。修正して再実行し、古いコードや、それから生成された図を提出しないでください。
    • 補足資料のみのレビューを実施する:原稿の自己レビューでは補足資料が確認されないため、補足ファイルにも /self-review Phase 2.5c~2.5d(参考文献と相互参照の QC)を同様に実施してください。
  8. 投稿ゲート(Phase 8 の投稿前、および投稿先ジャーナルを変更するたびに実施。終了コードが 0 以外の場合は投稿できません)。

    • /sync-submission の SR-MA ゲート:補足資料パッケージに、templates/supplementary_8file_checklist.md に記載された 8 ファイルすべてが揃っていることを確認します(PRISMA、PROSPERO、検索戦略、除外リスト、抽出表、研究ごと x ドメインごとの RoB、サブグループのフォレストプロット、感度分析/出版バイアス)。AI Disclosure が含まれていること(/peer-review Phase 2A P8 と相互参照)、引用リストに重複する PMID/DOI がないこと(/verify-refs Gate 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 を1か所で追跡)。図を本文にインラインで配置した原稿本文を添付し、v≥2 の場合は変更概要も添付します。投稿先ジャーナルが確定するまでは、グラフィカルアブストラクト、カバーレター、COI フォーム、補足資料は添付しません。TO = 責任著者 + 上級の方法論専門家1名、CC = 残りの共著者。期限を7日間(営業日5日 + 週末)に設定します。責任著者に、投稿先ジャーナルの希望、査読者候補、カバーレターの方向性を尋ねます。

必要に応じて読み込む手順の詳細(スレッドの連続性、添付範囲の根拠、サイズ別の方法の表、投稿先ジャーナル未確定時の方針、回答追跡ログ): ${CLAUDE_SKILL_DIR}/references/phase9_circulation.md。

失敗モードの相互参照 → references/review_orchestration.md RO-1~RO-5(2者による評価の完全性、防御的な口調の偏り監査、回答マトリックスの数値追跡、2人目の査読者の対応可能性によるブロック)。


フェーズ 10:自己監査からの復旧(v{N} → v{N+1} スプリント)

目標:監査で構造上のデータ誤りまたはプロトコル適用上の誤りが見つかった場合、現行バージョンを撤回して再構築し、監査証跡を明示して再回覧します。

トリガー条件(いずれか1つ):

#トリガーソース
T1統合/サブグループ推定値または報告割合に使われるセルについて、抽出 CSV と一次資料が一致しないフェーズ 6b 監査
T2再読時に、採択/除外した研究が事前規定の基準に違反しているプロトコルレビュー
T3解析スクリプト内の手入力数値リテラルが誤った値にたどり着くフェーズ 6b 監査
T4PROSPERO プロトコルと提出済み解析の間で、アウトカム、サブグループ、または適格性に不一致があるプロトコル ↔ 解析の差分
T52名の査読者による合意記録とロック済みデータセットの間で、採択に不一致がある合意ログの差分

譲れないルール:フェーズ 9 の回覧後、ジャーナルへの投稿前にトリガーが発生した場合、24時間以内に現行バージョンを撤回します。査読者に発見されることは、自己撤回より明らかに深刻な失敗モードです。

スプリント:${CLAUDE_SKILL_DIR}/references/phase10_recovery.md を読み、10.1(qc/audit_vN_to_vNplus1.md の監査ログ)から、PROSPERO の修正(適用上の訂正であり、基準の変更ではありません)、フェーズ 9 のスレッドでの再回覧を経て、10.12(復旧後のループ)までの12ステップを実行します。

失敗モードの相互参照 → references/post_submission_release_ops.md の Gate 4 では、却下/改訂時の Zenodo のバージョン管理、タグのクリーンアップゲート、再ターゲットワークフロー(再ターゲット時に「new version」を誤用しないこと)を扱います。


DTA 固有の落とし穴(必ず確認)

落とし穴問題解決策
Se/Sp を個別に統合相関を無視します二変量/HSROC モデルを使用します
閾値効果を無視偽の異質性が生じますSROC プロットと二変量 Se–FPR 相関から判断します(Spearman は記述目的に限ります)
DTA に標準的なファンネルプロットを使用不適切ですDeeks のファンネルプロットを使用します
異質性の評価に I-squared のみを使用閾値効果を捉えられませんSROC 上の予測領域を使用します
GRADE の欠落DTA メタアナリシスでよくある漏れですGRADE-DTA を適用します。研究が4件未満の場合は、各ドメインを叙述的に評価し、限界を明示します
部分的な検証バイアス感度を過大評価しますQUADAS-3 3.2(すべての参加者で対象状態を評価)。QUADAS-3 に Flow & Timing ドメインはありません。これは QUADAS-2 のものです
差別的な検証バイアスSe と Sp の両方を歪めますQUADAS-3 3.3(すべての参加者で同じ方法により対象状態を評価)
評価不能な結果を除外精度推定値に偏りが生じます診断意図解析を報告します

少数の研究に関する考慮事項

対象となる研究数が少ない場合(< 10):

  • 二変量/HSROC モデルは収束しない可能性があります(DTA レビューの研究数が 4 件未満の場合はユーザーに警告してください)。代替策として、単変量ランダム効果モデルを検討してください
  • 出版バイアス検定の検出力が不足するため、この限界を明記してください
  • サブグループ解析/メタ回帰分析は推奨されません
  • 予測領域が広くなることが予想されるため、結論の不確実性を強調してください
  • 代替策または補完策として、ナラティブ統合を検討してください

コメント