项目基本描述:
分为管理员、医生、病人、药剂师、收费员五种角色。
管理员:管理药品,管理检查项目,管理角色权限,管理用户信息,数据统计报表(挂号费、药品销售的日统计、月统计等)。
医生:审核挂号信息,接诊,开药,开检查单等。
病人:挂号,查看当前排队人数等。
药剂师:药品管理,取药等。
收费员:挂号,收费,管理缴费信息等。
技术选型
前端:
后端:
主要功能
用户认证与权限控制
预约挂号管理
处方和药品管理
订单支付功能
数据统计分析
库表设计
examination表
字段名 | 数据类型 | 默认值 | 约束 |
---|
id | bigint | 无 | 检查项目ID |
name | varchar(100) | 无 | 检查项目名称 |
price | decimal(10,2) | NULL | 检查费用 |
description | text | NULL | 项目描述 |
status | tinyint | 1 | 状态(0:停用, 1:启用) |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
examination_order表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | 无 | 检查订单ID |
registration_id | bigint | 无 | 关联挂号ID |
patient_id | bigint | 无 | 患者ID |
doctor_id | bigint | 无 | 医生ID |
total_amount | decimal(10,2) | NULL | 总金额 |
status | tinyint | NULL | 状态(0:未完成, 1:已完成) |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
examination_order_detail表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | 无 | 检查单明细ID |
order_id | bigint | 无 | 检查单ID |
examination_id | bigint | 无 | 检查项目ID |
amount | decimal(10,2) | NULL | 项目金额 |
medicine表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
name | varchar(100) | NOT NULL | 药品名称 |
specification | varchar(100) | NULL | 规格 |
unit | varchar(20) | NULL | 单位 |
price | decimal(10, 2) | NULL | 单价 |
stock | int | DEFAULT 0 | 库存量 |
min_stock | int | DEFAULT 0 | 最小库存量 |
status | tinyint | DEFAULT 1 | 状态(0: 下架, 1: 上架) |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | 更新时间 |
medicine_stock_record表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
medicine_id | bigint | NOT NULL | 药品ID |
change_quantity | int | NOT NULL | 变动数量(正数入库,负数出库) |
operator_id | bigint | NOT NULL | 操作人ID |
operation_type | tinyint | NULL | 操作类型(1: 入库, 2: 出库, 3: 盘点) |
remark | varchar(200) | NULL | 备注 |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
order表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
registration_id | bigint | NOT NULL | 关联挂号ID |
patient_id | bigint | NOT NULL | 患者ID |
doctor_id | bigint | NOT NULL | 医生ID |
registration_fee | decimal(10, 2) | NOT NULL | 挂号费 |
examination_info | json | NULL | 检查项目信息JSON |
prescription_info | json | NULL | 处方药品信息JSON |
total_amount | decimal(10, 2) | NOT NULL | 总金额 |
status | tinyint | DEFAULT 0 | 状态(0: 未支付, 1: 已支付) |
payment_method | tinyint | NULL | 支付方式(1: 现金, 2: 微信, 3: 支付宝) |
payment_time | datetime | NULL | 支付时间 |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
prescription表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
registration_id | bigint | NOT NULL | 关联挂号ID |
patient_id | bigint | NOT NULL | 患者ID |
doctor_id | bigint | NOT NULL | 医生ID |
diagnosis | text | NULL | 诊断结果 |
treatment | text | NULL | 治疗方案 |
total_amount | decimal(10, 2) | NULL | 总金额 |
status | tinyint | NULL | 状态(0: 未取药, 1: 已取药) |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
prescription_detail表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
prescription_id | bigint | NOT NULL | 处方ID |
medicine_id | bigint | NOT NULL | 药品ID |
quantity | int | NOT NULL | 数量 |
subtotal | decimal(10, 2) | NULL | 小计金额 |
registration表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
patient_id | bigint | NOT NULL | 患者ID |
doctor_id | bigint | NULL | 医生ID |
registration_time | datetime | NULL | 预约时间 |
fee | decimal(10, 2) | NULL | 挂号费 |
status | tinyint | NULL | 状态(0: 待就诊, 1: 就诊中, 2: 已完成, 3: 已取消) |
symptoms | text | NULL | 症状描述 |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
role表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | int | AUTO_INCREMENT | 主键 |
role_name | varchar(50) | NOT NULL | 角色名称 |
role_desc | varchar(100) | NULL | 角色描述 |
create_time | datetime | CURRENT_TIMESTAMP | 创建时间 |
user表
字段名 | 数据类型 | 默认值 | 描述 |
---|
id | bigint | AUTO_INCREMENT | 主键 |
username | varchar(50) | NOT NULL | 用户名 |
password | varchar(100) | NOT NULL | 密码 |
real_name | varchar(50) | NULL | 真实姓名 |
phone | varchar(20) | NULL | 联系电话 |
role_id | int | NOT NULL | 角色ID |
status | tinyint | DEFAULT 1 | 状态(0: 禁用, 1: 启用) |
create_time | datetime | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
update_time | datetime | DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | 更新时间 |
索引 | UNIQUE (username) | | 唯一索引:用户名 |