住院部管理系统

发布 2019-07-15 13:27:15 阅读 7172

武夷学院

课程设计报告。

数学与计算机系

课程设计项目研究报告。

目录。第 1 章项目简介 1

1.1 项目名称 1

1.2 开发人员 1

1.3 指导教师 1

第 2 章项目研究意义 1

2.1 课程设计概述 1

2.2 需求分析 1

2.3 研究意义 2

第3 章课程设计项目进度表 2

第4章课程设计任务分配表 2

第5 章达到的效果 3

5.1 程序设计思想 3

5.2 程序最终实现功能 5

第6 章设计心得 11

第7 章参考文献 12

10计科2班章忠杰(组长)、陈益雄、刘建武。

连雁平讲师。

随着医疗体制改革的不断深入,医疗市场的竞争越加的激烈,因此医院迫切需要改变医院管理模式,提升医院形象,增强医院核心竞争力。住院管理信息系统是医院信息管理系统非常重要的信息源头,将患者的基本信息录入到计算机系统,为临床和医技等提供基础信息。

住院管理系统,由住院病人管理系统(用于进行病人入院登记及病人基本情况信息的记载,以及病人在住院过程中的流程控制和管理,为费用管理、病区护理站、医生工作站等模块提供病人的基本信息。病人办理住院手续时,给病人分配一个住院号,并建立病人住院首页。如果病人是首次住院,分配一个新的住院号;如果病人不是首次住院,系统通过检索病案管理系统,查找到病人所拥有的住院号,在此住院号下新建一份病案,并自动生成病案首页的相关内容)、住院费用管理系统(完成住院病人的费用和预收款的记录和监管,病人预收金的催缴,病人出院的费用清算及收据处理)、住院医生工作站(完成住院部医生病历基本指标的填写,病情和病史的记载,医嘱的开立、实施,以及相关辅助功能。

实现医生病历收发和医嘱作业的数字化)。

方便医生和病人搜索相关的住院信息,并且实现从住院、**到出院的全过程精确管理与监控,大幅度减少住院**事故。对于常出现的医疗和财务纠纷的细节,可以极大的节约成本,提升医院整体效益,赢得长足发展。

根据医院住院的管理系统的实际需要,创建与住院部内容有关的一些的基本信息的数据库,先对住院部需要的一些信息用视图描述,再用sql语句进行创建。

1、住院患者的基本信息。

组成:病人编号,姓名,性别,年龄,联系**,联系地址。

2、住院患者的主治医生信息。

组成:工作号,姓名,职位,性别,科室。

3、患者居住病房相关信息。

组成:病房号,病床号,人数。

4、患者出院**表。

组成:病人编号,病人姓名,年龄,药品编号,药品名称,药**,床位**,检查费,**费,总费用。

5、 药品信息表。

组成部分:药品**,**,产地,药品名称,进价,生产日期,数量。

1、数据库的创建。

a)创建数据库

create database 医院住院管理系统。

b)住院患者的基本信息表

create table patient

pno char(18) not null primary key,name char(6) not null,*** char(2) not null default'男' check (***='男'or ***='女'),age smallint check (age>=0),tel char(11) not null,address varchar(30) not null);

插入数据。use 医院住院管理系统。

goinsert into patient values ('20104012057','张小芳','女','21','14759950001','武夷新天地号')

c)医院的患者居住病房相关信息表。

d)医院医生基本信息。

e) 医生与病人间的关系表。

f)药品信息表。

g)病人出院表。

h) 患者入住表。

2、删除操作。

删除病人表中已出院病人的信息。

delete from patient

where

in(select pno,mno

from cost,medication

where =

3、更新操作。

修改病人号为***的病人的年龄。

update patient set page=22 where pno='20104012057';

4、查询操作

a)、查询病人所服用的药。

select

from cost,patient,medication

where and

结果图 1b)、查询主治医生及其对应病人的一些信息。

use 医院管理系统。

select

from doctor,patient,doctor_patient

where and doctor_

查询结果。结果图 2

5、触发器。

a)、添加病房的人数不能大于病房总床位数。

create trigger tr_s_rq_insert on phouse

for insert as

declare @rs char(4)

select @rs=rs from inserted

if @rs>@rs

beginraiserror('增加人数应该小于病房的总床位',16,1)

rollback transaction

endb)、病人的年龄必须大于0否则不允许插入数据。

create trigger tr_patient_rq on patient

for insert as

declare @page char(2)

select @page=page from inserted

if @page<1

beginraiserror('病人年龄应大于0.',16,1)

rollback transaction

end结果图 3

c)、不允许删除医生表的内容。

create trigger try_delete on doctor

after delete

asbegin

rollback;

print '不允许删除'

end结果图 4

6、 创建视图 view_doctor_patient

要求显示医生编号,医生姓名,小科目,大科目,病人编号,其命令为:

create view view_doctor_patient as

select

doctor_

from doctor inner join doctor_patient

on doctor_

视图创建结果。

结果图 57、存储过程(存储药品表中的信息并给予查询)

create procedure [查询药品信息]

asselect * from medication

结果图 6每次到课程设计的时候,就是最头疼的事情了,在这次的实验中,同样遇到了好多的问题,虽然前面的几个程序比较简单,比如:表的创建、查询、添加、修改、删除等,但是到了触发器的创建,还有存储过程,视图的时候问题就出现的比较明显了。把表联系起来的时候就很容易出现问题,要么就是数据类型的问题,要么就是字段的不一致,这可能是我们对那些创建的语句还是不太明白,理解的不是很深,不会很深入的去编写更有意义的**,只是很表层的描述问题。