mcpField
F
find-cohort-gap

find-cohort-gap

github.com/aperivue生産性353113 回インストール1 日前に更新
リポジトリ

find-cohort-gap について

find-cohort-gapは、コホートデータとPIの専門性をもとに臨床研究テーマを選ぶためのスキルです。文献の飽和度、研究上の差別化、実行可能性を評価し、順位付きの提案を作成します。

主な機能

  1. 01コードブックからコホート概要を作成
  2. 02コホート変数とPIの専門性を照合
  3. 03文献の飽和度と縦断研究の不足を調査
  4. 046つのパターンでテーマを評価
  5. 05サンプル数、欠測、倫理面を評価
  6. 06順位付き提案と研究概要を作成

活用シーン

  1. 01施設レジストリやEMR出力データの評価
  2. 02研究者の専門性に合うコホートテーマの探索
  3. 03候補テーマの論文発表機会の比較
  4. 04研究計画の実行可能性の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aperivue/medsci-skills --skill find-cohort-gap

インストール後、Claude Code で/find-cohort-gapを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

skill.yml
references/
cohort_profile_template.md
onepager_template.md
pattern_scoring_rubric.md
saturation_query_templates.md
scripts/
build_cohort_profile.py
tests/
test_cohort_profile.sh

詳細

Find-Cohort-Gap スキル

出力ディレクトリ:ユーザー指定(デフォルト:現在の作業ディレクトリ)。

フェーズ 0:コホートの受け入れ

このスキルが把握しているコホートである必要はありません。ユーザーが実際に持っているデータに応じて対応します。

ユーザーが持っているもの…対応
名称が知られた公開コホート(NHIS、UK Biobank、KNHANES、…)公開文書に基づいてプロファイルを作成します。すべての項目について出典を引用します。
独自のレジストリや EMR 抽出データの コードブック/データ辞書/CSV エクスポート以下の入力アダプターを実行します。これが一般的なケースです。公開文書で説明されていない、施設のレジストリや単一施設からのエクスポートデータが該当します。
臨床領域を定義する レビュー、ガイドライン、プレプリントドメインコンテキストとしてファイルまたは URL を --context で指定します。
入力アダプター(ローカルのコードブック/文書)
python3 "${CLAUDE_SKILL_DIR}/scripts/build_cohort_profile.py" \
  --codebook data_dictionary.csv \
  --context narrative_review.pdf --context https://example.org/guideline \
  --cohort-name "Institutional CT registry" --out-dir .

形式:.csv/.tsv/.json/.md/.txt(標準ライブラリ)、.xlsx(openpyxl が必要)、 .pdf(pdftotext が必要)。.csv は コードブック(行が変数)または データエクスポート(ヘッダー行が変数リスト)として自動判定されます。 cohort_profile.md + cohort_profile.json(+ context_extract.md)を出力します。

コードブックを自分で読んで要約してはいけません。 言い換えたり、統合したり、作り上げたりした変数は、下流の主張すべて、つまり交差マトリクス、実現可能性ゲート、さらには最終的に論文の Methods にまで誤りをもたらします。アダプターは出典(file:row)とともに変数を逐語的に列挙します。cohort_profile.md を読み、そこから再導出してはいけません。

アダプターは、変数クラスターのマップ、連続/反復測定グループ(P1「縦断的優位性」の根拠)、およびエンドポイント候補(P2「エンドポイントの向上」の根拠)を推測し、その過程を示します。どのクラスターキーワードにも一致しない変数は unclassified のままになります。語彙リストは網羅的ではないため、これらを確認してください。

アダプターでは分からないこと — 推測せず、必ず尋ねる

コードブックには以下の情報が記載されていないため、それぞれ [UNKNOWN - ask the user] として出力されます。

  1. サンプルサイズ(ベースライン時の N、フォローアップを受けた N)
  2. 期間(登録期間、フォローアップ期間、測定間隔)
  3. 既知の限界(健常ボランティアバイアス、脱落、欠測パターン)
  4. このコホートの既存の出版物(重複を避けるため)
  5. IRB のステータスとデータアクセス経路

これらはフェーズ 2 の前にユーザーから収集してください。N を推測すると、その値がフェーズ 5 の実現可能性ゲートに反映され、コホートとは無関係な理由で合格または不合格になるためです。また、設定(機関の種類、国、対象集団の種類)と、変数名からは分からない特別な強み(レジストリ連結、バイオバンクの利用可否、特徴的な集団)も確認してください。

ゲート: [UNKNOWN] の一覧と未分類の変数を含むコホートプロファイルの概要を提示します。続行前に確認を得てください。

フェーズ 1:PI/CA のプロファイリング

