# 医学信息支持系统





一个为制药企业设计的智能医学信息支持系统,帮助医学信息团队高效处理客户的信息需求。
## 📋 项目简介
本系统为益普生(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部署(推荐)
1. **克隆项目**
```bash
git clone
cd 文献流程
```
2. **配置环境变量**
```bash
cp .env.example .env
# 编辑.env文件,配置数据库密码、API密钥等
```
3. **启动服务**
```bash
docker-compose up -d
```
4. **访问系统**
- 前端: http://localhost
- 后端API: http://localhost:8080/api
- 默认账号: `admin` / `admin123`
### 本地开发
详细的本地开发环境搭建请参考 [DEPLOYMENT.md](./DEPLOYMENT.md)
## 📖 项目文档
- [项目结构说明](./PROJECT_STRUCTURE.md) - 详细的项目结构和模块说明
- [部署指南](./DEPLOYMENT.md) - 完整的部署和配置指南
- [需求文档](./Readme.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](./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