5.9 KiB
5.9 KiB
医学信息支持系统
📋 项目简介
本系统为益普生(Ipsen)开发,用于处理来自医生等客户的医学信息查询请求。系统集成AI技术,能够自动提取关键词、检索相关文献、生成回复内容,并支持多级审核流程。
核心特性
- 🤖 AI驱动: 集成Dify AI引擎,自动提取关键词和生成回复
- 📚 多层次检索: 支持企业自有数据、公开数据库、扩展数据的分层检索
- 📄 文献管理: 自动检索和下载PubMed、EMBASE、知网等数据库文献
- ✅ 审核流程: 完整的工作流程管理和审核机制
- 🔧 灵活配置: 知识库、数据源、优先级可动态配置
- 🐳 容器化部署: 支持Docker一键部署
🏗️ 技术架构
后端技术栈
- Java 17
- Spring Boot 3.2.0
- Spring Data JPA
- Spring Security
- MySQL 8.0
- Maven
前端技术栈
- Vue 3
- Vite
- Element Plus
- Pinia
- Vue Router
- Axios
AI & 第三方服务
- Dify AI Platform
- OpenAI / 其他大模型
- PubMed、EMBASE、知网等文献数据库
🚀 快速开始
使用Docker部署(推荐)
- 克隆项目
git clone <repository-url>
cd 文献流程
- 配置环境变量
cp .env.example .env
# 编辑.env文件,配置数据库密码、API密钥等
- 启动服务
docker-compose up -d
- 访问系统
- 前端: http://localhost
- 后端API: http://localhost:8080/api
- 默认账号:
admin/admin123
本地开发
详细的本地开发环境搭建请参考 DEPLOYMENT.md
📖 项目文档
🔑 核心功能
1. 查询请求管理
- 支持上传标准化Excel表格或手动创建查询
- 自动提取查询关键词(药物、疾病、问题)
- 多数据源智能检索
- AI辅助生成回复内容
2. 知识库管理
- 自有数据: 企业研究、历史回复、内部文献
- 公开数据: PubMed、EMBASE、知网、ClinicalTrials.gov
- 扩展数据: 疾病药物关联、相关扩展信息
- 支持优先级配置和动态启用/禁用
3. 文献管理
- 自动检索多个文献数据库
- 支持文献筛选和批量下载
- 配置多个数据库账号
4. 工作流程
接收请求 → 提取关键词 → 信息检索 → 生成回复 → 审核 → 下载文献 → 完成
5. 系统管理
- 用户管理(管理员、医学信息专员、审核人员)
- Dify API配置
- 大模型配置
- 文献数据库账号配置
📊 系统架构
┌─────────────┐
│ 客户端 │ (Vue3 + Element Plus)
└──────┬──────┘
│ HTTP/HTTPS
▼
┌─────────────┐
│ Nginx │ (反向代理)
└──────┬──────┘
│
├─────────────► 静态资源
│
▼
┌─────────────┐
│ Spring Boot │ (REST API)
└──────┬──────┘
│
├──────► MySQL (数据存储)
│
├──────► Dify API (AI服务)
│
└──────► 文献数据库 (PubMed/EMBASE/CNKI)
🗂️ 数据库设计
主要数据表:
users- 用户管理inquiry_requests- 查询请求knowledge_bases- 知识库配置literatures- 文献信息audit_logs- 审核日志
详细的数据库结构请参考 database/schema.sql
🔐 安全性
- JWT身份认证
- 基于角色的访问控制(RBAC)
- 密码加密存储
- API请求限流
- SQL注入防护
🌐 API接口
查询管理
POST /api/inquiries/upload # 上传查询表格
POST /api/inquiries # 创建查询
GET /api/inquiries # 查询列表
GET /api/inquiries/{id} # 查询详情
POST /api/inquiries/{id}/extract-keywords # 提取关键词
POST /api/inquiries/{id}/search # 执行检索
POST /api/inquiries/{id}/generate-response # 生成回复
POST /api/inquiries/{id}/review # 审核
知识库管理
GET /api/knowledge-bases # 列表
POST /api/knowledge-bases # 创建
PUT /api/knowledge-bases/{id} # 更新
DELETE /api/knowledge-bases/{id} # 删除
文献管理
GET /api/literatures/inquiry/{id} # 获取文献
POST /api/literatures/{id}/download # 下载文献
POST /api/literatures/inquiry/{id}/download-selected # 批量下载
📝 开发计划
- 实现完整的用户认证和授权
- 集成实际的Dify API
- 实现文献自动下载功能
- 添加数据统计和报表功能
- 实现邮件通知功能
- 添加API文档(Swagger)
- 性能优化和缓存策略
- 单元测试和集成测试
🤝 贡献指南
本项目为企业内部项目,暂不接受外部贡献。
📄 许可证
本项目为专有软件,版权归益普生(Ipsen)所有。
👥 联系方式
如有问题或建议,请联系项目团队。
Made with ❤️ for Ipsen Medical Information Team