收藏 分享(赏)

医院管理系统设计说明书.doc

上传人:精品资料 文档编号:9108852 上传时间:2019-07-24 格式:DOC 页数:52 大小:794.50KB
下载 相关 举报
医院管理系统设计说明书.doc_第1页
第1页 / 共52页
医院管理系统设计说明书.doc_第2页
第2页 / 共52页
医院管理系统设计说明书.doc_第3页
第3页 / 共52页
医院管理系统设计说明书.doc_第4页
第4页 / 共52页
医院管理系统设计说明书.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、目录1 系统简介 .12 需求分析 .22.1 需求调查 .22.2 数据流图 .32.3 数据字典 .43 概念结构设计 144 逻辑结构设计 155 物理结构设计 166 系统主要查询功能及 SQL 语句 .196.1 药物收费的 SQL 语句 .196.2 病人就医信息 SQL 语句 .206.3 医生管理的 SQL 语句 .207 系统的实现 .237.1 系统功能模块图 237.2 部分程序代码 267.3 系统运行截图 448 设计小结 .488.1 心得体会 .488.2 存在的问题及建议 49参考文献 5011 系统简介医院管理管理的门面大,信息量大,手续较繁琐,在手工方式下,

2、医护人员要做大量不必要的重复工作、效率低、准确性差,不方便管理、影响工作效率,造成了很多就诊病人得不到合理有效的快捷就诊服务,甚至影响医疗质量。为此,越来越多的医院加快了信息化建设的步伐。医院管理系统能有效地优化服务和工作环境、使病人和医生情绪得以放松,提高了服务效率和质量、树立了医院的良好形象,使医院工作可以高效有序的运转,提高了医院的经济效益,促进医院的发展,是医院的管理可以更加有序的进行。22 需求分析2.1 需求调查医院管理系统是一门融医学、管理、计算机等多种学科为一体的交叉科学,在发达国家已经得到了广泛的应用,并创造了良好的社会效益和经济效益。医院信息管理系统是现代化医院运营的必要技

3、术支撑和基础设施,实现医院信息管理系统的目的就是为了以更现代化、科学化、规范化的手段来加强医院的管理,提高医院的工作效率,改进医疗质量,从而树立现代医院的新形象,这也是未来医院发展的必然方向。目前,在我国尤其是西部的许多小型医院,还没有使用计算机管理系统,信息处理基本上还处于手工状态,致使医护和管理人员劳动强度大且工作效率低,大量时间都消耗在事务性工作上,致使“人不能尽其才“ ;病人排队等候时间长,辗转过程多,影响医院的秩序;在经济管理上也存在漏、跑、错费等现象;医院物资管理由于信息不准确,家底不明,积压浪费,以致“物不能尽其用 “。中国当前经济发展的重点在西部,作为西部大开发的前沿,医院管理

4、计算机化已成为一种趋势。使用真正先进的计算机管理模式,与市场接轨是许多中小型医院面临的主要问题。因而开发医院管理信息系统是解决上述问题的有效途径。医院管理信息系统的有效运行,将提高医院各项工作的效率和质量,减轻各类事务性工作的劳动强度,使医护和管理人员能腾出更多的精力和时间来服务于病人;改善经营管理,堵塞漏洞,保证病人和医院的经济利益;为医院创造很好的经济效益。32.2 数据流图图 2.1 总体数据流图图 2.2 详细设计数据流图病人信息医院管理系统医生病人 就诊缴费单化验结果处方化验单就诊 挂号单 医生病人P1挂号P2各项检查P3诊断P3划价收费收费窗口42.3 数据字典1 数据项数据项名:

5、用户名数据项含义说明:用于登录本系统别名:a_User数据类型:Longtext长度:0取值范围:00是否主键:否数据项之间的联系:登录系统的时候除了用户名还需要密码数据项名:密码数据项含义说明:用于登录本系统别名:a_Password数据类型:Longtext长度:0取值范围:00是否主键:否数据项之间的联系:登录系统的时候和用户名一起出现数据项名:真实姓名数据项含义说明:用于确认用户的身份别名:a_Name数据类型:Longtext长度:0取值范围:00是否主键:否数据项之间的联系:同一个姓名只能注册一个账号数据项名:邮箱数据项含义说明:用户的地址别名:a_E_mail5数据类型:Long

