在线上医疗问诊的情境的增加以及对动物健康需求趋于壮大的环境下,搭建支持线上挂号实现需求的医疗平台作用显得尤为重要。常规的医疗在线平台年限久远以及设计模式的不合理亟需更新换代。(本项目为在学习中以及实际调研需求搭建起来的项目)
晓时宠物医院是基于Spring boot的B/S架构单体架构项目。用户操作全流程数字化,覆盖实际赴诊前的一系列操作,优化了以往的在线就诊预约平台的手续繁杂、理解困难等问题,此项目采用较前沿的技术栈和架构思想,并可以在后续扩展应用于更多种类的相关平台。此系统主要用于实现用户在网上在线选择服务并预约服务的功能,方便用户的操作,节约用户的时间。用户可以在登录后可以在用户中心对宠物信息进行完善,并可以查看已有的预约信息和历史订单等数据。在就诊界面上用户可以针对宠物的情况自由的选择一个套餐服务并可以选择任意的医师进行预约,系统会为用户展示医师的排班时间表。提交订单后系统会为用户生成一个订单为其安排就医时间,用户在规定时间可以到线下携宠物就诊。同样的用户可以在就诊前取消订单。系统同样提供了用户对任何服务的评论和点赞功能,以便使用者可以了解到真实的信息。在管理端系统则提供了管理用户信息、宠物信息、预约信息、库存信息等数据并加以管理。
考虑到为用户的需求又添加了“评论点赞模块”
在业务模块上我根据大致的需求将功能根据用户模式分为Admin端和User端:
User端:
用户中心(user):用户可以在此处查看自己的预约信息以及历史订单信息和病例
宠物管理(user):用户可以在此处对宠物信息进行修改
病例系统(user):这个模块可展示用户当前已拥有的填写的病例信息
评论点赞模块:用户可以对已经购买的套餐、服务等发表评论
预约系统:用于用户进行服务预约的提交
支付模块:用于支持在用户购买服务等操作后的交易功能
Admin端:
用户中心(admin):管理员可以在此处查看和管理平台用户的详细信息(订单信息、病例信息等)
宠物管理(admin):用于帮助管理员对平台上管理不同状态的宠物信息(待就诊、就诊中、已就诊)
病例系统(admin):此模块对所有用户病例信息进行统一管理。
医生模块:管理医生相关信息。
库存管理模块:查看并管理各类药品的库存情况。
套餐业务模块:在这个模块上对各个套餐和服务的启用和禁用等操作,以及展示其详细信息。
功能:
用户注册/登录(分普通用户、医生、管理员)
权限管理(RBAC模型)
用户信息管理
核心表:
CREATE TABLE user (
id BIGINT PRIMARY KEY,
username VARCHAR(50) UNIQUE,
password VARCHAR(100),
role ENUM('USER','ADMIN'),
phone VARCHAR(20),
email VARCHAR(50),
status TINYINT DEFAULT 1
);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long Id;
private String username;
private String password;
private Enum<UserTypes> userType ;
private String phone;
private String email;
private String status;
}
@Getter
public enum UserTypes {
USER(1,"用户"),
ADMIN(2,"管理员");
private final int value;
private final String desc;
UserTypes(int value, String desc) {
this.value = value;
this.desc = desc;
}
}
3.1.2 宠物管理模块功能:
宠物档案管理
疫苗接种记录
健康状态跟踪
核心表:
CREATE TABLE pet (
id BIGINT PRIMARY KEY,
user_id BIGINT,
name VARCHAR(50),
species VARCHAR(50),
birth_date DATE,
medical_history TEXT
);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pet {
private Long id;
private Long userId;
private String name;
private String species;
private LocalDate birthDay;
private String medicalHistory;
}
3.1.3 医生管理模块功能:
医生信息管理
排班管理(Admin)
设置描述
核心表:
--创建医生表
CREATE TABLE doctor (
id BIGINT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
department VARCHAR(50),
description VARCHAR(50),
phone CHAR(20),
work_schedule JSON
);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Doctor {
private Long id;
private String name;
private String department;
private String description;
private String phone;
private String workSchedule;
}
3.1.4 预约管理模块功能:
在线预约挂号
预约状态管理
核心表:--创建预约表
CREATE TABLE appointment (
id BIGINT PRIMARY KEY,
pet_id BIGINT,
doctor_id BIGINT,
appointment_time DATETIME,
status ENUM('PENDING','CONFIRMED','COMPLETED','CANCELLED'),
symptoms TEXT
);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Appointment {
private Long id;
private Long petId;
private Long doctorId;
private LocalDateTime appointmentTime;
private Enum<AppointmentStatus> status;
private String symptoms;
}
@Getter
public enum AppointmentStatus {
PENDING(1,"待定"),
CONFIRMED(2,"已确认"),
COMPLETED(3,"已完成"),
CANCELED(4,"已取消");
private final Integer values;
private final String desc;
AppointmentStatus(Integer values, String desc) {
this.values = values;
this.desc = desc;
}
}
3.1.5 病例管理模块功能:
电子病历管理
诊断记录
处方管理
核心表:
-- 创建病例表
CREATE TABLE medical_record (
id BIGINT PRIMARY KEY,
pet_id BIGINT,
doctor_id BIGINT,
diagnosis TEXT,
prescription TEXT,
record_date DATETIME
);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MedicalRecord {
private Long id;
private Long petId;
private Long doctorId;
private String diagnosis;
private String prescription;
private LocalDateTime date;
}
3.1.6 库存管理模块功能:
药品/耗材管理
库存预警
出入库记录
核心表:
-- 创建库存表
CREATE TABLE inventory (
id BIGINT PRIMARY KEY,
item_name VARCHAR(100),
stock INT,
min_stock INT,
unit VARCHAR(20),
update_time DATETIME
);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Inventory {
private Long id;
private String itemName;
private Integer stock;
private Integer minStock;
private String unit;
private LocalDateTime updateTime;
}
3.1.7 支付模块功能:
订单支付
展示订单明细
核心表:
CREATE TABLE order (
id BIGINT PRIMARY KEY,
user_id BIGINT,
doctor_id BIGINT,
description varchar(200),
item_list JSON,
sum DECIMAL(10, 2),
create_time DATETIME
);
//订单表
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order {
//订单id
private Long id;
//用户id
private Long userId;
//医生id
private Long doctorId;
//备注
private String description;
//药品明细
private String itemList;
//总价
private Decimal sum;
//创建时间
private LocalDateTime createTime;
}
3.1.8 评论点赞模块功能:
对服务评论、点赞
核心表:
CREATE TABLE comments (
id BIGINT PRIMARY KEY,
package_id BIGINT,
user_id BIGINT,
content varchar(500),
like_nums INT UNSIGNED,
create_time DATETIME,
address varchar(30)
)
//评论类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Comment {
//评论id
private Long id;
//套餐id
private Long package_id;
//用户id
private Long user_id;
//评论内容
private String content;
//点赞数
private Integer likeNums;
//评论时间
private LocalDateTime create_time;
//发表地址
private String address;
}
服务表
CREATE TABLE package (
id BIGINT PRIMARY KEY,
image varchar(50),
description varchar(500),
status int,
create_time DATETIME,
update_time DATETIME
)
服务类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Package {
private Long id;
private String image;
private String description;
private Integer status;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
common模块用于存放一些公共资源,比如工具类,全局异常类,Result统一返回格式类,常量字段等信息,以及一些基础公共依赖等信息。
服务模块用来实现一些具体的业务功能。我将其按照功能的不同分成了五级。
因为Admin的结构与user相似,按user层来举例。我将具体的业务执行流程按照三层架构分为controller层、Service层、Mapper层(Dao层)。
Controller层用来接收请求以及返回响应结果;
Service层用来执行具体的业务逻辑;
Mapper层使用Mybatis框架进行数据持久化操作以及返回请求的数据。
Model包下用于存放一些实体类和接收类以及返回类
Appointment是User和Admin共用的一些系统功能包类,比如AOP功能的实现、拦截器功能的实现、还有定时任务的实现等等。
具体业务逻辑代码将在后续篇幅整理
相关知识
晓时宠物医院系统设计原型
springboot+vue宠物医院信息管理系统的设计与实现【开题+程序+论文】
PHP微信小程序宠物医院挂号系统设计与实现计算机毕业设计源代码作品和开题报告
10个登录页原型图设计案例分享
宠物医院管理系统的设计与实现论文
python毕设宠物医院服务系统程序+论文
打造萌宠乐园:揭秘宠物UI设计原型图案的创意与实用技巧
全运会吉祥物设计发布 以“秦岭四宝”为设计原型
宠物医院管理系统的设计.docx
《幻唐志》宠物突破功能 全新晓梦迷蝶时装
网址: 晓时宠物医院系统设计原型 https://m.mcbbbk.com/newsview1086368.html
上一篇: 宠物兽医简历模板 (可编辑).d |
下一篇: nodejs基于Vue宠物医院管 |