SuperAPI AI 工具集

fda-database

数据与分析

查看项目

更新于 10-15 10:24

技能介绍

用途

fda-database 技能用于通过 openFDA 开放 API 访问美国 FDA 的公开监管数据集。openFDA 是 FDA 提供的开放 API 计划,旨在让公众查询药品、医疗器械、食品、动物/兽医产品以及物质等数据。该技能以 Python 标准化接口封装这些查询能力,适合需要获取 FDA 监管数据的开发与研究场景。

主要能力

该技能覆盖以下数据类别:

  • 药品(Drugs):6 个端点,涵盖不良事件报告、产品标签(处方信息、警告、适应症)、NDC 目录、执法报告(召回)、Drugs@FDA 历史审批数据(自 1939 年起)、药品短缺。
  • 医疗器械(Devices):9 个端点,涵盖不良事件(故障、伤害、死亡)、510(k) 许可、器械分类与风险等级、执法报告、召回详情、PMA 上市前批准、注册与列名、UDI 唯一器械标识、COVID-19 血清学检测性能数据。
  • 食品(Foods):2 个端点,涵盖食品/膳食补充剂/化妆品不良事件、食品召回执法报告。
  • 动物与兽医(Animal & Veterinary):动物药品不良事件端点,可按物种、品种和产品查询。
  • 物质与其他(Substances & Other):物质数据端点,提供 UNII、CAS 号、化学结构及物质关系;以及历史遗留的 NSDE 数据。

使用方式

基本设置

from scripts.fda_query import FDAQuery

# 初始化(API 密钥可选但推荐)
fda = FDAQuery(api_key="YOUR_API_KEY")

# 查询药品不良事件
events = fda.query_drug_events("aspirin", limit=100)

# 获取药品标签
label = fda.query_drug_label("Lipitor", brand=True)

# 搜索器械召回
recalls = fda.query("device", "enforcement",
                   search="classification:Class+I",
                   limit=50)

API 密钥设置

API 无需密钥即可使用,但注册后可获得更高配额:

  • 无密钥:240 次请求/分钟,1000 次/天
  • 有密钥:240 次请求/分钟,120000 次/天

注册地址:https://open.fda.gov/apis/authentication/

设置为环境变量:

export FDA_API_KEY="your_key_here"

运行示例

python scripts/fda_examples.py

示例演示内容包括:药品安全概况、器械监测、食品召回监控、物质查询、药品对比分析、兽药分析。

常见查询模式

技能文档提供了多种查询模式:

  1. 安全概况分析:组合多个数据源生成完整安全概况,包括总不良事件数、最常见反应、严重事件、近期召回。
  2. 时间趋势分析:使用日期范围分析随时间变化的趋势。
  3. 对比分析:并排比较多个产品的安全概况。
  4. 跨数据库查询:跨多个端点关联数据。

结果处理

所有 API 响应遵循统一结构:

{
    "meta": {
        "disclaimer": "...",
        "results": {
            "skip": 0,
            "limit": 100,
            "total": 15234
        }
    },
    "results": []
}

技能建议始终处理潜在错误,并对大型结果集使用分页(自动分页 query_all 或手动分页)。

最佳实践

  • 使用具体字段搜索,避免过度宽泛的通配符。
  • 注意速率限制(FDAQuery 类自动处理限流)。
  • 缓存频繁访问的数据(FDAQuery 内置缓存,默认启用)。
  • 计数/聚合时使用 .exact 后缀进行精确匹配。
  • 验证输入数据,清理搜索词。

适用场景

  • 药物研究:安全性概况、不良事件、标签、审批、短缺
  • 医疗器械监测:不良事件、召回、510(k) 许可、PMA 批准
  • 食品安全:召回、过敏原追踪、不良事件、膳食补充剂
  • 兽医医学:按物种和品种的动物药品不良事件
  • 化学/物质数据:UNII 查询、CAS 号映射、分子结构
  • 监管分析:审批路径、执法行动、合规追踪
  • 药物警戒:上市后监测、安全信号检测
  • 科学研究:药物相互作用、比较安全性、流行病学研究

限制

  • 需要 Python 环境运行脚本。
  • API 有速率限制,无密钥时每日配额较低。
  • 并非所有记录都包含所有字段,需检查字段是否存在。
  • 查询语法需遵循 openFDA 规范,错误语法会导致查询失败。
  • 具体收费、价格信息暂未提供。

附加资源

  • openFDA 主页:https://open.fda.gov/
  • API 文档:https://open.fda.gov/apis/
  • 交互式 API 浏览器:https://open.fda.gov/apis/try-the-api/
  • GitHub 仓库:https://github.com/FDA/openfda
  • 服务条款:https://open.fda.gov/terms/
  • 支持邮箱:open-fda@fda.hhs.gov