6、text长度:0取值范围:00是否主键:否数据项之间的联系:邮箱对应电话数据项名:电话数据项含义说明:用户的联系方式别名:a_Phone数据类型:Longtext长度:0取值范围:00是否主键:否数据项之间的联系:对应邮箱数据项名:医生编号数据项含义说明:医生的身份认证别名:I_Id数据类型:int长度:11取值范围:011是否主键:是数据项之间的联系:与医生姓名一一对应数据项名:医生姓名数据项含义说明:医生的名字别名:d_Name数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:与医生编号一一对应6数据项名:职称数据项含义说明:医生医术的评价别名:d_Pro

7、fession数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:反映医生的医术数据项名:出诊时间数据项含义说明:医生给患者看病时间别名:d_Time数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:每个医生出诊时间不同数据项名:所学专业数据项含义说明:医生所学的专业别名:d_Major数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:不同的科室需要的医生专业不同数据项名:负责科室数据项含义说明:医生负责的科室别名:d_Department数据类型:varchar长度:2557取值范围:0255

8、是否主键:否数据项之间的联系:同一科室的医生专业应该一样数据项名:是否专家数据项含义说明:是不是专家别名:p_Expert数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:无数据项名:病历号数据项含义说明:患者的病例别名:p_Id数据类型:int长度:11取值范围:011是否主键:是数据项之间的联系:医生写给患者的关于患者病情的诊治情况数据项名:病由数据项含义说明:生了什么病别名:Reason数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:病由决定处方数据项名:处方数据项含义说明:治疗疾病的药方8别名:Prescriptio

9、n数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:由病由决定数据项名:电话数据项含义说明:医生的联系方式别名:Phone数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:一个医生对应一个电话数据项名:姓名数据项含义说明:患者的姓名别名:P_Name数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:一个患者对应一个病历号数据项名:初诊时间数据项含义说明:患者第一次诊断的时间别名:p_Time数据类型:varchar长度:255取值范围:0255是否主键:否9数据项之间的联系:每个病例只有一个初

10、诊时间数据项名:联系方式数据项含义说明:患者的电话号码别名:p_Phone数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:每个患者的联系方式都不同数据项名:备注数据项含义说明:治疗情况别名:p_Note数据类型:varchar长度:255取值范围:0255是否主键:否数据项之间的联系:根据治疗情况写处方数据项名:药物收费数据项含义说明:购买药物所花费的金钱数据类型:int长度:11取值范围:011是否主键:否数据项之间的联系:和处方有联系数据项名:挂号费数据项含义说明:挂号所花费的金钱数据类型:int长度:11取值范围:01110是否主键:否数据项之间的联系

11、:和是否是专家有关系数据项名:处置费数据项含义说明:劳务所花费的金钱数据类型:int长度:11取值范围:011是否主键:否数据项之间的联系:无数据项名:化验费数据项含义说明:化验所花费的金钱数据类型:int长度:11取值范围:011是否主键:否数据项之间的联系:和处方也有所联系2 数据结构数据结构名:用户登录含义说明:用户登录界面所需要的数据组成:用户名,密码,真实姓名,邮箱,电话数据结构名:医生信息含义说明:对于医生的描述组成:医生编号,医生姓名,职称,出诊时间,所学专业,负责科室,是否专家数据结构名:病人信息含义说明:对病人的描述组成:病例号,姓名,初诊时间,医生编号,处方,电话,联系方式

12、,备注数据结构名:缴费信息含义说明:病人的缴费明细组成:病历号,药物收费,挂号费,处置费,化验费113 数据流数据流名:用户信息录入说明:录入用户信息数据流来源:用户注册输入数据流去向:用户登录组成:用户登录数据流名:医生信息录入说明:录入医生信息数据流来源:文件数据流去向:医生信息组成:医生信息数据流名:病人信息录入说明:录入病人信息数据流来源:文件数据流去向:病人信息组成:病人信息数据流名:病人缴费说明:病人根据处方去缴费数据流来源:病人信息数据流去向:缴费去向组成:病人信息,缴费信息4 数据存储数据存储名:用户存储说明:用户信息的输入编号:01输入的数据流:用户信息录入输出的数据流:用户

