A某小型医院信息管理系统的设计与开发

上传人:仙*** 文档编号:45546909 上传时间:2021-12-07 格式:DOC 页数:31 大小:1.15MB
收藏 版权申诉 举报 下载
A某小型医院信息管理系统的设计与开发_第1页
第1页 / 共31页
A某小型医院信息管理系统的设计与开发_第2页
第2页 / 共31页
A某小型医院信息管理系统的设计与开发_第3页
第3页 / 共31页
资源描述:

《A某小型医院信息管理系统的设计与开发》由会员分享,可在线阅读,更多相关《A某小型医院信息管理系统的设计与开发(31页珍藏版)》请在装配图网上搜索。

1、某小型医院信息管理系统的设计与开发某小型医院信息管理系统的设计与开发摘摘 要要本文所介绍的小型医院信息管理系统旨在改善某小型医院的信息管理,改变医院的信息处理基本还停留在手工方式的状况,降低劳动强度,提高工作效率。本系统不仅适用于医院的行政管理业务,也适用于具体的就诊事务业务。本系统可以使医务人员空出更多的精力和时间服务于病人,同时保证病人和医院的经济利益,从而使医院能够以少的投入获得更好的社会效益与经济效益。本系统是利用 PowerBuilder 并结合医院病人管理制度,严格按照软件生命周期来设计的一个信息管理系统。实现了一个包括就诊管理、模板处理、数据统计等模块在内的小型医院信息管理系统,

2、实现不同员工登录、病人挂号就医、病人信息查询、医生出具处理处方及划价、门诊收费与统计等功能。本文简要介绍了医院管理系统的项目背景和意义,着重阐述了该系统的开发实现过程,从系统目标,需求分析、总体设计、详细设计、到系统测试等各个环节都进行了详细的分析和描述。关键词关键词:数据库;PowerBuilder;就诊The Design and Implementation of a Small Scale Hospital Information Management System AbstractThe small scale hospital information management syst

3、em is designed for improving the information management of small hospital, reducing the labor intensity and enhancing working efficiency. This system can support the administration of the hospital and manage the business. In addition, it can help facilitate the patient, and bring social and economic

4、 interest to the hospital. This system uses PowerBuilder as developing language ,which is designed according to software life cycle. The system can implement the patients registration before his going to see a doctor, doctors processing prescription and management of expense. The thesis introduces t

5、he systems project background and significance briefly, elaborates the systems implementation process. It also analyses and describes all the stages of the system, including feasibility study, demand analysis, outline design, detailed design and system test. Key words: database; PowerBuilder; prescr

6、iption 目目 录录论文总页数:30 页1引言 .11.1课题背景 .11.2国内外研究现状 .11.3本课题研究的意义 .12关键技术介绍 .12.1开发工具及运行环境 .12.1.1总体开发工具及环境 .12.1.2开发工具简介 .12.2系统需求分析 .22.3系统功能结构设计 .32.4数据库设计与实现 .43本系统功能模块设计与实现 .73.1应用程序对象设计 .73.2职工登录界面 .83.3主界面 .93.4挂号系统模块 .123.5就诊管理模块 .153.6模板管理模块 .183.7数据管理模块 .193.8报表模块 .224关键功能点的测试 .234.1登录模块测试 .2

7、34.2用户密码修改功能点测试 .244.3病人费用报表功能测试 .26结 论 .27参考文献 .28致 谢 .29声 明 .301 1 引言引言1.11.1 课题背景课题背景随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。人们的身体健康也在不断受到重视。因此,医院进行现代化管理就变得尤为重要。目前社会正处于健保发展方兴未艾的时代,各医疗院所莫不兢兢业业地改善本身的体制或管理方式,以因应健保越来越严格的规范。小型医院信息管理系统是适应时代发展的需要,提高管理的效率而开发设计的。1.21.2 国内外研究现状国内外研究现状一个完整的医院信息管理系统应该既包括医院管理信息系统,又包括临床医

8、疗信息系统,国外研究机构在力求实现医院信息管理系统的完整性。临床信息管理系统在数据处理的实时性要求、相应速度、安全保密等方面一般要比管理信息系统有更苛刻的要求。而医院管理信息系统的计算机技术较为单纯和简单,也由于医院管理信息系统以处理文字和数字类数据为主,较少设计声音、图象、多媒体数据的动态传递等复杂要求,实现起来容易的多。1.31.3 本课题研究的意义本课题研究的意义本系统通过对病人信息管理系统方案的设计和实施,提出一种对病人在就诊过程中产生的信息进行数字化管理的技术,为门诊建立起信息高速公路,促使医院门诊逐步形成方便、科学、合理的管理模式。从根本上改变传统的依靠文件等信息的传递方式,实现无

