赞
踩
选择主题:医院病房管理系统
小组成员:黄柏玮,黄建宇,贡焜,宫正阳
黄柏玮:关系模式的编写,物理结构的设计,视图的实现,博客的编写
黄建宇:概念模型的编写(E-R图),物理结构的设计,存储结构的实现
贡焜:逻辑结构的设计,存储功能的实现,物理结构的设计
宫正阳:基本信息的编写,触发器的编写,物理结构的设计
医院病房管理系统是一种能够提高医院病房管理效率和质量的信息管理系统。 它通过对病房、病床、病人、医生和护士等信息的管理,实现了病房资源的合理分配和利用,提供了准确和实时的病房信息,方便医院管理人员进行决策和分析。
某医院希望建立数据库来管理其主要业务信息,业务规则如下:
(1)一个科室有多个病房,多个医生;
(2)一个病房属于一个科室;
(3)一个医生只能属于一个科室,但可负责多个病人的诊治;
(4)一个病人的主管医生只有一人;
1.信息查询模块
病人信息查询
医生工作情况查询
查询负责病人最多的前 10 个的医生信息及其负责病人的个数
查询负责病人最多的前 10 个的科室信息及其负责病人的个数
2.费用计算模块
住院所需费用:(出院日期-入院日期)* 病房收费标准。
设置存储过程,输入病人病历号和出院日期,计算住院费用。显示病历号,病人姓名,住院时间,病房收费标准,住院费用。
1.病人信息查询:设计一个存储过程,以病历号作为输入参数,检索病人的情况,包括病人病历号,病人姓名、主治医生姓名,诊断结果,病房号和病床号。
2.医生工作情况查询:设计一个存储过程,检索每一位医生的工作情况,包括医生工作证号,负责的病人姓名,没有治疗过任何病人的医生也应出现在结果中。
3.查询医生负责的病人人数:查询负责病人最多的前 10 个的医生信息及其负责的病人个数
4.查询科室负责的病人人数:查询负责病人最多的前 10 个的科室信息及其负责病人的个数
住院费用:(出院日期-入院日期)* 病房收费标准。
病人表(病历号,姓名,性别,诊断结果,病房号,病床号,入院日期,主治医师)
医生表(工作证号,姓名,职称,所属科室名,年龄)
科室表(科名,科电话,科地址,主任医生姓名)
病房表(病房号,所属科室名,收费标准,床位总数,已使用床位数)
属于表(工作证号,科名)
包含表(病房号,科名)
入住表(病历号,病房号)
诊治(病历号,工作证号)
1.病人表和入住表和诊治表的主码相同,可以将三个表进行合并
合并后的复合表:
病人表(病历号,姓名,性别,诊断结果,病房号,病床号,入院日期,主治医生)
2.医生表和属于表的主码相同,将两个表进行合并
合并后的复合表:
医生表(工作证号,姓名,职称,所属科室名,年龄)
3.病房表和包含表的主码相同,将两个表进行合并
合并后的复合表:
病房表(病房号,所属科室名,收费标准,床位总数,已使用床位数)
系统对用户请求的响应时间应在可接受范围内,确保用户操作的流畅性和体验。
对于关键功能,如紧急呼叫、病情记录等,响应时间应尽可能短,以支持及时响应和处理。
系统应能够同时处理多个用户的请求,满足医疗机构高并发访问的需求。
应具备负载均衡和容错能力,确保在高并发情况下系统的稳定性和性能。
系统界面应简洁明了,易于用户操作和理解。
系统设计应充分照顾好用户需求,能够让用户方便使用
病人 ( 病人姓名,身份证号,性别,年龄,电话号码,登录密码,入院日期,确诊结果 )
医生 ( 医生工号,医生姓名,身份证号,电话号码,职称,登录密码,所属科室 )
科室 ( 科室名,科室代码,科室主任,科室电话,科室地址 )
病房 ( 病房号,床位数,所属科室 ,收费标准 )
病床 ( 病房号 ,病床号 ,目前状态 )
管理员 ( 管理员账号,管理员密码,管理员等级 )
create table 病人信息(
病人姓名 varchar(50),
身份证号 varchar(50) PRIMARY KEY ,
性别 varchar(50),
年龄 int,
电话号码 varchar(50),
登录密码 varchar(50),
入院日期 date,
确诊结果 varchar(50)
);
create table 医生信息(
医生工号 varchar(50) PRIMARY KEY ,
医生姓名 varchar(50),
身份证号 varchar(50),
电话号码 varchar(50),
职称 varchar(50),
登录密码 varchar(50),
所属科室 varchar(50),
FOREIGN KEY (所属科室) REFERENCES 科室信息(科室代码)
);
create table 科室信息(
科室名 varchar(50),
科室代码 varchar(50) PRIMARY KEY ,
科室主任 varchar(50),
科室电话 varchar(50),
科室地址 varchar(50),
FOREIGN KEY(科室主任) REFERENCES 医生信息(医生工号)
);
create table 病房信息(
病房号 varchar(50) PRIMARY KEY ,
床位数 varchar(50),
所属科室 varchar(50),
收费标准 int
);
create table 病床信息(
病房号 varchar(50),
病床号 varchar(50) PRIMARY KEY ,
目前状态 varchar(50),
FOREIGN KEY (病床号) REFERENCES 病房信息(病房号)
);
create table 管理员信息(
管理员账号 varchar(50),
管理员密码 varchar(50),
管理员等级 varchar(50)
);
视图1: 病人基本信息视图
CREATE VIEW 病人基本信息 AS
SELECT 病人姓名, 性别, 年龄, 电话号码, 入院日期, 确诊结果
FROM 病人信息;
视图2: 科室和病房信息视图
CREATE VIEW 科室和病房信息 AS
SELECT
科室信息.科室名,
科室信息.科室代码,
科室信息.科室主任,
科室信息.科室电话,
科室信息.科室地址,
病房信息.病房号,
病房信息.床位数,
病房信息.收费标准
FROM
科室信息
JOIN
病房信息 ON 科室信息.科室名 = 病房信息.所属科室;
CREATE TRIGGER 记录病床状态变化
AFTER UPDATE ON 病床信息
FOR EACH ROW
BEGIN
IF NEW.目前状态 <> OLD.目前状态 THEN
INSERT INTO 病床状态日志 (病房号, 病床号, 原状态, 新状态, 变更时间)
VALUES (OLD.病房号, OLD.病床号, OLD.目前状态, NEW.目前状态, NOW());
END IF;
END;
CREATE PROCEDURE 插入新病人信息(
IN p_病人姓名 varchar(50),
IN p_身份证号 varchar(50),
IN p_性别 varchar(50),
IN p_年龄 int,
IN p_电话号码 varchar(50),
IN p_登录密码 varchar(50),
IN p_入院日期 date,
IN p_确诊结果 varchar(50)
)
BEGIN
INSERT INTO 病人信息 (病人姓名, 身份证号, 性别, 年龄, 电话号码, 登录密码, 入院日期, 确诊结果)
VALUES (p_病人姓名, p_身份证号, p_性别, p_年龄, p_电话号码, p_登录密码, p_入院日期, p_确诊结果);
END;
更新信息:如更新病人电话号码
CREATE PROCEDURE 更新病人电话号码(
IN p_身份证号 varchar(50),
IN p_新电话号码 varchar(50)
)
BEGIN
UPDATE 病人信息
SET 电话号码 = p_新电话号码
WHERE 身份证号 = p_身份证号;
END ;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。