13、信息录入组成:用户登录存取频度:无限制,随时都可以存取12存取方式:联机处理,添加数据存储名:医生存储说明:医生信息的输入,修改,删除编号:02输入的数据流:医生信息录入输出的数据流:医生信息录入组成:医生信息存取频度:每周一次存取方式:批处理,添加,修改,删除数据存储名:病人存储说明:病人信息的输入,修改,删除编号:03输入的数据流:病人信息录入输出的数据流:病人信息录入组成:病人信息存取频度:无限制,随时都可以存取存取方式:批处理,添加,修改,删除数据存储名:收费存储说明:病人缴费的录入编号:04输入的数据流:病人缴费输出的数据流:病人缴费组成:病人信息,缴费信息存取频度:无限制,随时都可

14、以存取存取方式:批处理,添加5 处理过程处理过程名:用户信息处理说明:用户信息的输入输入的数据流:用户信息录入13输出的数据流:用户信息录入处理:用户信息的输入,只要有人注册就可以输入数据存储名:医生信息处理说明:医生信息的输入,修改,删除输入的数据流:医生信息录入输出的数据流:医生信息录入处理:医生信息的添加,修改,删除。每周一次数据存储名:病人信息处理说明:病人信息的输入,修改,删除输入的数据流:病人信息录入输出的数据流:病人信息录入处理:病人信息的添加,修改,删除,只要有病人随时都可以存取数据存储名:收费信息处理说明:病人缴费的录入输入的数据流:病人缴费输出的数据流:病人缴费处理:病人所

15、缴纳费用的添加,只要有交易随时都可以存取存取方式:批处理,添加143 概念结构设计根据对功能设计的分析,可以规划整个医院管理系统所涉及的数据实体主要有“医生”、“病人”和“费用”。“医生”实体与“病人”实体之间是一对多的关系,“病人”实体与“费用”实体之间是多对多的关系。“医生”实体与“病人”实体之间的联系描述了病人与医生所对应的关系,“病人”实体与“实际费用”实体之间的描述了病人的消费情况。依次可以使用实体关系模型图(E-R 图)来描述这些实体以及它们之间的联系,各个实体的属性等内容。图 3.1 总 E-R 图负责科室医生 出诊时间医生姓名职称所学专业医生编号是否专家治疗病人初诊时间病例号备

16、注姓名联系方式花费实际费用 挂号费药物收费化验费处置费1n1n154 逻辑结构设计概念结构设计的任务就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用DBMS 产品所支持的数据模型相符合的逻辑结构。在概念结构设计中,得到医院管理系统的 E-R 图如图 3.1,将此 E-R 图转换为关系模型。关系的码用下横线标出。医生(医生编号、医生姓名、职称、出诊时间、所学专业、负责科室、是否专家)此为医生实体对应的关系模式。病人(病例号、姓名、初诊时间、联系方式、备注)此为病人实体对应的关系模式。费用(病例号、药物收费、挂号费、处置费、化验费)此为费用实体对应的关系模式。165 物理结构设计数据库在

17、物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个在最适合应用要求的物理结构的过程,就是数据库的物理结构设计。数据库的物理结构设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。确定数据库的物理结构包含下面四方面的内容:(1)确定数据的存储结构(2)设计数据的存取路径( 3)确定数据的存放位置(4)确定系统配置数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。在数据库物理设计中,最

18、有效的方式是集中地存储和检索对象。在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些系统配置变量、存储分配系数,并对这些变量赋予合理的缺省值。但这些值不一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,以改善系统的性能。在选择硬件设备、服务器操作系统、数据库时应该考虑能够逐步增加和扩展。表 4.1 登录界面注册数据结构字段名 数据类型 长度 主键 描述a_User Longtext 0 否 用户名a_Password Longtext 0 否 密码a_Name Longtext 0 否 真实姓名a_E_mail Longtext 0 否 邮箱a_Phone Longt

19、ext 0 否 电话17表 4.2 医生信息数据结构字段名 数据类型 长度 主键 描述I_Id int 11 是 医生编号d_Name varchar 255 否 医生姓名d_Profession varchar 255 否 职称d_Time varchar 255 否 出诊时间d_Major varchar 255 否 所学专业d_Department varchar 255 否 负责科室p_Expert varchar 255 否 是否专家表 4.3 病人信息数据结构字段名 数据类型 长度 主键 描述p_Id int 11 是 病例号P_Name varchar 255 否 姓名p_Tim

