mcpField
T
tooluniverse-pharmacovigilance

tooluniverse-pharmacovigilance

github.com/mims-harvardデータ・データベース1.8k421 回インストール3 日前に更新
リポジトリ

tooluniverse-pharmacovigilance について

FAERS の有害事象データ、FDA の添付文書、薬理ゲノミクス、臨床試験のシグナルを用いて薬剤の安全性を体系的に分析する ToolUniverse スキルです。シグナルを定量化し、重症度で分類して複数の情報源を照合します。

主な機能

  1. 01FAERS の有害事象シグナルの定量化
  2. 02重症度に基づく事象の分類
  3. 03添付文書と臨床試験データの統合
  4. 04薬理ゲノミクスリスクの評価
  5. 05リスク・ベネフィット要約の作成

活用シーン

  1. 01薬剤の潜在的な安全性懸念の調査
  2. 022 種類の薬剤の有害事象シグナルの比較
  3. 03特定の有害事象と薬剤の関連根拠の評価

MCP 対応

このスキルは ToolUniverse のツールで FAERS、FDA 添付文書、PharmGKB、臨床試験の安全性データを検索します。入力には MCP プロトコルとの直接的な関係は記載されていません。

インストール

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-pharmacovigilance

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

同梱ファイル

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

CHECKLIST.md
EXAMPLES.md
REPORT_TEMPLATES.md
SIGNAL_ANALYSIS.md
SIGNAL_DETECTION.md
TOOLS_REFERENCE.md

詳細

説明するのではなく、計算する

分析に計算(統計、データ処理、スコアリング、情報の付加)が必要な場合は、Bash 経由で Python コードを記述して実行してください。実行する内容を説明するのではなく、実際に実行して結果を報告してください。ToolUniverse のツールを使ってデータを取得し、その後 Python(pandas、scipy、statsmodels、matplotlib)で分析してください。

ファーマコビジランス安全性アナライザー

FAERS の有害事象データ、FDA の添付文書、PharmGKB の薬理ゲノミクス、臨床試験の安全性シグナルを用いた体系的な医薬品安全性分析です。

主な原則:

  1. レポート優先のアプローチ - まずレポートファイルを作成し、段階的に更新します
  2. シグナルの定量化 - 不均衡分析指標(PRR、ROR)を使用します
  3. 重症度による層別化 - 重篤または致死的な事象を優先します
  4. 複数ソースによる三角測量 - FAERS、添付文書、臨床試験、文献を使用します
  5. 薬理ゲノミクスの考慮 - 遺伝的リスク要因を含めます
  6. 実行可能な出力 - 推奨事項を含むリスク・ベネフィットの要約を提示します
  7. 英語を優先したクエリ - ツールの呼び出しでは、常に英語の医薬品名を使用します

使用する場面

ユーザーから次のような質問があった場合に適用します:

  • 「[医薬品] の安全性に関する懸念事項は何ですか?」
  • 「[医薬品] にはどのような有害事象が関連していますか?」
  • 「[医薬品] は安全ですか?どのようなリスクがありますか?」
  • 「[医薬品 A] と [医薬品 B] の安全性プロファイルを比較してください」
  • 「[医薬品] のファーマコビジランス分析をしてください」

臨床推論フレームワーク

推論戦略 1:オンターゲットとオフターゲットの考え方

次の点を確認します。この有害作用は、医薬品の作用機序から予測可能な延長線上にあるもの(オンターゲット)でしょうか。それとも、その作用機序では説明できないものでしょうか(オフターゲット)。オンターゲット作用は用量依存性があり、予測可能です。オフターゲット作用は特異体質的なことが多く、予測が困難です。

適用方法:

  1. 医薬品の主な作用機序を調べます(ChEMBL または DailyMed の添付文書を使用します)
  2. 報告された有害事象ごとに、「この医薬品の標的への作用から、論理的に説明できるか」を確認します。説明できる場合はオンターゲット毒性であり、用量依存性が予想されるため、用量の減量で対処します
  3. 有害事象を主な作用機序で説明できない場合は、オフターゲット受容体への結合、または反応性代謝物の生成を検討します。こうした事象には異なる対処が必要です(用量調整ではなく、医薬品の中止)
  4. KEGG の経路データを使用して、有害な中間体を生成する可能性のある代謝経路を特定します

推論戦略 2:診断ツールとしての発現時期

