第一篇:药博士医院门诊管理系统介绍
药博士医疗门诊管理系统简介
药博士医疗门诊管理系统,是专门针对中小型医院和各类门诊实现药房和门诊收费管理的专业软件,系统包含完整的药品进销存管理功能、OTC药品POS销售管理、门诊收费管理功能、药房发药管理和经营统计分析功能,是中小型医院和门诊实现医疗信息化管理的好帮手。
系统运行环境
《药博士医药门诊管理软件》,服务器管理程序必须运行于Windows2000 SERVER操作系统和SQL Server2000的数据平台上;客户端程序则可以运行于WINDOWS2000PRO/2000 SERVER/WINDOWS2000XP各种版本的操作系统平台,所以系统硬件环境首先应满足这两者的要求。
在安装程序前,用户需要先安装好WINDOWS 2000 SERVER操作系统和SQL SERVER 2000数据库系统;
《药博士医疗门诊管理系统》主要包含以下十二大功能模块:
一、系统管理模块
系统基本设置、操作员权限管理、帐套管理、月度结算、修改密码、重新登录、锁定系统
二、基础资料管理模块
部门资料管理、员工资料管理、仓库资料管理、仓库货位资料管理、商品字典管理、商品类别管理、商品资料管理、商品货位管理、价格体系管理、商品调价管理、批量价格维护、合格供应商管理、客户资料管理、处方库管理。
三、采购管理模块
缺货登记、采购订单、来货登记、质量验收、来货拒收、购进退出、采购结算、采购付款。
四、药库药房管理模块
库存初始化、出入库明细(入库明细、出库明细、库存明细、分仓库存、总库存)、库存盘点(按批号盘点、按数量盘点、单品抽盘)盘盈盘亏单、库存综合预警(库存不足报警、库存积压报警、期间库存积压报警)、近效期药品报警、商品养护报警、商品报损、商品报溢、商品组合、商品分解
五、门诊基本资料维护:
挂号类别设置、门诊科室设置、门诊医生设置
六、诊挂号管理
门诊挂号、门诊改号、门诊退号
七、门诊划价收费
门诊划价、门诊收费、门诊退药退费、门诊收费查询
八、门诊患者信息:
病人基本信息、既往病史、药物过敏、诊疗情况
九、诊发药管理:
配药单据打印、配药复核、发药登记、发药查询统计
十、门诊收费统计
收费统计、按收费项目统计、按医生统计、按科室统计、按收费类型统计、中药费统计、门诊退费统计
十一、病人资料建档
病人的详细资料包括病人的姓名、年龄、住址、联系人、联系电话、过往病史、过敏史、现病史等
十二、财务管理
应付款管理、记帐欠费管理、采购付款、记帐收款、商品进销存查询、商品进货统计、供应商进货统计、商品购进汇总表、费用支出管理、其它收入、毛利分析
门市零售收银POS系统单店版的特点
药博士医药软件的《门市零售收银管理系统单店版(POS)》包含零售设置、促销管理、处方管理和划价、零售收银、零售过帐等模块,是一套专业的医药零售收银管理系统,具有以下特点:
●操作简便:收银POS系统是基于Windows视窗操作系统开发的系统,界面友好,操作直观简便,只需简单培训便会操作,使用鼠标/键盘均可单独完成收银任务 ●通用性强:不需要使用专用设备,普通PC硬件即可,价格适宜,维护和升级十分方便
●兼容性强:支持多种收银专用设备,包括小键盘、激光平台、手持式CCD条码阅读器、顾客显示屏、电子钱箱、条码称、小票打印机等
●适应面广:可以单机使用,也可以局域网内多台收银机连网使用
●支持条形码、商品编码、拼音码、汉字及模糊查询输入,销售输入快捷简便 ●支持药品的拆零销售、支持中西药处方划价和处方销售管理 ●支持对零售药品销售的批号管理,可自动弹出商品批号快速选择 ●支持挂单/提单销售、变价销售、退换货管理、赠品销售管理
●支持零售价、零售打折价、优惠价、促销价、会员打折价、VIP客户价、商品特价等多种价格的销售管理,支持药品的促销管理 ●支持营业员销售业绩管理、支持销售专柜管理
●支持多种付款结算方式:现金、信用卡、购物卡、支票等
●各种统计报表:零售金额统计表,VIP会员消费统计、零售利润分析统计等
第二篇:医院门诊管理系统开题报告
题目:医院门诊管理系统的设计与实现
一、选题的来源、目的及意义
随着我国医疗卫生体制改革的深化,计算机技术与应用的发展,计算机信息化管理已成为各医院提高生存力,加强管理,增加效益的重要保障,作为一般高校的后勤医务室亦不例外。
医院门诊管理系统的主要目标是支持门诊的日常收入账务处理业务,减轻事务处理人员的劳动强度,合理地记录和管理这些账务信息,从而提高整个门诊室的工作效率和工作质量。
二、所选题目的国内外动态、水平
目前,在全国各大医院后勤管理上,普遍采用的是文件档案与办公软件相结合的传统的管理模式。由于纸质资料数据量巨大,尤其是重复数据的录入,使工作繁重,大大降低了工作人员的工作效率和数据录入的准确性。而且有些办公软件在操作上具有一定的局限性,不能很好的对某些特定的数据进行统计,无法高效准确的计算出后勤管理上的财务收入和支出等财务状况。
随着计算机技术的日渐成熟,使计算机从单纯的科学计算已经延伸到到在各个领域的广泛应用。在这个背景环境下,开发出一套适合医院后勤管理人员使用的门诊医务管理系统可以极大的提高后勤医务人员的工作效率。
三、研究内容和研究方法
1、采用的设计方法
研究实际情况后,本系统采用c/s结构。C/S又称Client/Server或客户/服务器模式。服务器可采用高性能的PC机,并采用大型数据库系统SQL Server。客户端需要安装专用的客户端软件。C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。
2、采用的设计工具
根据系统所需功能,决定以Windows xp 为开发平台,采用SQL server 2000做后台数据库,选择功能强大的Visual Basic为开发工具。
3、达到效果
(1)操作人员管理系统。
这个管理系统包括用户的注册、用户密码的修改、用户权限的设置、更换操作人员4个功能模块组成。操作人员管理系统主要是用来管理对该软件进行操作的工作人员,同时系统所提供的用户权限设置能够提高系统的安全性,并对不同性质的人员赋予不同的权限,满足了不同人员对该软件的需求。
(2)基本人员管理系统。
这个管理系统包括编辑查询人员、批处理人员信息、数据导入、医生信息维护和医药费率调整5个功能模块。基本人员管理系统用来对基本人员数据、医生数据进行统一集中的管理,为其他几个管理系统提供基本信息,以提高工作效率。
(3)收费管理系统。
这个管理系统包括药费数据输入、打印日报表、打印日明细表、打印月报表、打印月明细报表、打印年报表、报表查询、帐单查询8个功能模块。收费管理系统主要为系统输入数据,并根据所输入的数据进行汇总,统计打印各种报表。同时该子系统还提供报表和账单的查询,用户可以很方便的对各项数据和报表进行查询。
(4)系统维护。
这个管理信息系统包括数据备份、数据还原、计算器、导出每月数据4个功能模块。系统设置中的功能模块用来补充医务收费系统的一些辅助功能。
4、结论
完成一套能够使用的高校医务管理系统。
四、进行该课题研究所具备的条件
目前正在医学高校就读,有机会对医院门诊室的后勤工作经行详细的调研,并根据实际调研情况制定一套合理可行的设计方案。通过大学四年的计算机学习,已经能够掌握一些计算机的相关技术知识,特别是了解有关数据库的相关知识,能够熟练使用VB高级编程开发语言。
软件环境:采用当前主流操作系统WindowsXP 为开发平台。硬件环境:486以上计算机,内存512M以上,硬盘40G以上。
目前计算机的价格已经可以让广大用户接受,性能也越来越完善。所以开发一个医院门诊管理系统的价格并不昂贵,而且也具备各种开发条件。
五、设计工作进度安排 时间
年11月中旬至12月22日 年12月23日
工作内容
准备、查询、收集资料、进行课题论证 交毕业设计开题报告
开始对系统进行总体分析、设计阶段; 准备撰写毕业论文
年2月至09年4月
对系统进行设计与实现;完善毕业论文 完成毕业论文定稿
年5月中旬至09年5月末
准备答辩 年4月至09年5月中旬 进一步对系统进行测试、运行; 年12月24日至09年2月 学习、并熟练掌握开发工具;
第三篇:医院管理系统功能介绍
一、门诊挂号管理
建立完整的流程化门诊就诊系统,快速的门诊挂号录入,平均挂号需要时间不到30秒,完全遏止了不挂号、跑号、漏号的行为,同时遵循ICD10标准为门诊电子病理提供了一个完善的解决方案:
1、实现分类别挂号(初诊号、复诊号;普通号、专家号等),分科挂号、选医生挂号。
2、可接纳医保患者的挂号。建立门诊病案。
3、实现挂号费、诊疗费的分科、分医生核算。
4、与门诊收费、门(急)诊医生工作站数据共享。确保挂号费、诊疗费的收入。
5、向财务处输送二级科目的财务报表。
6、挂号员每日打出自己的日结对帐单向财务交费。
7、挂号速度快、平均20-30秒/人(次)。
8、与统计室数据共享,输送科室医生分项核算。
9、向院长输送本科室供院长查询的各类信息。
由于医院门诊挂号是病人就医活动的起点。减少病人挂号排队时间,方便病人挂号是服务宗旨。同时,要利于提高服务质量和工作效率,减轻医院工作人员的劳动强度。因此,本软件充分考虑了上述要求。
二、门诊病区管理
1、提供了药品的即时查询,让门诊医生完全掌握目前药库药品动态,管理员可以对于零库存药品的是否显示进行设置,做到了不退药不缺药。
2、庞大的快捷套餐模板系统,随时可以增加任何组合的药品+器材或项目+药品+器材的各种组合。
3、患者可以根据门诊医生的录入第一时间了解任何项目与药品的价格,杜绝了患者因为不了解总的费用而在门诊收款时进行退、减项目的事情发生。
4、系统自动建立全院门诊医生“常用用项目列表”,医生就不必多次重复录入,只需要对着常用列表里的项目进行简单的双击就完成了项目的选定。
简单快捷的门诊医生工作站病史记录、处方、检查、检验、治疗、处置、手术、收入院等全部医疗过程的计算机处理、存储和查询,可同时方便的接诊和处理多个病人。采用多种病历模板,提高医生的工作效率。提供多种对病人的处理方式,方便病人就诊。支持门诊挂号,医生挂号,预约挂号,支持医技科室对病人的灵活处理。
5、完成门诊医生对门诊病人的提供对门诊病人当前和既往门诊各种信息(病历)的查询、统计功能。
可打印门诊病人病历、处方和检查检验单,及诊断证明。
6、可与门诊收费、门诊药房、医技科室(PACS、LIS)联网实现门诊费用自动核算,医疗信息自动传递,医学图像和检查检验报告的共享查阅。
三、门诊结算管理
1、流程化的结算方式,患者只需用门诊挂号单上的门诊一号通,就可以快速的进行有选择性的费用结算。
2、系统内置多种结算方式:
A、收费模式 B、挂号收费模式 C、划价收费模式 D、医生工作站模式 E、其他扩展模式
以上的任何模式可以即时选择设定,也可以根据医院的需求设置多种模式混合的复合结算模式。
3、管理严密,多方面堵塞漏洞。收据执行票据管理,杜绝利用票据作弊;退款完全按财务制度履行,防止退费中的舞弊行为;与挂号和门诊药房数据共享;可制止收费过程中的各种漏费弊端。
4、当日结帐、当日交款,方便财务科管理使医院资金及时周转。
5、提供二级科目的财务与分科、分医生分项核算的报表。节约结帐核算的人力与物力的投入,而且解决了多年来门诊收入分科、分项核算的难点,真正达到高效低耗、工效挂钩、节余提奖核算办法的实施。
6、系统一次性收费录入,进行多方核算、提高了数据处理的及时性和准确性。提供各方面管理信息和详细、准确的资料。
7、实现收费套餐、灵活制定打折比例。
8、医院管理人员及时提供准确的收费及工作量信息,为行政工作提供诸多方便。挂号与收费数据共享,可减少患者等候时间,提高医院服务质量。
9、收费窗口双显示,面向患者既有显示应交款、实交款、应找款又有到几号窗口取药等信息。实现与门诊管理系统的数据共享,可确保门诊收入的统一,又能减少患者的等候时间,提高了医院的服务质量。
10、善的医保接口预置,对于市政、矿区、林区、军政、企业等种形式医保结算提供完美无缝连接。
四、住院登记管理
1、标准的国际ICD10疾病编码及病案号管理,快捷的简码录入,成熟的“一号通”登记方式。人性化的更改、编辑患者登记信息,完美的配合病案管理。
2、目前国际最简单的押金输入方式,在录入数字的同时以中文大写的汉字出现方便查看与校对。
3、优秀的费用预警机制,可灵活的设置每个患者的费用预警线,也可以统一设置所有患者的费用预警,绝对解决了令医院头痛的住院患者费用管理,完全杜绝了跑费现象。
4、严明的住院登记方式,要求患者必须先在住院病区进行出院登记后再根据患者的住院号到出院结算处记性结算,符合国际的流程化结算方式,提高管理效率极大的降低了管理成本。
5、接收医保患者持卡交费。查询打印患者住院费用、总账、明细帐、预交押金等。支持不同类型患者单项费用结算,尤其是专科医院的特殊要求。
6、患者费用结算,建立患者明细台帐。对医保患者,按当地医保收费标准进行动态的费用结算。进行日、月、年的帐务处理;日结自动计算床位费、护理费等。
7、与财务数据共享,向财务输送二级科目财务报表。与统计室数据共享,输送科室医生分项核算。可进行出院结算;执行病人出院后的再召回。自动兑帐、催款和追加押金。
8、查询、打印患者任意时间段费用明细,向患者查询系统输送患者花费明细信息。向院长输送本科室供院长查询的各类信息。
五、住院病区管理
1、患者费用统计:预交款、总金额、自负金额、余额显示一目了然,患者费用及日清单在线打印。
2、临床业务录入:医技术申请、长期医嘱、临时医嘱、体温单、护理记录及病程记录完全支持模板的导入,套餐的使用,简码查询录入等功能。
3、完善的病案首页,手术登记、疾病诊断、及多次就诊统计,完全符合卫生部门的检查管理。
4、住院病区手术、转科、会诊等处理科学流程化,极大的方便病区管理。
5、接收患者入院信息,修改入院病历首页。支持护士医嘱审核,生成医嘱执行档案,从共享数据库中查询患者相关资料,支持患者生命体征等临床信息录入,支持患者转科调床,修改患者病历首页 ,提供病人,病床以及各种工作日志和统计报表,动态提供对医保病人的费用管理。
6、接收医生工作站长期医嘱、临时医嘱,进行医嘱审核、确认和执行。
7、按照病历号、姓名、床位号查询、打印患者医嘱、用药、检查项目以及执行情况等信息。具有办理患者出院、待出院、召回、病区转科调床功能。能够全程处理患者医嘱。生成、查询、打印患者医嘱单。
8、动态地对患者的费用进行查询、执行计算。通过费用报警线、停止线实现患者费用的控制。向中心药房、煎药室、医技科室输出执行医嘱信息。向住院收费处发送执行医嘱信息,及时与之核对、上帐,及时对帐并反馈患者押金余额信息,给打印每日清单,对欠费患者及时催款。
9、跟踪患者所在床位、护理级别、疾病类别信息。
10、向患者查询系统提供医嘱明细,给患者提供一日清单。查询打印本病区病人入出院统计,生成病房动态日报表。查询、打印患者任意时间段的费用明细。
11、向管理者(住院部主任、院长等)提供本病区相关查询数据。如:床位周转率、治疗率等。
12、可以进行本系统的多种组合查询,打出无限多的自由组合报表。
六、医技科室管理
1、检查、检验、手术、其他医技分类授权管理,拥有最大的医技科室共性特性达到一模块解决所有医技科室管理。
2、未做项目、已做项目进行分类浏览同时填写检查检验结果,同时将报告结果地时间反馈给临床,互动、快捷,让临床医生及时掌握检、检验结果。
3、手术受理根据患者的门诊号、住院号进行快速检索登记,并按照国际标准格式进行手术编码分类,同时支持模板、套餐快速录入,对于门诊、住院患者进行分类管理。
4、与门诊、住院工作站数据向连接提供准确结果及报告,同时与病案管理系统接口连接,可以直接用于病案统计,为学术研究等提供准确数据。
七、药库药房管理
1、严格遵循国家现行的法律、法规和有关部门的具体规定的医院财务制度,医药分开核算等,作到“金额管理、数量统计、实耗实销”原则。
2、药价:利用不同的检索码录入药品名称(支持别名),自动显示药品信息(规格、单位、价格、库存量、有效期等)。
3、窗口发药:调出已收费的处方,并与手工处方核对无误后发药。
4、药品入库:根据库存药品上、下限辅助自动生成向药库领药的领药单,传输到药库,药库实发数后打印出库单双方签字传回药房上帐。
5、存管理:药品批次、药品报增损、药品借调、药品退药库、库存锁定、药品停用管理。对药品的期初、期间出、入库、期末结余的数量金额进行管理,对特殊药品、药品有效期进行管理。自动盘点生成盘点表和报増报损清单。报増报损清单经领导批示后更改库存。
6、统计报表:药品消耗明细及汇总;各科室及医生用药明细及汇总;特殊药品的发药明细及汇总;本药房及发药人的工作量统计。
7、药剂科药库管理系统是整个医院的药品管理中心,完成了药品从购入到发售的全面跟踪,能为管理人员提供科学化管理所需的准确、详尽的数据信息:掌握药品单位、厂家、追踪批准文号及生产许可证,避免伪劣药品入院,提供库存信息,了解当前低储、高储、积压和畅销药品等。该系统与门诊药房管理系统、住院处药房管理系统、院长查询系统和患者查询系统等模块实现数据共享,使它们之间便于协调统一。
八、后勤物资管理
1、院外入库信息的登记、院内入库登记、物品出库登记。
2、分级别审核制度,订货人与审批复核人分开,入库人与入库复核分开,科学缜密管理杜绝假帐、错帐、漏帐。
3、库存管理:库存盘存,盘存汇总统计、库存报增报损、库存调价、批次管理。
4、科室使用管理:科室权属变更、科室库存查询、报废。
5、查询统计:入库查询统计、出库查询统计、盘存查询、物品库存汇总、报增报损查询、物品调价查询、物品效期查询、物品在位情况查询、物品在位情况汇总、物品权属变更查询、物品报废查询、物品编码查询。报表打印:入库单、出库单、增损单、报废单、转账通知单、对转账通知单、盘存报表、库存报表、物品在位情况报表、领用报表、出入库报表、超期清单、物品编码表的打印等。
6、将系统与查询分析器、综合查询及院长查询内部连接,为科室核算时后勤物资支出提供数据,方便经营部门核算,同时方便管理层领导在线查询并与目前库存进行对比,保证了后勤帐务的透明化,公开化,监管化。
九、经营核算管理
1、基于网络的经济核算可以从不同渠道产生系列化的统计数据,每天可由门诊、住院、病区、财务、人事等子系统直接汇总生成统计数据,可大大地减少统计部门搜集、汇总、统计的工作量。当用户增加某一明细项目时,只需通过系统管理功能对相应数据进行修改,无需修改程序,提供灵活赛优的报表打印格式,方便管理。
2、门急诊信息统计:自动采集门诊、急诊各站点工作量信息、费用信息,可按任意时间进行统计(包括跨年统计),可以按不同财务核算科目核算,也可按操作员、科室、及全院情况进行分级统计核算。
3、药房药库信息统计:不仅可以统计药品进销存情况,且对药库药房毒、麻、贵重药品允许单独统计核对。可以准确统计现存药品的调价盈亏情况。
4、住院部信息统计:自动采集住院部与病区发生的各类财务与医疗信息,统计时间无限制,不仅可按各科室、操作员及全院进行核算,也可以按财务的不同科目核算。
5、工资奖金核算统计:可以按照医师与操作员的工作量的情况依当地医院的工资奖金核算标准,统计每人工资奖金额度,方便财务核算工作。
十、院长综合查询
1、院长通过本系统可以实时查询住院病人、费用、病床使用信息,门诊挂号、收费信息,药品信息等网络上已经采用的系统的各种数据和统计报表,并作出提示以辅助院长决策。
2、可以进行办公事务管理,如工作计划自动提示,文档管理,通讯录管理等。实现对医院信息全面管理,联网实时查询住院病人、费用、病床使用信息查询。
3、门诊挂号、收费信息查询;药库购入、出库、库存信息查询;药房处方、库存信息查询;药品使用信息在线查询、动态监控:单品种药品流量分析、医生与药品流量关系分析;病案统计信息查询;设备物资出入库、消耗、库存信息查询。
4、医院财务管理分析、统计、收支执行情况和科室核算分配信息;重要仪器设备使用效率和完好率信息;后勤保障物资供应情况和经济核算;医务、护理管理质量和分析信息;人事工资信息查询;科室设置、重点学科、医疗水平有关决策信息。
5、院长可以通过本系统在科室核算收入、科室工作量,同期数据对照,指定时期内全院经营对比等全面掌握医院第一手经营数据,配合医院行政管理及各项政策出台。
6、本系统支持无线网络漫游,院长在全球任何一个可以登陆互联网的国家或地区只需要将移动笔记本接入网络通过我们系统的128位加密网络传输信息即对医院实施在线管理,与在医院本地一样的方便,本功能深受各大医院院长欢迎。
第四篇:医院门诊管理系统数据库课程设计论文
12级软件工程专业1班数据库应用系统课程设计课程论文
.信息工程学院
《数据库课程设计》论文
题 目:医院门诊管理系统数据库设计
学 号: 专业班级: 姓 名: 指导老师: 完成日期:
2012013324 软件工程121班 张桐 蔚继承
2014年06月20日
12级软件工程专业1班数据库应用系统课程设计课程论文
医院门诊管理系统数据库设计
张桐
(信息工程学院软件工程12级1班)
摘 要:随着社会的进步和人类生产生活水平的提高,国内现有的医院不论从规模上还是服务质量上都实现了显著增长。显然,如果医院门诊仍采用人工管理的方式显然无法应对庞大的病患需求。如今,科学与发展已成为时代的主题。在中国软件行业日益进步的今天,我们可以利用这些资源来帮助减轻医生和病人的负担,让病人能够尽快就医。一个高质量的医院门诊管理系统,能提高医院的社会效益与经济效益。本文采用结构化分析和设计方法,运用数据流程图和E-R图等工具对小型医院门诊管理系统数据库进行分析和设计,实现登记挂号、诊断治疗、收费挂号等医院门诊的基本业务。
关键字:医院门诊管理;数据库设计;医院
12级软件工程专业1班数据库应用系统课程设计课程论文
目 录
1. 需求分析....................................................................................................................................1
1.1数据流程图..........................................................................................................................1 1.2数据字典..............................................................................................................................4
1.2.1数据项.......................................................................................................................4 1.2.2数据结构...................................................................................................................5 1.2.3数据流.......................................................................................................................6 1.2.4.处理逻辑...................................................................................................................6 1.2.5.数据存储...................................................................................................................7
2.数据库结构设计..........................................................................................................................7
2.1 概念设计.............................................................................................................................7
2.1.1 分E-R图建立..........................................................................................................7 2.1.2 全局/整体E-R图.....................................................................................................8 2.2 逻辑设计.............................................................................................................................9
2.2.1 建立关系模式.........................................................................................................10 2.2.2 关系模式规范化处理.............................................................................................10 2.2.3 用户子模式建立.....................................................................................................11 2.2.4 关系模式逻辑结构定义.........................................................................................11 3.数据库物理设计........................................................................................................................13 4.数据库实施与测试....................................................................................................................13 4.1 SQL Server 2008数据库实施与测试................................................................................13 4.1.1 数据库及数据库对象建立.....................................................................................13 4.1.2 数据入库................................................................................................................21 4.1.3 数据库测试............................................................................................................23 4.2 Oracle数据库实施与测试.................................................................................................30 4.2.1 数据库及数据库对象建立.....................................................................................30 4.2.2 数据入库................................................................................................................41 4.2.3 数据库测试............................................................................................................43 5. 总结.........................................................................................................................................49
12级软件工程专业1班数据库应用系统课程设计课程论文
随着社会不断的进步,医院等基础服务机构,早已成为了人们生活必不可少的一部分,在很大程度上方便了人们的生活。为了在更大程度上满足病患的需求,许多医院的规模进一步扩大,管理也进一步改善。逐步走向医疗服务和管理的成熟化。而方便有效的管理手段已经成为了所有管理部门管理的有力工具。
传统的人工管理手段在高速发展的今天,已经不再体现其优势,繁复和大量的手工记录和计算给管理带来了更多的重复工作,如果能将复杂的各类管理过程封装在一个操作中,执行每个管理步骤时使用相对应的功能,那就能给管理者带来更大的便捷。数据库设计的目标就是为用户和各种应用系统提供一个信息基础设施和高效的运行环境。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对医院门诊信息进行管理,具有比手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理的重要条件。
针对典型的管理系统,以医院门诊管理为载体,设计医院门诊管理系统。以满足门诊管理者对各类数据的管理,以现代化的思维模式去经营维护。
1. 需求分析
需求分析阶段就是分析用户的需求,是数据库设计的起点。医院门诊管理的主要目标是通过医院门诊的整个服务流程的管理和控制及对库存数据有效的统计和分析,以保证管理的畅通,使决策人员及早发现问题,采取相应措施,调整管理方式。同时,通过数据分析,可以获得当前社会的病患需求,也便于管理人员不断进行管理的优化和提高管理水平。通过查询资料和分析当前的医院门诊部服务状况,明确病患的需求而进行设计。并完成业务流程图和数据流程图。进一步创建数据字典,完成数据结构和数据处理功能模块。
1.1数据流程图
数据流程图反映的是医院门诊管理工作过程的数据去向和流向。通过数据流程图,抽象现实世界的数据到医院门诊管理的物理模型。再根据这个物理模型要抽象出信息流,将物理模型转化成逻辑模型,反映信息在系统中的流动、处理和存储情况,在整个过程中,所得到的数据流程图可如下图1-1至图1-5所示,分为顶层数据流图、第一层数据流图和第二层数据流图。
112级软件工程专业1班数据库应用系统课程设计课程论文
图1-2 第一层数据流程图
图1-1 顶层数据流程图 12级软件工程专业1班数据库应用系统课程设计课程论文
图1-4 第二层数据流程图(诊断)
图1-3 第二层数据流程图(挂号收费)12级软件工程专业1班数据库应用系统课程设计课程论文
图1-5 第二层数据流程图(取药)
1.2数据字典
数据字典是体统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储、处理逻辑5个部分。
数据项是不可再分的数据单位。数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据存储是数据结构停留或保存的地方也是数据流的来源和去向之一。处理逻辑一般用判定表或判定树来描述。数据字典是需要描述处理过程的说明性信息。
本文中包括35个数据项,8个数据结构,11个数据流,6个处理逻辑,8个数据存储。1.2.1数据项
数据项编号 DI01-1 DI01-2 DI01-3 DI01-4 DI01-5 DI02-1 DI02-2 DI02-3 数据项名 数据项含义 Pno Pname Psex Page Dno Dno Dname Dtitle
病人编号 病人姓名 性别 年龄 医生号 医生号 医生姓名 职称
与其他数据项关系 主键
外键 主键
类型 varchar varchar varchar int varchar varchar varchar varchar
长度 20 20 20 20 20 20 20
取值范围
not null 0-150
not null 12级软件工程专业1班数据库应用系统课程设计课程论文
DI02-4 DI02-5 DI03-1 DI03-2 DI03-3 DI04-1 DI04-2 DI04-3 DI04-4 DI05-1 DI05-2 DI05-3 DI05-4 DI05-5 DI05-6 DI06-1 DI06-2 DI06-3 DI06-4 DI07-1 DI07-2 DI07-3 DI07-4 DI08-1 DI08-2 DI08-3 DI08-4 Dtel Dp_no Dp_no Dp_name Dp_tell Mno Mname Mprice Rno Rdate Bno Pno Dno Rway Bno Bdate Bmoney Bway Pr_no Pr_date Mno Bno Dno Pno Iname Pr_no
电话 科室编号 科室编号 科室名称 联系方式 药品编号 药品名称 药品价格 挂号单号 挂号日期 收费单号 病人编号 医生编号 挂号方式 收费单号 日期 金额 收费方式 处方号 日期 药品编号 收费单号 医生号 病人编号 病名 处方号
外键 主键
主键
主键
外键 外键 外键
主键
主键
外键 外键
varchar varchar varchar varchar varchar varchar varchar float int varchar date varchar varchar varchar varchar varchar date float varchar varchar date varchar varchar 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
not null
not null
Mquantity 药品库存余量
主键、外键 varchar 主键、外键 varchar 外键
varchar varchar 1.2.2数据结构
数据结构编号 数据结构名 DS-1 DS-2 DS-3 DS-4 DS-5 DS-6 DS-7 DS-8 Doctor Patient Medicine Department Register Bill Diagnose
数据结构含义 医生 病人 药品 科室 挂号单 收费单 诊断结果
组成
Dno,Dname,Dtitle,Ddept,Dtel Pno,Pname,Psex,Page,Dno Mno,Mname,Mprice,Mquantity Dp_no,Dp_name,Dp_tel Rno,Rway,Rdate,Pno,Bno Bno,Bdate,Bmoney,Bway Pr_no,Pr_date,Mno,Bno Dno,Pno,Iname,Pr_no Prescription 处方
12级软件工程专业1班数据库应用系统课程设计课程论文
1.2.3数据流
数据流数据流编号 F1 名称 挂号请求 简述
病人来到医院对所需的治疗或者看病项目的挂号
病人
挂号处理
数据流来源
数据流去向
数据流组成
数据流量
高峰流量 每日
病人信息、每日
分配医师 1000人 5000人 病人、医生、挂号单编号
每日
每日F2 处理病人的挂号,由病人挂号单 挂号处理 病人
信息生成挂号单 缴费 对于各项医疗必须费用进行缴费 证以备后续使用 病人到相关科室进行初诊
病人
1000次 5000次 每日
每日每日每日F3 F4 F5
收费处理 收费信息
1000次 5000次
收费凭病人缴费后获取收费凭证 看病
收费处理 病人 病人
初诊处理
收费信息、每日病人信息、每日病人、处方
详细记录 1000次 5000次 初诊信息 1000人 5000人 信息、病例信息
每日
每日F6 处方、医师对病人开处方、填写病例 病例 取药 药物 病人到药房领取相关药品
药房工作人员依照处方把相关药品交给病人
确诊处理 病人
1000次 5000次
每日F7 F8
病人 取药处理
病人、药品每日信息
1000次 5000次
取药处理 病人
分配医师处理
每日每日
病人、药品
1000次 5000次 病人信息、分配医师、科室
每日
每日F9 挂号项挂号系统针对病人的挂目 号项目为其分配医师
挂号处理 分配医师处理
1000次 5000次 每日
每日每日F10 F11 医师信系统调用相关医师信息息 息 返回 后确诊 诊断信将诊断信息整理汇总,最
挂号处理 医生
1000次 5000次 1000次 5000次
诊断处理 确诊
病人、治疗每日记录
1.2.4.处理逻辑
处理逻辑处理逻辑 简述
名称 P1.1 P1.2 P1.3 P2.1 P2.2 P3.1 挂号 收费 诊断 确诊 取药 收费内容和标准 医生对病情进行诊断 完成诊断,确诊 取药
输入的数据流 收费内容 诊断请求 诊断信息 处方 6
处理
输出的数据流
处理频率 每人1次 每人1次 每人1次 每人1次 每人1次 每人1次 对病人挂号请求的处理 病人信息 分配医师 挂号单 收取费用 收费记录 分配医师 医生信息 初步诊断 初诊信息 确诊 取药
诊断结果 药物信息 分配医师 根据挂号记录分配医师 医生记录 12级软件工程专业1班数据库应用系统课程设计课程论文
1.2.5.数据存储
数据存储数据存储名编号 S1 S2 S3 S4 S5 S6 S7 S8 称 简述
数据存储组成 病人信息、医生 收费信息 医生值班安排 诊断过程 收费信息 收费款项标准 处方
相关的处理 P1.1,P2.1,P3.1 P1.2,P2.2,P3.2,P3.3 P3.1 P2.3,P3.1 P3.2 P1.2 P1.2 P3.2 挂号记录 用于记录病人的挂号信息 收费记录 用于记录收费信息 值班医生记录 记录医生的值班安排
诊断记录 记录病人的诊断过程 收费款项 用于记录收费情况 收费标准 用于统一收费的标准 处方 用于记录医生对病人开出的处方 药物记录 用于记录药物价格剩余量等 药物信息
2.数据库结构设计
数据库的结构设计主要包括概念设计和逻辑设计两个部分。
2.1 概念设计
概念设计阶段的任务是将需求分析得到的用户需求抽象为信息结构(概念模型)的过程。要能充分的反应事物与事物之间的联系,是对现实世界的一个真实模型。在需求分析阶段得到的应用需求首先抽象为信息世界的结构才能更好的用某一DBMS实现这些需求。E-R模型是概念模型的有力工具。逐一设计分E-R图,再将所有的分E-R图综合成系统的总E-R图。2.1.1 分E-R图建立
分E-R图的建立依据于数据流图的建立。以下可从第二层数据流图分别建立分E-R图。详见图2-1至2-3。
2.诊断分ER图
图2-1 分ER图
图2-2 分ER图 12级软件工程专业1班数据库应用系统课程设计课程论文
2.1.2 全局/整体E-R图
根据上述列出的分E-R图,消除其中存在的冲突、冗余,建立全局E-R图(详见图2-4),并列出所有实体和联系属性的属性E-R图(详见图2-5)
图2-4 总ER图 图2-3 分ER图 12级软件工程专业1班数据库应用系统课程设计课程论文
图2-5 属性ER图
2.2 逻辑设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。根据DBMS产品以及不同系统的限制,设计逻辑结构时一般有以下三个步骤:首先将概念结构转换为一般的
关系、网状、层次模型;将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;最后对数据模型进行优化。
医院门诊管理系统的设计采用关系模型。E-R图转化为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。
一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系有以下不同的情况:
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的 12级软件工程专业1班数据库应用系统课程设计课程论文
码以及联系本身的属性均转换为关系的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系没模式,则与联系向连的各实体的码以及联系本身的属性均转换为关系的属性。
(3)一个m:n联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系的码的一部分。
2.2.1 建立关系模式
医院门诊管理系统涉及到的关系主要有:
病人和医生为n:1(多对一)的关系,将其之间的联系与n端实体合并。病人和挂号单的关系为1:1(一对一),将其之间的联系与任意一端实体合并。科室和医生为1:n(一对多)的关系,将其之间的联系与n端实体合并。医生和诊断结果的关系为1:n(一对多)的关系,也将其之间的联系与n端实体合并。诊断结果和处方单的关系为1:1(一对一),将其之间的联系与任意一端实体合并。处方单、收费单和药品之间的联系为三元的关系,将它们之间的联系转换为独立的关系模式。
具体的转换如下所示(主键加下划线,外键斜体加粗): 病人(病人编号,病人姓名,性别,年龄,医生号)医生(医生号,医生姓名,职称,电话,科室号)药品(药品编号,药品名称,单价,数量)处方(处方号,日期,药品编号,收费单号)收费单(收费单号,日期,金额,收费方式)诊断结果(医生号,病人编号,病名,处方号)
挂号单(挂号单号,挂号方式,日期,病人编号,收费单号)科室(科室号,科室名称,联系方式)2.2.2 关系模式规范化处理
关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量。范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合。在本系统中,所有建立的关系模式都符合三范式。12级软件工程专业1班数据库应用系统课程设计课程论文
2.2.3 用户子模式建立
根据需求分析,研究建立满足不同需求的用户子模式,各个子模式的建立在更大程度上方便数据操作。用户子模式的定义如下: 收费细则视图(病人号,收费单号,日期,金额,收费方式)病人-药品视图(病人号,药品编号)诊断结果视图(病人号,病人姓名,病名)医生病人视图(医生号,医生姓名,病人姓名)科室医生视图(医生号,医生姓名,科室名称)
病人挂号视图(病人号,病人姓名,挂号单号,挂号日期,挂号方式)2.2.4 关系模式逻辑结构定义
表2-6 病人关系模式
属性名 Pno Pname Psex Page Dno 含义 病人编号 病人姓名 性别 年龄 医生号 数据类型 varchar varchar varchar int varchar
长度 20 20 20 20
是否为主属性 是
是否为外键
是
约束条件
not null 0-150
表2-7 医生关系模式
属性名 Dno Dname Dtitle Ddept Dtel 含义 医生号 医生姓名 职称 科室号 电话 数据类型 varchar varchar varchar varchar varchar
长度 20 20 20 20 20
是否为主属性 是
是否为外键
是
约束条件
not null
表2-8 药品关系模式
属性名 Mno Mname Mprice Mquantity 含义 药品编号 药品名称 单价 数量
数据类型 varchar varchar float int
长度 20 20
是否为主属性 是
是否为外键
约束条件
not null
12级软件工程专业1班数据库应用系统课程设计课程论文
表2-9 处方单关系模式
属性名 Pr_no Pr_date Mno Bno 含义 处方号 日期 药品编号 收费单号 数据类型 varchar date varchar varchar
长度 20 20 20
是否为主属性 是
是否为外键
是 是
约束条件
表2-10 收费单关系模式
属性名 Bno Bdate Bmoney Bway 含义 收费单号 日期 金额 收费方式 数据类型 varchar date float varchar
长度 20 20 20
是否为主属性 是
是否为外键
约束条件
表2-11 诊断结果关系模式
属性名 Dno Pname Iname Pr_no 含义 医生号 病人姓名 病名 处方号 数据类型 varchar varchar varchar
长度
是否为主属性
是否为外键 是 是
是
约束条件是 20 是
表2-12 挂号单关系模式
属性名 Rno Rway Rdate Pname Bno 含义 挂号单号 挂号方式 日期 病人姓名 收费单号 数据类型 varchar varchar date varchar varchar
长度
是否为主属性
是否为外键
是 是
约束条件是 20
20
表2-13 科室关系模式
属性名 Dp_no Dp_name Dp_tel 含义 科室号 科室名称 联系方式 数据类型 varchar varchar varchar
长度
是否为主属性
是否为外键
约束条件
not null 是 20 20
12级软件工程专业1班数据库应用系统课程设计课程论文
3.数据库物理设计
主要包括数据库在物理设备上的存储结构与存取方法就是数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最合适的应用环境的物理结构的过程,就是数据库的物理设计。这一阶段主要的任务是确定数据库的物理结构,并不断的进行优化处理,主要建立索引、触发器、存储过程。
索引名称 idx_bno unique_pname unique_mname
索引类型 唯
一、非聚集 唯
一、非聚集 唯
一、非聚集
用途
按bno属性列升序排列 实现唯一性约束 实现唯一性约束
4.数据库实施与测试
主要包括数据库实施和测试两个部分。(下面分别写出SQL Server 2008和Oracle的实施测试过程)
4.1 SQL Server 2008数据库实施与测试
4.1.1 数据库及数据库对象建立
本系统建立名为Hospital的数据库。数据库对象分为基本表、视图、索引、触发器、存储过程等。下面分别列出相关代码。1.基本表
create table Department(Dp_no varchar(20)primary key, Dp_name varchar(20)not null, Dp_tel varchar(20))
create table Doctor(Dno varchar(20)primary key, Dname varchar(20)not null, Dtitle varchar(20), 12级软件工程专业1班数据库应用系统课程设计课程论文
Dp_no varchar(20)references Department(Dp_no), Dtel varchar(20))
create table Patient(Pno varchar(20)primary key, Pname varchar(20), Psex varchar(20), Page int check(Page>=0 and Page<=150), Dno varchar(20)references Doctor(Dno))
create table Medicine(Mno varchar(20)primary key, Mname varchar(20)not null, Mprice float, Mquantity int)
create table Bill(Bno varchar(20)primary key, Bdate date, Bmoney float, Bway varchar(20))
create table Prescription(Pr_no varchar(20)primary key, Pr_date date, Mno varchar(20)references Medicine(Mno), Bno varchar(20)references Bill(Bno)14 12级软件工程专业1班数据库应用系统课程设计课程论文)
create table Diagnose(Dno varchar(20)references Doctor(Dno), Pno varchar(20)references Patient(Pno), Iname varchar(20), Pr_no varchar(20)references Prescription(Pr_no), primary key(Dno,Pno))
create table Register(Rno varchar(20)primary key, Rway varchar(20), Rdate date, Pno varchar(20)references Patient(Pno), Bno varchar(20)references Bill(Bno))2.视图
(1)收费细则视图(BillDetail)create view BillDetail as select distinct Diagnose.pno,Bill.Bno,Bdate,Bmoney,Bway from Prescription,Bill,Diagnose,Register where Register.pno=Diagnose.pno and(Diagnose.Pr_no=Prescription.Pr_no and Prescription.bno=Bill.bno or Register.bno=Bill.bno)(2)病人-药品视图(Patient_Med)create view Patient_Med as select Pno,Mname from Medicine,Prescription,Diagnose 15 12级软件工程专业1班数据库应用系统课程设计课程论文
where Medicine.Mno=Prescription.mno and Diagnose.Pr_no=Prescription.Pr_no(3)诊断结果视图(Patient_Diag)create view Patient_Diag as select Patient.pno,pname,iname from Patient,Diagnose where Diagnose.Pno=Patient.pno(4)医生病人视图(Docter_Patient)create view Docter_Patient as select Doctor.dno,dname,pname from Patient,Doctor where Patient.dno=Doctor.dno(5)科室医生视图(Dept_Doctor)create view Dept_Doctor as select dno,dname,Dp_name from Doctor,Department where Department.Dp_no=Doctor.Dp_no(6)病人挂号视图(Patient_Register)create view Patient_Register as select Patient.pno,pname,rno,rway,rdate from Patient,Register where Register.pno=Patient.pno 3.索引
create unique index unique_mname on Medicine(Mname)create unique index unique_pname on Patient(pname)create index idx_bno on Bill(bno asc)16 12级软件工程专业1班数据库应用系统课程设计课程论文
4.存储过程
(1)当有患者通过不同的方式挂号时,要在Register新增一条挂号信息,同时在Patient表添加一个病人记录,在Bill表中添加一条挂号收费记录 create proc addpatient @Rno varchar(20), @Rway varchar(20), @Pno varchar(20), @Bno varchar(20), @Pname varchar(20), @Psex varchar(20), @Page int, @Dno varchar(20), @Bmoney float as insert into Patient values(@Pno,@Pname,@Psex,@Page,@Dno)insert into Bill values(@Bno,GETDATE(),@Bmoney,'挂号收费')insert into Register values(@Rno,@Rway,GETDATE(),@Pno,@Bno)(2)一个患者确诊完毕,向Diagnose新增一条诊断结果记录,Prescription表添加一条处方记录,并更新Bill表中相应收费信息 create proc addDiagnose @Dno varchar(20), @Pno varchar(20), @Iname varchar(20), @Pr_no varchar(20), @Mno varchar(20), @Bno varchar(20), @Bmoney float as 17
时在同12级软件工程专业1班数据库应用系统课程设计课程论文
insert into Bill values(@Bno,GETDATE(),@Bmoney,'药品收费')insert into Prescription values(@Pr_no,GETDATE(),@Mno,@Bno)insert into Diagnose values(@Dno,@Pno,@Iname,@Pr_no)(4)插入一条药品信息 create proc MedicineInsert @mno varchar(20), @mname varchar(20), @mprice float, @mquantity int as insert into Medicine values(@Mno,@Mname,@Mprice,@Mquantity)(4)修改某一科室的电话 create proc change_tel @dp_no varchar(20), @Dp_tel varchar(20)as update Department set dp_tel=@Dp_tel where Dp_no=@dp_no(5)修改某一药品剩余量 create proc change_med @mno varchar(20), @mquantity int as update Medicine set mquantity=@mquantity where mno=@mno 18 12级软件工程专业1班数据库应用系统课程设计课程论文
(6)在Dept_Doctor查询医院门诊部各个科室的医生人数 create proc Dept_Doc as select Dp_name,COUNT(dno)as rs from Dept_Doctor group by Dp_name(7)在Docter_Patient查询某一病人的主治医生信息 create proc p_doctor @pname varchar(20)as select * from Doctor where Dno =(select Dno from Docter_Patient where pname=@pname)(8)在Docter_Patient查询某一医生主治的全部病人信息 create proc D_Patient @dno varchar(20)as select pno,pname,psex,page from Patient where pname in(select pname from Docter_Patient where dno=@dno)(9)在Patient_Diag查询患感冒的病人姓名 create proc Diag_p as select pname from Patient_Diag where iname='感冒'(10)在Patient_Diag查询某一病人的诊断结果 create proc p_Diag @pno varchar(20)as select iname 19 12级软件工程专业1班数据库应用系统课程设计课程论文
from Patient_Diag where pno=@pno(11)在Patient_Med查询某病人购买的药品 create proc p_Med @pno varchar(20)as select mname from Patient_Med where pno=@pno(12)在BillDetail查询某病人购买的药品总价 create proc medpay @pno varchar(20)as select Bway,bmoney from BillDetail where pno=@pno and Bway='药品收费'(13)在BillDetail查询某一病人的收费总和(=挂号+取药)create proc pay @pno varchar(20)as select sum(bmoney)as total from BillDetail where pno=@pno group by pno(14)在Patient_Register查询某病人的挂号方式 create proc reg_way @pno varchar(20)as select rway from Patient_Register where pno=@pno 20 12级软件工程专业1班数据库应用系统课程设计课程论文
5.触发器
当向处方表(Prescription)中添加元组时,同步对表Medicine的级联更新。(药品数量-1)
create trigger t1 on Prescription after insert,update as declare @pr_no varchar(20),@mno varchar(20)declare c2 cursor for select pr_no,mno from inserted open c2 fetch next from c2 into @pr_no,@mno while(@@fetch_status=0)begin
update Medicine set mquantity=mquantity-1 where mno=@mno fetch next from c2 into @pr_no,@mno end close c2 deallocate c2 4.1.2 数据入库
Patient表
Register表 12级软件工程专业1班数据库应用系统课程设计课程论文
Department表
Doctor表
Medicine表
Prescription表
Diagnose表 12级软件工程专业1班数据库应用系统课程设计课程论文
Bill表
4.1.3 数据库测试 1.视图
病人-药品视图(Patient_Med)
收费细则视图(BillDetail)12级软件工程专业1班数据库应用系统课程设计课程论文
诊断结果视图(Patient_Diag)
医生病人视图(Docter_Patient)
科室医生视图(Dept_Doctor)
病人挂号视图(Patient_Register)
12级软件工程专业1班数据库应用系统课程设计课程论文
2.验证存储过程
(1)当有患者通过不同的方式挂号时,要在Register新增一条挂号信息,同时在Patient表添加一个病人记录,在Bill表中添加一条挂号收费记录
(2)一个患者确诊完毕,向Diagnose新增一条诊断结果记录,同时在Prescription表添加一条处方记录,并更新Bill表中相应收费信息
12级软件工程专业1班数据库应用系统课程设计课程论文
(3)插入一条药品信息
(4)修改某一科室的电话
12级软件工程专业1班数据库应用系统课程设计课程论文
(5)修改某一药品剩余量
(6)在Dept_Doctor查询医院门诊部各个科室的医生人数
12级软件工程专业1班数据库应用系统课程设计课程论文
(7)在Docter_Patient查询某一病人的主治医生信息
(8)在Docter_Patient查询某一医生主治的全部病人信息
(9)在Patient_Diag查询患感冒的病人姓名 12级软件工程专业1班数据库应用系统课程设计课程论文
(10)在Patient_Diag查询某一病人的诊断结果
(11)在Patient_Med查询某病人购买的药品
(12)在BillDetail查询某病人购买的药品总价
12级软件工程专业1班数据库应用系统课程设计课程论文
(13)在BillDetail查询某一病人的收费总和(=挂号+取药)
(14)在Patient_Register查询某病人的挂号方式
3.验证触发器
(见存储过程2的验证)
4.2 Oracle数据库实施与测试
4.2.1 数据库及数据库对象建立
本系统建立名为Hospital的数据库。数据库对象分为基本表、视图、存储过 12级软件工程专业1班数据库应用系统课程设计课程论文
程等。下面分别列出相关代码。
1.基本表
create table Department(Dp_no varchar(20)primary key, Dp_name varchar(20)not null, Dp_tel varchar(20))
create table Doctor(Dno varchar(20)primary key, Dname varchar(20)not null, Dtitle varchar(20), Dp_no varchar(20)references Department(Dp_no), Dtel varchar(20))
create table Patient(Pno varchar(20)primary key, Pname varchar(20), Psex varchar(20), Page int check(Page>=0 and Page<=150), Dno varchar(20)references Doctor(Dno))
create table Medicine(Mno varchar(20)primary key, Mname varchar(20)not null, Mprice float, Mquantity int)
create table Bill(Bno varchar(20)primary key, Bdate date, Bmoney float, Bway varchar(20))
create table Prescription
12级软件工程专业1班数据库应用系统课程设计课程论文
(Pr_no varchar(20)primary key, Pr_date date, Mno varchar(20)references Medicine(Mno), Bno varchar(20)references Bill(Bno))
create table Diagnose(Dno varchar(20)references Doctor(Dno), Pno varchar(20)references Patient(Pno), Iname varchar(20), Pr_no varchar(20)references Prescription(Pr_no), primary key(Dno,Pno))
create table Register(Rno varchar(20)primary key, Rway varchar(20), Rdate date, Pno varchar(20)references Patient(Pno), Bno varchar(20)references Bill(Bno))2.视图
(1)收费细则视图(BillDetail)create view BillDetail as select distinct Diagnose.pno,Bill.Bno,Bdate,Bmoney,Bway from Prescription,Bill,Diagnose,Register where Register.pno=Diagnose.pno and(Diagnose.Pr_no=Prescription.Pr_no and Prescription.bno=Bill.bno or Register.bno=Bill.bno)(2)病人-药品视图(Patient_Med)create view Patient_Med as select Pno,Mname from Medicine,Prescription,Diagnose 32 12级软件工程专业1班数据库应用系统课程设计课程论文
where Medicine.Mno=Prescription.mno and Diagnose.Pr_no=Prescription.Pr_no(3)诊断结果视图(Patient_Diag)create view Patient_Diag as select Patient.pno,pname,iname from Patient,Diagnose where Diagnose.Pno=Patient.pno(4)医生病人视图(Docter_Patient)create view Docter_Patient as select Doctor.dno,dname,pname from Patient,Doctor where Patient.dno=Doctor.dno(5)科室医生视图(Dept_Doctor)create view Dept_Doctor as select dno,dname,Dp_name from Doctor,Department where Department.Dp_no=Doctor.Dp_no(6)病人挂号视图(Patient_Register)create view Patient_Register as select Patient.pno,pname,rno,rway,rdate from Patient,Register where Register.pno=Patient.pno 3.存储过程
(1)当有患者通过不同的方式挂号时,要在Register新增一条挂号信息,同时在Patient表添加一个病人记录,在Bill表中添加一条挂号收费记录
create or replace procedure addpatient(v_Rno varchar,v_Rway varchar,v_Pno varchar,v_Bno varchar,v_Pname 33 12级软件工程专业1班数据库应用系统课程设计课程论文
varchar,v_Psex varchar,v_Page int,v_Dno varchar,v_Bmoney float)is begin insert into Patient values(v_Pno,v_Pname,v_Psex,v_Page,v_Dno);insert into Bill values(v_Bno,sysdate(),v_Bmoney,'挂号收费');insert into Register values(v_Rno,v_Rway,sysdate(),v_Pno,v_Bno);end addpatient;begin addpatient('R021','电话预约','P021','B042','张三','男',18,'D014',21);end;(2)插入一条药品信息
create or replace procedure MedicineInsert(mno varchar,mname varchar,mprice float,mquantity int)is begin insert into Medicine values(Mno,Mname,Mprice,Mquantity);end MedicineInsert;begin MedicineInsert('M043','克拉霉素胶囊(桑美)',9.8,200);end;(3)修改某一科室的电话
create or replace procedure change_tel(v_dp_no varchar,v_Dp_tel varchar)is 34 12级软件工程专业1班数据库应用系统课程设计课程论文
begin update Department set dp_tel=v_Dp_tel where Dp_no=v_dp_no;commit;end change_tel;begin change_tel('Dp011','87051621');end;(4)修改某一药品剩余量
create or replace procedure change_med(v_mno varchar, v_mquantity int)is begin update Medicine set mquantity=v_mquantity where mno=v_mno;commit;end change_med;begin change_med('M024',150);end;(5)在Dept_Doctor查询医院门诊部各个科室的医生人数
create or replace procedure Dept_Doc(Dp_name out varchar,rs out number)is cursor c1 is select Dp_name,COUNT(dno)as rs from Dept_Doctor group by Dp_name;begin open c1;35 12级软件工程专业1班数据库应用系统课程设计课程论文
loop fetch c1 into Dp_name,rs;exit when c1%notfound;dbms_output.put_line(Dp_name||' '||rs);end loop;close c1;end Dept_Doc;declare a varchar(20);b number;begin Dept_Doc(a,b);end;(6)在Docter_Patient查询某一病人的主治医生信息
create or replace procedure p_doctor(v_pname varchar,v_dno out varchar,v_dname out
varchar,v_dtitle
out
varchar,v_dp_no
out varchar,v_dtel out varchar)is begin select dno,dname,dtitle,dp_no,dtel into v_dno,v_dname,v_dtitle,v_dp_no,v_dtel from Doctor where Dno =(select Dno from Docter_Patient where pname=v_pname);dbms_output.put_line(v_dno||' '||v_dname||' '||v_dtitle||' '||v_dp_no||' '||v_dtel);end p_doctor;declare f varchar(20):='张三';a varchar(20);36 12级软件工程专业1班数据库应用系统课程设计课程论文
b varchar(20);c varchar(20);d varchar(20);e varchar(20);begin p_doctor(f,a,b,c,d,e);end;(7)在Docter_Patient查询某一医生主治的全部病人信息
create or replace procedure D_Patient(v_dno varchar,pno out varchar,pname out varchar,psex out varchar,page out varchar)is cursor c1 is select pno,pname,psex,page from Patient where pname in(select pname from Docter_Patient where dno=v_dno);begin open c1;loop fetch c1 into pno,pname,psex,page;exit when c1%notfound;dbms_output.put_line(pno||'
'||pname||'
'||psex||' '||page);end loop;close c1;end D_Patient;declare f varchar(20):='D017';a varchar(20);b varchar(20);c varchar(20);d varchar(20);begin 37 12级软件工程专业1班数据库应用系统课程设计课程论文
D_Patient(f,a,b,c,d);end;(8)在Patient_Diag查询患感冒的病人姓名
create or replace procedure Diag_p(pname out varchar)is cursor c1 is select pname from Patient_Diag where iname='感冒';begin open c1;loop fetch c1 into pname;exit when c1%notfound;dbms_output.put_line(pname);end loop;close c1;end Diag_p;declare a varchar(20);begin Diag_p(a);end;(9)在Patient_Diag查询某一病人的诊断结果
create or replace procedure p_Diag(v_pno varchar,v_iname out varchar)is begin select iname into v_iname from Patient_Diag where pno=v_pno;dbms_output.put_line(v_iname);end p_Diag;38 12级软件工程专业1班数据库应用系统课程设计课程论文
declare a varchar(20);begin p_Diag('P019',a);end;(10)在Patient_Med查询某病人购买的药品
create or replace procedure p_Med(v_pno varchar,v_mname out varchar)is begin select mname into v_mname from Patient_Med where pno=v_pno;dbms_output.put_line(v_mname);end p_Med;declare a varchar(20);begin p_Med('P020',a);end;(11)在BillDetail查询某病人购买的药品总价
create or replace procedure medpay(v_pno varchar,v_Bway out varchar,v_bmoney out varchar)is begin select Bway,bmoney into v_bway,v_bmoney from BillDetail where pno=v_pno and Bway='药品收费';39 12级软件工程专业1班数据库应用系统课程设计课程论文
dbms_output.put_line(v_bway||' '||v_bmoney);end medpay;declare a varchar(20);b varchar(20);begin medpay('P002',a,b);end;(12)在BillDetail查询某一病人的收费总和(=挂号+取药)
create or replace procedure pay(v_pno varchar,v_total out number)is begin select sum(bmoney)as total into v_total from BillDetail where pno=v_pno group by pno;dbms_output.put_line(v_total);end pay;declare a number;begin pay('P005',a);end;(13)在Patient_Register查询某病人的挂号方式
create or replace procedure reg_way(v_pno varchar,v_rway out varchar)is begin select rway 40 12级软件工程专业1班数据库应用系统课程设计课程论文
into v_rway from Patient_Register where pno=v_pno;dbms_output.put_line(v_rway);end reg_way;declare a varchar(20);begin reg_way('P011',a);end;4.2.2 数据入库 Bill表
Department表
Patient表
12级软件工程专业1班数据库应用系统课程设计课程论文
Doctor表
Medicine表
Diagnose表
Prescription表
12级软件工程专业1班数据库应用系统课程设计课程论文
Register表
4.2.3 数据库测试
1.视图
收费细则视图(BillDetail)
诊断结果视图(Patient_Diag)
医生病人视图(Docter_Patient)
12级软件工程专业1班数据库应用系统课程设计课程论文
科室医生视图(Dept_Doctor)
病人挂号视图(Patient_Register)
2.验证存储过程
(1)当有患者通过不同的方式挂号时,要在Register新增一条挂号信息,同时在Patient表添加一个病人记录,在Bill表中添加一条挂号收费记录
12级软件工程专业1班数据库应用系统课程设计课程论文
(2)一个患者确诊完毕,向Diagnose新增一条诊断结果记录,同时在表添加一条处方记录,并更新Bill表中相应收费信息
Prescription12级软件工程专业1班数据库应用系统课程设计课程论文
(3)插入一条药品信息
(4)修改某一科室的电话
(5)修改某一药品剩余量
12级软件工程专业1班数据库应用系统课程设计课程论文
(6)在Dept_Doctor查询医院门诊部各个科室的医生人数
(7)在Docter_Patient查询某一病人的主治医生信息
(8)在Docter_Patient查询某一医生主治的全部病人信息
第五篇:医院门诊管理系统数据库需求分析
医院门诊管理系统一、引言
门诊是医院管理的重要组成部分,人流量大,手续较为繁琐。在人工的情况下,医护人员要做大量不必要的重复的工作、效率低、准确性差、不方便管理、影响工作效率。这些都会造成病人得不到合理快速的解决方案。随着社会的不断发展进步,计算机的发展亦十分迅速,在各大领域都发挥着不可忽视的作用。因此,我们选择利用计算机设计一个医院的门诊管理系统。它可以实现数据的信息管理,在一定程度上实现自动化。
二、需求分析
本系统的主要功能是对医院门诊患者信息进行有效管理,形成一个完整的体系。主要任务是用计算机来对患者进行管理,如挂号、诊断、计价、收费、取药等。系统可以详细记录病人从挂号处挂号到门诊缴费,以及经医生诊断后取药的过程中的所有信息。
三、主要要求
系统要满足以下几个方面:
(1)病人管理
在此管理模式中,维护病人的基本信息,如姓名、性别、联系方式等。同时也可以删除、修改、添加病人的信息。
(2)挂号系统管理
输入病人信息,系统会自动生成挂号费用,挂号之后会自动生成病号信息到病号信息库中。病历号必须唯一,以供全系统共享调用,整个系统通过这个唯一病历号贯通一体,大夫和病人都可以藉此查询所有的就诊历史信息,并实现划价收费、药房取药等操作。若病号库中已存在该病号,则可以直接进行挂号操作。
(3)医生管理
医生管理模块中存储医生的基本信息。此模块也实现信息化管理医生收发病例。
(4)药品管理
药品发放由药房管理人员完成操作,药房通过收款单来给病人发药。在病人缴费后,可直接到药房取药。发药的同时减少药品库存量。通过查询病号来确定药品名称及数量。
(5)处方管理
处方管理是要完成病历上病情、病史的记载,以及医嘱的开立和实施。
四、系统功能图
门诊管理系统 |
病人管理 |
查询病人信息 |
删除病人信息 |
增加病人信息 |
修改病人信息 |
门诊挂号 |
挂号管理 |
医生管理 |
查询医生信息 |
增加医生信息 |
删除医生信息 |
修改医生信息 |
药房发放药品 |
处方管理 |
处方单录入 |
处方单查询 |
修改处方单 |
查询药品 |
查询发药单 |
药品管理 |
挂号单查询 |
五、数据字典
实体 | 数据项名 | 说明 | 类型 |
病人 Patient | PatientNo | 病人编号 | char(12) |
PatientName | 姓名 | varchar(10) | |
Sex | 性别 | char(1) | |
Age | 年龄 | int | |
ID | 身份证号 | char(18) | |
TEL | 电话 | varchar(12) | |
HP | 过敏药物 | varchar(100) | |
病历 MRecord | M_No | 病历编号 | char(12) |
M_Date | 就诊日期 | Datetime | |
Symptom | 主要症状 | varchar(100) | |
员工 Employee | EmployeeNo | 员工编号 | char(13) |
EmployeeName | 员工姓名 | varchar(10) | |
Sex | 性别 | char(1) | |
Age | 年龄 | int | |
ID | 身份证号 | char(18) | |
TEL | 电话 | varchar(12) | |
Position | 职位 | varchar(10) | |
Salary | 工资 | Numeric(10,2) | |
WorkDate | 工作日期 | DateTime | |
WorkTerm | 工作年限 | int | |
科室 Department | DepartmentNo | 科室编号 | char(5) |
DepartmentName | 科室名称 | varchar(20) | |
Address | 科室位置 | varchar(50) | |
Manager | 负责人 | varchar(10) | |
TEL | 电话 | varchar(12) | |
Introduction | 科室介绍 | varchar(200) | |
挂号单 Register | RegisterNo | 挂号单编号 | char(14) |
RegisterTime | 挂号时间 | Datetime | |
RegisterFree | 挂号费 | Numeric(10,2) | |
药品 Medicine | MedicineNo | 药品编号 | char(15) |
MedicineName | 药品名称 | varchar(25) | |
MedicineClass | 药品类别 | varchar(10) | |
UnitPrice | 单价 | Numeric(10,2) | |
Elements_m | 主要成分 | varchar(200) | |
Function_M | 主要功能 | varchar(200) | |
Usage | 用法用量 | varchar(200) | |
Providcer | 供应商 | varchar(50) | |
ProduceDate | 生产日期 | Datetime | |
Usefullife | 有效日期 | Datetime | |
Matters | 注意事项 | varchar(200) | |
Amount | 库存量 | Int | |
处方 Recipe | RecipeNo | 处方编号 | char(15) |
SickDate | 就诊日期 | Datetime | |
PatientNo | 病人编号 | char(12) | |
ElementNo | 员工编号 | char(13) | |
MedicineName | 药品名称 | varchar(25) | |
Quantity | 药品数量 | Int |
六、数据约束条件
(1)一个医院中有多个诊室,一个诊室中可有多个员工,但一个员工只属于一个诊室。
(2)员工由员工号来唯一标识,存储员工的相关信息,格式为:workDatime+流水号;病人由病人编号唯一标识,存储病人的相关信息,格式为:病人第一次看病时间+流水号;药品由药品编号唯一标识,格式为:p/s+国药准字;挂号由挂号编号唯一标识,格式为:日期+流水号;处方由处方单号唯一标识,格式为:R+日期+流水号。
(3)在同一时间段,药品发放只为一位病人;在同一时间段,医生只为一位病人看病。
(4)员工工作年龄超过18岁,满足工作年龄要求。
(5)联系电话不超过11位数
七、数据流图
病人 |
病人 |
门诊管理系统 |
病人信息 挂号单
缴费 缴费凭证
诊断 处方
取药凭证 药物
病人 |
挂号收费 |
挂号请求
挂号单 挂号信息 挂号记录
缴费 收费记录 收费记录
收费 医生信息
医生记录
接诊 |
看病
处方 诊断信息 诊断记录
取药 |
取药
药物信息
药物 药物记录
八、逻辑设计
关系模式:
(1)病人(病人编号、病人姓名、性别、年龄、身份证号、电话、过敏药物)
(2)病历(病历编号、就诊日期、主要症状)
(3)员工(员工编号、姓名、性别、年龄、身份证号、电话、职位、工资、工作日期、工作年限)
(4)科室(科室编号、科室名称、科室位置、负责人、电话、科室介绍)
(5)挂号单(挂号单编号、挂号时间、挂号费);
(6)药品(药品编号、药品名称、药品类别、单价、主要成分、主要功能、用法用量、供应商、生产日期、有效日期、库存量)
(7)处方(处方编号、就诊日期、病人编号、员工编号、药品名称、药品数量)
九、E-R图
员工编号 |
医生 |
科室 |
病历 |
病历编号 |
病人 |
药品 |
药 品 编 号 |
病人编号 |
科室编号 |
处方编号 |