20、e varchar 255 否 初诊时间p_Phone varchar 255 否 联系方式p_Note varchar 255 否 备注表 4.4 病例和用药数据结构字段名 数据类型 长度 主键 描述p_Id int 11 否 病例号Reason varchar 255 否 病由d_Id int 11 否 医生编号Prescription varchar 255 否 处方Phone varchar 255 否 电话18表 4.5 收费系统数据结构字段名 数据类型 长度 主键 描述A int 255 是 病例号B int 11 否 药物收费C int 11 否 挂号费D int 11 否 处置

21、费E int 11 否 化验费196 系统主要查询功能及 SQL 语句6.1 药物收费的 SQL 语句查询:string sql = “select * from shoufei where 病例号=“ + textBox1.Text.Trim() + “ or 药物收费=“ + textBox1.Text.Trim() + “ or 挂号费=“ + textBox1.Text.Trim() + “ or 处置费=“ + textBox1.Text.Trim() + “ or 化验费=“ + textBox1.Text.Trim() + “;删除:string sql=“delete from

22、 shoufei where 病例号=“+textBox2.Text+“;添加:string sql = “select count(*) from shoufei where 病例号=“ + textBox2.Text + “;MySqlConnection myconn = new MySqlConnection(MyConnectionString);MySqlCommand mycmd = new MySqlCommand(sql, myconn);trymyconn.Open();int cnt =(int) mycmd.ExecuteScalar();int cnt = Conve

