1. 项目概述:当卫生健康遇上智能推荐
去年参与某三甲医院预约系统改造时,我第一次真切感受到传统医疗系统与互联网体验之间的巨大鸿沟。患者面对冰冷的科室列表无所适从,挂号员需要反复询问症状才能完成分诊,这种低效交互正是我们开发这套智能推荐系统的初衷。
这个基于SpringBoot+Vue的全栈系统,核心价值在于:
- 通过症状自评问卷构建用户画像(含病史过敏等18个维度)
- 采用改进的协同过滤算法实现科室/医生双级推荐
- 就诊记录与评价数据实时反哺推荐模型
- 提供从预约到随访的完整数字化流程
相比传统HIS系统,其特色在于将推荐算法深度融入业务流程。例如当用户主诉"反复上腹痛"时,系统不仅推荐消化内科,还会根据问卷中"饮酒史20年"的细节优先推荐肝病专科的主任医师。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 前后端分离设计
采用经典的前后端分离模式,通过清晰的职责划分实现高效协作:
mermaid复制graph LR
A[Vue3前端] -->|Axios| B(SpringBoot API)
B --> C[MySQL 8.0]
B --> D[Redis 7缓存]
C --> E[MyBatis-Plus]
关键配置要点:
- 跨域处理使用
@CrossOrigin注解而非Nginx(开发阶段) - API文档采用Swagger3 + Knife4j增强
- 接口版本控制通过路径
/api/v1/实现
踩坑提醒:曾因未配置
@JsonIgnore导致患者敏感信息泄露,务必在实体类中精确控制序列化字段。
2.2 智能推荐模块实现
推荐算法分层架构:
- 冷启动层:基于症状关键词匹配(Elasticsearch分词+TF-IDF)
- 协同过滤层:采用SVD++优化传统CF算法
- 实时反馈层:就诊满意度评分影响权重
核心算法代码片段:
java复制// 相似度计算改进
public double improvedCosineSimilarity(User u1, User u2) {
double dotProduct = 0.0;
double normA = 0.0;
double normB = 0.0;