PI または責任著者のプロファイルを作成し、研究トピックとの専門性の適合を調べます。PI が指定されていない場合は、このフェーズを省略し、フェーズ 2 では変数クラスターのみを使用します。

  1. /search-lit の E-utilities スクリプトを使用して、PubMed で PI の直近 5 年間の出版物を検索します。 bash "${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh" search "AuthorLastName AuthorFirstInitial[Author]" 30 論文タイトルと抄録から、上位のキーワードクラスターを抽出します。
  2. 専門分野の兆候を特定します:学会での役職(会長、役員、編集者)、サブスペシャリティの重点領域、好んで投稿するジャーナルのティア。
  3. PI のキーワードマップを作成します:出版頻度順にランク付けした 5~10 個のキーワードクラスター。

出力: PI プロファイルカード(氏名、所属、上位キーワード、学会での役職、好んで投稿するジャーナル)。

フェーズ 2:交差マトリクス

コホートの変数クラスターと PI の専門性を照合し、トピック候補を生成します。

方法

マトリックスを作成します。行はDB変数クラスター、列はPIキーワードクラスターです。 各セルを0〜3で評価します。

  • 3:PIがこの完全に一致する組み合わせで論文を発表している(直接一致)
  • 2:PIのサブスペシャリティがこの領域をカバーしている(関連性が高い)
  • 1:間接的な関連(可能性はあるものの、位置付けが必要)
  • 0:関連なし
候補の生成
  1. スコアが2〜3のすべてのセルを主要候補として抽出します。
  2. スコアが1のセルには、A-B置換テストを適用します。「同様のコホートで、[この解析]を[異なる曝露/アウトカム]を用いて発表した人はいるか?」該当する場合は、PIの専門分野の変数に置き換えることで、実現可能な候補になります。
  3. PICO形式で候補となるトピックの記述を20〜40件生成します。Pはコホートの対象集団、Eは曝露/予測変数、Cは比較群、Oはアウトカム(できればハードエンドポイント)です。
専門分野との整合性フィルター

飽和度のスキャンを行う前に、筆頭著者の所属部門/専門分野を特定します。主要な曝露変数は、その専門分野に属している必要があります(例:筆頭著者が放射線科の場合、画像診断変数を主要な曝露とする)。主要な曝露が筆頭著者の専門分野の範囲外にある候補は除外します。PIとの適合性が高くても、筆頭著者が中核変数の主導権を主張できなければ不十分です。

**ゲート:**交差マトリックスと、専門分野フィルター適用後の上位20候補を提示します。ユーザーが飽和度スキャンの対象を8〜12件選択します。

フェーズ3:文献の飽和度スキャン

選択した候補ごとに、文献がどの程度飽和しているかを判断します。

検索戦略

各候補について:

  1. PubMed クエリを作成します:(exposure terms) AND (outcome terms) AND (cohort OR longitudinal OR prospective)
  2. /search-lit E-utilities 経由で検索を実行します。
  3. 総検索結果数を数えたうえで、重要なフィルターの質問 — 「連続/反復測定を用いてこれを発表した人はいるか?」 — を確認し、メタアナリシスの有無も調べます。 評価:
論文数縦断研究の論文数メタアナリシスの有無評価解釈
0-20なしブルーオーシャン初の報告が可能です。このトピックに読者の関心があるか確認してください。
3-100なしグリーンフィールド最適な領域 — 関心は確立されており、縦断研究のギャップが大きく開いています。
11-300なしグリーンフィールド(イエローから格上げ)上記と同様です。
1-301+なしイエロー非常に限定的な切り口(独自の集団、新規のエンドポイント)がある場合に限り、実現可能です。
>30任意なしイエロー(レッドに近い)上記と同様です。
任意任意あり、古い(>5 yr)または対象範囲が限定的イエロー上記と同様です。
任意任意あり、最近レッドNMAを実施する場合、または真に独自のデータを使用する場合を除き、避けてください。
「それで何が変わるのか」テスト

各候補について、研究結果から考えられる臨床上の意義を2〜3点述べます。 臨床医や政策立案者がその結果を重視する理由を説明できない場合、ギャップスコアにかかわらず、そのトピックは不適格です。

**出力:**各候補について、評価、論文数、縦断研究のギャップ状況、「それで何が変わるのか」の記述をまとめた飽和度テーブル。

**ゲート:**飽和度の結果を提示します。ユーザーが詳細評価に進む最終候補を3〜5件選択します。

フェーズ4:6パターン評価+比較テーブル

各最終候補に6パターンのフレームワークを適用します。各パターンを0または1で評価します。

6パターン(共通)