有害事象は、医薬品の投与開始からどのくらい経って発現したでしょうか。発現時期だけでも、機序を絞り込むことができます:

  • 数時間 = アナフィラキシー、即時型過敏症、または直接的な薬理作用の過剰発現
  • 数日 = 血清病、細胞傷害性反応、薬理作用の累積
  • 1~6 週間 = 遅延型過敏症(SJS/TEN、DRESS)、臓器への蓄積
  • 数か月 = 慢性毒性、臓器損傷の累積
  • 数年 = 長期的な累積作用

適用方法:FAERS の症例報告を確認する際は、必ず time_to_onset フィールドを確認します。報告された発現時期が想定される機序と生物学的に整合しない場合は、交絡または誤った帰属を疑います。医薬品の投与開始から数年後に現れる反応が免疫介在性である可能性は低いものの、慢性的な蓄積による可能性はあります。


推論戦略 3:用量依存性と特異体質性の分類

この区別によって、モニタリング戦略と管理方法が決まります。

  • 用量依存性(Type A):薬理作用から予測できます。用量反応関係があります。用量を減らすことで管理できます。これらは、標的に対する作用が過剰になった毒性です。
  • 特異体質性(Type B):薬理作用だけからは予測できません。明確な用量反応関係はありません。多くの場合、免疫が介在するか、代謝上の特異体質(例:薬物代謝における遺伝的変異)が原因です。薬剤を中止する必要があり、用量を減らしても効果はありません。
  • 混合型:ほとんどの患者では用量依存性であるものの、遺伝的に感受性の高い患者では特異体質性となる反応もあります。「Type A」の反応が予想外に低い用量で発生した場合は、薬理ゲノム学的要因の関与を疑ってください。

適用方法:安全性シグナルを評価するときは、Type A または B に分類してください。これによって、用量調整(Type A)を推奨するか、薬剤の回避と薬理ゲノム学的スクリーニングの検討(Type B)を推奨するかが決まります。


推論戦略 4:因果関係の分類に用いるNaranjoアルゴリズム

薬剤の有害事象が疑われる場合、Naranjoアルゴリズムでは次の点を確認します。(1)薬剤の投与後に事象が発生したか。(2)薬剤の中止後に改善したか。(3)再開後に再発したか。(4)ほかの原因で説明できるか。各質問に点数を付けて、因果関係を分類します。

推論戦略 5:再投与に関する問い

薬剤の再開後に事象は再発しましたか。再投与による再発は、個々の症例における因果関係を示す最も強い根拠です。ただし、重篤な反応の場合、再投与は倫理的に許容されないことが多いため、再投与データがないからといって薬剤の関与が否定されるわけではありません。

適用方法:症例の経過やFAERSの報告を確認する際は、投与中止後の経過(薬剤の中止後に事象が消失したか)と再投与(再曝露時に再発したか)を確認してください。投与中止後に消失し、再投与後に再発していれば、因果関係はほぼ確定的です。投与中止後も消失しなかった場合は、因果関係が大きく弱まります。


推論戦略 5:不均衡分析に基づく推論

FAERSにおけるシグナルは、薬剤と事象の組み合わせが予想より多く報告されていることを意味します。薬剤が事象を引き起こすことを意味するわけではありません。報告バイアスを考慮してください。

  • 軽度の事象より重篤な事象のほうが多く報告されます
  • 古い薬剤より新しい薬剤のほうが多く報告されます(Weber効果)
  • 重症患者に処方される薬剤では、基礎疾患を反映している可能性のある事象が薬剤に起因するとみなされることがあります
  • メディアの注目や規制当局の警告によって、報告件数が急増することがあります

適用方法:常に、未治療集団におけるこの事象のベースライン発生率を確認してください。ICU患者に使用される薬剤について「心停止」のPRRが高くても、薬剤ではなく患者集団を反映している可能性があります。利用可能な場合は、臨床試験のプラセボ群における発生率と照合してください。


推論戦略 6:ツールを使うべき場合と推論すべき場合

FAERS/OpenFDAツールは、作用機序に基づいてすでに仮説を立てたシグナルを定量化するために使用してください。仮説なしにFAERSを検索しないでください。見せかけの関連性が見つかることになります。

正しい手順:

  1. まず作用機序について推論します(この薬剤の薬理作用から、どのような有害事象が妥当でしょうか)。
  2. 具体的な仮説を立てます(例:「この薬剤はhERGチャネルを遮断するため、QT延長を引き起こす可能性がある」)。
  3. ツールに問い合わせて各仮説を検証します(報告頻度はFAERS、添付文書の警告はDailyMed、遺伝的リスク因子はPharmGKBで確認します)。
  4. 結果を文脈に沿って解釈します(シグナルは作用機序と一致していますか。時間経過は妥当ですか。交絡因子はありますか)。

推論戦略 7:薬理ゲノム学的リスク評価

