一、项目简介
Open-His是以完整的基层医疗机构-信息化解决方案为出发点,打造连接诊所、医生、患者、一站式互联网医疗服务系统,深度挖掘基层医疗机构需求,解决其真正的痛点;全面提升医疗管理质量和可执行落地的综合性解决方案。
下面这张图是我们系统PC端的后台首页图
项目特色:
- 前后端分离,基于shiro的API授权机制;
- MySQL、Redis,多种数据存储方式,只为更快;
- Mycat数据分片技术,解决数据库数据扩容问题;
- ActiveMQ发布订阅消息队列,让消息更快流转;
- 支付模块,支持支付宝沙箱及现金支付环境;
- 精准细粒的业务功能讲解;
- Nginx的负载均衡;
二、技术选型
2.1 后台技术
| 组件 | 作用 | 参考网站 | |
|---|---|---|---|
| Spring Framework | 容器 | projects.spring.io/spring-fram… | |
| Spring Boot | 微服务框架 | spring.io/projects/sp… | |
| Shiro | 安全框架 | shiro.apache.org/ | |
| MyBatis-Plus | ORM框架 | mp.baomidou.com/ | |
| MyBatis Generator | 代码生成器插件 | zhile.io/2019/04/23/… | |
| Druid | 数据库连接池 | github.com/alibaba/dru… | |
| Redis | 分布式缓存数据库 | redis.io/ | |
| ActiveMQ | 消息队列 | activemq.apache.org/ | |
| FastDFS | 分布式文件系统 | github.com/happyfish10… | |
| Log4J | 日志组件 | logging.apache.org/log4j/1.2/ | |
| Swagger2 | 接口测试框架 | swagger.io/ | |
| Lombok | 简化编码插件 | projectlombok.org/ | |
| Jackson | 数据序列化 | github.com/FasterXML/j… | |
| Maven | 项目构建管理 | maven.apache.org/ |
2.2 前端技术
Vue + ElementUI + Axios
2.3关于shiro
Apache Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发足够好的应用程序,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与Web 集成、缓存等。
2.4关于redis
Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用 c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化
2.5关于ActiveMQ
ActiveMQ是面向消息的中间件里面的一个成熟的,开源的落地的产品。它利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息队列和消息主题两种形式,在分布式环境下为应用程序提供解耦,弹性伸缩,冗余存储,流量削峰,异步通信,数据同步等 大致流程
三、项目模块设计-及功能演示
3.1 系统管理模块
系统基础数据模块,主要包含科室管理、用户管理、角色管理、菜单管理、字典管理、通知公告、登陆日志管理、操作日志管理、检查费用设置、挂号费用设置, 主要包含RBAC权限设置功能,字典模块,基础数据维护模块,日志管理模块
3.2 药品进销存模块
一个小型的药品ERP系统,包含生产厂家维护、药品信息维护、供应商维护、采购入库、审核、库存等查询
3.3 看病就诊模块【核心模块-难点】
看病就诊、门诊挂号、挂号列表、新开就诊、我的排班、医生排班、患者库,里面的核心业务为挂号,就诊,排班
3.4 收费管理模块
主要处理挂号收费、检查收费、药品处方收费等业务功能的处理
3.5 检查管理模块
主要处理检查业务功能,医生可以接收检查及上传检查结果
3.6 数据统计模块
整个系统数据统计分支,包含 收支统计、药品销售统计、检查项目统计、工作量统计等功能。