9、纸化办公,简化就诊手续,加快信息流通速度,提高治疗效率,基本实现医院系统的数字化管理。同时,本系统对病人既往病史以及用药记录存档,既便于医生更加准确的对当前病人的诊断,同时也有利于医生对各种病例进行分析研究。病历模板的套餐制更具灵活性。2 2 关键技术介绍关键技术介绍2.12.1开发工具及运行环境开发工具及运行环境2.1.12.1.1 总体开发工具及环境总体开发工具及环境本系统采用的软件开发工具及环境如下:操作系统:WINDOWSXP编程工具:PowerBuilder9.0数据库:ACCESS2.1.22.1.2 开发工具简介开发工具简介PowerBuilder 是一个图形化的应用程序开发环境

10、。使用 PowerBuilder 开发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按纽等标准的 Windows 控件,还可以有 PowerBuilder 提供的特殊控件。这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。例如,数据窗口就是 PowerBuilder 提供的一个集成度很高的控件,使用该控件可以很方便地从数据库中提取数据,很简单地检索数据,提供图形化的数据显示方式,创建统计功能非常强大的数据统计表。由于数据窗口对数据的操作是通过事务进行的,所以对数据的操作有很强的可靠性。这些都为开发功能强大的数据库应用软件提供了可靠的保证。商业化的软件开发要求有很好

11、的移植性。PowerBuilder 既可以跨平台开发,也可以发行跨平台软件。例如,在 Windows 95 下开发的程序,可以不修改源程序而形成 UNIX 下的执行文件或 Macintosh 下的执行文件。在开发小组中,不同成员可以使用不同的开发环境,但由于 PowerBuilder 的支持,在不同的开发环境下看到的共享 PowerBuilder 对象是相同的,所以仍可以同时开发同一个应用程序。随着软件技术的不断发展,PowerBuilder 9.0 及时地强化了开发功能,并提供了一些配套的开发工具,成为一种易于使用的、可伸缩的并经实践证明的快速集成开发环境。它在给用户提供一条转移到下一代平台

12、的途径的同时,使用户仍能够保护和扩展现有的技术和应用上的投资。2.22.2系统需求分析系统需求分析病人在就诊过程中,基本的业务流程如图 1 所示:病人挂号医生诊断(初诊)化验检查医生诊断费用管理图 1 业务流程图通过对病人就诊流程及管理的调查和了解,初步确定了该系统的基本需求情况:1. 在病人就诊之前,必须进行挂号,包括病人的最基本信息,挂号费用,预存费等。2. 在病人进行挂号的同时,可以自动为病人分配病历号,作为病人在就诊过程中的唯一标识。3. 在病人就诊时,医生可以对病人基本信息(包括简要病史等等)进行登记。4. 对病人每次就医的主诉,病历,处方进行输入,并可以进行查询和维护。5. 各种化

13、验检查信息的输入、查询和维护,并可以进行异常提醒。6. 对病人的预付款进行管理,并且当预付金额不够时可以提醒补交预付款。7. 对病人就诊过程中的各种费用进行管理。8. 可以打印病人预付款单据和费用凭单。9. 医生可以查询病人治疗情况、化验检查结果,以便跟踪病人病情发展情况,同时也有助于医生对各种病例进行分析研究。2.32.3系统功能结构设计系统功能结构设计本系统划分为 7 个功能模块,系统功能模块图如图 2 所示。商业源代码,全套计算机毕业设计免费下载 http:/更多全套设计联系 QQ:1042897696最新设计大全 http:/ 员工管理:主要包括员工登陆,修改密码,判别用户级别功能。2

14、. 病人管理:主要包括病人的基本信息登记。主要包括对病人基本信息的录入、查询和维护等操作。病人基本信息的录入窗口可以从就诊窗口进入,系统可以记忆当前就诊病人病历号以及当前录入员的姓名。3. 就诊管理:主要包括对病人此次就诊病情的录入,过往病史的查询及检查和化验结果进行录入。4. 模板管理:主要医生针对各种典型病种所开具的主诉、病历、处方录入、查询。5. 化验检查管理:主要包括对病人每次所做化验和检查的结果进行录入、查询和维护。6. 费用管理:主要包括预付款管理和费用管理。 预付款管理:主要包括对预付金额进行录入、查询和维护等操作。并且可以根据支出情况进行费用统计、查询余额和缺钱警示。 费用支出