遺伝子と薬剤の組み合わせを暗記するのではなく、次の推論フレームワークを適用します。

  1. 薬剤の代謝経路を特定する(KEGG または DailyMed のラベルを使用):どの CYP 酵素が代謝しますか?活性化が必要なプロドラッグですか?
  2. 代謝変化の影響を評価する:活性型薬剤の場合、低代謝型では薬剤が蓄積し(毒性リスク)、プロドラッグの場合、低代謝型では活性化できず(有効性の低下)、超迅速代謝型では逆の傾向が見られます。
  3. 免疫介在性リスクを確認する:薬剤が重度の皮膚反応(SJS/TEN、DRESS)または過敏症症候群に関連する場合は、PharmGKB で HLA 関連を照会します。これらは集団によって異なります。
  4. PharmGKB のエビデンスレベルを参考に対応する:レベル 1A/1B(ガイドラインに基づく)=今すぐ対応可能。レベル 2A/2B =参考になる可能性があります。レベル 3 =現時点では臨床的な対応には利用できません。

暗記した関連性は古くなっている可能性があるため、それに頼るのではなく、PharmGKB_search_drugs(query=...) と CPIC_list_guidelines を照会して、最新の薬理ゲノム学的注釈を取得します。


重要なワークフロー要件

レポート優先のアプローチ(必須)
  1. 最初に [DRUG]_safety_report.md を作成し、すべてのセクション見出しと [Researching...] プレースホルダーを記入します
  2. まず機序に基づく推論を適用します(標的上毒性、発現までの時間、用量依存性か特異体質性か、PGx)
  3. データの収集に合わせて段階的に更新します
  4. 個別のデータファイルとして [DRUG]_adverse_events.csv と [DRUG]_pharmacogenomics.csv を出力します
引用要件(必須)

すべての安全性シグナルには、ソースツール、データ期間、PRR、症例数、重篤例と死亡例の内訳を必ず記載します。


ツールのパラメーター参照(重要)

ツール誤ったパラメーター正しいパラメーター
FAERS_count_reactions_by_drug_eventdrugdrug_name
FAERS_filter_serious_eventsアメリカ英語の綴り(例:「Hemorrhage」)MedDRA のイギリス英語の綴り(例:「Haemorrhage」)
FAERS_stratify_by_demographicsadverse_event が必須adverse_event は任意(すべてのイベントで層別化する場合は省略)
DailyMed_search_splsnamedrug_name
PharmGKB_search_drugsdrugquery
OpenFDA_search_drug_eventsdrug_namesearch

ワークフローの概要

Phase 0: Mechanistic Reasoning (BEFORE tools)
  On-target toxicity, time-to-onset, dose vs idiosyncratic, PGx risk

Phase 1: Drug Disambiguation
  -> Resolve drug name, get identifiers (ChEMBL, DrugBank)

Phase 2: Adverse Event Profiling (FAERS)
  -> Query FAERS, calculate PRR, stratify by seriousness

Phase 3: Label Warning Extraction
  -> DailyMed boxed warnings, contraindications, precautions

Phase 4: Pharmacogenomic Risk
  -> PharmGKB clinical annotations, high-risk genotypes

Phase 5: Clinical Trial Safety
  -> ClinicalTrials.gov Phase 3/4 safety data

Phase 5.5: Pathway & Mechanism Context
  -> KEGG drug metabolism, target pathway analysis

Phase 5.6: Literature Intelligence
  -> PubMed, BioRxiv/MedRxiv, OpenAlex citation analysis

Phase 6: Signal Prioritization
  -> Rank by PRR x severity x frequency

Phase 7: Report Synthesis

フェーズ 0:機序に基づく推論(ツールを使用する前に実施)

  1. 薬剤クラスと主な作用機序を特定します(DailyMed のラベルまたは ChEMBL を使用)
  2. 標的上作用と標的外作用の考え方(戦略 1)を適用して、起こり得る有害事象を予測します
  3. 予測した各事象について、予想される発現までの時間を推定します(戦略 2)
  4. 各事象を用量依存性または特異体質性に分類します(戦略 3)
  5. ツールへの照会を導くため、具体的で検証可能な安全性仮説を立てます(戦略 6)

フェーズ 1:薬剤の曖昧さの解消

  1. DailyMed_search_spls(drug_name=...) で DailyMed を検索し、NDC、SPL setid、一般名を確認します
  2. ChEMBL_search_drugs(query=...) で ChEMBL を検索し、分子 ID と開発段階を確認します
  3. 一般名、ブランド名、薬剤クラス、作用機序、承認日を記録します

