本项目立项的初衷,是构建一套面向“患者—医生—管理员”的远程问诊平台,把线下问诊流程完整线上化:患者在线选择科室与医生、发起问诊、通过图文与语音沟通,医生接诊并组织专家讨论、出具诊断报告,全过程消息与报告留痕可查,由此解决“看病远、排队久、沟通与报告无留存、专家会诊难组织”的产品问题。
典型应用场景包括:互联网医院线上门诊、基层卫生服务中心与医联体的远程会诊、慢性病复诊随访、体检与检查报告在线解读,以及第三方系统通过 API Key 接入平台数据能力。
点击空白处退出提示
本项目立项的初衷,是构建一套面向“患者—医生—管理员”的远程问诊平台,把线下问诊流程完整线上化:患者在线选择科室与医生、发起问诊、通过图文与语音沟通,医生接诊并组织专家讨论、出具诊断报告,全过程消息与报告留痕可查,由此解决“看病远、排队久、沟通与报告无留存、专家会诊难组织”的产品问题。
典型应用场景包括:互联网医院线上门诊、基层卫生服务中心与医联体的远程会诊、慢性病复诊随访、体检与检查报告在线解读,以及第三方系统通过 API Key 接入平台数据能力。
系统按角色划分为患者、医生、管理员、第三方开发者四类用户,共六大功能模块。
1、认证与账号模块:注册、登录、登出、注销,基于 Sa-Token 的会话与角色权限控制,登录后按角色自动分流到对应工作台。
2、患者端模块:找医生(按科室、关键词、状态筛选并查看医生详情)、发起问诊、问诊聊天(文本、图片、语音消息)、个人健康档案与基础资料维护、家庭关系绑定申请、问诊记录查询、诊断报告查看与通俗解读、通知中心。
3、医生端模块:待接诊与问诊列表、接诊与结束问诊、问诊聊天、创建编辑并签名诊断报告、专家讨论(发起、接受、拒绝、关闭及讨论消息)、医生履历维护、AI 问诊摘要辅助。
4、管理端模块:用户管理、医生管理、家庭关系申请审核、操作日志查询、接口访问量统计、API Key 管理与数据管理。
5、第三方开发者模块:API Key 生命周期管理,外部数据任务提交与入库结果查看。
6、平台公共能力:WebSocket 实时推送问诊消息、讨论消息与系统通知,文件上传,统一响应格式(code/message/data/traceId)与全局异常处理。
技术栈:后端 Java 17、Spring Boot 4.1.0、MyBatis-Plus 3.5.15、MySQL 8、WebSocket、Sa-Token 1.45、Lombok;前端 Vue 3(Composition API + script setup)、Vite、Vue Router 4、Pinia、Element Plus、Axios。
架构:后端按业务域分包(用户认证、问诊、讨论、报告、通知、科室、系统管理、网关、第三方扩展、公共设施),Controller—Service—Mapper 分层,统一响应与全局异常处理;前端按 api 层、组件、布局、路由、store、视图分层,路由守卫按角色控制访问,Axios 拦截器统一注入 Token、生成 traceId 并解包响应。
本人承担的任务:数据库设计(23 张表);后端 18 个 Controller 的接口设计与实现,覆盖问诊、讨论、报告、通知、管理端与第三方扩展;前端 23 个页面视图开发;WebSocket 推送与会话管理;网关限流、请求日志与接口统计过滤器;前后端联调、测试与文档编写。
实现亮点:一是 WebSocket 会话管理配合前端心跳、断线重连与指数退避,保证问诊和讨论消息实时到达;二是网关 RateLimitFilter 限流(60 秒 120 次)与 RequestLogFilter 全链路 traceId 追踪,接口统计异步落库;三是 Sa-Token 注解式权限与前端路由守卫双重校验;四是 MyBatis-Plus 逻辑删除与字段自动填充统一数据规范;五是接入 DeepSeek 大模型实现问诊摘要与报告通俗解读,采用“规则兜底 + 可选 AI”,未配置密钥也能演示。难点在于消息落库与推送的时序一致性、多角色权限隔离与跨模块接口边界划分。





评论