15、管理:主要包括对病人药费、检查、化验等支出进行录入、查询和维护等操作。7. 报表打印:根据需要生成各种报表,并且打印出来。2.42.4数据库设计与实现数据库设计与实现在仔细调查医院就诊管理过程的基础上,得到系统所要处理的数据流程图,如图 3 所示。病人挂号挂号表诊断病人信息表化验检查申请报告化验检查表费用费用管理费用表图 3 数据流图本系统根据上面的设计规划出的实体有 4 个:病人、医生、化验检查员、药品。下面为本系统实体之间关系的 E-R 图,如图 4 所示。图 4 实体关系E-R 图根据以上的分析设计得到实际数据库模型。数据库设计如下:1.病人基本情况表(ghdj):就诊号(jzid)、病

16、历号(blh),姓名(xm), 身份证号(sfzh),性别(xb),出生日期(sr),婚否 (hf),地址(dz),电话(dh),日期(ryrq),科别(kb),主诉(zs),现病史(xbs),病历(bl),处方(cf),医嘱(yz),医生(ys)。主码是就诊号(jzid)。此表字段用来保存病人的相关详细信息,包括病人基本信息和病人在医院就诊相关信息。表 1 ghdj字段名数据类型字段大小必填字段jzid文本14是blh文本8是xm文本20否sfzh数字小数否xb文本4否sr日期/时间短日期否hf文本4否dz文本100否dh文本15否ryrq日期/时间短日期否kb文本10否zs文本200否xb

17、s文本200否bl文本200否cf文本200否yz文本200否ygh文本5否2.挂号表(ghb):流水号(id),病历号(blh),日期(rq),时间(sj),挂号费(ghf),金额(je)。主码是流水号(id)。此表字段用来记录病人在医院挂号就医时产生的相关数据。表 2 ghb字段名数据类型字段大小必填字段id文本9是blh文本8否rq日期/时间 否sj日期/时间否ghf数字长整型否je数字长整型否3.化验检查表(hyjc):病历号(blh),化验日期(hyrq),化验时间(hysj),检验员(jyy),状态(zt)等,其中化验检查中的具体项目由于数目众多,在此就不一一列出。主码是病历号(b

18、lh),化验日期(hyrq)。此表字段用来记录病人在院就医时不同状态的检查产生的结果表 3 hyjc字段名数据类型字段大小必填字段blh文本8是hyrq日期/时间 是rq日期/时间 是zt数字长整型否jyy文本5否4.费用表(fyb):费用凭单号(id),病历号(blh),项目内容(xmnl),数量(sl),收费科室(sfks)。主码是费用凭单号(id),项目内容(xmnl)。此表字段用来记录病人在院所做就医项目的相关信息。表 4 fyb字段名数据类型字段大小必填字段id文本14是blh文本8是xmnl文本 13是 sfks文本20否sl数字长整型否5.药品库表(ypkb):药品编号(ypbh

19、),药品名(ypm),类别(lb),价格(jg),包装规格(bzgg),单位(dw),药用字典(yyzd)。主码是药品编号(ypbh)。此表字段用来记录医院各种项目药品的相关信息。表 5 ypkb字段名数据类型字段大小必填字段ypbh文本13是ypm文本30是lb文本 4否jg数字小数否bzgg文本6否dw文本6否yyzd文本100否6.病历处方表(blcfb):模板号(mbh),病症名称(bzmc),病历内容(blnr),处方内容(cfnr),主诉内容(zsnr),开方医生(ygh)。主码是模板号(mbh)。此表字段用来记录医生对病症的研究和描述,方便医生对同种病症不同情况进行对比研究,提高

20、医生的工作效率,帮助医生进行诊断,判断更为准确。表 6 ypkb字段名数据类型字段大小必填字段mbh文本14是bzmc文本100否blnr文本200否cfnr文本200否zsnr文本200否ygh文本5否7.员工表(ygb):员工号(ygh),员工名(kb),科别(kb),职位(zw),密码(pwd),等级(dj)。主码是员工号(ygh)。此表字段用来记录医院员工的基本信息并在登陆时的根据登记判断其权限。表 7 ypkb字段名数据类型字段大小必填字段ygh文本5是ygm文本20否kb文本10否zw文本10否pwd文本10否dj文本10否3 3 本系统功能模块设计与实现本系统功能模块设计与实现3

21、.13.1应用程序对象设计应用程序对象设计PowerBuilder9.0 开发的应用程序的入口点是 PowerBuilder9.0 的应用程序对象,运行是程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。本应用程序对象中用到 Open 事件,输入如下程序代码:/ Profile mzys2SQLCA.DBMS = ODBCSQLCA.AutoCommit = False SQLCA.DBParm = ConnectString=DSN=mzys2;UID=;PWD=connect;/打开程序登录窗口opensheet(w_zhigong,w_zhujiemian,8,origi

22、nal!)首先在应用程序对象的变量定义窗口中定义全局变量,如 int G_input_time 定义的变量是登录时输入用户名和密码的次数,string yg_name定义的是用户名,string yg_ygh 定义的是员工号,string g_pwd 定义的是密码,string g_blh 定义病历号,string g_jzid 定义病人的就诊号等等。3.23.2职工登录界面职工登录界面应用程序运行后第一个出现的窗口就是 w_login 登陆窗口,界面如图 5 所示。图 5 职工登陆界面用户必须通过职工登录窗口才能够进入主界面。系统登录窗口主要实现功能是确认用户身份及级别,并根据用户级别主界面