詳細な評価基準 ${CLAUDE_SKILL_DIR}/references/pattern_scoring_rubric.md を読み、各最終候補を P1 縦断的優位性、P2 エンドポイントの向上、P3 コホートの独自性、P4 PIとトピックの適合性(PIが指定されていない場合は省略)、P5 比較テーブルのギャップ(以下のテーブルで、この研究に固有の特徴が3つ以上あること)、P6 相補的な研究デザインについて評価します。

比較表の作成

最終候補ごとに、上位3~5件の既存論文と本研究を比較する表を作成します。 特徴(デザイン、N、連続データ、ハードエンドポイント、対象集団、民族性、サブグループ解析など)ごとに1行とします。評価基準のP5に、作成手順と差別化のカテゴリーが記載されています。 既存論文の引用には、/search-litで確認済みのDOIまたはPMIDのみを使用してください。それ以外は、参照情報に[UNVERIFIED - NEEDS MANUAL CHECK]と記載します。

スコアの解釈
合計スコア推奨
5-6トップクラスのジャーナルを目標にします(Lancet sub、JACC、J Hepatol レベル)
3-4専門誌を目標にします(堅実な出版先)
0-2再構成するか中止します。先に、より有力な切り口を見つけてください

ゲート: スコア結果と比較表を提示します。ユーザーが最終順位を承認します。

Phase 5: 実現可能性ゲート

スコアを付けた最終候補ごとに、実務上の実現可能性を検証します。

確認項目
  1. サンプルサイズの妥当性:
    • Cox回帰およびロジスティック回帰:予測変数あたり最低10イベント(EPVルール)
    • 大規模コホート(N>100K)でアウトカムイベントが多い場合:小さな効果でも統計的に有意になることに注意してください(検出力はNではなくイベント数に依存するため、まずイベント数を確認します)。そのため、効果量の閾値(臨床的意義の例:HR >1.2または<0.8)に注目します。
    • 非常に大規模なサンプルでは、ネガティブコントロール戦略(EPCV)を検討します。
  2. 欠測データ:主要な曝露変数の欠測が20%未満であれば許容可能です。主要アウトカムの欠測は5%未満とします。連続データがある場合は、脱落パターン(MCAR/MAR/MNAR)を評価します。
  3. 追跡期間の妥当性:利用可能な追跡期間内にアウトカムが発生する妥当な潜伏期間が必要です。がんアウトカムは最低5年、CVDイベントは最低3年、死亡率は最低5年とします。
  4. 操作的定義:
    • 利用可能な変数から曝露を定義できますか?
    • 請求データの場合:ICDコードのみでは精度は40~60%です。組み合わせによる判定方法(診断+処方+受診頻度+特別コード)が必要です。
    • 既知の疫学データと照らし合わせ、予想有病率を確認します。
    • 出典を確認できない臨床上の定義、診断基準、ガイドラインに関する主張には[VERIFY]を付け、ユーザーに確認します。
  5. IRB/倫理:この種の解析について、データはすでにIRB承認済みですか? データ連結に追加の承認が必要ですか?
  6. 疾患の新規性ボーナス(情報提供のみ。Go/No-Goの判定には使用しません):特発性の病因または議論のあるメカニズムは、ジャーナルの関心が高まります。確立されたメカニズムの場合は、より強い方法論上の新規性が必要です。
判定
  • Go:すべての確認項目を通過しています。
  • Conditional Go:軽微な問題があり、解決可能です(例:欠測データは補完法で対処可能)。
  • No-Go:致命的な問題があります(イベント数不足、有効なエンドポイントがない、主要変数が利用できない)。

出力: 最終候補ごとに、Go/Conditional/No-Goのステータスを記載した実現可能性レポートを作成します。

Phase 6: 出力 — 順位付けした提案+1ページ資料

順位付きサマリーテーブル
| Rank | Topic (PICO) | Saturation | 6-Pattern Score | Feasibility | Target Journal | Timeline |
|------|--------------|------------|-----------------|-------------|----------------|----------|
| 1 | ... | Green (0 longitudinal) | 5/6 | Go | JACC | 6 months |
| 2 | ... | Blue (0 papers) | 3/6 | Conditional | Radiology | 8 months |
最終候補ごとの1ページ資料

${CLAUDE_SKILL_DIR}/references/onepager_template.mdにあるテンプレートの全セクションを記入します。選定理由(PIとの適合性、対象範囲との一致、ギャップへの適合性)とともに、投稿先ジャーナルを記載してください。1ページ資料は、次のMarkdownファイルとして保存します:{output_dir}/gap_proposal_{rank}_{short_topic}.md

後続工程: 出力は/design-study → /write-paperに引き継がれます。

コメント