tooluniverse-adverse-event-detection

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Adverse Drug Event Signal Detection & Analysis

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

Automated pipeline for detecting, quantifying, and contextualizing adverse drug event signals using FAERS disproportionality analysis, FDA label mining, mechanism-based prediction, and literature evidence. Produces a quantitative Safety Signal Score (0-100) for regulatory and clinical decision-making.
KEY PRINCIPLES:
  1. Signal quantification first - Every adverse event must have PRR/ROR/IC with confidence intervals
  2. Serious events priority - Deaths, hospitalizations, life-threatening events always analyzed first
  3. Multi-source triangulation - FAERS + FDA labels + OpenTargets + DrugBank + literature
  4. Context-aware assessment - Distinguish drug-specific vs class-wide vs confounding signals
  5. Report-first approach - Create report file FIRST, update progressively
  6. Evidence grading mandatory - T1 (regulatory/boxed warning) through T4 (computational)
  7. English-first queries - Always use English drug names in tool calls, respond in user's language

一条自动化流程,利用FAERS比例失衡分析、FDA说明书挖掘、基于机制的预测以及文献证据,检测、量化并关联药物不良事件信号。生成用于监管和临床决策的定量安全信号评分(0-100分)。
核心原则:
  1. 信号量化优先 - 每个不良事件必须计算带有置信区间的PRR/ROR/IC值
  2. 严重事件优先 - 死亡、住院、危及生命的事件始终优先分析
  3. 多源三角验证 - 整合FAERS + FDA说明书 + OpenTargets + DrugBank + 文献数据
  4. 上下文感知评估 - 区分药物特异性、同类药物共性及混杂信号
  5. 报告优先方法 - 先创建报告文件,再逐步更新内容
  6. 强制证据分级 - 从T1(监管/黑框警告)到T4(计算预测)的证据分级
  7. 英文优先查询 - 工具调用时始终使用英文药名,以用户语言回复

When to Use

适用场景

Apply when user asks:
  • "What are the safety signals for [drug]?"
  • "Detect adverse events for [drug]"
  • "Is [drug] associated with [adverse event]?"
  • "What are the FAERS signals for [drug]?"
  • "Compare safety of [drug A] vs [drug B] for [adverse event]"
  • "What are the serious adverse events for [drug]?"
  • "Are there emerging safety signals for [drug]?"
  • "Post-market surveillance report for [drug]"
  • "Pharmacovigilance signal detection for [drug]"
  • "What is the disproportionality analysis for [drug] and [event]?"
Differentiation from tooluniverse-pharmacovigilance: This skill focuses specifically on signal detection and quantification using disproportionality analysis (PRR, ROR, IC) with statistical rigor, produces a quantitative Safety Signal Score (0-100), and performs comparative safety analysis across drug classes. The pharmacovigilance skill provides broader safety profiling without the same depth of signal detection metrics.

当用户提出以下问题时适用:
  • "[药物]的安全信号有哪些?"
  • "检测[药物]的不良事件"
  • "[药物]是否与[不良事件]相关?"
  • "[药物]的FAERS信号有哪些?"
  • "比较[药物A]与[药物B]在[不良事件]上的安全性"
  • "[药物]的严重不良事件有哪些?"
  • "[药物]是否存在新出现的安全信号?"
  • "[药物]的上市后监测报告"
  • "[药物]的药物警戒信号检测"
  • "[药物]与[事件]的比例失衡分析结果是什么?"
与tooluniverse-pharmacovigilance的区别: 本技能专注于通过比例失衡分析(PRR、ROR、IC)进行信号检测与量化,具备统计严谨性,可生成定量安全信号评分(0-100分),并支持跨药物类别的安全性对比分析。而药物警戒技能提供更广泛的安全性分析,但不具备同等深度的信号检测指标。

Workflow Overview

工作流程概述

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

Phase 0: 输入解析与药物消歧
  解析药名,关联至ChEMBL ID、DrugBank ID
  识别药物类别、作用机制及获批适应症
    |
Phase 1: FAERS不良事件分析
  按频率排序的 top 不良事件
  严重程度与结局分布
  人口统计学特征(年龄、性别、国家)
    |
Phase 2: 比例失衡分析(信号检测)
  计算每个不良事件的PRR、ROR、IC及95%置信区间
  应用信号检测标准
  分类信号强度(强/中/弱/无)
    |
Phase 3: FDA说明书安全信息
  黑框警告、禁忌症
  警告与注意事项、不良反应
  药物相互作用、特殊人群
    |
Phase 4: 基于作用机制的不良事件关联
  基于靶点的不良事件预测(OpenTargets安全数据)
  脱靶效应、ADMET预测
  同类药物效应对比
    |
Phase 5: 安全性对比分析
  与同类药物对比
  识别独特信号与同类共性信号
  头对头比例失衡对比
    |
Phase 6: 药物相互作用与风险因素
  已知可引发不良事件的药物相互作用(DDI)
  药物基因组学风险因素(PharmGKB)
  FDA PGx生物标志物
    |
Phase 7: 文献证据
  PubMed安全研究、病例报告
  OpenAlex引用分析
  EuropePMC预印本新出现信号
    |
Phase 8: 风险评估与安全信号评分
  计算安全信号评分(0-100分)
  为每个信号进行证据分级(T1-T4)
  临床意义评估
    |
Phase 9: 报告合成与建议
  监测建议
  风险缓解策略
  完整性检查清单

Phase 0: Input Parsing & Drug Disambiguation

Phase 0: 输入解析与药物消歧

0.1 Resolve Drug Identity

0.1 确认药物身份

python
undefined
python
undefined

Step 1: Get ChEMBL ID from drug name

Step 1: 通过药名获取ChEMBL ID

chembl_result = tu.tools.OpenTargets_get_drug_chembId_by_generic_name(drugName="atorvastatin")
chembl_result = tu.tools.OpenTargets_get_drug_chembId_by_generic_name(drugName="atorvastatin")

Response: {data: {search: {hits: [{id: "CHEMBL1487", name: "ATORVASTATIN", description: "..."}]}}}

Response: {data: {search: {hits: [{id: "CHEMBL1487", name: "ATORVASTATIN", description: "..."}]}}}

chembl_id = chembl_result['data']['search']['hits'][0]['id'] # "CHEMBL1487"
chembl_id = chembl_result['data']['search']['hits'][0]['id'] # "CHEMBL1487"

Step 2: Get drug mechanism of action

Step 2: 获取药物作用机制

moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=chembl_id)
moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=chembl_id)

Response: {data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction: "HMG-CoA reductase inhibitor", actionType: "INHIBITOR", targetName: "...", targets: [{id: "ENSG00000113161", approvedSymbol: "HMGCR"}]}]}}}}

Response: {data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction: "HMG-CoA reductase inhibitor", actionType: "INHIBITOR", targetName: "...", targets: [{id: "ENSG00000113161", approvedSymbol: "HMGCR"}]}]}}}}

Step 3: Get blackbox warning status

Step 3: 获取黑框警告状态

blackbox = tu.tools.OpenTargets_get_drug_blackbox_status_by_chembl_ID(chemblId=chembl_id)
blackbox = tu.tools.OpenTargets_get_drug_blackbox_status_by_chembl_ID(chemblId=chembl_id)

Response: {data: {drug: {name: "ATORVASTATIN", hasBeenWithdrawn: false, blackBoxWarning: false}}}

Response: {data: {drug: {name: "ATORVASTATIN", hasBeenWithdrawn: false, blackBoxWarning: false}}}

Step 4: Get DrugBank info (safety, toxicity)

Step 4: 获取DrugBank信息(安全性、毒性)

drugbank = tu.tools.drugbank_get_safety_by_drug_name_or_drugbank_id( query="atorvastatin", case_sensitive=False, exact_match=False, limit=3 )
drugbank = tu.tools.drugbank_get_safety_by_drug_name_or_drugbank_id( query="atorvastatin", case_sensitive=False, exact_match=False, limit=3 )

Response: {results: [{drug_name: "Atorvastatin", drugbank_id: "DB01076", toxicity: "...", food_interactions: "..."}]}

Response: {results: [{drug_name: "Atorvastatin", drugbank_id: "DB01076", toxicity: "...", food_interactions: "..."}]}

Step 5: Get DrugBank targets

Step 5: 获取DrugBank靶点

targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id( query="atorvastatin", case_sensitive=False, exact_match=False, limit=3 )
targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id( query="atorvastatin", case_sensitive=False, exact_match=False, limit=3 )

Response: {results: [{drug_name: "...", targets: [{name: "HMG-CoA reductase", ...}]}]}

Response: {results: [{drug_name: "...", targets: [{name: "HMG-CoA reductase", ...}]}]}

Step 6: Get approved indications

Step 6: 获取获批适应症

indications = tu.tools.OpenTargets_get_drug_indications_by_chemblId(chemblId=chembl_id)
indications = tu.tools.OpenTargets_get_drug_indications_by_chemblId(chemblId=chembl_id)

Response: {data: {drug: {indications: {rows: [{disease: {name: "hypercholesterolemia"}, maxPhaseForIndication: 4}]}}}}

Response: {data: {drug: {indications: {rows: [{disease: {name: "hypercholesterolemia"}, maxPhaseForIndication: 4}]}}}}

undefined
undefined

0.2 Output for Report

0.2 报告输出内容

markdown
undefined
markdown
undefined

1. Drug Identification

1. 药物识别

PropertyValue
Generic NameAtorvastatin
ChEMBL IDCHEMBL1487
DrugBank IDDB01076
Drug ClassHMG-CoA reductase inhibitor (Statin)
MechanismHMG-CoA reductase inhibitor (target: HMGCR)
Primary TargetHMGCR (ENSG00000113161)
Black Box WarningNo
WithdrawnNo
Source: OpenTargets, DrugBank

---
属性
通用名Atorvastatin
ChEMBL IDCHEMBL1487
DrugBank IDDB01076
药物类别HMG-CoA还原酶抑制剂(他汀类)
作用机制HMG-CoA还原酶抑制剂(靶点:HMGCR)
主要靶点HMGCR(ENSG00000113161)
黑框警告
撤市状态未撤市
数据来源: OpenTargets, DrugBank

---

Phase 1: FAERS Adverse Event Profiling

Phase 1: FAERS不良事件分析

1.1 Query FAERS for Adverse Events

1.1 查询FAERS不良事件

python
undefined
python
undefined

Get top adverse event reactions (returns list of {term, count})

获取top不良事件反应(返回{term, count}列表)