23、菜单中该用户可以进行的操作。本系统根据医院具体情况将医院职工分为种 5 种职位,院长、医生、放射员收费员和化验员。其中,院长级别最高,可以使用主界面菜单中的任何一种操作,其他各种职位级别都只能享有各自级别的权限。医生可以进行病人就诊的信息录入、查询和维护,定义主诉病历处方模板的定义和查询,化验检验结果的查询、费用的查询等;收费员可以进行挂号收费及统计,预付费用的收缴和统计等;放射员可以对病人的各项检查结果进行录入、查询、维护等;化验员则是对病人的各项化验结果进行录入、查询、维护。在登录界面的 OPEN()函数中定义一个游标 declare guser cursor,该游标在 ygb 表中搜索

24、ygm 然后添加到员工名的下拉控件中,其代码如下:string ls_userdeclare guser cursor forselect ygmfrom ygborder by ygh;open guser;if SQLCA.SQLCode=-1 then MessageBox(数据错误,SQLCA.SQLErrText)else do if ls_user then ddlb_1.additem(ls_user)fetch guser into :ls_user;loop while sqlca.sqlcode=0if sqlca.sqlcode=-1 then messageBOX(数据

25、错误,sqlca.sqlerrtext)end ifend if close guser;ddlb_1.selectitem(0)在“确定”按纽中当判断员工登录条件正确时则根据员工的职位判断那些菜单功能将能被使用。3.33.3主界面主界面首先设计主菜单 m_zhujiemian,根据各模块设计好菜单项和各菜单项下面的子菜单项,并可添加为用户登录和退出以及挂号 Toolbar,提供快捷操作。然后在主窗口 w_zhujiemian 将 menuname 中选择设计好的主菜单m_zhujiemian。应用程序的主要功能都是在主窗口 w_zhujiemian 及在其下打开的众多窗口中完成的。主界面如图

26、 6 所示。图 6 医院管理系统主界面不同用户登录后,由于职位级别不同,主界面也会有些差异,不能操作的菜单项为灰色,因此,下面我们选用的都是“院长”级别登录后的主界面,将主窗口的 WindowType 属性设立为 mdi 型,以便在其下以特定方式打开其他窗口。主界面设计中主要是主菜单 m_zhujiemian 的设计,该菜单结构及代码如下:登录: 用户登录:Clicked 事件程序代码:opensheet(w_zhigong,w_zhujiemian,8,original!) 退出:Clicked 事件程序代码:close(w_zhujiemian)挂号系统: 挂号:Clicked 事件程序代

27、码:opensheet(w_guahao,w_zhujiemian,8,original!) 预付:Clicked 事件程序代码:opensheet(w_yufu,w_zhujiemian,8,original!)就诊管理: 就诊入口:Clicked 事件程序代码:opensheet(w_jiuzhenrukou,w_zhujiemian,8,original!) 就诊历史:Clicked 事件程序代码:opensheet(w_lishi,w_zhujiemian,8,original!) 检查报告:Clicked 事件程序代码:opensheet(w_hyjc_jcbg,w_zhujiemi

28、an,8,original!) 化验:血常规报告:Clicked 事件程序代码openSheet(w_hyjc_twd,w_main,8,Layered!)尿常规报告:Clicked 事件程序代码opensheet(w_hyjc_ncg,w_zhujiemian,8,original!)生化检查报告:Clicked 事件程序代码opensheet(w_hyjc_shjc,w_zhujiemian,8,original!)模板管理: 定义完整模板:Clicked 事件程序代码:opensheet(w_jb,w_zhujiemian,8,original!) 定义主诉模板:Clicked 事件程序