フェーズ 2:有害事象のプロファイリング(FAERS)

  1. FAERS_count_reactions_by_drug_event(drug_name=..., limit=50) を照会し、主な事象を確認します
  2. 各事象について、重篤例、死亡例、入院例の詳細な内訳を取得します
  3. PRR を計算します:(A/B) / (C/D)。A=薬剤+事象、B=薬剤+すべての事象、C=事象+その他すべての薬剤、D=その他すべての薬剤の全症例
  4. シグナルの閾値を適用します:PRR > 2.0(シグナル)、> 3.0(強いシグナル)、症例数 >= 3

重症度の分類:

  • 死亡(最優先)、生命を脅かす事象、入院、障害、その他の重篤事象、非重篤事象
FAERS filter_serious_events — MedDRA のスペル(重要)

FAERS_filter_serious_events はMedDRA の基本語を使用しており、英国式の英語スペルに従っています。よくある例を以下に示します。

誤り(米国式)正しい表記(MedDRA/英国式)
HEMORRHAGEHaemorrhage
ANEMIAAnaemia
EDEMAOedema
DIARRHEADiarrhoea
LEUKOPENIALeucopenia
ESOPHAGITISOesophagitis

adverse_event パラメーターには、MedDRA の基本語のスペルを正確に使用してください。 不明な場合は、まず FAERS_count_reactions_by_drug_event を照会し、FAERS データベースに表示される正確なイベント名を確認してから、その文字列をそのまま使用してください。

FAERS に関する補足:

  • adverse_event は _filter_serious_events 内で OpenFDA クエリに正しく追加されるようになりました
  • FAERS_stratify_by_demographics:adverse_event は省略可能です。省略すると、層別化の対象はその薬剤のすべてのイベントになります。性別コード:0=不明、1=男性、2=女性

詳細な不均衡分析の計算式と出力テーブルの例については、SIGNAL_DETECTION.md を参照してください。

フェーズ 3:ラベルの警告情報の抽出

  1. DailyMed_get_spl_by_setid(setid=...) でラベルを取得します
  2. 枠付き警告、禁忌、警告/注意事項、薬物相互作用を抽出します
  3. 重症度を分類します:枠付き警告 > 禁忌 > 警告 > 注意事項
フェーズ 3.5:SIDER による構造化されたラベル副作用情報(生のラベル解析より高速な代替手段/補完手段)

SIDER(SIDER_search_drug、SIDER_get_drug_side_effects、SIDER_get_drug_indications、SIDER_get_drugs_for_side_effect、SIDER_search_side_effect)は、医薬品の添付文書/ラベルから副作用と適応症を事前に抽出して構造化します。これはキュレーション済みの静的なスナップショットであり、FAERS のようなリアルタイムフィードではありません。DailyMed のラベルの生テキストを手作業で解析せずに、ラベルに記載された副作用の発現頻度(例:「下痢、非常に高頻度、9.6%-57.5%」)を確認したい場合に使用します。

  1. SIDER_search_drug(drug_name=...) -> sider_drug_id(PubChem CID)に解決します
  2. SIDER_get_drug_side_effects(drug_name=... or sider_drug_id=..., limit=...) -> MedDRA コード化された副作用と、医薬品について報告された独自の発現頻度を取得します。ラベルにプラセボ群が含まれる場合は、直接比較できるようプラセボ群の発現頻度も取得します
  3. SIDER_get_drugs_for_side_effect(side_effect_name=... or meddra_code=...) / SIDER_search_side_effect(side_effect_name=...) -> 逆引きします。この副作用を報告している他の医薬品を調べ、クラス単位で比較します

発現頻度フィールドの意味(数値を報告する前によく読んでください):

  • frequency はラベルの「Data for drug」列からそのままコピーされます。パーセンテージ、パーセンテージの範囲、定性的な用語(postmarketing、rare、frequent)、または組み合わせ(uncommon, 5% - 7%)の場合があります。ラベルに発現頻度がまったく記載されていない場合は null です。null を「0%」や「リスクとして報告されていない」として報告しないでください。
  • placebo_frequency は、SIDER のラベルの大半にプラセボ群がまったく含まれないため、副作用の大多数で null です。null は「この項目について SIDER にプラセボ群の発現率がない」という意味であり、「プラセボ群の発現率はゼロ」でも「プラセボ群の発現率は医薬品群と同じ」でもありません。 placebo_frequency の値が実際に得られていない場合、プラセボ群との比較があると述べたり示唆したりしないでください。