reactions = tu.tools.FAERS_count_reactions_by_drug_event(medicinalproduct="ATORVASTATIN")
reactions = tu.tools.FAERS_count_reactions_by_drug_event(medicinalproduct="ATORVASTATIN")

Response: [{term: "FATIGUE", count: 19171}, {term: "DIARRHOEA", count: 17127}, ...]

Response: [{term: "FATIGUE", count: 19171}, {term: "DIARRHOEA", count: 17127}, ...]

Get seriousness classification

获取严重程度分类

seriousness = tu.tools.FAERS_count_seriousness_by_drug_event(medicinalproduct="ATORVASTATIN")
seriousness = tu.tools.FAERS_count_seriousness_by_drug_event(medicinalproduct="ATORVASTATIN")

Response: [{term: "Serious", count: 242757}, {term: "Non-serious", count: 83504}]

Response: [{term: "Serious", count: 242757}, {term: "Non-serious", count: 83504}]

Get outcome distribution

获取结局分布

outcomes = tu.tools.FAERS_count_outcomes_by_drug_event(medicinalproduct="ATORVASTATIN")
outcomes = tu.tools.FAERS_count_outcomes_by_drug_event(medicinalproduct="ATORVASTATIN")

Response: [{term: "Unknown", count: 162310}, {term: "Fatal", count: 22128}, ...]

Response: [{term: "Unknown", count: 162310}, {term: "Fatal", count: 22128}, ...]

Get age distribution

获取年龄分布

age_dist = tu.tools.FAERS_count_patient_age_distribution(medicinalproduct="ATORVASTATIN")
age_dist = tu.tools.FAERS_count_patient_age_distribution(medicinalproduct="ATORVASTATIN")

Response: [{term: "Elderly", count: 38510}, {term: "Adult", count: 24302}, ...]

Response: [{term: "Elderly", count: 38510}, {term: "Adult", count: 24302}, ...]

Get death-related events

获取死亡相关事件

deaths = tu.tools.FAERS_count_death_related_by_drug(medicinalproduct="ATORVASTATIN")
deaths = tu.tools.FAERS_count_death_related_by_drug(medicinalproduct="ATORVASTATIN")

Response: [{term: "alive", count: 113157}, {term: "death", count: 26909}]

Response: [{term: "alive", count: 113157}, {term: "death", count: 26909}]

Get reporter country distribution

获取报告者国家分布

countries = tu.tools.FAERS_count_reportercountry_by_drug_event(medicinalproduct="ATORVASTATIN")
countries = tu.tools.FAERS_count_reportercountry_by_drug_event(medicinalproduct="ATORVASTATIN")

Response: [{term: "US", count: 170963}, {term: "GB", count: 40079}, ...]

Response: [{term: "US", count: 170963}, {term: "GB", count: 40079}, ...]

undefined
undefined

1.2 Get Serious Events Breakdown

1.2 严重事件细分

python
undefined
python
undefined

Filter serious events - all types

筛选所有类型的严重事件

serious_all = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="all" )
serious_all = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="all" )

Response: {status: "success", drug_name: "ATORVASTATIN", seriousness_type: "all",

Response: {status: "success", drug_name: "ATORVASTATIN", seriousness_type: "all",

total_serious_events: N, top_serious_reactions: [{reaction: "...", count: N}, ...]}

total_serious_events: N, top_serious_reactions: [{reaction: "...", count: N}, ...]}

Death-related serious events

死亡相关严重事件

serious_death = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="death" )
serious_death = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="death" )

Response: {status: "success", total_serious_events: 18720,

Response: {status: "success", total_serious_events: 18720,

top_serious_reactions: [{reaction: "DEATH", count: 7541}, {reaction: "MYOCARDIAL INFARCTION", count: 1286}, ...]}

top_serious_reactions: [{reaction: "DEATH", count: 7541}, {reaction: "MYOCARDIAL INFARCTION", count: 1286}, ...]}

Hospitalization-related

住院相关严重事件

serious_hosp = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="hospitalization" )
serious_hosp = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="hospitalization" )

Life-threatening

危及生命的严重事件

serious_lt = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="life_threatening" )
undefined
serious_lt = tu.tools.FAERS_filter_serious_events( operation="filter_serious_events", drug_name="ATORVASTATIN", seriousness_type="life_threatening" )
undefined

1.3 MedDRA Hierarchy Rollup

1.3 MedDRA层级汇总

python
undefined
python
undefined

Get MedDRA preferred term rollup (top 50)

获取MedDRA首选术语汇总(top 50)

meddra = tu.tools.FAERS_rollup_meddra_hierarchy( operation="rollup_meddra_hierarchy", drug_name="ATORVASTATIN" )
meddra = tu.tools.FAERS_rollup_meddra_hierarchy( operation="rollup_meddra_hierarchy", drug_name="ATORVASTATIN" )

Response: {status: "success", drug_name: "ATORVASTATIN",

Response: {status: "success", drug_name: "ATORVASTATIN",

meddra_hierarchy: {PT_level: [{preferred_term: "FATIGUE", count: 13957}, ...]}}

meddra_hierarchy: {PT_level: [{preferred_term: "FATIGUE", count: 13957}, ...]}}

undefined
undefined

1.4 Output for Report

1.4 报告输出内容

markdown
undefined
markdown
undefined

2. FAERS Adverse Event Profile

2. FAERS不良事件分析

2.1 Overview

2.1 概述

  • Total reports: 326,261 (Serious: 242,757 | Non-serious: 83,504)
  • Fatal outcomes: 22,128
  • Primary reporter countries: US (170,963), GB (40,079), CA (16,492)
  • 总报告数: 326,261(严重:242,757 | 非严重:83,504)
  • 致死结局: 22,128
  • 主要报告国家: 美国(170,963)、英国(40,079)、加拿大(16,492)

2.2 Top 10 Adverse Events by Frequency

2.2 按频率排序的Top 10不良事件

RankAdverse EventReports% of Total
1Fatigue19,1715.9%
2Diarrhoea17,1275.2%
3Dyspnoea15,9924.9%
............
排名不良事件报告数占比
1疲劳19,1715.9%
2腹泻17,1275.2%
3呼吸困难15,9924.9%
............

2.3 Outcome Distribution

2.3 结局分布

OutcomeCountPercentage
Unknown162,31039.6%
Recovered/resolved94,73723.1%
Not recovered77,72118.9%
Recovering49,36712.0%
Fatal22,1285.4%
Recovered with sequelae4,9301.2%
结局数量占比
未知162,31039.6%
恢复/缓解94,73723.1%
未恢复77,72118.9%
恢复中49,36712.0%
致死22,1285.4%
遗留后遗症的恢复4,9301.2%

2.4 Age Distribution

2.4 年龄分布

Age GroupReportsPercentage
Elderly38,51061.3%
Adult24,30238.7%
Other152<1%
Source: FAERS via FAERS_count_reactions_by_drug_event, FAERS_count_seriousness_by_drug_event

---
年龄组报告数占比
老年38,51061.3%
成年24,30238.7%
其他152<1%
数据来源: FAERS via FAERS_count_reactions_by_drug_event, FAERS_count_seriousness_by_drug_event

---

Phase 2: Disproportionality Analysis (Signal Detection)

Phase 2: 比例失衡分析(信号检测)

2.1 Calculate Signal Metrics

2.1 计算信号指标

CRITICAL: This is the core of the skill. For each top adverse event (at least top 15-20), calculate PRR, ROR, and IC with 95% confidence intervals.
python
undefined
核心步骤: 本技能的核心环节。针对每个top不良事件(至少top 15-20),计算PRR、ROR、IC及95%置信区间。
python
undefined

For each significant adverse event, calculate disproportionality

针对每个显著不良事件,计算比例失衡指标

top_events = ["Rhabdomyolysis", "Myalgia", "Hepatotoxicity", "Diabetes mellitus", "Acute kidney injury", "Myopathy", "Pancreatitis"]
for event in top_events: result = tu.tools.FAERS_calculate_disproportionality( operation="calculate_disproportionality", drug_name="ATORVASTATIN", adverse_event=event ) # Response structure: # { # status: "success", # drug_name: "ATORVASTATIN", # adverse_event: "Rhabdomyolysis", # contingency_table: { # a_drug_and_event: 2226, # b_drug_no_event: 241655, # c_no_drug_event: 37658, # d_no_drug_no_event: 19725450 # }, # metrics: { # ROR: {value: 4.825, ci_95_lower: 4.622, ci_95_upper: 5.037}, # PRR: {value: 4.79, ci_95_lower: 4.59, ci_95_upper: 4.998}, # IC: {value: 2.194, ci_95_lower: 2.136, ci_95_upper: 2.252} # }, # signal_detection: { # signal_detected: true, # signal_strength: "Strong signal", # criteria: "ROR lower CI > 1.0 and case count >= 3" # } # }
undefined
top_events = ["Rhabdomyolysis", "Myalgia", "Hepatotoxicity", "Diabetes mellitus", "Acute kidney injury", "Myopathy", "Pancreatitis"]
for event in top_events: result = tu.tools.FAERS_calculate_disproportionality( operation="calculate_disproportionality", drug_name="ATORVASTATIN", adverse_event=event ) # Response结构: # { # status: "success", # drug_name: "ATORVASTATIN", # adverse_event: "Rhabdomyolysis", # contingency_table: { # a_drug_and_event: 2226, # b_drug_no_event: 241655, # c_no_drug_event: 37658, # d_no_drug_no_event: 19725450 # }, # metrics: { # ROR: {value: 4.825, ci_95_lower: 4.622, ci_95_upper: 5.037}, # PRR: {value: 4.79, ci_95_lower: 4.59, ci_95_upper: 4.998}, # IC: {value: 2.194, ci_95_lower: 2.136, ci_95_upper: 2.252} # }, # signal_detection: { # signal_detected: true, # signal_strength: "Strong signal", # criteria: "ROR lower CI > 1.0 and case count >= 3" # } # }
undefined

2.2 Signal Detection Criteria

2.2 信号检测标准

Proportional Reporting Ratio (PRR):
  • PRR = (a/(a+b)) / (c/(c+d))
  • Signal: PRR >= 2.0 AND lower 95% CI > 1.0 AND case count >= 3
Reporting Odds Ratio (ROR):
  • ROR = (ad) / (bc)
  • Signal: Lower 95% CI > 1.0
Information Component (IC):
  • IC = log2(observed/expected)
  • Signal: Lower 95% CI > 0
