从海量文献中精准提取临床证据,输入PICO问题,输出按GRADE分级的证据摘要
| # | 功能 | 说明 |
|---|---|---|
| 1 | 文献检索 | 自动检索 PubMed / Cochrane / ClinicalTrials |
| 2 | PICO提取 | 从临床问题自动提取 Population / Intervention / Comparison / Outcome 要素 |
| 3 | 文献筛选 | AI辅助纳入/排除筛选,减少人工筛选工作量 |
| 4 | 数据提取 | 自动提取效应量(OR/RR/MD)、95% CI、样本量 |
| 5 | 偏倚评估 | ROB2 (RCT) / Newcastle-Ottawa (观察性研究) 自动评估 |
| 6 | 证据合成 | 随机效应/固定效应 Meta分析 + 森林图生成 |
| 7 | GRADE分级 | 基于五大维度的证据质量自动分级 |
| 8 | 报告生成 | 自动生成符合 PRISMA 2020 的系统综述报告 |
┌─────────────────────────────────────────────────────┐
│ 用户界面层 │
│ Next.js 15 (App Router) + Streamlit (实验界面) │
├─────────────────────────────────────────────────────┤
│ API 网关层 │
│ Next.js API Routes / FastAPI (Python) │
├─────────────────────────────────────────────────────┤
│ 证据处理引擎 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 文献检索 │ │ PICO提取 │ │ 数据提取 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 偏倚评估 │ │ Meta分析 │ │ GRADE分级 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────────────┤
│ 数据层 │
│ JSON种子数据 / SQLite / PubMed API │
└─────────────────────────────────────────────────────┘
mingevidence/
├── src/ # Next.js 前端
│ ├── app/ # App Router 页面
│ │ ├── page.tsx # 首页
│ │ ├── search/page.tsx # 文献搜索
│ │ ├── cases/page.tsx # 病例管理
│ │ └── deep-consult/page.tsx # 深度咨询
│ ├── components/ # UI 组件
│ │ ├── evidence-card.tsx # 证据卡片
│ │ ├── search-feedback.tsx # 搜索反馈
│ │ └── site-header.tsx # 站点头部
│ └── lib/ # 核心逻辑
│ ├── evidence-schema.ts # 证据Schema
│ ├── search-service.ts # 搜索服务
│ └── platform-data.ts # 平台数据
├── src_py/ # Python 证据处理引擎
│ ├── __init__.py
│ ├── search_engine.py # PubMed/Cochrane 检索
│ ├── pico_extractor.py # PICO要素提取
│ ├── data_extractor.py # 数据提取
│ ├── bias_assessor.py # 偏倚评估
│ ├── meta_analyzer.py # Meta分析
│ ├── evidence_grader.py # GRADE分级
│ └── app.py # Streamlit 实验界面
├── data/ # 数据文件
│ ├── seeds/ # 种子数据
│ ├── sources/ # 数据源配置
│ ├── normalized/ # 标准化数据
│ └── pico-templates.json # PICO模板
├── tests/ # 测试
│ └── test_basic.py
├── scripts/ # 脚本
│ ├── ingest-evidence.mjs # 证据导入
│ └── run-source-refresh.mjs # 数据源刷新
├── docs/ # 文档
│ ├── 01_品牌与命名.md
│ ├── 02_系统架构.md
│ └── 03_0到1路线.md
├── package.json # Node.js 依赖
├── requirements.txt # Python 依赖
├── Dockerfile # 容器化
├── CONTRIBUTING.md # 贡献指南
├── CHANGELOG.md # 更新日志
└── LICENSE # MIT License
git clone https://github.com/MoKangMedical/mingevidence.git
cd mingevidence
pnpm install
pnpm devpip install -r requirements.txt
# 运行 Streamlit 实验界面
streamlit run src_py/app.py
# 或直接调用
python -c "
from src_py.search_engine import SearchEngine
engine = SearchEngine()
results = engine.search('GLP-1 AND cardiovascular', max_results=10)
print(f'找到 {len(results)} 篇文献')
"# 搜索文献
python src_py/search_engine.py --query "GLP-1 AND cardiovascular" --max 20
# 提取PICO要素
python src_py/pico_extractor.py --question "GLP-1受体激动剂能否降低心血管事件风险?"
# 运行Meta分析
python src_py/meta_analyzer.py --input data/evidence.json --output results/临床问题 → PICO提取 → 文献检索 → 纳入筛选 → 数据提取 → 偏倚评估 → Meta分析 → GRADE分级 → 报告
from src_py.pico_extractor import PICOExtractor
extractor = PICOExtractor()
pico = extractor.extract("GLP-1受体激动剂能否降低2型糖尿病患者的心血管事件风险?")
# {
# "population": "2型糖尿病患者",
# "intervention": "GLP-1受体激动剂",
# "comparison": "安慰剂/标准治疗",
# "outcome": "心血管事件风险(MACE)"
# }from src_py.search_engine import SearchEngine
engine = SearchEngine()
results = engine.search(
query="GLP-1 receptor agonist AND cardiovascular",
databases=["pubmed", "cochrane"],
max_results=50
)from src_py.meta_analyzer import MetaAnalyzer
analyzer = MetaAnalyzer()
result = analyzer.run_meta_analysis(
studies=[...],
measure="OR", # OR/RR/MD/SMD
method="random", # random/fixed
forest_plot=True
)
# 输出: 合并效应量、I²、tau²、森林图from src_py.evidence_grader import EvidenceGrader
grader = EvidenceGrader()
grade = grader.assess(
evidence_type="rct",
risk_of_bias="low",
inconsistency="low",
indirectness="low",
imprecision="low",
publication_bias="undetected"
)
# "high" / "moderate" / "low" / "very_low"# PubMed API (可选,提升检索速度)
PUBMED_API_KEY=your_ncbi_api_key
# 搜索配置
MAX_SEARCH_RESULTS=100
SEARCH_TIMEOUT=30项目支持多种证据数据源:
| 数据源 | 类型 | 更新频率 |
|---|---|---|
| PubMed | 文献数据库 | 实时 |
| Cochrane Library | 系统综述 | 月度 |
| ClinicalTrials.gov | 临床试验 | 周度 |
| FDA Labels | 药品标签 | 月度 |
| NMPA药品说明书 | 国内药品 | 月度 |
# Python 测试
pytest tests/ -v
# 前端测试
pnpm test欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'feat: 添加某功能') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
| 项目 | 定位 |
|---|---|
| OPC Platform | 一人公司全链路学习平台 |
| Digital Sage | 与100位智者对话 |
| Cloud Memorial | AI思念亲人平台 |
| 天眼 Tianyan | 市场预测平台 |
| MediChat-RD | 罕病诊断平台 |
| MedRoundTable | 临床科研圆桌会 |
| DrugMind | 药物研发数字孪生 |
| MediPharma | AI药物发现平台 |
| Minder | AI知识管理平台 |
| Biostats | 生物统计分析平台 |
MIT License — 自由使用、修改、分发。
MingEvidence — 让循证医学更高效
Built with ❤️ by MoKangMedical