# 医学信息支持系统
![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) 一个为制药企业设计的智能医学信息支持系统,帮助医学信息团队高效处理客户的信息需求。
## 📋 项目简介 本系统为益普生(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