比例报告比(PRR):
  • PRR = (a/(a+b)) / (c/(c+d))
  • 信号判定: PRR >= 2.0 且 95%置信区间下限 > 1.0 且 病例数 >= 3
报告比值比(ROR):
  • ROR = (ad) / (bc)
  • 信号判定: 95%置信区间下限 > 1.0
信息成分(IC):
  • IC = log2(实际值/预期值)
  • 信号判定: 95%置信区间下限 > 0

2.3 Signal Strength Classification

2.3 信号强度分类

StrengthPRRROR Lower CIIC Lower CIClinical Action
Strong>= 5.0>= 3.0>= 2.0Immediate investigation required
Moderate3.0-4.92.0-2.91.0-1.9Active monitoring recommended
Weak2.0-2.91.0-1.90-0.9Routine monitoring, watch for trends
No signal< 2.0< 1.0< 0Standard pharmacovigilance
强度PRRROR 95%置信区间下限IC 95%置信区间下限临床行动
>= 5.0>= 3.0>= 2.0需立即开展调查
3.0-4.92.0-2.91.0-1.9建议主动监测
2.0-2.91.0-1.90-0.9常规监测,关注趋势
无信号< 2.0< 1.0< 0标准药物警戒流程

2.4 Demographic Stratification of Key Signals

2.4 关键信号的人口统计学分层

python
undefined
python
undefined

For strong/moderate signals, stratify by demographics

针对强/中度信号,按人口统计学特征分层