23、rt.ToInt32(mycmd.ExecuteScalar().ToString();if (cnt = 1)sql = “update shoufei set 病例号=“ + textBox2.Text + “,药物收费=“ + textBox3.Text + “,挂号费=“ + textBox4 + “,处置费=“ + textBox5 + “,化验费=“ + textBox6 + “;elsesql = “insert into shoufei values(“ + textBox2.Text + “,“ + textBox3.Text + “,“ + textBox4.Text +

24、“,“ + textBox5.Text + “,“ + textBox6.Text + “)“;206.2 病人就医信息 SQL 语句更新:s = “UPDATE patient SET p_Id=“ + Id + “,p_Name=“ + p_Name + “,p_Time=“ + p_Time + “,p_Phone=“ + Phone + “,p_Note=“ + p_Note + “ WHERE p_Id=“ + Id+“;“;删除:String s = “DELETE FROM message WHERE p_Id = “ + Id ;String s1 = my.shan(s);i

25、f (s1.Equals(“true“)s = “DELETE FROM patient WHERE p_Id = “ + Id;s1 = my.shan(s);添加:String s = “insert into message(p_Id,Reason, d_Id,Prescription, Phone )values(“ + (Convert.ToInt32(myset.Tables“XINXI“.Rows00.ToString() + 1) + “,“ + Reason + “,“ + d_Id + “,“ + Prescription + “,“ + Phone + “);“;Stri

26、ng s1 = my.tianjia(s);if (s1.Equals(“true“)s = “insert into patient(p_Id,p_Name,p_Time,p_Phone, p_Note ) values(“ + (Convert.ToInt32(myset.Tables“XINXI“.Rows00.ToString() + 1) + “,“ + p_Name + “,“ + p_Time + “,“ + Phone + “,“ + p_Note + “)“;s1 = my.tianjia(s);6.3 医生管理的 SQL 语句更新:public String d_updat

27、e(int Id, String d_Name, String d_Profession, String d_Time, String d_Major, String d_Department, String d_Expert)21String s = “UPDATE doctor SET d_Name=“ + d_Name + “,d_Profession=“ + d_Profession + “,d_Time=“ + d_Time + “,d_Major=“ + d_Major + “,d_Department=“ + d_Department + “,d_Expert=“ + d_Exp

28、ert + “ WHERE d_Id=“ + Id ;String s1=my.xiu(s);删除:public String d_delete(int Id) String s = “DELETE FROM doctor WHERE d_Id = “+Id;String s1=my.shan(s);if (s1.Equals(“true“)/ MessageBox.Show(“删除成功 “);else/ MessageBox.Show(s1);return s1; 添加:public String d_insert(int Id, String d_Name, String d_Profes

29、sion, String d_Time, String d_Major, String d_Department, String d_Expert)DataSet myset = new DataSet();myset = my.cha(“select max(d_Id) from doctor“);String s = “insert into doctor(d_Id,d_Name, d_Profession, d_Time, d_Major, d_Department, d_Expert) values(“ + (Convert.ToInt32(myset.Tables“XINXI“.Ro

30、ws00.ToString() + 1) +“,“+d_Name+“,“+d_Profession+“,“+d_Time+“,“+ 22d_Major+“,“+d_Department+“,“+d_Expert+“)“;String s1 = my.tianjia(s);if (s1.Equals(“true“)else return s1;237 系统的实现7.1 系统功能模块图此次系统设计两种用户权限来实现其不同功能:一种是用户权限,即门诊医生。一种是管理员权限,即数据监督维护人员。对于上述两种用户,实现的功能操作差异较大,因此设置了两种用户:管理员与医生,管理员账户为内置账户,医生账户需

31、要注册,在登陆界面即可完成,无需分为两种界面来控制数据,不同的管理员有不同的修改权限,例如医生只能查询与删除数据而不能修改。本系统的总程序框架如图所示图 7.1 程序框架图门诊作为医院服务病人的第一扇窗口,患者来到门诊部门,首先进行挂号,建立患者信息;根据患者需要挂号的科室信息和医嘱,进行初步常规检查,如血糖、血常规、眼底检查等;接着科室医生根据患者反馈的检查结果,进行详细诊断,并开出处方;本门诊系统的程序流程如下图所示:系统入口登陆界面总界面医生信息界面病人信息界面信息查询界面病人信息界面24图 7.2 程序流程图否是处理是否完成?结束否医生信息管理病人信息管理信息的查询与处理是开始是登陆登

32、陆是否成功?注册注册是否成功?否是是是否否25医生用户主要实现患者挂号添加、患者检查项目添加、患者处方添加、修改密码及退出功能。其中医生可以修改本用户的密码,为便于对患者添加挂号信息,可对某科室的某位医师进行查询,添加之后还可对以往患者挂号信息进行查询;为便于对患者添加检查信息,可对检查项目进行查询,添加之后还可对以往患者检查信息进行查询。病人信息界面主要实现病人信息管理、数据维护等。其中病人信息管理包含所有病人信息的维护;病人信息管理主要对病人添加的挂号信息、诊治信息进行查询、修改和删除;数据维护主要对系统本身的数据信息进行插入、修改和删除。因为病人信息与医生信息所执行的方法一样,流程图如下

33、:是是入口删除更新查找修改 确定删除?确定修改?执行显示否否26图 7.3 医生与病人信息界面流程图27信息查询界面用于实现对病人以及医生的所有信息的详细查询,上方有选择医生和病人的各种属性,选择什么便会显示你所需要的信息,本界面还实现了对所有信息的报表打印以及图表的显示,近乎完美。界面流程图如下所示:图 7.4 信息查询界面流程图7.2 部分程序代码登录界面的主要代码如下:private void button1_Click(object sender, EventArgs e)DataSet myset;String user = textBox1.Text;String password

34、 = textBox2.Text;if (user.Length = 0 | password.Length = 0)选择属性入口医生报表 图表病人报表确定显示结果执行显示信息及打印结果是否完成?关闭此窗口显示信息及打印结果是否完成?关闭此窗口选择时间显示是否否是 是否28f8 = new Form8(this.Location, “账户和密码不能为空“);DialogResult d = f8.ShowDialog(); elsemyset = my.cha(“Select * from administrator WHERE a_User=“ + user + “ AND a_Passwo

35、rd=“ + password + “);if (myset.Tables“XINXI“.Rows.Count = 0)f8 = new Form8(this.Location, “账户或密码不正确“);DialogResult d = f8.ShowDialog();elseif (!checkBox1.Checked)textBox2.Text = “;if (cb1.Text.ToString().Equals(“医生“)root = 2; f8 = new Form8(this.Location, “登陆成功“);DialogResult d = f8.ShowDialog();but

36、ton3_Click(null, null);29医生信息的部分代码如下:private void button1_Click(object sender, EventArgs e)button5_Click(null, null);f2.Tf4 = 1;f2.f4y = 520;f2.timer2.Start();private void button2_Click(object sender, EventArgs e)myset = u.d_select(“select * from doctor“);dataGridView1.DataSource = myset.Tables“XINX

37、I“; private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)/ DataTable myset = new DataTable(“XINXI“);tryint j = dataGridView1.CurrentRow.Index;d_Id = Convert.ToInt32(dataGridView1.Rowsj.Cells0.Value.ToString();for (int i = 1; i 7; i+)dataGridView2.Rows0.Cellsi - 1.Value = dataGridView1.Rowsj.Cellsi.Value;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报