mcpField
T
tooluniverse-adverse-event-detection

tooluniverse-adverse-event-detection

github.com/mims-harvard数据与数据库1.8k370 次安装2 天前更新
代码仓库

关于 tooluniverse-adverse-event-detection

面向药物安全研究、临床及监管分析的 ToolUniverse 技能。它结合 FAERS 比例失衡指标、药品标签、作用机制和文献证据,评估并比较不良事件信号。

主要功能

  1. 01使用 PRR、ROR 和 IC 分析 FAERS 信号
  2. 02审查 FDA 标签与文献证据
  3. 03结合机制并检查混杂因素
  4. 04比较药物安全性
  5. 05计算安全信号评分并进行证据分级

适用场景

  1. 01筛查药物的上市后安全信号
  2. 02评估某事件是否高于预期发生率
  3. 03比较同类药物的不良事件

MCP 相关

该技能调用 ToolUniverse 工具检索 FAERS、FDA 标签、机制、相互作用和文献数据并进行分析。

安装

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-adverse-event-detection

安装后在 Claude Code 中输入/tooluniverse-adverse-event-detection确认已加载。

包含的文件

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

PHASE_DETAILS.md
QUICK_START.md
REPORT_TEMPLATE.md
test_adverse_event_detection.py
TOOL_REFERENCE.md

详细介绍

COMPUTE, DON'T DESCRIBE

当分析需要计算(统计、数据处理、评分、信息补充)时,请通过 Bash 编写并运行 Python 代码。不要描述你打算怎么做——直接执行并报告实际结果。使用 ToolUniverse 工具检索数据,然后用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。

不良药物事件信号检测与分析

用于检测、量化并分析不良药物事件信号的自动化流程,采用 FAERS 比例失衡分析、FDA 标签挖掘、基于机制的预测和文献证据。该流程会生成定量安全性信号评分(0-100),供监管和临床决策使用。

核心原则:

  1. 优先量化信号——每项不良事件都必须计算 PRR/ROR/IC 及其置信区间
  2. 优先分析严重事件——始终首先分析死亡、住院和危及生命的事件
  3. 多源交叉验证——FAERS + FDA 标签 + OpenTargets + DrugBank + 文献
  4. 结合背景评估——区分药物特异性、类别范围及混杂因素导致的信号
  5. 优先撰写报告——首先创建报告文件,然后逐步更新
  6. 必须对证据分级——从 T1(监管机构/黑框警告)到 T4(计算分析)
  7. 优先使用英文查询——在工具调用中始终使用英文药物名称,并用用户的语言回复

推理策略——从这里开始: 从信号入手:报告的不良事件是否比预期更多?(阈值为 PRR >= 2.0、N >= 3、置信区间下限 > 1.0)。然后依次提出以下三个问题:

  1. 是否具有生物学合理性? 根据药物的作用机制和靶点,这项不良事件是否说得通?脱靶激酶抑制剂引发心脏事件具有合理性;外用药物引发全身毒性则需要更仔细审查。查证而非猜测——使用 OpenTargets_get_drug_mechanisms_of_action_by_chemblId 和 drugbank_get_targets_by_drug_name_or_drugbank_id 检查靶点后,再判断其合理性。
  2. 时间是否吻合? 急性反应(数小时或数天内)提示可能涉及免疫机制或直接药理作用。迟发反应(数周或数月后)则提示可能涉及累积毒性或特异质反应。请检查 FAERS 中的起病时间分布。
  3. 混杂因素能否解释该信号? 服用此药的患者很可能患有相应的基础疾病——应将其与该人群的背景发生率进行比较,而非与一般人群比较。若某类药物中的所有药物都出现同一信号,则提示可能是基于作用机制的毒性,而非特定分子所致的毒性。 因果关系评估——Naranjo 算法推理: 判断不良事件是否由药物引起(而不仅仅是与药物相关)时,请系统地执行以下步骤。查资料,不要猜测——针对每项标准,搜索 FAERS 和 FDA 标签:
  4. 既往报告? 是否有关于该反应的既往确证报告?查看 FDA 标签(FDA_get_adverse_reactions_by_drug_name)和文献(PubMed_search_articles)。是 = +1。
  5. 时间关系? AE 是否在给药后出现?发病时间处于预期的药代动力学窗口(1-5 个半衰期)内 = +2。使用 FAERS_stratify_by_demographics 获取发病时间数据。
  6. 停药反应? 停药后 AE 是否有所改善?停药后改善 = +1。在文献中查找再激发/停药病例报告。
  7. 再激发反应? 重新开始用药后 AE 是否再次出现?再激发后复发 = +2(因果关系最有力的单项证据)。
  8. 其他原因? 基础疾病、合并用药或其他因素是否可能解释 AE?使用 drugbank_get_drug_interactions_by_drug_name_or_id 检查药物相互作用。
  9. 剂量-反应关系? 剂量增加后反应是否加重,或剂量降低后反应是否减轻?剂量依赖性 AE 表明可能存在靶点相关毒性。
  10. 药物浓度确认? 是否在体液中检测到该药物,且浓度达到毒性水平?
  • 评分:确定(>=9),很可能(5-8),可能(1-4),可疑(<=0)。
  • 即使没有个体患者数据,也可以根据 FAERS 汇总信号、标签证据和机制合理性估算因果关系。