result = tu.tools.FAERS_stratify_by_demographics( operation="stratify_by_demographics", drug_name="ATORVASTATIN", adverse_event="Rhabdomyolysis", stratify_by="sex" # Options: sex, age, country )
result = tu.tools.FAERS_stratify_by_demographics( operation="stratify_by_demographics", drug_name="ATORVASTATIN", adverse_event="Rhabdomyolysis", stratify_by="sex" # 可选值: sex, age, country )

Response: {status: "success", total_reports: 1996,

Response: {status: "success", total_reports: 1996,

stratification: [{group: 1, count: 1190, percentage: 59.62}, # 1=Male

stratification: [{group: 1, count: 1190, percentage: 59.62}, # 1=男性

{group: 2, count: 781, percentage: 39.13}]} # 2=Female

{group: 2, count: 781, percentage: 39.13}]} # 2=女性


**Note on sex codes**: group 0 = Unknown, group 1 = Male, group 2 = Female.

**性别编码说明**: group 0 = 未知, group 1 = 男性, group 2 = 女性。

2.5 Output for Report

2.5 报告输出内容

markdown
undefined
markdown
undefined

3. Disproportionality Analysis (Signal Detection)

3. 比例失衡分析(信号检测)

3.1 Signal Detection Summary

3.1 信号检测汇总

Adverse EventCases (a)PRRPRR 95% CIRORROR 95% CIICSignal
Rhabdomyolysis2,2264.794.59-5.004.834.62-5.042.19STRONG
Myopathy1,2346.125.72-6.556.185.77-6.622.54STRONG
Myalgia9,1892.312.26-2.372.332.28-2.391.18Moderate
Hepatotoxicity4563.453.10-3.843.483.13-3.871.72Moderate
Diabetes mellitus3,0211.891.82-1.961.901.83-1.970.91Weak
Pancreatitis6782.151.97-2.342.161.98-2.351.08Weak
不良事件病例数(a)PRRPRR 95%置信区间RORROR 95%置信区间IC信号强度
横纹肌溶解症2,2264.794.59-5.004.834.62-5.042.19
肌病1,2346.125.72-6.556.185.77-6.622.54
肌痛9,1892.312.26-2.372.332.28-2.391.18
肝毒性4563.453.10-3.843.483.13-3.871.72
糖尿病3,0211.891.82-1.961.901.83-1.970.91
胰腺炎6782.151.97-2.342.161.98-2.351.08

3.2 Demographics of Key Signals

3.2 关键信号的人口统计学特征

Rhabdomyolysis (n=1,996):
  • Male: 59.6%, Female: 39.1%, Unknown: 1.3%
  • Predominantly elderly (>65 years)
Source: FAERS via FAERS_calculate_disproportionality, FAERS_stratify_by_demographics

---
横纹肌溶解症(n=1,996):
  • 男性: 59.6%, 女性: 39.1%, 未知: 1.3%
  • 主要集中于老年人群(>65岁)
数据来源: FAERS via FAERS_calculate_disproportionality, FAERS_stratify_by_demographics

---

Phase 3: FDA Label Safety Information

Phase 3: FDA说明书安全信息

3.1 Extract Label Sections

3.1 提取说明书章节

python
undefined
python
undefined

Boxed warnings

黑框警告

boxed = tu.tools.FDA_get_boxed_warning_info_by_drug_name(drug_name="atorvastatin")
boxed = tu.tools.FDA_get_boxed_warning_info_by_drug_name(drug_name="atorvastatin")

Response: {meta: {total: N}, results: [{boxed_warning: ["...text..."]}]}

Response: {meta: {total: N}, results: [{boxed_warning: ["...text..."]}]}

NOTE: Returns {error: {code: "NOT_FOUND"}} if no boxed warning exists

注意: 若无黑框警告,返回{error: {code: "NOT_FOUND"}}

Contraindications

禁忌症

contras = tu.tools.FDA_get_contraindications_by_drug_name(drug_name="atorvastatin")
contras = tu.tools.FDA_get_contraindications_by_drug_name(drug_name="atorvastatin")

Response: {meta: {total: N}, results: [{openfda.generic_name: [...], contraindications: ["...text..."]}]}

Response: {meta: {total: N}, results: [{openfda.generic_name: [...], contraindications: ["...text..."]}]}

Warnings and precautions

警告与注意事项

warnings = tu.tools.FDA_get_warnings_by_drug_name(drug_name="atorvastatin")
warnings = tu.tools.FDA_get_warnings_by_drug_name(drug_name="atorvastatin")

Response: {meta: {total: N}, results: [{warnings: ["...text..."], boxed_warning: [...]}]}

Response: {meta: {total: N}, results: [{warnings: ["...text..."], boxed_warning: [...]}]}

Adverse reactions from label

说明书中的不良反应

adverse_rxns = tu.tools.FDA_get_adverse_reactions_by_drug_name(drug_name="atorvastatin")
adverse_rxns = tu.tools.FDA_get_adverse_reactions_by_drug_name(drug_name="atorvastatin")

Response: {meta: {total: N}, results: [{adverse_reactions: ["...text..."]}]}

Response: {meta: {total: N}, results: [{adverse_reactions: ["...text..."]}]}

Drug interactions from label

说明书中的药物相互作用

interactions = tu.tools.FDA_get_drug_interactions_by_drug_name(drug_name="atorvastatin")
interactions = tu.tools.FDA_get_drug_interactions_by_drug_name(drug_name="atorvastatin")

Response: {meta: {total: N}, results: [{drug_interactions: ["...text..."]}]}

Response: {meta: {total: N}, results: [{drug_interactions: ["...text..."]}]}

Pregnancy/breastfeeding

妊娠/哺乳期信息

pregnancy = tu.tools.FDA_get_pregnancy_or_breastfeeding_info_by_drug_name(drug_name="atorvastatin")
pregnancy = tu.tools.FDA_get_pregnancy_or_breastfeeding_info_by_drug_name(drug_name="atorvastatin")

Geriatric use

老年用药

geriatric = tu.tools.FDA_get_geriatric_use_info_by_drug_name(drug_name="atorvastatin")
geriatric = tu.tools.FDA_get_geriatric_use_info_by_drug_name(drug_name="atorvastatin")

Pediatric use

儿科用药

pediatric = tu.tools.FDA_get_pediatric_use_info_by_drug_name(drug_name="atorvastatin")
pediatric = tu.tools.FDA_get_pediatric_use_info_by_drug_name(drug_name="atorvastatin")

Pharmacogenomics from label

说明书中的药物基因组学信息

pgx_label = tu.tools.FDA_get_pharmacogenomics_info_by_drug_name(drug_name="atorvastatin")
undefined
pgx_label = tu.tools.FDA_get_pharmacogenomics_info_by_drug_name(drug_name="atorvastatin")
undefined

3.2 Handling No Results

3.2 无结果处理

IMPORTANT: FDA label tools return
{error: {code: "NOT_FOUND"}}
when a section does not exist. This is NORMAL for many drugs - for example, most drugs do NOT have boxed warnings. Always check for this pattern:
python
undefined
重要提示: FDA说明书工具在对应章节不存在时,会返回
{error: {code: "NOT_FOUND"}}
。这在多数药物中属于正常情况——例如,多数药物无黑框警告。需始终检查以下模式:
python
undefined

Check if boxed warning exists

检查是否存在黑框警告

if isinstance(boxed, dict) and 'error' in boxed: boxed_warning_text = "None (no boxed warning for this drug)" else: boxed_warning_text = boxed['results'][0].get('boxed_warning', ['None'])[0]
undefined
if isinstance(boxed, dict) and 'error' in boxed: boxed_warning_text = "无(本药物无黑框警告)" else: boxed_warning_text = boxed['results'][0].get('boxed_warning', ['无'])[0]
undefined

3.3 Output for Report

3.3 报告输出内容

markdown
undefined
markdown
undefined

4. FDA Label Safety Information

4. FDA说明书安全信息

4.1 Boxed Warning

4.1 黑框警告

None

4.2 Contraindications

4.2 禁忌症

  • Acute liver failure or decompensated cirrhosis
  • Hypersensitivity to atorvastatin (includes anaphylaxis, angioedema, SJS, TEN)
  • 急性肝衰竭或失代偿期肝硬化
  • 对阿托伐他汀过敏(包括过敏反应、血管性水肿、Stevens-Johnson综合征、中毒性表皮坏死症)

4.3 Warnings and Precautions

4.3 警告与注意事项

WarningClinical Relevance
Myopathy/RhabdomyolysisRisk with CYP3A4 inhibitors, high doses
Immune-Mediated Necrotizing MyopathyRare autoimmune myopathy
Hepatic DysfunctionMonitor LFTs
Increased HbA1c/GlucoseDiabetes risk
警告临床相关性
肌病/横纹肌溶解症与CYP3A4抑制剂、高剂量合用时风险升高
免疫介导性坏死性肌病罕见自身免疫性肌病
肝功能异常需监测肝功能指标(LFTs)
HbA1c/血糖升高糖尿病风险

4.4 Drug Interactions (from label)

4.4 说明书中的药物相互作用

Interacting DrugMechanismClinical Action
CyclosporineIncreased exposureAvoid combination
CYP3A4 inhibitorsIncreased atorvastatin levelsUse lowest dose
GemfibrozilIncreased myopathy riskAvoid
相互作用药物作用机制临床行动
环孢素暴露量升高避免合用
CYP3A4抑制剂阿托伐他汀水平升高使用最低有效剂量
吉非贝齐肌病风险升高避免合用

4.5 Special Populations

4.5 特殊人群

  • Pregnancy: Contraindicated
  • Geriatric: No dose adjustment needed
  • Pediatric: Approved for heterozygous FH ages 10+
Source: FDA drug labels via FDA_get_contraindications_by_drug_name, FDA_get_warnings_by_drug_name

---
  • 妊娠: 禁用
  • 老年: 无需调整剂量
  • 儿科: 获批用于10岁以上杂合子型家族性高胆固醇血症患者
数据来源: FDA药品说明书 via FDA_get_contraindications_by_drug_name, FDA_get_warnings_by_drug_name

---

Phase 4: Mechanism-Based Adverse Event Context

Phase 4: 基于作用机制的不良事件关联

4.1 Target Safety Profile

4.1 靶点安全特征

python
undefined
python
undefined

Get target safety data from OpenTargets

从OpenTargets获取靶点安全数据

First get target ensembl ID from MOA result

先从Phase 0的作用机制结果中获取靶点ensembl ID

target_id = "ENSG00000113161" # HMGCR from Phase 0
safety = tu.tools.OpenTargets_get_target_safety_profile_by_ensemblID(ensemblId=target_id)
target_id = "ENSG00000113161" # HMGCR(来自Phase 0)
safety = tu.tools.OpenTargets_get_target_safety_profile_by_ensemblID(ensemblId=target_id)

Response: {data: {target: {id: "...", approvedSymbol: "HMGCR",

Response: {data: {target: {id: "...", approvedSymbol: "HMGCR",

safetyLiabilities: [{event: "Decrease, Fertility", eventId: "...",

safetyLiabilities: [{event: "Decrease, Fertility", eventId: "...",

effects: [{direction: "Inhibition/Decrease/Downregulation"}],

effects: [{direction: "Inhibition/Decrease/Downregulation"}],

studies: [{type: "cell-based"}], datasource: "AOP-Wiki"}]}}}

studies: [{type: "cell-based"}], datasource: "AOP-Wiki"}]}}}

Get OpenTargets adverse events (uses FAERS data)

获取OpenTargets不良事件(基于FAERS数据)

ot_aes = tu.tools.OpenTargets_get_drug_adverse_events_by_chemblId(chemblId="CHEMBL1487")
ot_aes = tu.tools.OpenTargets_get_drug_adverse_events_by_chemblId(chemblId="CHEMBL1487")

Response: {data: {drug: {adverseEvents: {count: 13, criticalValue: 513.67,

Response: {data: {drug: {adverseEvents: {count: 13, criticalValue: 513.67,

rows: [{name: "myalgia", meddraCode: "10028411", count: 4126, logLR: 6067.33}, ...]}}}}

rows: [{name: "myalgia", meddraCode: "10028411", count: 4126, logLR: 6067.33}, ...]}}}}

undefined
undefined

4.2 ADMET Predictions (if SMILES available)

4.2 ADMET预测(若SMILES可用)

python
undefined
python
undefined

Get SMILES from DrugBank/PharmGKB

从DrugBank/PharmGKB获取SMILES

smiles = "CC(C)C1=C(C(=C(N1CCC@HO)C2=CC=C(C=C2)F)C3=CC=CC=C3)C(=O)NC4=CC=CC=C4"
smiles = "CC(C)C1=C(C(=C(N1CCC@HO)C2=CC=C(C=C2)F)C3=CC=CC=C3)C(=O)NC4=CC=CC=C4"

Toxicity predictions

毒性预测

toxicity = tu.tools.ADMETAI_predict_toxicity(smiles=[smiles])
toxicity = tu.tools.ADMETAI_predict_toxicity(smiles=[smiles])

Response: predictions for hepatotoxicity, cardiotoxicity, etc.

Response: 肝毒性、心脏毒性等预测结果

CYP interaction predictions

CYP相互作用预测

cyp = tu.tools.ADMETAI_predict_CYP_interactions(smiles=[smiles])
cyp = tu.tools.ADMETAI_predict_CYP_interactions(smiles=[smiles])

Response: CYP inhibition/substrate predictions

Response: CYP抑制/底物预测结果

undefined
undefined

4.3 Drug Warnings from OpenTargets

4.3 OpenTargets药物警告

python
undefined
python
undefined

Drug warnings (withdrawals, safety warnings)

药物警告(撤市、安全警告)

warnings = tu.tools.OpenTargets_get_drug_warnings_by_chemblId(chemblId="CHEMBL1487")
warnings = tu.tools.OpenTargets_get_drug_warnings_by_chemblId(chemblId="CHEMBL1487")

Response: {data: {drug: {id: "CHEMBL1487", name: "ATORVASTATIN"}}}

Response: {data: {drug: {id: "CHEMBL1487", name: "ATORVASTATIN"}}}

Note: Empty if no warnings exist

注意: 若无警告则返回空

undefined
undefined

4.4 Output for Report

4.4 报告输出内容

markdown
undefined
markdown
undefined

5. Mechanism-Based Adverse Event Context

5. 基于作用机制的不良事件关联

5.1 Target Safety Profile (HMGCR)

5.1 靶点安全特征(HMGCR)

Safety LiabilityDirectionEvidenceSource
Decreased fertilityInhibitionCell-basedAOP-Wiki
安全风险作用方向证据类型数据来源
生育能力下降抑制细胞实验AOP-Wiki

5.2 OpenTargets Significant Adverse Events

5.2 OpenTargets显著不良事件

Adverse EventFAERS Countlog(LR)MedDRA Code
Myalgia4,1266,06710028411
Rhabdomyolysis2,5464,78810039020
CPK increased1,7092,90910005470
不良事件FAERS报告数log(LR)MedDRA编码
肌痛4,1266,06710028411
横纹肌溶解症2,5464,78810039020
CPK升高1,7092,90910005470

5.3 ADMET Predictions

5.3 ADMET预测

PropertyPredictionConfidence
HepatotoxicityModerate risk0.65
Cardiotoxicity (hERG)Low risk0.23
CYP3A4 substrateYes0.92
Source: OpenTargets, ADMETAI

---
属性预测结果置信度
肝毒性中度风险0.65
心脏毒性(hERG)低风险0.23
CYP3A4底物0.92
数据来源: OpenTargets, ADMETAI

---

Phase 5: Comparative Safety Analysis

Phase 5: 安全性对比分析

5.1 Compare to Drug Class

5.1 与同类药物对比

python
undefined
python
undefined

Head-to-head comparison with class member

与同类药物头对头对比

comparison = tu.tools.FAERS_compare_drugs( operation="compare_drugs", drug1="ATORVASTATIN", drug2="SIMVASTATIN", adverse_event="Rhabdomyolysis" )
comparison = tu.tools.FAERS_compare_drugs( operation="compare_drugs", drug1="ATORVASTATIN", drug2="SIMVASTATIN", adverse_event="Rhabdomyolysis" )

Response: {status: "success", adverse_event: "Rhabdomyolysis",

Response: {status: "success", adverse_event: "Rhabdomyolysis",

drug1: {name: "ATORVASTATIN", metrics: {PRR: {value: 4.79, ...}, ROR: {...}, IC: {...}},

drug1: {name: "ATORVASTATIN", metrics: {PRR: {value: 4.79, ...}, ROR: {...}, IC: {...}},

signal_detection: {signal_detected: true, signal_strength: "Strong signal"}},

signal_detection: {signal_detected: true, signal_strength: "Strong signal"}},

drug2: {name: "SIMVASTATIN", metrics: {PRR: {value: 12.78, ...}, ...}},

drug2: {name: "SIMVASTATIN", metrics: {PRR: {value: 12.78, ...}, ...}},

comparison: "SIMVASTATIN shows stronger signal than ATORVASTATIN"}

comparison: "SIMVASTATIN shows stronger signal than ATORVASTATIN"}

Compare multiple events across class members

对比同类药物的多个事件

class_drugs = ["ATORVASTATIN", "SIMVASTATIN", "ROSUVASTATIN", "PRAVASTATIN"] key_events = ["Rhabdomyolysis", "Myalgia", "Hepatotoxicity", "Diabetes mellitus"]
class_drugs = ["ATORVASTATIN", "SIMVASTATIN", "ROSUVASTATIN", "PRAVASTATIN"] key_events = ["Rhabdomyolysis", "Myalgia", "Hepatotoxicity", "Diabetes mellitus"]

Run FAERS_compare_drugs for each pair and event combination

为每对药物和事件组合运行FAERS_compare_drugs

Aggregate adverse events across drug class

汇总同类药物的不良事件

class_aes = tu.tools.FAERS_count_additive_adverse_reactions( medicinalproducts=class_drugs )
class_aes = tu.tools.FAERS_count_additive_adverse_reactions( medicinalproducts=class_drugs )

Response: [{term: "FATIGUE", count: N}, ...]

Response: [{term: "FATIGUE", count: N}, ...]

Aggregate seriousness across class

汇总同类药物的严重程度

class_serious = tu.tools.FAERS_count_additive_seriousness_classification( medicinalproducts=class_drugs )
class_serious = tu.tools.FAERS_count_additive_seriousness_classification( medicinalproducts=class_drugs )

Response: [{term: "Serious", count: N}, {term: "Non-serious", count: N}]

Response: [{term: "Serious", count: N}, {term: "Non-serious", count: N}]

undefined
undefined

5.2 Output for Report

5.2 报告输出内容

markdown
undefined
markdown
undefined

6. Comparative Safety Analysis (Statin Class)

6. 安全性对比分析(他汀类)

6.1 Head-to-Head: Rhabdomyolysis

6.1 头对头对比:横纹肌溶解症

DrugPRRPRR 95% CIRORCasesSignal
Simvastatin12.7812.43-13.1413.055,234STRONG
Atorvastatin4.794.59-5.004.832,226STRONG
Rosuvastatin3.453.21-3.713.471,102Moderate
Pravastatin5.675.28-6.095.721,876STRONG
药物PRRPRR 95%置信区间ROR病例数信号强度
辛伐他汀12.7812.43-13.1413.055,234
阿托伐他汀4.794.59-5.004.832,226
瑞舒伐他汀3.453.21-3.713.471,102
普伐他汀5.675.28-6.095.721,876

6.2 Class-Wide vs Drug-Specific Signals

6.2 同类共性信号 vs 药物特异性信号

Signal TypeEvents
Class-wide (all statins)Myalgia, Rhabdomyolysis, CPK elevation, Hepatotoxicity
Drug-specific (atorvastatin)[None identified - all signals are class-wide]
Source: FAERS via FAERS_compare_drugs

---
信号类型事件
同类共性(所有他汀类)肌痛、横纹肌溶解症、CPK升高、肝毒性
药物特异性(阿托伐他汀)[未识别到 - 所有信号均为同类共性]
数据来源: FAERS via FAERS_compare_drugs

---

Phase 6: Drug-Drug Interactions & Risk Factors

Phase 6: 药物相互作用与风险因素

6.1 Drug-Drug Interactions

6.1 药物相互作用

python
undefined
python
undefined

FDA label DDIs

FDA说明书中的药物相互作用

ddi_label = tu.tools.FDA_get_drug_interactions_by_drug_name(drug_name="atorvastatin")
ddi_label = tu.tools.FDA_get_drug_interactions_by_drug_name(drug_name="atorvastatin")

Response: {results: [{drug_interactions: ["...text..."]}]}

Response: {results: [{drug_interactions: ["...text..."]}]}

DrugBank interactions

DrugBank中的药物相互作用

ddi_db = tu.tools.drugbank_get_drug_interactions_by_drug_name_or_id( query="atorvastatin", case_sensitive=False, exact_match=False, limit=3 )
ddi_db = tu.tools.drugbank_get_drug_interactions_by_drug_name_or_id( query="atorvastatin", case_sensitive=False, exact_match=False, limit=3 )

DailyMed DDIs

DailyMed中的药物相互作用

ddi_dailymed = tu.tools.DailyMed_parse_drug_interactions(drug_name="atorvastatin")
undefined
ddi_dailymed = tu.tools.DailyMed_parse_drug_interactions(drug_name="atorvastatin")
undefined

6.2 Pharmacogenomic Risk Factors

6.2 药物基因组学风险因素

python
undefined
python
undefined

PharmGKB drug search

PharmGKB药物搜索

pgx_search = tu.tools.PharmGKB_search_drugs(query="atorvastatin")
pgx_search = tu.tools.PharmGKB_search_drugs(query="atorvastatin")

Response: {status: "success", data: [{id: "PA448500", name: "atorvastatin", smiles: "..."}]}

Response: {status: "success", data: [{id: "PA448500", name: "atorvastatin", smiles: "..."}]}

Get detailed PGx info

获取详细PGx信息

pgx_details = tu.tools.PharmGKB_get_drug_details(drug_id="PA448500")
pgx_details = tu.tools.PharmGKB_get_drug_details(drug_id="PA448500")

PharmGKB dosing guidelines

PharmGKB给药指南

dosing = tu.tools.PharmGKB_get_dosing_guidelines(gene="SLCO1B1")
dosing = tu.tools.PharmGKB_get_dosing_guidelines(gene="SLCO1B1")

SLCO1B1 is key pharmacogene for statins

SLCO1B1是他汀类药物的关键药物基因

FDA PGx biomarkers

FDA PGx生物标志物

fda_pgx = tu.tools.fda_pharmacogenomic_biomarkers(drug_name="atorvastatin", limit=10)
fda_pgx = tu.tools.fda_pharmacogenomic_biomarkers(drug_name="atorvastatin", limit=10)

Response: {count: N, results: [{drug_name: "...", biomarker: "...", ...}]}

Response: {count: N, results: [{drug_name: "...", biomarker: "...", ...}]}

Note: May return empty results for some drugs

注意: 部分药物可能返回空结果

undefined
undefined

6.3 Output for Report

6.3 报告输出内容

markdown
undefined
markdown
undefined

7. Drug-Drug Interactions & Pharmacogenomic Risk

7. 药物相互作用与药物基因组学风险

7.1 Key Drug-Drug Interactions

7.1 关键药物相互作用

Interacting DrugMechanismRiskManagement
CyclosporineCYP3A4 inhibitionRhabdomyolysisAvoid combination
ClarithromycinCYP3A4 inhibitionMyopathyLimit to 20mg/day
GemfibrozilGlucuronidation inhibitionMyopathyAvoid combination
Niacin (>1g/day)Additive myotoxicityMyopathyMonitor closely
相互作用药物作用机制风险管理策略
环孢素CYP3A4抑制横纹肌溶解症避免合用
克拉霉素CYP3A4抑制肌病剂量限制为20mg/日
吉非贝齐葡萄糖醛酸化抑制肌病避免合用
烟酸(>1g/日)叠加肌毒性肌病密切监测

7.2 Pharmacogenomic Risk Factors

7.2 药物基因组学风险因素

GeneVariantPhenotypeRecommendationEvidence
SLCO1B1rs4149056 (*5)Reduced transportConsider lower doseLevel 1A
CYP3A4*22 (rs35599367)Poor metabolizerIncreased exposureLevel 3
Source: FDA label, PharmGKB, fda_pharmacogenomic_biomarkers

---
基因变异体表型建议证据等级
SLCO1B1rs4149056 (*5)转运能力下降考虑降低剂量Level 1A
CYP3A4*22 (rs35599367)弱代谢型暴露量升高Level 3
数据来源: FDA说明书, PharmGKB, fda_pharmacogenomic_biomarkers

---

Phase 7: Literature Evidence

Phase 7: 文献证据

7.1 Search Published Literature

7.Search Published Literature

python
undefined
python
undefined

PubMed safety studies

PubMed安全研究

pubmed = tu.tools.PubMed_search_articles( query='atorvastatin adverse events safety rhabdomyolysis', limit=20 )
pubmed = tu.tools.PubMed_search_articles( query='atorvastatin adverse events safety rhabdomyolysis', limit=20 )

Response: [{pmid: "...", title: "...", authors: [...], journal: "...",

Response: [{pmid: "...", title: "...", authors: [...], journal: "...",

pub_date: "...", pub_year: "...", doi: "..."}]

pub_date: "...", pub_year: "...", doi: "..."}]

Citation analysis via OpenAlex

OpenAlex引用分析

openalex = tu.tools.openalex_search_works( query="atorvastatin safety adverse events", limit=15 )
openalex = tu.tools.openalex_search_works( query="atorvastatin safety adverse events", limit=15 )

Preprints via EuropePMC

EuropePMC预印本

preprints = tu.tools.EuropePMC_search_articles( query="atorvastatin safety signal", source="PPR", pageSize=10 )
undefined
preprints = tu.tools.EuropePMC_search_articles( query="atorvastatin safety signal", source="PPR", pageSize=10 )
undefined

7.2 Output for Report

7.2 报告输出内容

markdown
undefined
markdown
undefined

8. Literature Evidence

8. 文献证据

8.1 Key Safety Publications

8.1 关键安全出版物

PMIDTitleYearJournal
41657777Differential musculoskeletal outcome reporting...2026Front Pharmacol
............
PMID标题年份期刊
41657777Differential musculoskeletal outcome reporting...2026Front Pharmacol
............

8.2 Evidence Summary

8.2 证据汇总

Evidence TypeCountKey Findings
Meta-analyses5Statin myopathy 5-10%, rhabdomyolysis rare
RCTs12CV benefit outweighs muscle risk
Case reports23Severe rhabdomyolysis with CYP3A4 inhibitors
Source: PubMed, OpenAlex

---
证据类型数量关键发现
荟萃分析5他汀类肌病发生率5-10%,横纹肌溶解症罕见
随机对照试验(RCT)12心血管获益超过肌肉风险
病例报告23与CYP3A4抑制剂合用时出现严重横纹肌溶解症
数据来源: PubMed, OpenAlex

---

Phase 8: Risk Assessment & Safety Signal Score

Phase 8: 风险评估与安全信号评分

8.1 Safety Signal Score Calculation (0-100)

8.1 安全信号评分计算(0-100分)

The Safety Signal Score quantifies overall drug safety concern on a 0-100 scale (higher = more concern).
Component 1: FAERS Signal Strength (0-35 points)
If any signal has PRR >= 5 AND ROR lower CI >= 3: 35 points
If any signal has PRR 3-5 AND ROR lower CI 2-3: 20 points
If any signal has PRR 2-3 AND ROR lower CI 1-2: 10 points
If no signals detected: 0 points
Component 2: Serious Adverse Events (0-30 points)
Deaths reported with high count (>100): 30 points
Deaths reported with low count (1-100): 25 points
Life-threatening events: 20 points
Hospitalizations only: 15 points
Non-serious only: 0 points
Component 3: FDA Label Warnings (0-25 points)
Boxed warning present: 25 points
Drug withdrawn or restricted: 25 points
Contraindications present: 15 points
Warnings and precautions: 10 points
Adverse reactions only: 5 points
No label warnings: 0 points
Component 4: Literature Evidence (0-10 points)
Meta-analyses confirming safety signals: 10 points
Multiple RCTs with safety concerns: 7 points
Case reports/case series: 4 points
No published safety concerns: 0 points
Total Score Interpretation:
Score RangeInterpretationAction
75-100High concernSerious safety signals; requires immediate regulatory attention
50-74Moderate concernSignificant monitoring needed; consider risk mitigation
25-49Low-moderate concernRoutine enhanced monitoring; standard risk management
0-24Low concernStandard safety profile; routine pharmacovigilance
安全信号评分以0-100分量化药物整体安全风险(分数越高,风险越高)。
成分1: FAERS信号强度(0-35分)
若存在PRR >=5且ROR置信区间下限>=3的信号: 35分
若存在PRR 3-5且ROR置信区间下限2-3的信号: 20分
若存在PRR 2-3且ROR置信区间下限1-2的信号: 10分
无信号: 0分
成分2: 严重不良事件(0-30分)
死亡报告数多(>100例): 30分
死亡报告数少(1-100例): 25分
存在危及生命事件: 20分
仅存在住院事件: 15分
仅存在非严重事件: 0分
成分3: FDA说明书警告(0-25分)
存在黑框警告: 25分
药物撤市或受限: 25分
存在禁忌症: 15分
存在警告与注意事项: 10分
仅存在不良反应: 5分
无说明书警告: 0分
成分4: 文献证据(0-10分)
荟萃分析确认安全信号: 10分
多项RCT提示安全风险: 7分
病例报告/病例系列: 4分
无已发表安全风险: 0分
总分解读:
分数范围解读行动
75-100高风险存在严重安全信号;需立即引起监管关注
50-74中风险需重点监测;考虑风险缓解措施
25-49低-中风险常规强化监测;标准风险管理
0-24低风险标准安全特征;常规药物警戒流程

8.2 Evidence Grading

8.2 证据分级

TierCriteriaExample
T1Boxed warning, confirmed by RCTs, PRR > 10Metformin: Lactic acidosis
T2Label warning + FAERS signal (PRR 3-10) + published studiesAtorvastatin: Rhabdomyolysis
T3FAERS signal (PRR 2-3) + case reportsAtorvastatin: Pancreatitis
T4Computational prediction only (ADMET) or weak signalADMETAI hepatotoxicity prediction
等级标准示例
T1黑框警告,经RCT确认,PRR>10二甲双胍:乳酸酸中毒
T2说明书警告 + FAERS信号(PRR 3-10) + 已发表研究阿托伐他汀:横纹肌溶解症
T3FAERS信号(PRR 2-3) + 病例报告阿托伐他汀:胰腺炎
T4仅计算预测(ADMET)或弱信号ADMETAI肝毒性预测

8.3 Output for Report

8.3 报告输出内容

markdown
undefined
markdown
undefined

9. Risk Assessment

9. 风险评估

9.1 Safety Signal Score: 62/100 (MODERATE CONCERN)

9.1 安全信号评分: 62/100(中风险)

ComponentScoreMaxRationale
FAERS Signal Strength3535Strong signals (PRR >= 5 for rhabdomyolysis)
Serious Adverse Events1530Hospitalizations; deaths uncommon for drug itself
FDA Label Warnings1025Warnings/precautions but no boxed warning
Literature Evidence710Multiple RCTs confirm muscle-related risks
TOTAL62100MODERATE CONCERN
成分得分满分依据
FAERS信号强度3535存在强信号(横纹肌溶解症PRR>=5)
严重不良事件1530存在住院事件;药物本身相关死亡罕见
FDA说明书警告1025存在警告与注意事项,但无黑框警告
文献证据710多项RCT确认肌肉相关风险
总分62100中风险

9.2 Evidence-Graded Signals

9.2 证据分级信号

SignalGradePRRSeriousLabelLiteratureOverall
RhabdomyolysisT24.79YesWarningConfirmedModerate
MyopathyT26.12YesWarningConfirmedModerate
HepatotoxicityT33.45RareWarningCase reportsLow-Moderate
Diabetes riskT31.89NoWarningRCT dataLow

---
信号等级PRR严重程度说明书提及文献支持整体风险
横纹肌溶解症T24.79警告已确认
肌病T26.12警告已确认
肝毒性T33.45罕见警告病例报告低-中
糖尿病风险T31.89警告RCT数据

---

Phase 9: Report Synthesis & Recommendations

Phase 9: 报告合成与建议

9.1 Report Template

9.1 报告模板

File:
[DRUG]_adverse_event_report.md
markdown
undefined
文件:
[DRUG]_adverse_event_report.md
markdown
undefined

Adverse Drug Event Signal Detection Report: [DRUG]

药物不良事件信号检测报告: [DRUG]

Generated: [Date] | Drug: [Generic Name] | ChEMBL ID: [ID] Safety Signal Score: [XX/100] ([INTERPRETATION])

生成日期: [Date] | 药物: [通用名] | ChEMBL ID: [ID] 安全信号评分: [XX/100] ([解读])

Executive Summary

执行摘要

[2-3 paragraph summary of key findings]
Key Safety Signals:
  1. [Strongest signal with PRR/ROR]
  2. [Second signal]
  3. [Third signal]
Regulatory Status: [Boxed warning Y/N] | [Withdrawn Y/N] | [Restrictions]

[2-3段关键发现总结]
关键安全信号:
  1. [最强信号及PRR/ROR值]
  2. [次强信号]
  3. [第三信号]
监管状态: [是否有黑框警告] | [是否撤市] | [限制条件]

1. Drug Identification

1. 药物识别

[Phase 0 output]
[Phase 0输出内容]

2. FAERS Adverse Event Profile

2. FAERS不良事件分析

[Phase 1 output]
[Phase 1输出内容]

3. Disproportionality Analysis

3. 比例失衡分析

[Phase 2 output]
[Phase 2输出内容]

4. FDA Label Safety Information

4. FDA说明书安全信息

[Phase 3 output]
[Phase 3输出内容]

5. Mechanism-Based Context

5. 基于作用机制的关联分析

[Phase 4 output]
[Phase 4输出内容]

6. Comparative Safety Analysis

6. 安全性对比分析

[Phase 5 output]
[Phase 5输出内容]

7. Drug-Drug Interactions & PGx Risk

7. 药物相互作用与PGx风险

[Phase 6 output]
[Phase 6输出内容]

8. Literature Evidence

8. 文献证据

[Phase 7 output]
[Phase 7输出内容]

9. Risk Assessment

9. 风险评估

[Phase 8 output]
[Phase 8输出内容]

10. Clinical Recommendations

10. 临床建议

10.1 Monitoring Recommendations

10.1 监测建议

ParameterFrequencyRationale
[Lab test][Frequency][Why]
参数频率依据
[实验室检查][频率][原因]

10.2 Risk Mitigation Strategies

10.2 风险缓解策略

RiskMitigationEvidence
[Risk][Strategy][Source]
风险缓解措施证据
[风险][策略][来源]

10.3 Patient Counseling Points

10.3 患者宣教要点

  • [Point 1]
  • [Point 2]
  • [要点1]
  • [要点2]

10.4 Populations at Higher Risk

10.4 高风险人群

PopulationRisk FactorRecommendation
[Group][Factor][Action]

人群风险因素建议
[群体][因素][行动]

11. Completeness Checklist

11. 完整性检查清单

[See below]
[见下文]

12. Data Sources

12. 数据来源

[All tools and databases used with timestamps]

---
[所有使用的工具和数据库及时间戳]

---

Completeness Checklist

完整性检查清单

Phase 0: Drug Disambiguation

Phase 0: 药物消歧

  • Generic name resolved
  • ChEMBL ID obtained
  • DrugBank ID obtained
  • Drug class identified
  • Mechanism of action stated
  • Primary target identified
  • Blackbox/withdrawal status checked
  • 通用名已确认
  • 已获取ChEMBL ID
  • 已获取DrugBank ID
  • 已识别药物类别
  • 已明确作用机制
  • 已识别主要靶点
  • 已检查黑框警告/撤市状态

Phase 1: FAERS Profiling

Phase 1: FAERS分析

  • Top adverse events queried (>=15 events)
  • Seriousness distribution obtained
  • Outcome distribution obtained
  • Age distribution obtained
  • Death-related events counted
  • Reporter country distribution obtained
  • 已查询top不良事件(>=15个事件)
  • 已获取严重程度分布
  • 已获取结局分布
  • 已获取年龄分布
  • 已统计死亡相关事件
  • 已获取报告者国家分布

Phase 2: Disproportionality Analysis

Phase 2: 比例失衡分析

  • PRR calculated for >= 10 adverse events
  • ROR with 95% CI for each event
  • IC with 95% CI for each event
  • Signal strength classified for each
  • Demographics stratified for strong signals
  • 已为>=10个不良事件计算PRR
  • 已为每个事件计算带95%置信区间的ROR
  • 已为每个事件计算带95%置信区间的IC
  • 已为每个事件分类信号强度
  • 已为强信号进行人口统计学分层

Phase 3: FDA Label

Phase 3: FDA说明书

  • Boxed warnings checked (or confirmed none)
  • Contraindications extracted
  • Warnings and precautions extracted
  • Adverse reactions from label
  • Drug interactions from label
  • Special populations (pregnancy, geriatric, pediatric)
  • 已检查黑框警告(或确认无)
  • 已提取禁忌症
  • 已提取警告与注意事项
  • 已提取说明书中的不良反应
  • 已提取说明书中的药物相互作用
  • 已提取特殊人群信息(妊娠、老年、儿科)

Phase 4: Mechanism Context

Phase 4: 作用机制关联

  • Target safety profile (OpenTargets)
  • OpenTargets adverse events queried
  • ADMET predictions (if SMILES available)
  • 已获取靶点安全特征(OpenTargets)
  • 已查询OpenTargets不良事件
  • 已进行ADMET预测(若SMILES可用)

Phase 5: Comparative Analysis

Phase 5: 对比分析

  • At least 1 class comparison performed
  • Class-wide vs drug-specific signals identified
  • Aggregate class AEs computed (if applicable)
  • 已完成至少1项同类药物对比
  • 已识别同类共性信号与药物特异性信号
  • 已计算同类药物汇总不良事件(若适用)

Phase 6: DDIs & PGx

Phase 6: DDI与PGx

  • DDIs from FDA label extracted
  • PharmGKB queried
  • Dosing guidelines checked
  • FDA PGx biomarkers checked
  • 已提取FDA说明书中的DDI
  • 已查询PharmGKB
  • 已检查给药指南
  • 已检查FDA PGx生物标志物

Phase 7: Literature

Phase 7: 文献

  • PubMed searched (>=10 articles)
  • OpenAlex citation analysis (if time permits)
  • Key safety publications cited
  • 已搜索PubMed(>=10篇文献)
  • 已进行OpenAlex引用分析(若时间允许)
  • 已引用关键安全出版物

Phase 8: Risk Assessment

Phase 8: 风险评估

  • Safety Signal Score calculated (0-100)
  • Each signal evidence-graded (T1-T4)
  • Score interpretation provided
  • 已计算安全信号评分(0-100分)
  • 已为每个信号进行证据分级(T1-T4)
  • 已提供评分解读

Phase 9: Report

Phase 9: 报告

  • Report file created and saved
  • Executive summary written
  • Monitoring recommendations provided
  • Risk mitigation strategies listed
  • Patient counseling points included
  • All sources cited

  • 已创建并保存报告文件
  • 已撰写执行摘要
  • 已提供监测建议
  • 已列出风险缓解策略
  • 已包含患者宣教要点
  • 已标注所有数据来源

Tool Parameter Reference (Verified)

工具参数参考(已验证)

FAERS Tools (OpenFDA-based)

FAERS工具(基于OpenFDA)

ToolKey ParametersNotes
FAERS_count_reactions_by_drug_event
medicinalproduct
(REQUIRED),
patientsex
,
patientagegroup
,
occurcountry
Returns [{term, count}]
FAERS_count_seriousness_by_drug_event
medicinalproduct
(REQUIRED),
patientsex
,
patientagegroup
,
occurcountry
Returns [{term: "Serious"/"Non-serious", count}]
FAERS_count_outcomes_by_drug_event
medicinalproduct
(REQUIRED),
patientsex
,
patientagegroup
,
occurcountry
Returns [{term: "Fatal"/"Recovered"/..., count}]
FAERS_count_patient_age_distribution
medicinalproduct
(REQUIRED)
Returns [{term: "Elderly"/"Adult"/..., count}]
FAERS_count_death_related_by_drug
medicinalproduct
(REQUIRED)
Returns [{term: "alive"/"death", count}]
FAERS_count_reportercountry_by_drug_event
medicinalproduct
(REQUIRED),
patientsex
,
patientagegroup
,
serious
Returns [{term: "US"/"GB"/..., count}]
FAERS_search_adverse_event_reports
medicinalproduct
,
limit
(max 100),
skip
Returns individual case reports with patient/drug/reaction data
FAERS_search_reports_by_drug_and_reaction
medicinalproduct
(REQUIRED),
reactionmeddrapt
(REQUIRED),
limit
,
skip
,
patientsex
,
serious
Returns individual reports filtered by specific reaction
FAERS_search_serious_reports_by_drug
medicinalproduct
(REQUIRED),
seriousnessdeath
,
seriousnesshospitalization
,
seriousnesslifethreatening
,
seriousnessdisabling
,
limit
Returns serious event reports
工具关键参数说明
FAERS_count_reactions_by_drug_event
medicinalproduct
(必填),
patientsex
,
patientagegroup
,
occurcountry
返回[{term, count}]
FAERS_count_seriousness_by_drug_event
medicinalproduct
(必填),
patientsex
,
patientagegroup
,
occurcountry
返回[{term: "Serious"/"Non-serious", count}]
FAERS_count_outcomes_by_drug_event
medicinalproduct
(必填),
patientsex
,
patientagegroup
,
occurcountry
返回[{term: "Fatal"/"Recovered"/..., count}]
FAERS_count_patient_age_distribution
medicinalproduct
(必填)
返回[{term: "Elderly"/"Adult"/..., count}]
FAERS_count_death_related_by_drug
medicinalproduct
(必填)
返回[{term: "alive"/"death", count}]
FAERS_count_reportercountry_by_drug_event
medicinalproduct
(必填),
patientsex
,
patientagegroup
,
serious
返回[{term: "US"/"GB"/..., count}]
FAERS_search_adverse_event_reports
medicinalproduct
,
limit
(最大100),
skip
返回包含患者/药物/反应数据的单个病例报告
FAERS_search_reports_by_drug_and_reaction
medicinalproduct
(必填),
reactionmeddrapt
(必填),
limit
,
skip
,
patientsex
,
serious
返回按特定反应筛选的单个报告
FAERS_search_serious_reports_by_drug
medicinalproduct
(必填),
seriousnessdeath
,
seriousnesshospitalization
,
seriousnesslifethreatening
,
seriousnessdisabling
,
limit
返回严重事件报告

FAERS Analytics Tools (operation-based)

FAERS分析工具(基于operation)

ToolKey ParametersNotes
FAERS_calculate_disproportionality
operation
="calculate_disproportionality",
drug_name
(REQUIRED),
adverse_event
(REQUIRED)
Returns PRR, ROR, IC with 95% CI and signal detection
FAERS_analyze_temporal_trends
operation
="analyze_temporal_trends",
drug_name
(REQUIRED),
adverse_event
(optional)
Returns yearly counts and trend direction
FAERS_compare_drugs
operation
="compare_drugs",
drug1
(REQUIRED),
drug2
(REQUIRED),
adverse_event
(REQUIRED)
Returns PRR/ROR/IC for both drugs side-by-side
FAERS_filter_serious_events
operation
="filter_serious_events",
drug_name
(REQUIRED),
seriousness_type
(death/hospitalization/disability/life_threatening/all)
Returns top serious reactions with counts
FAERS_stratify_by_demographics
operation
="stratify_by_demographics",
drug_name
(REQUIRED),
adverse_event
(REQUIRED),
stratify_by
(sex/age/country)
Returns stratified counts and percentages. Sex codes: 0=Unknown, 1=Male, 2=Female
FAERS_rollup_meddra_hierarchy
operation
="rollup_meddra_hierarchy",
drug_name
(REQUIRED)
Returns top 50 preferred terms with counts
工具关键参数说明
FAERS_calculate_disproportionality
operation
="calculate_disproportionality",
drug_name
(必填),
adverse_event
(必填)
返回PRR、ROR、IC及95%置信区间和信号检测结果
FAERS_analyze_temporal_trends
operation
="analyze_temporal_trends",
drug_name
(必填),
adverse_event
(可选)
返回年度报告数及趋势方向
FAERS_compare_drugs
operation
="compare_drugs",
drug1
(必填),
drug2
(必填),
adverse_event
(必填)
返回两种药物的PRR/ROR/IC对比结果
FAERS_filter_serious_events
operation
="filter_serious_events",
drug_name
(必填),
seriousness_type
(death/hospitalization/disability/life_threatening/all)
返回top严重反应及报告数
FAERS_stratify_by_demographics
operation
="stratify_by_demographics",
drug_name
(必填),
adverse_event
(必填),
stratify_by
(sex/age/country)
返回分层报告数及占比。性别编码: 0=未知, 1=男性, 2=女性
FAERS_rollup_meddra_hierarchy
operation
="rollup_meddra_hierarchy",
drug_name
(必填)
返回top 50首选术语及报告数

FAERS Aggregate Tools (multi-drug)

FAERS汇总工具(多药物)

ToolKey ParametersNotes
FAERS_count_additive_adverse_reactions
medicinalproducts
(REQUIRED, array),
patientsex
,
patientagegroup
,
occurcountry
,
serious
,
seriousnessdeath
Aggregates AE counts across multiple drugs
FAERS_count_additive_seriousness_classification
medicinalproducts
(REQUIRED, array),
patientsex
,
patientagegroup
,
occurcountry
Aggregates seriousness across multiple drugs
FAERS_count_additive_reaction_outcomes
medicinalproducts
(REQUIRED, array)
Aggregates outcomes across multiple drugs
工具关键参数说明
FAERS_count_additive_adverse_reactions
medicinalproducts
(必填,数组),
patientsex
,
patientagegroup
,
occurcountry
,
serious
,
seriousnessdeath
汇总多个药物的不良事件报告数
FAERS_count_additive_seriousness_classification
medicinalproducts
(必填,数组),
patientsex
,
patientagegroup
,
occurcountry
汇总多个药物的严重程度分布
FAERS_count_additive_reaction_outcomes
medicinalproducts
(必填,数组)
汇总多个药物的结局分布

FDA Label Tools

FDA说明书工具

ToolKey ParametersNotes
FDA_get_boxed_warning_info_by_drug_name
drug_name
Returns
{error: {code: "NOT_FOUND"}}
if no boxed warning
FDA_get_contraindications_by_drug_name
drug_name
Returns
{meta: {total: N}, results: [{contraindications: [...]}]}
FDA_get_adverse_reactions_by_drug_name
drug_name
Returns
{meta: {total: N}, results: [{adverse_reactions: [...]}]}
FDA_get_warnings_by_drug_name
drug_name
Returns
{meta: {total: N}, results: [{warnings: [...]}]}
FDA_get_drug_interactions_by_drug_name
drug_name
Returns
{meta: {total: N}, results: [{drug_interactions: [...]}]}
FDA_get_pharmacogenomics_info_by_drug_name
drug_name
Returns PGx info from label
FDA_get_pregnancy_or_breastfeeding_info_by_drug_name
drug_name
Returns pregnancy info
FDA_get_geriatric_use_info_by_drug_name
drug_name
Returns geriatric use info
FDA_get_pediatric_use_info_by_drug_name
drug_name
Returns pediatric info
工具关键参数说明
FDA_get_boxed_warning_info_by_drug_name
drug_name
若无黑框警告,返回
{error: {code: "NOT_FOUND"}}
FDA_get_contraindications_by_drug_name
drug_name
返回
{meta: {total: N}, results: [{contraindications: [...]}]}
FDA_get_adverse_reactions_by_drug_name
drug_name
返回
{meta: {total: N}, results: [{adverse_reactions: [...]}]}
FDA_get_warnings_by_drug_name
drug_name
返回
{meta: {total: N}, results: [{warnings: [...]}]}
FDA_get_drug_interactions_by_drug_name
drug_name
返回
{meta: {total: N}, results: [{drug_interactions: [...]}]}
FDA_get_pharmacogenomics_info_by_drug_name
drug_name
返回说明书中的PGx信息
FDA_get_pregnancy_or_breastfeeding_info_by_drug_name
drug_name
返回妊娠相关信息
FDA_get_geriatric_use_info_by_drug_name
drug_name
返回老年用药信息
FDA_get_pediatric_use_info_by_drug_name
drug_name
返回儿科用药信息

OpenTargets Tools

OpenTargets工具

ToolKey ParametersNotes
OpenTargets_get_drug_chembId_by_generic_name
drugName
Returns
{data: {search: {hits: [{id, name, description}]}}}
OpenTargets_get_drug_adverse_events_by_chemblId
chemblId
Returns
{data: {drug: {adverseEvents: {count, rows: [{name, meddraCode, count, logLR}]}}}}
OpenTargets_get_drug_blackbox_status_by_chembl_ID
chemblId
Returns
{data: {drug: {hasBeenWithdrawn, blackBoxWarning}}}
OpenTargets_get_drug_warnings_by_chemblId
chemblId
Returns drug warnings (may be empty)
OpenTargets_get_drug_mechanisms_of_action_by_chemblId
chemblId
Returns
{data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction, actionType, targetName, targets}]}}}}
OpenTargets_get_drug_indications_by_chemblId
chemblId
Returns approved and investigational indications
OpenTargets_get_target_safety_profile_by_ensemblID
ensemblId
Returns
{data: {target: {safetyLiabilities: [{event, effects, studies, datasource}]}}}
工具关键参数说明
OpenTargets_get_drug_chembId_by_generic_name
drugName
返回
{data: {search: {hits: [{id, name, description}]}}}
OpenTargets_get_drug_adverse_events_by_chemblId
chemblId
返回
{data: {drug: {adverseEvents: {count, rows: [{name, meddraCode, count, logLR}]}}}}
OpenTargets_get_drug_blackbox_status_by_chembl_ID
chemblId
返回
{data: {drug: {hasBeenWithdrawn, blackBoxWarning}}}
OpenTargets_get_drug_warnings_by_chemblId
chemblId
返回药物警告(可能为空)
OpenTargets_get_drug_mechanisms_of_action_by_chemblId
chemblId
返回
{data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction, actionType, targetName, targets}]}}}}
OpenTargets_get_drug_indications_by_chemblId
chemblId
返回获批及在研适应症
OpenTargets_get_target_safety_profile_by_ensemblID
ensemblId
返回
{data: {target: {safetyLiabilities: [{event, effects, studies, datasource}]}}}

