【项目】全栈开发医疗小程序 第1章 课程介绍 1.1 神州医疗课程导学

【项目】全栈开发医疗小程序

在这里插入图片描述

第1章 课程介绍

1.1 神州医疗课程导学

1.1.1 为什么学习这门课

在这里插入图片描述

  • OCR扫描

    扫描身份证提取信息检验真伪

  • 活体检测

    每天患者挂号前必须核验身份

  • 私有云

    搭建私有云存储保存诊断资料

  • 大数据

    使用大数据技术存储海量数据

  • 在线问诊

    利用(腾讯云) TRTC 实现在线视频问诊

  • 微信支付

    对接微信支持3.0 接口实现付款

1.1.2 项目演示
小程序端:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

web 管理端

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.1.3 学习路径
step1 项目技术栈
  • 构建后端项目
    • SpringBoot
    • SSM
      • Spring
      • SpringMVC
      • Mybatis
    • RBAC 权限模型
      • SaToken
      • Phoenix
    • QuartZ
    • RabbitMQ
    • 通用功能
      • 低于XSS 脚本注入攻击
      • 全局处理异常
      • 统一后端验证
      • Cors跨域
    • 大数据
      • HBase
      • Phoenix
  • 小程序项目
    • UNI-APP
    • VUE2.0
    • uView 组件库
    • 通用功能
      • 封装全局URL
      • 封装Ajax
      • 前端验证
  • 前端项目
    • Vue3.0
    • ElementPlus 组件库
    • Vite
    • 通用功能
      • 封装全局URL
      • 封装Ajax
      • 前端验证
      • 权限验证
step2 医生管理模块

使用Hbase 作为数据库

  • Minio私有云
    • Docker 部署
      • 创建Minio 容器
      • chmod 设置目录权限
      • 端口映射和目录映射
    • Web 管理页面【后面会使用 el-upload 组件上传医生照片到 Minio 私有云替代云存储】
      • 创建hospital 存储桶
      • 上传医生照片
  • 登陆MIS 系统
    • 熟悉mis_user 数据表结构
    • 利用Hash 加盐对密码加密【避免拖库攻击】
      • 哈希加密
      • 哈希字典反破解
      • 多次哈希加密
      • 原始数据加盐混淆
    • 登陆系统
      • 对登陆密码加盐加密,比对用户密码
      • SaToken颁发Token 令牌
      • Redis 缓存Token 令牌,过期自动更新
      • 浏览器Storage 保存令牌和权限列表
  • 医生信息管理
    • 加载分页记录
    • 折叠面板展示医生详细信息
    • el-dialog添加医生信息
    • el-upload组件上传医生照片到 Minio 私有云
    • el-dialog 修改医生信息
    • 逻辑删除医生记录
      • 一扩删除不能含有出诊挂号的医生
      • 逻辑删除隐藏医生信息,不破坏业务数据
step3 OCR与人脸识别
  • 患者小程序
    • 微信授权
      • 获取临时授权字符串
      • 把临时授权字符串转换成OPENID
    • 注册新用户
      • 判断数据库中是否含有OPENID
      • 没有该OPENID说明是新患者
      • UPSERT INTO向用户表保存注册记录
      • SaToken颁发Token令牌
      • 小程序Storage保存令牌
    • 登陆系统
      • 如果数据库含有OPENID说明是现存患者
      • 使用SELECT语句核对登陆信息
      • SaToken颁发Token令牌
      • 小程序Storage保存令牌
  • 患者实名认证
    • OCR身份证件扫描
      • 验证身份证真伪
      • 提取身份证信息
    • 填写实名认证信息
    • Camera采集患者面部信息
    • 开通腾讯云服务
    • 获得腾讯云APPID和密钥
    • 面部信息保存在人员特征库
    • 人脸面部识别和活体验证基础原理
step4 管理医生出诊

管理医生出诊

  • 门诊日程表
    • 自定义Flex布局和日历表格
    • el-form动态查询门诊日程
    • el-dialog添加医生出诊
      • 加载科室/诊室二级列表
      • 根据诊室查询医生列表
      • 选择出诊日期和时间段
      • 设置每个时间段接诊人数上限
      • 智能筛选过期的出诊时间无法保存
      • 更新Redis缓存
    • 同诊室同天出诊医生自动合并
    • 双击某个日程自动跳转到诊室医生出诊时间表
  • 医生出诊时间表
    • 自定义Flex布局和日历表格
    • el-form动态查询门诊医生出诊时间表
    • 后端整理医生出诊时间表SON数据格式
    • 在出诊时间表显示医生的出诊时间段,并且标记不出诊时间段
    • el-dialog添加医生出诊时间
      • 添加出诊时间
      • 更新Phoenix数据
      • 更新Redis缓存
    • el-dialog修改医生出诊时间
      • 可以添加出诊时间
      • 有挂号记录的时间段不能取消
      • 没有挂号记录的时间段可以取消
      • 更新Phoenix数据
      • 更新Redis缓存
    • 删除医生出诊记录
      • 如果存在挂号记录则不能删除改天的医生出诊记录
      • 没有挂号记录才可以删除医生出诊记录
      • 更新诊室日程表
      • 更新Redis缓存
  • Redis 缓存【缓存数据】
    • 缓存医生出诊计划
    • 缓存接待患者数量上限
    • 缓存剩余挂号数量
    • 过期自动删除时间段缓存,避免患者挂到过期号源
