AutoMedinfo/README_PROJECT.md

223 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 医学信息支持系统
<div align="center">
![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)
![Java](https://img.shields.io/badge/Java-17-orange.svg)
![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.2.0-green.svg)
![Vue](https://img.shields.io/badge/Vue-3.4.0-brightgreen.svg)
![License](https://img.shields.io/badge/license-Proprietary-red.svg)
一个为制药企业设计的智能医学信息支持系统,帮助医学信息团队高效处理客户的信息需求。
</div>
## 📋 项目简介
本系统为益普生(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 <repository-url>
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)所有。
## 👥 联系方式
如有问题或建议,请联系项目团队。
---
<div align="center">
Made with ❤️ for Ipsen Medical Information Team
</div>