关于 tooluniverse-drug-regulatory
面向药品监管研究的 ToolUniverse 技能,可查询药品身份、分类、审批、专利、标签和临床试验。它整合 FDA 资源及其他药物数据库的检索流程,并强调按市场核实动态监管状态。
主要功能
- 01FDA 物质身份查询
- 02药物类别与 ATC 查询
- 03审批和仿制药状态检查
- 04专利与独占期查询
- 05结构化药品标签检索
- 06临床试验搜索
适用场景
- 01整理药品监管信息档案
- 02检查仿制药可用性和独占期
- 03查看给药或不良反应标签
- 04查找药品或生物类似药试验
MCP 相关
列出用于查询 FDA、DailyMed、RxClass 和临床试验数据的 ToolUniverse 工具;未说明特定 MCP 服务的连接或管理方式。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-drug-regulatory安装后在 Claude Code 中输入/tooluniverse-drug-regulatory确认已加载。
详细介绍
药品监管研究
监管状态因司法管辖区而异。 FDA 批准不等于 EMA 批准——请核实用户所问的具体市场。仿制药能否上市取决于专利到期和监管批准两项条件——专利可能已到期,但尚无 ANDA 提交或获批。即使专利到期,独占权代码(NCE、ODE、PED)仍可能阻止仿制药上市;在得出仿制药可以上市的结论前,务必先查询 FDA_OrangeBook_get_exclusivity。505(b)(2) NDA 并非仿制药——它需要自己的临床数据,并获得独立的独占期。
查询,不要猜测:切勿假定 NDA 编号、独占日期或 ATC 代码——务必调用 FDAGSRS、Orange Book 和 RxClass 工具检索当前数据;监管状态会随着新批准和到期而变化。
药品监管情报:识别 FDA 物质、按治疗类别对药品进行分类、核查批准和仿制药状态、检索说明书章节并查找临床试验。
适用场景
- “司美格鲁肽的 FDA 监管状态是什么?”
- “Humira 有仿制药吗?”
- “二甲双胍属于哪个 ATC 类别?”
- “获取布洛芬药品说明书中的不良反应”
- “Eliquis 的专利何时到期?”
- “列出 ACE 抑制剂类别中的所有药品”
- “查找阿达木单抗生物类似药的临床试验”
不适用场景(请改用其他技能)
- 药物相互作用 -> 使用
tooluniverse-drug-drug-interaction - 药物基因组学 / 基因型指导的剂量 -> 使用
tooluniverse-pharmacogenomics - 药物作用机制 / 靶点结合 -> 使用
tooluniverse-drug-mechanism-research - 药物再利用 / 新适应症 -> 使用
tooluniverse-drug-repurposing
工作流概览
Input (drug name / brand name / UNII)
|
v
Phase 1: Substance Identification -- FDAGSRS_search_substances, FDAGSRS_get_substance
|
v
Phase 2: Drug Classification -- RxClass_get_drug_classes, RxClass_find_classes
|
v
Phase 3: Approval & Generic Status -- FDA_OrangeBook_search_drug, FDA_OrangeBook_check_generic_availability
|
v
Phase 4: Patent & Exclusivity -- FDA_OrangeBook_get_patent_info, FDA_OrangeBook_get_exclusivity
|
v
Phase 5: Label Parsing -- DailyMed_parse_adverse_reactions, DailyMed_parse_dosing, etc.
|
v
Phase 6: Clinical Trials -- search_clinical_trials
|
v
Phase 7: Pharmacovigilance -- FAERS_count_reactions_by_drug_event (param: medicinalproduct)
|
v
Phase 8: Literature & Approval -- PubMed_search_articles, OpenFDA_get_approval_history, RxNorm_get_drug_names
补充工具(不属于核心阶段,但很有用):
OpenFDA_get_approval_history— 完整的 FDA 申报 / 批准历史(需要operation参数)FAERS_count_reactions_by_drug_event— 按报告数量排列的主要不良事件(参数:medicinalproduct,全大写)RxNorm_get_drug_names— 将药品名称解析为 RXCUI 和商品名drugbank_vocab_search— 查询 DrugBank ID、CAS、UNIIPubMed_search_articles— 监管和临床文献
阶段 1:物质识别(FDAGSRS)
FDAGSRS_search_substances:query(字符串,必填——药品名称、UNII、InChIKey 或分子式)、substance_class(字符串,可选:“chemical”/“protein”/“nucleic acid”/“polymer”/“mixture”)、limit(整数,1-50,默认 10)。
返回 {status, data: [{uuid, unii, name, substanceClass, status, formula, smiles, synonyms, xrefs}], metadata: {query, total, returned, substance_class_filter}}(data 为列表)。
xrefs(字典)包含该物质的交叉引用(DrugBank ID、ATC 代码、CAS 编号等)。- 在调用
FDAGSRS_get_substance前,用此工具获取官方 UNII 标识符。
FDAGSRS_get_substance:unii(字符串,必填,10 个字符的 FDA UNII 代码)。
返回完整的物质记录,包括所有别名、名称、结构和交叉引用。
- 提供所有已注册名称(INN、USAN、商品名、化学名称)的权威列表。
FDAGSRS_get_structure:unii(字符串,必填)。
返回 {status, data: {smiles, formula, inchikey, molfile, molecular_weight, stereochemistry, optical_activity}}。
- 仅适用于化学物质;用于生物制品、混合物和聚合物时会返回错误。
# Full substance lookup workflow
search = tu.tools.FDAGSRS_search_substances(query="semaglutide")
unii = search["data"][0]["unii"]
full = tu.tools.FDAGSRS_get_substance(unii=unii)
第 2 阶段:药物分类(RxClass)
RxClass_get_drug_classes:drug_name(字符串,药物名称)、rxcui(字符串,RxNorm RXCUI——可替代 drug_name)、rela_source(字符串,可选:"ATC"/"FDASPL"/"MESH"/"VA")、limit(整数,默认值 20)。
返回 {status, data: [{classId, className, classType, rxcui, drugName, tty, rela, relaSource}], metadata}(data 为列表)。
- 除非通过
rela_source筛选某一个分类系统,否则会返回所有分类系统。 class_type的取值:"ATC1-4"、"EPC"(FDA 已确立的药理学类别)、"MoA"、"VA"、"MESH"。- 用于查找药物的 ATC 代码、药理学类别和作用机制标签。
RxClass_find_classes:query(字符串,必填,关键词,例如 "beta blocker")、class_type(字符串,可选:"ATC1-4"/"EPC"/"MoA")、limit(整数,默认值 20)。
返回 {status, data: [{classId, className, classType}]}(列表;classType 显示分类系统:ATC1-4、EPC、MOA、DISPOS 等)。
- 需要在调用
RxClass_get_class_members前查找类别 ID 时使用。
RxClass_get_class_members:class_id(字符串,必填,例如 "M01AE")、rela_source(字符串,可选:"ATC"/"FDASPL")、ttys(字符串,可选:"IN" 表示成分)、limit(整数,默认值 50)。
返回 {status, data: [{rxcui, name, tty}]}。
rela_source必须与类别所属的分类系统匹配:默认值ATC只会列出 ATC 代码(例如A02BC)的成员。对于 EPC/MoA 类别 ID(例如N0000175525),请传入rela_source="DAILYMED"(或"FDASPL");使用默认值时会返回空列表。ttys="IN"会将结果限制为活性成分级条目(推荐)。
# Find all proton pump inhibitors
classes = tu.tools.RxClass_find_classes(query="proton pump inhibitor", class_type="EPC")
class_id = classes["data"][0]["classId"] # N0000175525 (EPC class)
members = tu.tools.RxClass_get_class_members(class_id=class_id, rela_source="DAILYMED", ttys="IN")
第 3 阶段:批准与仿制药状态(FDA 橙皮书 / 紫皮书)
橙皮书涵盖小分子药物;生物制剂和生物类似药(例如“阿达木单抗有生物类似药吗”)完全收录在另一个 FDA 列表中——这类药物请使用 FDAPurpleBook_search_products,而不要使用不收录这类药物的橙皮书。
FDA_OrangeBook_search_drug:brand_name(字符串)、generic_name(字符串)、application_number(字符串)、limit(整数,默认值 10)。
返回 {status, data: {products: [{brand_name, generic_name, dosage_form, strength, te_code, application_number, approval_date}]}}。
- 使用品牌名(大写)或通用名查找 NDA/ANDA 编号和批准信息。
te_code:治疗等效性代码(例如 "AB" = 治疗等效)。
FDA_OrangeBook_check_generic_availability:brand_name(字符串)、generic_name(字符串)。
返回 {status, data: {reference_listed_drug, generics_available: bool, generics_count, generic_products: [...]}}。
- 用于回答“有仿制药吗?”这类问题的主要工具。
FDA_OrangeBook_get_te_code:除 brand_name/application_number 外没有特殊参数。
返回用于评估可替代性的治疗等效性代码。
FDA_OrangeBook_get_approval_history:application_number(字符串,例如 "NDA020402")。
返回按时间顺序排列的批准历史记录,包括补充批准和标签变更。
# Check generic availability
result = tu.tools.FDA_OrangeBook_check_generic_availability(brand_name="LIPITOR")
# result["data"]["generics_available"] -> True
# result["data"]["generics_count"] -> N
第 4 阶段:专利与独占期
FDA_OrangeBook_get_patent_info:application_number(字符串)、brand_name(字符串)。
返回专利信息。注意:完整专利号和到期日期需要使用橙皮书数据文件。
FDA_OrangeBook_get_exclusivity:application_number(字符串)、brand_name(字符串)。
返回 {status, data: {exclusivities: [{exclusivity_code, exclusivity_date, description}]}}。
exclusivity_code的取值:"NCE"(新化学实体,5 年)、"ODE"(孤儿药,7 年)、"PED"(儿科,6 个月)、"NP"(新产品)、"M"(新剂型)。
阶段 5:标签解析(DailyMed)
所有 DailyMed 解析工具都接受 setid(SPL Set ID UUID)或 drug_name(自动查询)。
如果不知道 setid,建议使用 drug_name。
DailyMed_parse_adverse_reactions:setid 或 drug_name。返回结构化的不良反应表,包含发生频率和严重程度。
DailyMed_parse_dosing:setid 或 drug_name。返回剂量与给药章节(剂量、给药方案、肾功能/肝功能调整)。
DailyMed_parse_contraindications:setid 或 drug_name。返回禁忌症章节。
DailyMed_parse_drug_interactions:setid 或 drug_name。返回药物相互作用章节,并提供临床处理建议。
DailyMed_parse_clinical_pharmacology:setid 或 drug_name。返回 PK/PD 数据(Cmax、AUC、半衰期、蛋白结合、代谢途径)。
DailyMed_search_spls:drug_name(字符串),返回该药物的 SPL Set ID。需要显式查找 setid 时使用。
# Parse adverse reactions for apixaban
ae = tu.tools.DailyMed_parse_adverse_reactions(drug_name="apixaban")
阶段 6:临床试验
search_clinical_trials:condition(字符串)、intervention(字符串)、query_term(字符串)、pageSize(整数,别名:max_results/limit)、overall_status(数组,别名:status)。
返回 {status, data: {studies: [{NCT ID, brief_title, brief_summary, overall_status, phase}], total_count}}。
- 药物名称使用
intervention,疾病使用condition。 - 使用
overall_status=["RECRUITING"]筛选正在招募受试者的试验。 - 即使存在结果,
total_count也可能为 None;请检查len(studies) > 0。
# Find recruiting trials for a biosimilar
trials = tu.tools.search_clinical_trials(
intervention="adalimumab biosimilar",
overall_status=["RECRUITING"],
pageSize=10
)
示例工作流
工作流 1:药物完整监管概况
1. FDAGSRS_search_substances(query="apixaban")
-> UNII, substance class, ATC/DrugBank cross-refs
2. RxClass_get_drug_classes(drug_name="apixaban", rela_source="ATC")
-> ATC code B01AF02 (direct factor Xa inhibitor)
3. FDA_OrangeBook_search_drug(brand_name="ELIQUIS")
-> NDA206518, approval date, TE code
4. FDA_OrangeBook_check_generic_availability(brand_name="ELIQUIS")
-> Generic availability status
5. FDA_OrangeBook_get_exclusivity(brand_name="ELIQUIS")
-> Exclusivity codes and expiration dates
6. DailyMed_parse_adverse_reactions(drug_name="apixaban")
-> Bleeding rates and other AEs from label
工作流 2:列出某治疗类别中的所有药物
1. RxClass_find_classes(query="ACE inhibitor", class_type="EPC")
-> class_id for "Angiotensin-Converting Enzyme Inhibitor"
2. RxClass_get_class_members(class_id=<id>, ttys="IN")
-> All ACE inhibitors (enalapril, lisinopril, ramipril, etc.)
3. For each drug: RxClass_get_drug_classes(drug_name=drug)
-> Confirm ATC code and additional classifications
工作流 3:药品标签审查
1. DailyMed_parse_adverse_reactions(drug_name="metformin")
-> AE frequencies (GI: lactic acidosis, nausea, diarrhea)
2. DailyMed_parse_contraindications(drug_name="metformin")
-> eGFR thresholds, renal impairment contraindications
3. DailyMed_parse_drug_interactions(drug_name="metformin")
-> Iodinated contrast, carbonic anhydrase inhibitor interactions
4. DailyMed_parse_clinical_pharmacology(drug_name="metformin")
-> Half-life, renal clearance, bioavailability
常见错误
- Orange Book 的
brand_name必须为大写(例如"LIPITOR") FDAGSRS_get_substance需要 UNII,而非药物名称——请先调用FDAGSRS_search_substancesFDAGSRS_get_structure仅适用于化学物质,不适用于生物制品RxClass_get_class_members:传入ttys="IN",以限定为活性成分search_clinical_trials的overall_status必须是数组:["RECRUITING"]
推理框架
解读指南
审批途径:505(b)(1) NDA 是完整的新药申请,包含申办方提供的完整安全性/有效性数据。505(b)(2) NDA 部分依赖已发表文献或 FDA 对已获批药物的认定(常见于新剂型、给药途径变更)。ANDA(简化新药申请)是仿制药审批途径,只要求与参比制剂具有生物等效性。
Orange Book 专利与独占权:NCE(新化学实体)独占权提供 5 年数据保护。ODE(孤儿药独占权)提供 7 年保护。PED(儿科)在现有专利/独占权期限上增加 6 个月。TE 代码为 "AB" 表示仿制药在治疗上等效且可替代。没有 TE 代码或代码为 "BX" 表示尚未确定其可替代性。
DailyMed 标签章节:"Adverse Reactions"(不良反应)章节区分临床试验发生率(受控)与上市后报告(非受控,仅作为信号)。"Contraindications"(禁忌症)为绝对禁忌;"Warnings and Precautions"(警告和注意事项)则为有条件的风险。"Clinical Pharmacology"(临床药理学)提供 PK 参数(Cmax、AUC、半衰期),这些参数对评估药物相互作用和给药方案至关重要。
综合问题
完整的药物监管报告应回答:
- 当前 FDA 批准状态和审批途径是什么(NDA、ANDA 还是 505(b)(2))?
- 是否有仿制药等效品?其治疗等效性评级是什么?
- 重要专利和独占权何时到期(或是否已经到期)?
- 该药物属于哪个药物类别(ATC、EPC、MoA)?同类药物有哪些?
- 标签中临床意义最重大的不良反应和禁忌症有哪些?