参考文件(位于此目录中):

  • PHASE_DETAILS.md - 各阶段的详细工具调用、代码示例和输出模板
  • REPORT_TEMPLATE.md - 完整报告模板和完整性检查清单
  • TOOL_REFERENCE.md - 工具参数参考和备用调用链
  • QUICK_START.md - 快速示例和常见药物名称

适用场景

在用户询问以下内容时使用:

  • “[drug] 有哪些安全性信号?”
  • “检测 [drug] 的不良事件”
  • “[drug] 是否与 [adverse event] 相关?”
  • “[drug] 有哪些 FAERS 信号?”
  • “比较 [drug A] 与 [drug B] 在 [adverse event] 方面的安全性”
  • “[drug] 有哪些严重不良事件?”
  • “[drug] 是否出现新的安全性信号?”
  • “[drug] 的上市后监测报告”
  • “[drug] 的药物警戒信号检测”

与 tooluniverse-pharmacovigilance 的区别:此技能专注于使用比例失衡分析(PRR、ROR、IC)进行信号检测和量化,并严格遵循统计学方法;它会生成量化的安全性信号评分(0-100),并对不同药物类别进行比较安全性分析。


工作流概述

Phase 0: Input Parsing & Drug Disambiguation
  Parse drug name, resolve to ChEMBL ID, DrugBank ID
  Identify drug class, mechanism, and approved indications
    |
Phase 1: FAERS Adverse Event Profiling
  Top adverse events by frequency
  Seriousness and outcome distributions
  Demographics (age, sex, country)
    |
Phase 2: Disproportionality Analysis (Signal Detection)
  Calculate PRR, ROR, IC with 95% CI for each AE
  Apply signal detection criteria
  Classify signal strength (Strong/Moderate/Weak/None)
    |
Phase 3: FDA Label Safety Information
  Boxed warnings, contraindications
  Warnings and precautions, adverse reactions
  Drug interactions, special populations
    |
Phase 4: Mechanism-Based Adverse Event Context
  Target-based AE prediction (OpenTargets safety)
  Off-target effects, ADMET predictions
  Drug class effects comparison
    |
Phase 5: Comparative Safety Analysis
  Compare to drugs in same class
  Identify unique vs class-wide signals
  Head-to-head disproportionality comparison
    |
Phase 6: Drug-Drug Interactions & Risk Factors
  Known DDIs causing AEs
  Pharmacogenomic risk factors (PharmGKB)
  FDA PGx biomarkers
    |
Phase 7: Literature Evidence
  PubMed safety studies, case reports
  OpenAlex citation analysis
  Preprint emerging signals (EuropePMC)
    |
Phase 8: Risk Assessment & Safety Signal Score
  Calculate Safety Signal Score (0-100)
  Evidence grading (T1-T4) for each signal
  Clinical significance assessment
    |
Phase 9: Report Synthesis & Recommendations
  Monitoring recommendations
  Risk mitigation strategies
  Completeness checklist

阶段摘要

阶段 0:输入解析与药物消歧

将药物名称解析为 ChEMBL ID 和 DrugBank ID。获取作用机制、黑框警告状态、靶点和已获批适应症。

  • 工具:OpenTargets_get_drug_chembId_by_generic_name、OpenTargets_get_drug_mechanisms_of_action_by_chemblId、OpenTargets_get_drug_blackbox_status_by_chembl_ID、drugbank_get_safety_by_drug_name_or_drugbank_id、drugbank_get_targets_by_drug_name_or_drugbank_id、OpenTargets_get_drug_indications_by_chemblId
阶段 1:FAERS 不良事件分析

查询 FAERS,获取主要不良事件、严重程度分布、结局、人口统计信息和死亡相关事件。按类型(死亡、住院、危及生命)筛选严重事件。获取 MedDRA 层级汇总。

  • 工具:FAERS_count_reactions_by_drug_event、FAERS_count_seriousness_by_drug_event、FAERS_count_outcomes_by_drug_event、FAERS_count_patient_age_distribution、FAERS_count_death_related_by_drug、FAERS_count_reportercountry_by_drug_event、FAERS_filter_serious_events、FAERS_rollup_meddra_hierarchy