DrugBank Tools

DrugBank工具

ToolKey ParametersNotes
drugbank_get_safety_by_drug_name_or_drugbank_id
query
,
case_sensitive
(bool),
exact_match
(bool),
limit
Returns toxicity, food interactions
drugbank_get_targets_by_drug_name_or_drugbank_id
query
,
case_sensitive
,
exact_match
,
limit
Returns drug targets
drugbank_get_drug_interactions_by_drug_name_or_id
query
,
case_sensitive
,
exact_match
,
limit
Returns DDIs
drugbank_get_pharmacology_by_drug_name_or_drugbank_id
query
,
case_sensitive
,
exact_match
,
limit
Returns pharmacology
工具关键参数说明
drugbank_get_safety_by_drug_name_or_drugbank_id
query
,
case_sensitive
(布尔值),
exact_match
(布尔值),
limit
返回毒性、食物相互作用信息
drugbank_get_targets_by_drug_name_or_drugbank_id
query
,
case_sensitive
,
exact_match
,
limit
返回药物靶点
drugbank_get_drug_interactions_by_drug_name_or_id
query
,
case_sensitive
,
exact_match
,
limit
返回药物相互作用
drugbank_get_pharmacology_by_drug_name_or_drugbank_id
query
,
case_sensitive
,
exact_match
,
limit
返回药理学信息