step5 在线挂号并付款
  • 人脸识别
    • Camera采集面部信息,提交给后端Java项目
    • 与人员库面部特征比对,核实患者身份
    • 准确率高达99%
  • 活体验证
    • 防止对着照片采集面部信息,骗过面部识别
    • 不需要摇头、眨眼、张嘴
    • 通过摩尔纹和光线反射路径就就能判断出是否为活体
  • 在线挂号
    • 阅读挂号须知
    • 显示科室与诊室列表
    • 显示某天诊室医生列表
      • 医生基本信息
      • 挂号费价格
      • 医生当天总接待患者上限
      • 没有达到患者上限的医生可以挂号
    • 显示某位医生出诊时间段
      • 不出诊时间段禁止选中
      • 智能筛选掉过期时间段
      • 智能分析每个时间段是否达到挂号人数上限
      • 没达到人数上限的时间段可以挂号
    • 执行挂号
      • 查询缓存该时间段是否可以挂号
        • 缓存存在
        • 实际挂号人数小于人数上限
      • 利用Redis事务执行挂号
        • 修改该医生当天实际挂号人数
        • 修改该时间段实际挂号人数
        • 如果达到挂号人数上限,就自动删除该时间段的缓存
      • Phoenix中保存挂号记录
      • 创建微信支付订单【调用微信支付接口】
    • 定时器【Quartz 定时器】
      • 定时查询患者是否支付挂号费
      • 如果未支付挂号费
        • 恢复Redis.某医生当天实际挂号人数
        • 恢复Redis?某是时间段挂号人数
        • 如果Redis缓存已经被删除,就重建缓存
step6 基于TRTC的视频问诊
  • Mino 私有云
    • 文件加密存储
    • 保存患者化验资料【资料】
      • X光照片
      • CT照片
      • 诊断书
  • 患者端小程序
  • 查询在线医生列表
  • 提交视频问诊申请
    • 实际问诊人数小于上线人数
    • 用Redis事务,避免超售
    • 更新Redis缓存
  • 创建微信支付订单
  • 支付视频问诊费
    • 如果2分钟内未支付,自动关闭订单
    • 释放实际人数缓存
    • 如果缓存销毁了就重建缓存
  • 提交问诊材料,保存到Minio私有云
  • 开启TRTC视频问诊,15分钟自动结束
  • 医生Web端
    • 创建视频问诊计划
      • 设定日期、时间和人数
      • Redis 缓存视频问诊计划
      • Redis 缓存过期自动销毁
    • 医生上线
    • 开启视频问诊
      • 结束时间倒计时
      • 创建TRTC 音视频流
    • 查阅Minio私有云存放的患者资料
    • 利用ElementPlus组件允许幻灯片形式查阅资料
step7 电子处方模块
  • RabbitMQ
    • 使用消息队列把诊疗系统和医疗系统整合
    • 消息队列的低耦合性可以在系统之间传输数据
    • 创建Topic和Queue 接收诊疗系统的电子处方
  • 医疗MIS 项目
    • 使用非阻塞方式接收消息队列数据
    • 异步线程技术和线程池
    • 使用异步线程把电子处方保存到Phoenix数据表
    • 实现电子处方CRUD管理
  • 患者端小程序
    • 利用Flex+Cell布局显示电子处方
    • 可以导出PDF格式电子处方
step8 发布程序
  • 注册域名与备案
  • 申请数字证书
  • 腾讯云CVM 云主机
    • 安装Docker环境
    • 搭建HBase+Phoenix
    • 搭建Redis
    • 搭建RabbitMQ
    • 部署后端Java项目和Vue项目
  • 腾讯云人脸识别服务
  • 腾讯云TRTC 服务
  • 发布微信小程序
step9 面试辅导与总结
  • 总结课程技术栈
    • 前端Vue项目
    • 后端Spring Boot项目
    • 移动端UniAPP项目
  • 简历撰写辅导
    • 个人信息概述
    • 掌握技术栈
    • 项目简介与核心模块介绍
  • 面试技术辅导
    • 常见技术问题
    • 系统架构问题
End
1.1.4 学习价值
  1. 商业级医疗类项目
  2. 弥补项目经验不足
  3. 增添项目履历含金量
  4. 面试指导和简历撰写
1.1.5 适合人群

在这里插入图片描述

1.1.6 技术储备
  • 具有SSM框架知识,掌握SpringBoot技术
  • 掌握前端VUE3.0框架
  • 掌握常用的SQL语句

猜你喜欢

转载自blog.csdn.net/weixin_44226181/article/details/130470127