SIDER の既知のデータ品質上の注意点(実際のデータで確認済み。黙って回避すべき不具合ではありません):SIDER_get_drug_indications は、医薬品が「何を治療するか」を示す正確な一覧ではありません。ラベルの適応症セクションやラベル全般のテキストをテキストマイニングして抽出するため、実際には承認された用途ではなく、リスク、禁忌、合併症である症状が含まれる場合があります。実データの例:メトホルミンの SIDER「indications」一覧には、Diabetes mellitus と Type 2 diabetes mellitus(正しい)に加えて、Coma、Lactic acidosis、Diabetic ketoacidosis、Myocardial infarction(これらはメトホルミンが治療するものではなく、メトホルミンに関連するリスク/警告)が含まれています。SIDER の「indication」を承認された用途として述べる前に、必ず既知の薬理作用と照合してください。DailyMed の「Indications and Usage」セクション(上記のフェーズ 3)または OpenTargets_get_drug_indications_by_chemblId と相互参照し、SIDER の適応症一覧をそのまま報告しないでください。

SIDER_get_drugs_for_side_effect の結果は、発現頻度や臨床的関連性に基づいて事前に並べ替えられていません。報告された発現頻度に基づく順位付けが分析に重要な場合は、返された順序を任意のものとして扱い、自分で並べ替えてください。

フェーズ 4:薬理ゲノム学的リスク

  1. PharmGKB_search_drugs(query=...) を検索して臨床アノテーションを確認します
  2. エビデンスレベル(1A/1B/2A/2B/3)とともに、対応可能なバリアントを記録します
  3. CPIC/DPWG ガイドラインの状況を記載します

PGx エビデンスレベル:

レベル説明対応
1ACPIC/DPWG ガイドライン、実施可能ガイドラインに従う
1BCPIC/DPWG ガイドライン、アノテーション検査を検討
2AVIP アノテーション、中程度のエビデンス判断材料として利用可能
2BVIP アノテーション、弱いエビデンス調査
3低レベルのアノテーション対応不要

フェーズ 5:臨床試験の安全性

  1. search_clinical_trials(intervention=..., phase="Phase 3", status="Completed") を検索します
  2. 重篤な AE の発現率、中止率、死亡数を抽出します
  3. 医薬品群とプラセボ群の発現率を比較します

フェーズ 5.5:経路とメカニズムのコンテキスト

  1. KEGG で薬物代謝経路を検索します
  2. 標的経路を分析し、有害事象のメカニズム上の根拠を調べます
  3. 経路と有害事象の関係を記録します

フェーズ 5.6:文献インテリジェンス

  1. PubMed:PubMed_search_articles(query='"[drug]" AND (safety OR adverse OR toxicity)')
  2. BioRxiv/MedRxiv:最近のプレプリントを検索します(査読を受けていないことを明記)
  3. OpenAlex:主要な安全性に関する論文の引用分析を行います

フェーズ 6:シグナルの優先順位付け

シグナルスコア = PRR x Severity_Weight x log10(Case_Count + 1)

重症度の重み:死亡=10、生命を脅かす状態=8、入院=5、障害=5、その他の重篤な事象=3、重篤ではない事象=1

シグナルを分類します:

  • 重大(直ちに対応):PRR が高く、死亡に至った転帰がある
  • 中程度(モニタリング):PRR が中程度で、重篤な転帰がある
  • 既知/予測済み(臨床的に管理):PRR が低く、添付文書に記載されている

メカニズムに基づく予測と照合します:メカニズムから予測されないシグナルには、追加の精査が必要です(交絡、報告バイアス、または真に新しい知見の可能性があります)。


出力レポート

[DRUG]_safety_report.md として保存します。レポートの構成と出力例の全容は、REPORT_TEMPLATES.md を参照してください。


エビデンスの評価

Tier基準例
T1PRR >10、死亡に至った転帰、枠付き警告乳酸アシドーシス
T2PRR 3-10、重篤な転帰肝毒性
T3PRR 2-3、中程度の懸念低血糖
T4PRR <2、既知/予測済み消化器系の副作用

フォールバックチェーン

Primary ToolFallback 1Fallback 2
FAERS_count_reactions_by_drug_eventOpenFDA_search_drug_events文献検索
DailyMed_search_splsOpenFDA_search_drug_labelsDailyMed のウェブサイト
PharmGKB_search_drugsCPIC_list_guidelines文献検索
search_clinical_trialsClinicalTrials.gov API試験結果の PubMed 検索
SIDER_get_drug_side_effectsDailyMed_get_spl_by_setid(生の添付文書テキストを解析)FDA_get_adverse_reactions_by_drug_name

完全性チェックリスト

フェーズごとの検証チェックリストの全容は、CHECKLIST.md を参照してください。


参考資料

コメント