PharmGKB Tools

PharmGKB工具

ToolKey ParametersNotes
PharmGKB_search_drugs
query
Returns
{data: [{id, name, smiles}]}
PharmGKB_get_drug_details
drug_id
(e.g., "PA448500")
Returns detailed drug info
PharmGKB_get_dosing_guidelines
guideline_id
,
gene
(both optional)
Returns dosing guidelines
PharmGKB_get_clinical_annotations
annotation_id
,
gene_id
(both optional)
Returns clinical annotations
fda_pharmacogenomic_biomarkers
drug_name
,
biomarker
,
limit
Returns
{count, results: [...]}
工具关键参数说明
PharmGKB_search_drugs
query
返回
{data: [{id, name, smiles}]}
PharmGKB_get_drug_details
drug_id
(例如"PA448500")
返回详细药物信息
PharmGKB_get_dosing_guidelines
guideline_id
,
gene
(均为可选)
返回给药指南
PharmGKB_get_clinical_annotations
annotation_id
,
gene_id
(均为可选)
返回临床注释
fda_pharmacogenomic_biomarkers
drug_name
,
biomarker
,
limit
返回
{count, results: [...]}

ADMETAI Tools

ADMETAI工具

ToolKey ParametersNotes
ADMETAI_predict_toxicity
smiles
(REQUIRED, array of strings)
Predicts hepatotoxicity, cardiotoxicity, etc.
ADMETAI_predict_CYP_interactions
smiles
(REQUIRED, array)
Predicts CYP inhibition/substrate
工具关键参数说明
ADMETAI_predict_toxicity
smiles
(必填,字符串数组)
预测肝毒性、心脏毒性等
ADMETAI_predict_CYP_interactions
smiles
(必填,数组)
预测CYP抑制/底物

