我如何将 3 个碎片化的医疗 API 统一为一个 Python SDK
发布: (2026年3月1日 GMT+8 08:28)
3 分钟阅读
原文: Dev.to
Source: Dev.to
概览
我创建 MedKit 是因为医疗数据一向难以处理。将药物的 FDA 标签与其最新的临床试验阶段以及相关的研究论文对应起来,通常需要同时使用三个不同的 API,处理各自独特的 JSON 架构,并且面对不一致的标识符类型。MedKit 是一个统一的 Python SDK,能够将这些碎片化的来源(OpenFDA、PubMed 和 ClinicalTrials.gov)转化为一个可编程的平台。
关键特性
- 统一客户端 – 只需一个
MedKit()客户端即可统领所有。无需再管理多个 API 密钥或手动关联数据。 - 临床综合 (
med.conclude()) – 聚合数据,为药物或疾病提供“快照”判定,并给出证据强度评分(0.0–1.0)。 - 交互引擎 – 通过交叉标签(品牌名 vs. 通用名)检测药物‑药物禁忌。
- 医学关系图 – 将药物、试验和研究论文之间的关联可视化为知识图谱。
- 智能层 – 自然语言路由 (
med.ask()) 让你可以用普通英语查询数据。
为什么要使用它?
大多数医疗开发者约有 80 % 的时间都在清洗和合并数据。MedKit 负责管道工作——缓存、模式标准化以及关系映射——让你可以专注于分析或业务逻辑。
技术栈
- 语言: Python(同步和异步 API)
- 缓存: 磁盘和内存两种选项
- 架构: 基于 Provider 的设计,便于扩展
入门指南
pip install medkit-sdk
from medkit import MedKit
# 初始化统一客户端
client = MedKit()
# 示例:获取药物的临床综合报告
summary = client.med.conclude("aspirin")
print(summary.verdict, summary.evidence_score)
可扩展性
基于 Provider 的架构使得添加新数据源(例如药理基因组学数据库或新兴的临床登记系统)变得十分简便。
反馈与贡献
我非常期待听到你对 med.conclude() 综合逻辑、其他功能以及哪些额外 Provider(例如药理基因组学)会有价值的看法。
- GitHub 仓库:
- PyPI:
medkit-sdk
无论是通过提交 issue、Pull Request,还是给仓库加星,你的支持都将不胜感激。