第 2 阶段:不成比例性分析(信号检测)

关键阶段。对每个主要不良事件(至少 15–20 个)计算 PRR、ROR、IC 及其 95% CI。对信号强度进行分类。按人口统计特征对强信号分层。

  • 工具:FAERS_calculate_disproportionality、FAERS_stratify_by_demographics
  • MedDRA 术语级别说明:FAERS_count_reactions_by_drug_event 按 MedDRA 最低级别术语(reactionmeddraverse)筛选,而 FAERS_calculate_disproportionality 使用首选术语。病例数可能有很大差异——始终应将不成比例性分析作为主要信号指标,而非原始计数。
  • 信号标准:PRR >= 2.0 且下限 CI > 1.0 且 N >= 3
  • 强度:强(PRR >= 5)、中等(PRR 3-5)、弱(PRR 2-3)
  • 完整的信号分类表请参见 PHASE_DETAILS.md
第 3 阶段:FDA 标签安全信息

提取黑框警告、禁忌症、警告/注意事项、不良反应、药物相互作用及特殊人群信息。注意:当某个章节不存在时,{error: {code: "NOT_FOUND"}} 属于正常情况。

  • 工具:FDA_get_boxed_warning_info_by_drug_name、FDA_get_contraindications_by_drug_name、FDA_get_warnings_by_drug_name、FDA_get_adverse_reactions_by_drug_name、FDA_get_drug_interactions_by_drug_name、FDA_get_pregnancy_or_breastfeeding_info_by_drug_name、FDA_get_geriatric_use_info_by_drug_name、FDA_get_pediatric_use_info_by_drug_name、FDA_get_pharmacogenomics_info_by_drug_name
第 4 阶段:基于作用机制的不良事件背景

获取靶点安全性特征、OpenTargets 不良事件、ADMET 毒性预测(如果有 SMILES)以及药物警告。

  • 工具:OpenTargets_get_target_safety_profile_by_ensemblID、OpenTargets_get_drug_adverse_events_by_chemblId、ADMETAI_predict_toxicity、ADMETAI_predict_CYP_interactions、OpenTargets_get_drug_warnings_by_chemblId
第 5 阶段:比较安全性分析

使用 FAERS_compare_drugs 与同类药物进行正面对比。汇总同类药物的不良事件。识别类效应信号与药物特异性信号。

  • 工具:FAERS_compare_drugs、FAERS_count_additive_adverse_reactions、FAERS_count_additive_seriousness_classification
第 6 阶段:药物相互作用和风险因素

从 FDA 标签、DrugBank 和 DailyMed 提取药物相互作用。查询 PharmGKB,了解药物基因组学风险因素和剂量指南。检查 FDA 药物基因组学生物标志物。

  • 工具:FDA_get_drug_interactions_by_drug_name、drugbank_get_drug_interactions_by_drug_name_or_id、DailyMed_parse_drug_interactions、PharmGKB_search_drugs、PharmGKB_get_drug_details、PharmGKB_get_dosing_guidelines、fda_pharmacogenomic_biomarkers
第 7 阶段:文献证据

在 PubMed、OpenAlex 和 EuropePMC 中搜索安全性研究、病例报告和预印本。

  • 工具:PubMed_search_articles、openalex_search_works、EuropePMC_search_articles
第 8 阶段:风险评估和安全信号评分

根据四个组成部分计算安全信号评分(0–100):FAERS 信号强度(0–35)、严重不良事件(0–30)、FDA 标签警告(0–25)、文献证据(0–10)。将每个信号评为 T1–T4。评分标准请参见 PHASE_DETAILS.md。

第 9 阶段:报告综合

生成完整的 Markdown 报告,包含执行摘要、各阶段的全部输出、监测建议、风险缓解策略、患者咨询要点和完整性检查清单。完整模板请参见 REPORT_TEMPLATE.md。


边缘情况

  • 没有 FAERS 报告:跳过第 1–2 阶段;依赖 FDA 标签、机制预测和文献
  • 通用名与商品名:在 FAERS 中分别尝试两者;使用 OpenTargets_get_drug_chembId_by_generic_name 进行解析
  • 药物组合:使用 FAERS_count_additive_adverse_reactions 进行聚合类分析
  • 适应症混杂:将不良事件特征与所治疗的疾病进行比较;在报告中注明这一局限性
  • 带黑框警告的药物:标签警告评分组成部分自动计为 25/25;优先关注黑框警告事件

评论

支持 Markdown