Literature Tools

文献工具

ToolKey ParametersNotes
PubMed_search_articles
query
,
limit
Returns list of article dicts
openalex_search_works
query
,
limit
Returns works with citation counts
EuropePMC_search_articles
query
,
source
("PPR" for preprints),
pageSize
Returns articles including preprints
search_clinical_trials
query_term
(REQUIRED),
condition
,
intervention
,
pageSize
Returns clinical trials

工具关键参数说明
PubMed_search_articles
query
,
limit
返回文章字典列表
openalex_search_works
query
,
limit
返回带有引用数的文献
EuropePMC_search_articles
query
,
source
("PPR"表示预印本),
pageSize
返回包含预印本的文章
search_clinical_trials
query_term
(必填),
condition
,
intervention
,
pageSize
返回临床试验信息

Fallback Chains

备选工具链

Primary ToolFallback 1Fallback 2
FAERS_calculate_disproportionality
Manual calculation from
FAERS_count_*
data
Literature PRR values
FAERS_count_reactions_by_drug_event
FAERS_rollup_meddra_hierarchy
OpenTargets adverse events
FDA_get_boxed_warning_info_by_drug_name
OpenTargets_get_drug_blackbox_status_by_chembl_ID
DrugBank safety
FDA_get_contraindications_by_drug_name
FDA_get_warnings_by_drug_name
DrugBank safety
OpenTargets_get_drug_chembId_by_generic_name
ChEMBL_search_drugs
Manual search
PharmGKB_search_drugs
fda_pharmacogenomic_biomarkers
FDA label PGx section
PubMed_search_articles
openalex_search_works
EuropePMC_search_articles