29、代码: opensheet(w_dingyizs,w_zhujiemian,8,original!) 定义病历模板:Clicked 事件程序代码:opensheet(w_dingyibl,w_zhujiemian,8,original!) 定义处方模板:Clicked 事件程序代码: opensheet(w_dingyicf,w_zhujiemian,8,original!) 模板查询:Clicked 事件程序代码: opensheet(w_blzsmb,w_zhujiemian,8,original!)数据管理: 挂号人数统计:Clicked 事件程序代码:opensheet(w_ghton

30、gjilb,w_zhujiemian,8,original!) 病人基本信息查询:Clicked 事件程序代码: opensheet (w_jbxx_cx,w_zhujiemian,8,original!) 预付款查询:Clicked 事件程序代码:opensheet(w_yufucx,w_zhujiemian,8,original!) 病人血常规查询:Clicked 事件程序代码: opensheet(w_hyjc_xcg_cx,w_zhujiemian,8,original!) 病人尿常规查询:Clicked 事件程序代码:opensheet(w_hyjc_ncg_cx,w_zhujiem

31、ian,8,original!) 病人生化查询:Clicked 事件程序代码: opensheet(w_hyjc_shjc_cx,w_zhujiemian,8,original!) 病人检查结果查询:Clicked 事件程序代码: opensheet(w_hyjc_jcbg_cx,w_zhujiemian,8,original!)数据管理: 用户安全维护:Clicked 事件程序代码:opensheet(w_change,w_zhujiemian,8,original!) 常用维护药字典维护:Clicked 事件程序代码: opensheet(w_yaodian,w_zhujiemian,8,

32、original!) 病人基本信息维护:Clicked 事件程序代码: opensheet(w_jbxx_wh,w_zhujiemian,8,original!) 血常规检查结果维护:Clicked 事件程序代码: opensheet(w_hyjc_xcg_wh,w_zhujiemian,8,original!) 尿常规检查结果维护:Clicked 事件程序代码: opensheet(w_hyjc_ncg_wh,w_zhujiemian,8,original!) 生化检查结果维护:Clicked 事件程序代码:opensheet(w_hyjc_shjc_wh,w_zhujiemian,8,or

33、iginal!) 检查结果维护:Clicked 事件程序代码: opensheet(w_hyjc_jcbg_wh,w_zhujiemian,8,original!)报表: 病人预付款报表:Clicked 事件程序代码: opensheet(w_yufu_bb,w_zhujiemian,8,original!) 病人费用报表:Clicked 事件程序代码: opensheet(w_chufangjj_bb,w_zhujiemian,8,original!)窗口:没有代码,用来显示已经打开的窗口名称。3.43.4挂号系统模块挂号系统模块根据医院科室及挂号类型类设计挂号系统,自动产生病历号。先根据数

34、据库表 ghb 建立挂号系统的数据窗,然后建立挂号窗口,并使用该数据窗。挂号病人要进入医院门诊就诊的第一步就是进行挂号,只有进行挂号后才能获得病历号,得到其他服务。挂号界面如图 7 所示:图 7 挂号系统界面主要实现功能有自动分配病历号,录入员无法修改。单击“保存” 按钮的时候,如图 8 所示:图 8 挂号保存界面 “保存”按钮中的代码最主要的通过设置过滤条件来使数据窗口只能显示当前一条记录。本系统中,需要处理的数据繁多,如果仅是靠普通控件来进行输入、查询和维护等操作,只能依靠纯粹的手写代码来进行与数据库数据之间的交互,将会带来极大的不便。为此,采用数据窗口来进行对数据的处理。通过数据窗口,可

35、以对数据库进行操作,不但可以对每个数据库的表进行检索、查询、插入、删除和更新,而且还可以为数据指定输入格式、输出格式和显示风格等。图 7中左边显示数据的部分既为 Grid 风格的数据窗口。本系统中还用到 Group 风格的来制作报表,将在图 9 出现。图 9 挂号打印界面如上图所示,在单击了图 7 图中的“打印”之后,系统会自动按照程序中的代码的要求将自动流水号传递到报表窗口,其中的“预付款(挂号)单据”所在的数据窗口即为 Group 窗口应用于数据报表的典型。在挂号过程中,除了会为病人的分配此次的自动流水号之外,也会要为病人分配一个病历号,由年份(4 位)序列号(4 位)构成。每到新的一年,

