SuperAPI AI 工具集

clinicaltrials-database

数据与分析

查看项目

更新于 10-16 04:40

技能介绍

用途

ClinicalTrials.gov 是由美国国家医学图书馆维护的全球临床试验研究注册库。本技能用于通过 ClinicalTrials.gov API v2 访问该数据库,检索试验、获取详细研究信息、按多种条件筛选并导出数据以供分析。

适用场景包括:

  • 患者匹配:为特定疾病或患者群体查找正在招募的试验
  • 研究分析:分析临床试验趋势、结果或研究设计
  • 药物/干预措施研究:识别测试特定药物或干预措施的试验
  • 地理检索:定位特定地点或区域的试验
  • 申办方/机构追踪:查找特定机构开展的试验
  • 数据导出:提取临床试验数据用于进一步分析或报告
  • 试验监测:跟踪特定试验的状态更新或结果
  • 入组资格筛查:审查试验的纳入/排除标准

主要能力

  1. 按疾病/状况检索:使用 query.cond 参数查找研究特定医学状况或疾病的试验。
  2. 按干预措施/药物检索:使用 query.intr 参数查找测试特定干预措施、药物、器械或操作的试验。
  3. 地理检索:使用 query.locn 参数查找特定地点的试验。
  4. 按申办方/机构检索:使用 query.spons 参数查找特定组织开展的试验。
  5. 按研究状态筛选:使用 filter.overallStatus 参数按招募或完成状态筛选。有效状态值包括 RECRUITING(正在招募)、NOT_YET_RECRUITING(尚未开始招募)、ENROLLING_BY_INVITATION(仅限邀请入组)、ACTIVE_NOT_RECRUITING(活跃但不再招募)、SUSPENDED(暂停)、TERMINATED(提前终止)、COMPLETED(已完成)、WITHDRAWN(入组前撤回)。
  6. 获取详细研究信息:通过 NCT ID 获取试验的完整信息,包括入组资格标准、结局指标、联系方式和地点。
  7. 分页与批量数据获取:使用分页高效处理大量结果集。
  8. 数据导出为 CSV:将试验数据导出为 CSV 格式,便于在电子表格或数据分析工具中处理。
  9. 提取与汇总研究信息:提取关键信息用于快速概览或报告。
  10. 组合查询策略:组合多个筛选条件进行定向检索。

使用方式

基础检索可通过辅助脚本执行:

cd scientific-databases/clinicaltrials-database/scripts
python3 query_clinicaltrials.py

也可直接使用 Python 的 requests 库调用 API:

import requests

url = "https://clinicaltrials.gov/api/v2/studies"
params = {
    "query.cond": "breast cancer",
    "filter.overallStatus": "RECRUITING",
    "pageSize": 10
}

response = requests.get(url, params=params)
data = response.json()

print(f"Found {data['totalCount']} trials")

通过 NCT ID 获取特定试验详情:

import requests

nct_id = "NCT04852770"
url = f"https://clinicaltrials.gov/api/v2/studies/{nct_id}"

response = requests.get(url)
study = response.json()

title = study['protocolSection']['identificationModule']['briefTitle']
status = study['protocolSection']['statusModule']['overallStatus']

脚本提供的主要辅助函数包括:

  • search_studies():使用多种筛选条件检索试验
  • get_study_details():获取特定试验的完整信息
  • search_with_all_results():自动分页获取全部结果
  • extract_study_summary():提取关键信息用于快速概览

技术规格

  • 基础 URL:https://clinicaltrials.gov/api/v2
  • 认证:无需认证(公开 API)
  • 速率限制:约每分钟 50 次请求(按 IP)
  • 响应格式:JSON(默认)、CSV
  • 最大分页大小:每次请求 1000 项研究
  • 日期格式:ISO 8601
  • 文本格式:富文本字段使用 CommonMark Markdown
  • API 版本:2.0(2024 年 3 月发布)
  • API 规范:OpenAPI 3.0

限制与注意事项

  • API 速率限制约为每分钟 50 次请求。批量获取数据时建议使用最大分页大小(1000)以减少请求次数,在遇到速率限制错误(429 状态)时实施指数退避,并在大规模数据收集时在请求之间添加延迟。
  • 并非所有试验都有完整信息,访问字段时应检查字段是否存在(例如使用 .get() 进行安全导航)。
  • CSV 格式返回字符串而非 JSON 字典。
  • 应始终为网络请求实现适当的错误处理。
  • 关于完整技术细节,可参阅 references/api_reference.md。