主工具备选工具1备选工具2
FAERS_calculate_disproportionality
基于
FAERS_count_*
数据手动计算
文献中的PRR值
FAERS_count_reactions_by_drug_event
FAERS_rollup_meddra_hierarchy
OpenTargets不良事件
FDA_get_boxed_warning_info_by_drug_name
OpenTargets_get_drug_blackbox_status_by_chembl_ID
DrugBank安全信息
FDA_get_contraindications_by_drug_name
FDA_get_warnings_by_drug_name
DrugBank安全信息
OpenTargets_get_drug_chembId_by_generic_name
ChEMBL_search_drugs
手动搜索
PharmGKB_search_drugs
fda_pharmacogenomic_biomarkers
FDA说明书PGx章节
PubMed_search_articles
openalex_search_works
EuropePMC_search_articles

Common Patterns

常见模式

Pattern 1: Full Safety Signal Profile for a Single Drug

模式1: 单药完整安全信号分析

Use all phases (0-9) for comprehensive report. Best for regulatory submissions, safety reviews.
使用所有Phase(0-9)生成全面报告。适用于监管申报、安全性评审。

Pattern 2: Specific Adverse Event Investigation

模式2: 特定不良事件调查

Focus on Phases 0, 2, 3, 7. User asks "Does [drug] cause [event]?" - calculate disproportionality for that specific event, check label, search literature.
重点关注Phase 0、2、3、7。当用户询问“[药物]是否会导致[事件]?”时——计算该特定事件的比例失衡指标,检查说明书,搜索文献。

Pattern 3: Drug Class Comparison

模式3: 同类药物对比

Focus on Phases 0, 2, 5. Compare 3-5 drugs in same class for a specific adverse event using
FAERS_compare_drugs
.
重点关注Phase 0、2、5。使用
FAERS_compare_drugs
对比3-5个同类药物的特定不良事件。

Pattern 4: Emerging Signal Detection

模式4: 新出现信号检测

Focus on Phases 1, 2, 7. Screen top 20+ FAERS events for signals, identify any not in FDA label (Phase 3), search recent literature for confirmation.
重点关注Phase 1、2、7。筛选FAERS top 20+事件以识别信号,找出FDA说明书中未提及的事件(Phase 3),搜索近期文献确认。

Pattern 5: Pharmacogenomic Risk Assessment

模式5: 药物基因组学风险评估

Focus on Phases 0, 6. Identify genetic risk factors for adverse events using PharmGKB and FDA PGx biomarkers.
重点关注Phase 0、6。利用PharmGKB和FDA PGx生物标志物识别不良事件的遗传风险因素。

Pattern 6: Pre-Approval Safety Assessment

模式6: 获批前安全性评估

Focus on Phases 4, 7. Use ADMET predictions and target safety profiles when FAERS data is limited (new drugs).

重点关注Phase 4、7。当FAERS数据有限时(新药),使用ADMET预测和靶点安全特征。

Edge Cases

边缘情况

Drug with No FAERS Reports

无FAERS报告的药物

  • Skip Phases 1-2
  • Rely on FDA label (Phase 3), mechanism predictions (Phase 4), and literature (Phase 7)
  • Safety Signal Score will be lower due to lack of signal detection data
  • 跳过Phase 1-2
  • 依赖FDA说明书(Phase 3)、机制预测(Phase 4)和文献(Phase 7)
  • 由于缺乏信号检测数据,安全信号评分会较低

Generic vs Brand Name

通用名 vs 商品名

  • Always try both names in FAERS queries (FAERS uses brand names sometimes)
  • Use
    OpenTargets_get_drug_chembId_by_generic_name
    to resolve to standard identifier
  • Use
    FDA_get_brand_name_generic_name
    for name cross-reference
  • FAERS查询时始终尝试两种名称(FAERS有时使用商品名)
  • 使用
    OpenTargets_get_drug_chembId_by_generic_name
    关联至标准标识符
  • 使用
    FDA_get_brand_name_generic_name
    进行名称交叉验证

Drug Combinations

联合用药

  • Use
    FAERS_search_reports_by_drug_combination
    for polypharmacy analysis
  • Distinguish combination AEs from individual drug AEs
  • Use
    FAERS_count_additive_adverse_reactions
    for aggregate class analysis
  • 使用
    FAERS_search_reports_by_drug_combination
    进行多药分析
  • 区分联合用药不良事件与单药不良事件
  • 使用
    FAERS_count_additive_adverse_reactions
    进行同类药物汇总分析

Confounding by Indication

适应症混杂

  • Compare AE profile to the disease being treated
  • Example: "Death" reports for chemotherapy drugs may reflect disease progression
  • Always note this limitation in the report
  • 将不良事件谱与治疗疾病对比
  • 示例:化疗药物的“死亡”报告可能反映疾病进展
  • 报告中需始终注明该局限性

Drugs with Boxed Warnings

带有黑框警告的药物

  • Score component automatically 25/25 for label warnings
  • Prioritize boxed warning events in disproportionality analysis
  • Cross-reference boxed warning with FAERS signal strength
  • 说明书警告成分自动得25/25分
  • 在比例失衡分析中优先关注黑框警告事件
  • 交叉验证黑框警告与FAERS信号强度