医院住院数据库设计1需求分析1.1系统概况从电子计算机应用于医学领域,特别是在医院管理方面至今已经有近30年的历史了。我国起步较晚,70年代中期个别有条件的大医院才开始研究工作。直到1986年7月卫生部向10个单位下达了研制开发医院管理信息系统(简称HMIS)中统计、财务、病案等6个医院管理软件的委托书,才加快了适合我国国情的HMIS开发研究工作。然而近年来,随着我国人民生活水平的迅速提高,科学技术的进一步发展,医院对HMIS的需求就越来越迫切,一套好的HMIS在全面提高医院的医疗、教学、科研水平,提高医院整体工作效率,为病人提供方便快捷全面的服务等方面都能发挥出重要作用。根据调查,在西方发达国家,几乎绝大部分的医院都已经采用了HMIS。然而在国内HMIS的使用尚不普及,许多小型医院还是完全依靠手工操作在管理病人和医院员工的一切信息,这不仅劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,对其所掌握的信息也无法很好地统计应用起来,这样既无法提高医院自身的医疗水平,同时又无法很好地为病人服务。信息时代已经来临,信息处理的利器——计算机,应用于医院的日常管理,为医院的现代化带来了从未有过的动力和机遇,为医疗卫生领域的发展提供了无限的潜力。采用计算机管理信息系统已成为医院管理科学化和现代化的标志,给医院带来了明显的经济效益和社会效益。极大的提高了医务人员的工作效率,加快了病人就诊的速度,根除了“三长一短”的弊端,有效的解决了住院不方便的问题。1.2可行性分析1.2.1技术可行性硬件、软件要求不高,目前市场上的一般计算机软硬件资源均能满足系统开发需要。其中软件主要有VB,数据库采用Microsoftaccess2000。该管理系统以VB为主要开发工具,通过ADO方式与后台数据库Microsoftaccess2000相连接,建立了一个基于C/S(客户机/服务器)的数据库应用管理系统。维护工作方便,由于access2000的易用性,使得后台的操作十分便捷,操作人员可以在短时间内完全掌握系统的维护工作。1.2.2经济可行性对于每个住院部门,可以根据自己需要,配置性能一般的计算机做为终端,向服务器存储数据或搜索数据。这些电脑的费用对整个住院系统来说并不是一个很重点负担。1.2.3社会可行性由于医院住院病人数量众多,因而通过电脑化操作可以减少纸张的使用,同时由于数据直接通过局域网传输,可以减少信息传递时间,提高效率,同时也方便医生,病人搜查相关住院信息,提高医院工作透明度和工作效率。1.3系统功能说明1.3.1功能模块说明由于整个医院住院管理业务包含了人、财、物、信息各种资源的处理,十分复杂,为了实施系统的建设,抓主重点,解决最关键的问题,尽快见到成效,根据医院现有的情况,在这次系统设计中,在总体上定义了系统整个系统和功能的层次模型,做到系统是可扩展的和逐步完善的。在本系统建设中,主要包含以下功能模块:1.住院病人管理:为新入住的病人分配房间,并提供对已入住医院病人数据的输入,查询,费用结算。2.病房管理:根据各科室病床的空缺情况对其进行统计分配。3.医生信息管理:提供对各科室的医生信息数据的输入,查询。4.出院管理:对出院的病人的病床进行回收,并进行收费确认,并生成收费清单。1.3.2顶层数据流图1.3.3病人住院模块数据流图病人病房查询病人病房信息病房安排请求响应请求响应护理请求护理病人请求开方病人信息医院住院管理系统医生住院病人管理病人信息病房管理人员接待处工作人员打印报告病历收银条帐单本次住院表后台系统住院报告收银病房信息表病人1.3.4病人出院模块数据流图1.3.4数据字典由于数据流程图只是对数据处理及彼此之间的联系进行说明,未对数据的详细内容及数据的加工过程进行说明,而这正是数据字典所要表达的。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义的集合。它能将数据流程图中全部数据流及其组成部分的数据元素、数据存储、数据加工等描述清楚,便于后续工作—系统设计的进行。以下列出本系统的部分数据字典,就是数据流、数据存储、数据加工、外部项和数据元素举例说明:病人个人信息=病案号+姓名+性别+地址+电话号码+病房编号病房信息=编号+地点+收费标准+所属科室病床信息=病房编号+床位号医生信息=编号+姓名+性别+职称+电话号码+部门住院信息=日期+病案号+入院时间+出院时间+病房编号+床位号治疗信息=时间+病案号+医生编号+诊断+治疗方案打印报告病历收银条帐单本次住院档案后台系统出院报告收银房间信息表病人住院=日期+病案号+入院时间+出院时间+病房编号+床位号2概念设计2.1全局E-R图一位病人可能有多位治疗医生,而每一位医生又可能给多名病人治病。每一个病房可能住多位病人,而每一位病人只能住在一间病房中。一位病人可能有多个住院登记,而一份住院登记只能有一个病人。病房中有多个床位、一个床位只能在一个病房中。一个床位可以出现在不同的住院登记上,而一份住院登记只能给病人分配一张病床。因此可以得出该系统的实体-联系图(E-R图)如下:n111n11nmn医生治疗病人登记住院入住病房拥有病床分配编号姓名性别职称部门时间病案号姓名性别病房编号地址日期病案号入院时间出院时间病房编号床位号病房编号床位号编号地点收费标准治疗方案3逻辑设计3.1初始关系模式设计3.1.1转化原则概念设计中得到的E-R图是由实体,属性和联系组成的,而关系数据库逻辑设计的结果是一组关系模式的集合,所以将E-R图转换为关系模型实际上就是将实体,属性和联系转换成关系模式,在转换中要遵循以下原则:(1)一个实体转化为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。(2)一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。该关系的键有三种情况:1.如果联系为1:1,则每个实体的键都是关系的候选键。2.如果联系为1:n,则n端实体的键是关系的键。3.如果联系为n:m,则各实体键的组合是关系的键。3.1.2转换结果经分析,可将2中的E-R模型中的五个实体分别转换为五个关系模式:病房(编号、地点、收费标准,所属科室)病床(病房编号、床位号)病人(病案号、姓名、性别、地址、电话号码、病房编号)医生(编号、姓名、性别、职称、电话号码、部门)住院(日期、病案号、入院时间、出院时间、病房编号、床位号)其中,有下划线的键表示是主键。再把其中一个联系转换为关系模式,由联系转换得到的关系模式的属性集中,包含两个发生联系的实体中的主键以及联系本身的属性,其关系键的确定与联系的类型有关。转换的关系模式如下:治疗(时间、病案号、医生编号、诊断、治疗方案)3.2关系模式规范化规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数据插入,删除时发生的异常现象。在SCD中,既存在完全函数依赖,又存在部分函数依赖和传递函数依赖。这种情况往往在数据库中是不允许的。也正是关系中存在着复杂的函数依赖,才导致数据操作中出现了种种弊端。克服这种弊端的方法是用投影运算将关系分解,去掉过于复杂的函数依赖关系,向更高一级的范式进行转换。3.2.1第三范式的定义如果关系模式R属于2NF,且每个非主属性都不传递依赖于R的每个关系键,则称R属于第三范式。3.2.2BCN范式的定义如果关系模式R属于1NF,且所有的函数依赖X-Y,决定因素X都包含了R的一个侯选键,则称R属于BCN范式。分析上面的六个关系模式可看出,每个关系模式中,既不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,也没有主属性对键的部分依赖。因此,这些关系模式都是BCN范式。4物理实现该数据库使用Access2000数据库来实现。4.1用Access2000分别创建六个表:(1)病房数据表,用来存放所有病房包含的信息,包括病房的编号、地点、所属科室、收费标准等四项数据,其中编号是主码,唯一确定病房。病房数据表(2)病床数据表,用来存放所有病床的信息,包括病床的编号、病房所在的病房号,其中病房和病床编号是主码,唯一确定病床。病床数据表(3)病人数据表,用来存放所有病人信息,包括病人的病案号、性别、姓名、地址、电话号码、病房编号等数据项,其中病案号是主码,唯一确定病人。病人数据表(4)医生数据表,用来存放所有医生的信息,包括医生的编号、姓名、性别、职称、电话号码、所属部门等数据,其中编号是主码,唯一确定医生。医生数据表(5)住院数据表,用来存放所有病人住院的信息记录,包括记录日期、病案号、入院日期时间、住院日期时间、病房编号、床位号等数据,其中日期和病案号是主码,唯一确定住院信息。住院数据表(6)治疗数据表,用来存放所有治疗的信息,包括治疗的时间、病案号、医生编号、诊断、治疗方案等数据,其中时间、病案号、医生编号是主码,唯一确定一个治疗数据。治疗数据表4.2定义表之间的关系这时,一个医院管理数据库就初步建成了。5研制报告这次的课程设计中,我是按照数据库系统开发的四个基本过程来进行设计的,历时一个星期.为了能够使该设计尽可能完善,我看了不少课外资料,主要是想了解一些大型数据库管理系统是如何开发的。通过阅读,我收获很大.从这些学习中我更加深入的了解数据库系统开发的各个方面。整体上说,数据库这门课很好理解,理论知识学起来比较容易,但对它的功能,及作用如何实现缺乏实践。本次课程设计就给了我很好的机会,让我容书本知识于实际运用当中,使我对一个完整的数据库的设计过程有了充分的理解。这次编程也培养了我的严密的逻辑思维能力。通过课程设计我体会到要学一门知识就应该将它学好,学到精髓之处并学以致用。学到的并不代表我们掌握了,但掌握了就一定学到了。我们不应该是单纯的学习课本知识,而应该多动手多应用,将学到的知识相互结合起来应用到实际中才是我们要学的。课程设计不仅仅是让我们对一门课程更深的掌握,同时也是锻炼我们解决问题的能力的一个考验。我们应该在不断的求索中寻找前进的途径。由于时间关系,我没能完成一个基于该数据库的系统,但有机会我一定会努力完成。6参考文献1)《SQLServer应用与提高》科学出版社吴斌赵有珍等编著2)《Oracle8入门与提高》付继彬清华大学出版社出版社2000年7月3)《数据库系统概论》萨师煊王珊高等教育出版社4)《数据库系统原理教程》王珊陈红清华大学出版社5)《数据库实用教程》丁宝康董健全清华大学出版社6)《SQLServer数据库原理及应用教程》张莉王强赵文董莉清华大学出版社7)《中文SQLServer2000关系数据库系统管理和开发指南》杨正洪孙言辉机械工业出版社8)《数据库原理与应用》郎彦主编高等教育出版社