36、序列号都是从 0001 开始;如果不是在新的一年,则序列号是已经在医院就诊的病人的人数加上 1 构成。为此,每次分配病历号时,从数据库中挂号表中提取最大的病历号,将其中的年份与当前计算机上的年份相比较,如果相等,则将后4 位的序列号加 1,如果是新的一年则直接让序列号位 0001。具体实现是在窗口中定义,代码如下:/分配病历号string a,b,d,c,nSELECT max(ghb.blh) into :aFROM ghb;b=left(a,4) d=string(year(today()c=right(a,4)if bd thenmessagebox(出错,当前系统时间有误,请先调整系统

37、时间,stopsign!,OK!)elseif b=d thenc=string(integer(c)+1)n=fill(0,4 - len(c)c=n+celsec=0001end ifa=d+cblh1=aend if 分配病人自动流水号,病历号的同时,也是要同时在病人基本信息表当中插入信息,首先也是先为表的主码“就诊号”分配号码。采用自定义的函数jzh():string a,b,c,d,e,f,g,h,iSELECT max(jzid)INTO :aFROM ghdj;b=string(year(today() /当前系统日期中年份的后两位c=string(month(today() /

38、当前系统日期中的月份c=fill(0,2 - len(c)+cd=string(Day(today()/当前系统日期中的日期d=fill(0,2 - len(d)+de=left(a,8)/表中最大 ID 的前八位f=right(a,6)/表中最大 ID 的后六位,表示序列号g=right(e,4)h=right(e,2)/表中最大 ID 的七、八位,表示日期g=left(g,2) /表中最大 ID 的五、六位,表示月份e=left(e,4) /表中最大 ID 的前四位,表示年份if be theni=b+c+d+000001elseif cg theni=b+c+d+000001elseif

39、 dh theni=b+c+d+000001else f=string(long(f)+1)i=b+c+d+fill(0,6 - len(f)+fend ifend ifend ifst_11.text=i3.53.5就诊管理模块就诊管理模块病人在进入所挂号的科室进行就诊入口的界面如图 10 所示。图 10 就诊入口界面在该界面中两个按钮“简明信息填写”和“就诊”按钮提供了强大的病人就诊信息的录入的功能,方便日后医生的对病人病史的掌握,日后的临床科学研究以及病人对自己病史的了解。在界面中当输入病人 ID(blh),之后按下“简明信息填写”按钮就进入病人基本信息得录入界面如图 11 所示。图 1

40、1 病人基本信息录入界面该界面中使用了创建好的数据窗 d_jbxx,就诊号和病历号是通过图 10 界面的“简明信息填写”按钮中的相关代码实现(主要是利用全局变量来传递值)::g_blh=trim(sle_1.text)jzh():g_jzid=trim(st_2.text)opensheet (w_jbxx,w_zhujiemian,8,original!)同理,在图 10 中如按下“就诊”按钮,在进入如图 12 所示的界面,病人ID 号也将被传递。界面中可以通过“保存” 、 “新增”等系列按钮完成对病人此次就诊的记录工作,同时医生也可以通过“申请”按钮对需要进行进一步详细检查的病人提出检查申

41、请,另外可以在“处方计价”当中对病人的药方进行计价。在医生对病人出具病历处方的同时可以随时查阅“病历处方模板” ,以及可以通过“查看报告”查看病人的既往检查化验。图 12 就诊界面上述的该功能模块中的相关功能都是“医生”的权限范围,以下将的检查化验的报告界面分别属于“放射员” 和“化验员”的职限。图 13 病人检查结果录入界面在这个界面中最主要的就是“增加” 、 “退出”几个按钮中的相关代码完成了对数据的录入保存:/判断窗体记录是否需要保存int MCountint updateornotmcount=dw_hyjc_jcbg.modifiedcount()if mcount0 thenupd

42、ateornot=messagebox(保存修改,您修改了数据窗口中的数据,现在是否保存?,Question!,YesNoCancel! )if updateornot=1 then if update(dw_hyjc_jcbg,true,false)=1 thendw_hyjc_jcbg.resetupdate() commit; else rollback; messagebox(错误!,数据保存失败)return end if elseif updateornot=2 then rollback;elseif updateornot=3 thenreturn; end ifend if3

43、.63.6模板管理模块模板管理模块在模板管理模块设计是为了医生可以完整的定义主诉病历处方模板,可以分别定义主诉、病历、处方的模板以及在必要的时候进行模板查询。此模块将更加方便医生平时的临床诊断,为临床科研提供依据。首先建立数据窗选择数据库表 blcfb 中的字段 mbh,bzmc,bznr,cfnr,zsnr,ygh。在窗口中运用该数据窗,通过该数据窗可将数据保存到数据表中。以下的录入模板设计类似此病历处方模板录入模板如图 14。图 14 完整模板录入界面在前面提到的模板查询界面如图 15 所示:图 15 病历主诉查询模板当医生输入病症名称之后,按下“确定”键就可以在数据窗口中显示相似病症的记

44、录,如果相似病症是多条记录就可以通过“第一条” 、 “上一条” 、 “下一条” 、 “最后一条”进行查询选择,代码如下:“第一条”dw_1.scrolltorow(1)st_4.text=1“上一条”integer row_currentrow_current=dw_1.scrollpriorrow()st_4.text=string(row_current)“下一条”integer row_currentrow_current=dw_1.scrollnextrow()st_4.text=string(row_current)“最后一条”int row row = dw_1.rowcount(

45、)dw_1.scrolltorow(row)st_4.text= string(row)3.73.7数据管理模块数据管理模块在医院门诊庞大的日常管理工作中,不可缺少的是对后台数据库中的数据进行管理,在该功能模块中就提供了对数据的统计,查询。对挂号人数的分类统计(示例如图 16)在主界面中点击“数据管理”下的“挂号人数统计” ,则通过如下代码进入统计方式选择界面:opensheet(w_ghtongjilb,w_zhujiemian,8,original!)根据不同选择然后判断打开何种统计图,如图 16 所示图 16 挂号科室人数统计界面是挂号人数按照科室统计的饼状图。该类型统计先创建一个根据数

46、据表ghdj 中的 jzid 和 kb 字段来 Graph 类型的数据窗,通过对 kb 字段分类然后通过 count(jzid for graph)然后在创建的统计窗口中使用该数据窗来实现。病人基本信息查询设计可以综合条件的信息查询,提高可供选择的条件,医生可以通过组合条件对所需要的病人基本信息以及简要病史进行查询,如图 17 所示。图 17 病人基本信息查询窗口预付款查询图 18 查询剩余预付款界面拥有查询预付款权限的员工进入该界面之后,只需要输入病人的病历号,点击“确定”按钮(该按钮代码如下):dec a,b,cstring dSELECT blhinto :dFROM ghdjWHERE

47、 blh=:sle_1.text;if :sqlca.SQLCode=0 thenSELECT count(*) INTO :c ROM ghb WHERE blh=:sle_1.text;if c0 thenSELECT sum(je) INTO :a FROM ghb WHERE blh=:sle_1.text;else a=0messagebox(提示,病人尚未交付预付金,请先补交预付金)returnend ifSELECT count(*) INTO :c FROM fyb WHERE blh=:sle_1.text;if c0 thenSELECT sum(ypkb.jg * fyb

48、.sl) INTO :b FROM ypkb,fyb WHERE fyb.blh=:sle_1.text and fyb.xmnl=ypkb.ypbh;a=a - bend if if a=50 thend=目前预付金额还剩+string(a)+元messagebox(剩余金额,d)elseif a=0 thend=目前预付金额仅剩+string(a)+元,请尽快补交预付金messagebox(剩余金额,d)elsed=目前预付金额透支+string(Abs(a)+元,请尽快补交预付金messagebox(剩余金额,d)end ifsle_1.setfocus()elsemessagebox(

49、提示,病历号输入有误,请检查后重新输入)end if3.83.8报表模块报表模块由于前面的个功能模块中都对病人的就诊各阶段的结果进行查询,所以在设计报表功能模块时主要考虑对病人的预付款项以及病人的费用进行统计并呈报表。首先创建一个祖先窗口 w_preview 如图 19 所示,它是报表生成的通用窗口,具有预览、放大缩小、打印、保存等功能,可以用于各个报表模块窗口的继承。图 19 报表祖先窗口病人预付报表窗口是 w_preview 祖先窗口的继承窗口,具有 w_preview 窗口的功能,界面如图 20 所示。病人预付报表窗口用于生成病人的费用凭单,既可以用来生成病人的所有费预付的款项凭单,也可

50、以生成其中任何一次预付凭单。其与 w_preview 祖先窗口相比,多了一个显示功能,可以通过病历号或自动流水号来查询符合条件的记录,并显示在数据窗口中。图 20 病人预付款报表界面此窗口所使用的数据窗口采用的是 Group 分组显示样式的,这种显示风格的特点是可以检索到的数据按某一列分组显示,并允许为每一组指定一些计算。本窗口就是按自动流水号来分组,分别对每一个自动流水号中的金额和整张预付凭单的金额进行统计。可以做到清晰明了,便于病人查阅。病人费用报表与预付凭单报表风格模式上相同,都是由 w_preview 继承而来。病人费用报表既可以根据病历号生成一个病人按照费用凭单号来分组的所有费用的单

51、据,又可以根据费用凭单号生成其中一次费用的单据。4 4 关键功能点的测试关键功能点的测试本章节介绍该小型医院信息管理系统的主要功能点的测试,包括:登录模块、就诊入口模块、费用报表模块。4.14.1登录模块测试登录模块测试预期结果:当正确输入与数据库表 ygb 中数据一致的员工名,ID 及密码时都能登录系统。当输入的员工 ID 或密码与员工名不匹配时则分别提示何种输入错误。根据本系统的健壮性要求对此进行了 8 次测试,下面根据测试的分类列举了 3 次测试结果。当选择员工名“陈冲”后输入正确的员工号“04002”和密码“cc”登录进该系统可执行与他权限内的操作。当选择员工名“陈冲”后输入错误的员工

52、号“04001”和正确密码“cc”与该出现如下图 21 所示的提示框。图 21 登录功能测试一当选择员工名“陈冲”后输入正确的员工号“04002”和错误密码“cd”与该出现如下图 22 所示的提示框。图 22 登录功能测试二分析:经 8 次不同类型及各类型的不同种输入的结果都与预期结果一样,得出结论,此功能基本达到系统预期要求。4.24.2用户密码修改功能点测试用户密码修改功能点测试预期结果:当进入修改密码界面时根据所输入的正确原密码与数据库表ygb 中 pwd 字段数据一致,且输入的新密码和确认密码相同时,则可成功修改密码。当输入原密码错误时则给出相应提示。当新密码与确认密码不一致时则提示两

53、次修改密码不一致。当修改不成功次数超过三次时则弹出警告,关闭窗口。根据本系统的健壮性要求对此进行了 8 次测试,下面根据测试的分类列举了 4 次测试结果。在员工陈冲登录后进入修改密码窗口,在输入正确的原密码“cc” ,和新密码及确认密码“ccc”后,点“确认”按纽出现如图 23 提示框。图 23 密码修改功能测试一在员工陈冲登录后进入修改密码窗口,在输入正确的原密码“cc” ,和新密码及确认密码“ccc”后,点“确认”按纽出现如图 24 提示框。图 24 密码修改功能测试二在员工陈冲登录后进入修改密码窗口,在输入正确的原密码“cc” ,和不一致新密码“ccc”及确认密码“ccv”后,点“确认”

54、按纽出现如图 25 提示框。图 25 密码修改功能测试三在员工陈冲登录后进入修改密码窗口,在修改密码 3 次都失败后则弹出警告关闭窗口。如图 26 提示框。图 26 密码修改功能测试四分析:经 8 次不同类型情况及各类型的不同种输入的结果都与预期结果一样,得出结论,此功能基本达到系统预期要求。4.34.3病人费用报表功能测试病人费用报表功能测试预期结果:当进入病人费用报表界面时根据所选择的病历号或流水号输入相应的号码时能正确显示该病人的在院的处方计价表。当输入的病历号或流水号不存在或没有相应的记录时则提示没有符合的记录。根据本系统的健壮性要求对此进行了 6 次测试,下面根据测试的分类列举了 2

55、 次测试结果。在选择了病历号后输入病历号“20070001”显示如图 27 的结果。图 27 费用报表功能测试一当输入的病历号“20070004”时则出现如图 28 的提示框。图 28 费用报表功能测试二分析:经 6 次不同类型情况及各类型的不同种输入的结果都与预期结果一样,得出结论,此功能基本达到系统预期要求。结结 论论 目前,在医学领域内计算机的应用已经十分广泛,各种智能诊断设备都与计算机紧密结合在一起,以硬件为主的医疗设备智能化发展尤为迅速。然而以软件建设为基础的医院的现代化管理系统发展却相对缓慢。传统手工的业务处理方式,停留在纸作业基础上的管理模式,不仅速度慢、手续复杂,而且容易发生错

56、误,已不能适应医院现代化发展的需要。建立医院信息管理系统成为现代化发展必然选择。本系统正是一个基于对医院需求的理解,在满足基本业务的前提下,结合医院的管理特点、融合医院领导现代化的管理理念、以病人信息为中心的医院病人信息管理系统。目的是通过对病人在就诊过程中产生的信息进行数字化管理,简化手续,加快信息处理速度,提高治疗与管理效率。主要包括病人就诊管理、病历书写模板、医生出具处方、费用结算、病历查询打印统计等模块在内的计算机管理系统,实现了病人就医信息管理电子化。本系统以病人为中心,侧重于病人在就医过程中信息的管理,便于医生跟踪病人病情发展情况,同时也有助于医生对各种病例进行分析研究。由于时间的

57、限制,对于等各类员工信息,医院药品等方面的细节没有过多详细的设计。该设计还有很多不完善的地方,有待于我在以后的学习中不断的完善。参考文献参考文献1 王晟.Power Builder 数据库开发经典案例解析M.北京:清华大学出版社,2005。2 杨昭.Power Builder9.0 基础与应用教程M.北京:中国水利水电出版社,2003。3 马景涛,张军.Power Builder9.0 使用培训教程M.北京:清华大学出版社,2005。4 求是科技.Power Builder9.0 程序设计与开发技术大全M.北京:人民邮电出版社,2004。5 何军.PowerScript 语言.事件.函数M.北京:电子工业出版社,2004。6 方睿,刁仁宏,吴四九.网络数据库原理及应用M.四川(成都):四川大学出版社,2005。7 叶玟,叶宝龙.中文 Access 2003 标准教程M.北京:中国劳动社会保障出版社,2004。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!