小型医院信息管理系统的设计与开发研讨.doc_第1页
小型医院信息管理系统的设计与开发研讨.doc_第2页
小型医院信息管理系统的设计与开发研讨.doc_第3页
小型医院信息管理系统的设计与开发研讨.doc_第4页
小型医院信息管理系统的设计与开发研讨.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某小型医院信息管理系统的设计与开发某小型医院信息管理系统的设计与开发 摘摘 要要 本文所介绍的小型医院信息管理系统旨在改善某小型医院的信息管理,改 变医院的信息处理基本还停留在手工方式的状况,降低劳动强度,提高工作效 率。本系统不仅适用于医院的行政管理业务,也适用于具体的就诊事务业务。 本系统可以使医务人员空出更多的精力和时间服务于病人,同时保证病人和医 院的经济利益,从而使医院能够以少的投入获得更好的社会效益与经济效益。 本系统是利用 PowerBuilder 并结合医院病人管理制度,严格按照软件生命周 期来设计的一个信息管理系统。实现了一个包括就诊管理、模板处理、数据统 计等模块在内的小型医院信息管理系统,实现不同员工登录、病人挂号就医、 病人信息查询、医生出具处理处方及划价、门诊收费与统计等功能。本文简要 介绍了医院管理系统的项目背景和意义,着重阐述了该系统的开发实现过程, 从系统目标,需求分析、总体设计、详细设计、到系统测试等各个环节都进行 了详细的分析和描述。 关键词关键词:数据库;PowerBuilder;就诊 The Design and Implementation of a Small Scale Hospital Information Management System Abstract The small scale hospital information management system 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 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 the 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; prescription 目目 录录 论文总页数:30 页 1引言 .1 1.1课题背景 .1 1.2国内外研究现状 .1 1.3本课题研究的意义 .1 2关键技术介绍 .1 2.1开发工具及运行环境 .1 2.1.1总体开发工具及环境 .1 2.1.2开发工具简介 .1 2.2系统需求分析 .2 2.3系统功能结构设计 .3 2.4数据库设计与实现 .4 3本系统功能模块设计与实现 .7 3.1应用程序对象设计 .7 3.2职工登录界面 .8 3.3主界面 .9 3.4挂号系统模块 .12 3.5就诊管理模块 .15 3.6模板管理模块 .18 3.7数据管理模块 .19 3.8报表模块 .22 4关键功能点的测试 .23 4.1登录模块测试 .23 4.2用户密码修改功能点测试 .24 4.3病人费用报表功能测试 .26 结 论 .27 参考文献 .28 致 谢 .29 声 明 .30 更多全套设计联系 QQ:1042897696 最新设计大全 HTTP:/WWW.BYLW168.COM/SF/20100915/3539.HTML 1 1 引言引言 1.11.1 课题课题背景背景 随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。人们的 身体健康也在不断受到重视。因此,医院进行现代化管理就变得尤为重要。目 前社会正处于健保发展方兴未艾的时代,各医疗院所莫不兢兢业业地改善本身 的体制或管理方式,以因应健保越来越严格的规范。小型医院信息管理系统是 适应时代发展的需要,提高管理的效率而开发设计的。 1.21.2 国内外研究国内外研究现现状状 一个完整的医院信息管理系统应该既包括医院管理信息系统,又包括临床 医疗信息系统,国外研究机构在力求实现医院信息管理系统的完整性。临床信 息管理系统在数据处理的实时性要求、相应速度、安全保密等方面一般要比管 理信息系统有更苛刻的要求。而医院管理信息系统的计算机技术较为单纯和简 单,也由于医院管理信息系统以处理文字和数字类数据为主,较少设计声音、 图象、多媒体数据的动态传递等复杂要求,实现起来容易的多。 1.31.3 本本课题课题研究的意研究的意义义 本系统通过对病人信息管理系统方案的设计和实施,提出一种对病人在就 诊过程中产生的信息进行数字化管理的技术,为门诊建立起信息高速公路,促 使医院门诊逐步形成方便、科学、合理的管理模式。从根本上改变传统的依靠 文件等信息的传递方式,实现无纸化办公,简化就诊手续,加快信息流通速度, 提高治疗效率,基本实现医院系统的数字化管理。同时,本系统对病人既往病史 以及用药记录存档,既便于医生更加准确的对当前病人的诊断,同时也有利于 医生对各种病例进行分析研究。病历模板的套餐制更具灵活性。 2 2 关键技术介绍关键技术介绍 2.12.1开开发发工具及运行工具及运行环环境境 .1 总体开发工具及环境总体开发工具及环境 本系统采用的软件开发工具及环境如下: 操作系统:WINDOWSXP 编程工具:PowerBuilder9.0 数据库:ACCESS .2 开发工具简介开发工具简介 PowerBuilder 是一个图形化的应用程序开发环境。使用 PowerBuilder 开 发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按纽 等标准的 Windows 控件,还可以有 PowerBuilder 提供的特殊控件。这些特殊控 件可以使应用软件更容易使用,使应用软件的开发效率更高。 例如,数据窗口就是 PowerBuilder 提供的一个集成度很高的控件,使用该 控件可以很方便地从数据库中提取数据,很简单地检索数据,提供图形化的数 据显示方式,创建统计功能非常强大的数据统计表。由于数据窗口对数据的操 作是通过事务进行的,所以对数据的操作有很强的可靠性。这些都为开发功能 强大的数据库应用软件提供了可靠的保证。 商业化的软件开发要求有很好的移植性。PowerBuilder 既可以跨平台开发, 也可以发行跨平台软件。例如,在 Windows 95 下开发的程序,可以不修改源程 序而形成 UNIX 下的执行文件或 Macintosh 下的执行文件。在开发小组中,不同 成员可以使用不同的开发环境,但由于 PowerBuilder 的支持,在不同的开发环 境下看到的共享 PowerBuilder 对象是相同的,所以仍可以同时开发同一个应用 程序。 随着软件技术的不断发展,PowerBuilder 9.0 及时地强化了开发功能,并提 供了一些配套的开发工具,成为一种易于使用的、可伸缩的并经实践证明的快 速集成开发环境。它在给用户提供一条转移到下一代平台的途径的同时,使用 户仍能够保护和扩展现有的技术和应用上的投资。 2.22.2系系统统需求分析需求分析 病人在就诊过程中,基本的业务流程如图 1 所示: 病人挂号 医生诊断(初诊) 化验检查 医生诊断 费用管理 图 1 业务流程图 通过对病人就诊流程及管理的调查和了解,初步确定了该系统的基本需求 情况: 1. 在病人就诊之前,必须进行挂号,包括病人的最基本信息,挂号费用,预 存费等。 2. 在病人进行挂号的同时,可以自动为病人分配病历号,作为病人在就诊 过程中的唯一标识。 3. 在病人就诊时,医生可以对病人基本信息(包括简要病史等等)进行登记。 4. 对病人每次就医的主诉,病历,处方进行输入,并可以进行查询和维护。 5. 各种化验检查信息的输入、查询和维护,并可以进行异常提醒。 6. 对病人的预付款进行管理,并且当预付金额不够时可以提醒补交预付款。 7. 对病人就诊过程中的各种费用进行管理。 8. 可以打印病人预付款单据和费用凭单。 9. 医生可以查询病人治疗情况、化验检查结果,以便跟踪病人病情发展情 况,同时也有助于医生对各种病例进行分析研究。 2.32.3系系统统功能功能结结构构设计设计 本系统划分为 7 个功能模块,系统功能模块图如图 2 所示。 商业源代码,全套计算机毕业设计免费下载 更多全套设计联系 QQ:1042897696 最新设计大全 各模块如下: 1. 员工管理:主要包括员工登陆,修改密码,判别用户级别功能。 2. 病人管理:主要包括病人的基本信息登记。 主要包括对病人基本信息的录入、查询和维护等操作。病人基本信息的录 入窗口可以从就诊窗口进入,系统可以记忆当前就诊病人病历号以及当前录入 员的姓名。 3. 就诊管理:主要包括对病人此次就诊病情的录入,过往病史的查询及 检查和化验结果进行录入。 4. 模板管理:主要医生针对各种典型病种所开具的主诉、病历、处方录 入、查询。 5. 化验检查管理:主要包括对病人每次所做化验和检查的结果进行录入、 查询和维护。 6. 费用管理:主要包括预付款管理和费用管理。 预付款管理:主要包括对预付金额进行录入、查询和维护等操作。并且 可以根据支出情况进行费用统计、查询余额和缺钱警示。 费用支出管理:主要包括对病人药费、检查、化验等支出进行录入、查 询和维护等操作。 7. 报表打印:根据需要生成各种报表,并且打印出来。 2.42.4数据数据库设计库设计与与实现实现 在仔细调查医院就诊管理过程的基础上,得到系统所要处理的数据流程图, 如图 3 所示。 病人 挂号 挂号表 诊断 病人信息表 化验检查 申请 报告 化验检查表 费用 费用管理 费用表 图 3 数据流图 本系统根据上面的设计规划出的实体有 4 个:病人、医生、化验检查员、 药品。下面为本系统实体之间关系的 E-R 图,如图 4 所示。 图 4 实体关系E-R 图 根据以上的分析设计得到实际数据库模型。数据库设计如下: 1.病人基本情况表(ghdj):就诊号(jzid)、病历号(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 否 xbs 文本 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)等,其中化验检查中的具体项目由于数目众多,在此就 不一一列出。主码是病历号(blh),化验日期(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),药品名(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)。此 表字段用来记录医生对病症的研究和描述,方便医生对同种病症不同情况进行 对比研究,提高医生的工作效率,帮助医生进行诊断,判断更为准确。 表 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.13.1应应用程序用程序对对象象设计设计 PowerBuilder9.0 开发的应用程序的入口点是 PowerBuilder9.0 的应用程 序对象,运行是程序从这个入口点启动,所以应用程序对象的设计是应用程序 设计的开始。 本应用程序对象中用到 Open 事件,输入如下程序代码: / Profile mzys2 SQLCA.DBMS = ODBC SQLCA.AutoCommit = False SQLCA.DBParm = ConnectString=DSN=mzys2;UID=;PWD= connect; /打开程序登录窗口 opensheet(w_zhigong,w_zhujiemian,8,original!) 首先在应用程序对象的变量定义窗口中定义全局变量,如 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 职工登陆界面 用户必须通过职工登录窗口才能够进入主界面。系统登录窗口主要实现功 能是确认用户身份及级别,并根据用户级别主界面菜单中该用户可以进行的操 作。 本系统根据医院具体情况将医院职工分为种 5 种职位,院长、医生、放射 员收费员和化验员。其中,院长级别最高,可以使用主界面菜单中的任何一种 操作,其他各种职位级别都只能享有各自级别的权限。医生可以进行病人就诊 的信息录入、查询和维护,定义主诉病历处方模板的定义和查询,化验检验结 果的查询、费用的查询等;收费员可以进行挂号收费及统计,预付费用的收缴 和统计等;放射员可以对病人的各项检查结果进行录入、查询、维护等;化验 员则是对病人的各项化验结果进行录入、查询、维护。 在登录界面的 OPEN()函数中定义一个游标 declare guser cursor,该游标 在 ygb 表中搜索 ygm 然后添加到员工名的下拉控件中,其代码如下: string ls_user declare guser cursor for select ygm from ygb order 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=0 if sqlca.sqlcode=-1 then messageBOX(数据错误,sqlca.sqlerrtext) end if end if close guser; ddlb_1.selectitem(0) 在“确定”按纽中当判断员工登录条件正确时则根据员工的职位判断那些 菜单功能将能被使用。 3.33.3主界面主界面 首先设计主菜单 m_zhujiemian,根据各模块设计好菜单项和各菜单项下面 的子菜单项,并可添加为用户登录和退出以及挂号 Toolbar,提供快捷操作。 然后在主窗口 w_zhujiemian 将 menuname 中选择设计好的主菜单 m_zhujiemian。应用程序的主要功能都是在主窗口 w_zhujiemian 及在其下打开 的众多窗口中完成的。主界面如图 6 所示。 图 6 医院管理系统主界面 不同用户登录后,由于职位级别不同,主界面也会有些差异,不能操作的 菜单项为灰色,因此,下面我们选用的都是“院长”级别登录后的主界面,将 主窗口的 WindowType 属性设立为 mdi 型,以便在其下以特定方式打开其他窗口。 主界面设计中主要是主菜单 m_zhujiemian 的设计,该菜单结构及代码如下: 登录: 用户登录: Clicked 事件程序代码: opensheet(w_zhigong,w_zhujiemian,8,original!) 退出: Clicked 事件程序代码:close(w_zhujiemian) 挂号系统: 挂号: Clicked 事件程序代码: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_zhujiemian,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 事件程序代码: 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_ghtongjilb,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_zhujiemian,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,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,original!) 检查结果维护: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挂号系挂号系统统模模块块 根据医院科室及挂号类型类设计挂号系统,自动产生病历号。先根据数据 库表 ghb 建立挂号系统的数据窗,然后建立挂号窗口,并使用该数据窗。挂号病 人要进入医院门诊就诊的第一步就是进行挂号,只有进行挂号后才能获得病历 号,得到其他服务。挂号界面如图 7 所示: 图 7 挂号系统界面 主要实现功能有自动分配病历号,录入员无法修改。单击“保存” 按钮的 时候,如图 8 所示: 图 8 挂号保存界面 “保存”按钮中的代码最主要的通过设置过滤条件来使数据窗口只能显示 当前一条记录。 本系统中,需要处理的数据繁多,如果仅是靠普通控件来进行输入、查询 和维护等操作,只能依靠纯粹的手写代码来进行与数据库数据之间的交互,将 会带来极大的不便。为此,采用数据窗口来进行对数据的处理。通过数据窗口, 可以对数据库进行操作,不但可以对每个数据库的表进行检索、查询、插入、 删除和更新,而且还可以为数据指定输入格式、输出格式和显示风格等。图 7 中左边显示数据的部分既为 Grid 风格的数据窗口。本系统中还用到 Group 风格 的来制作报表,将在图 9 出现。 图 9 挂号打印界面 如上图所示,在单击了图 7 图中的“打印”之后,系统会自动按照程序中 的代码的要求将自动流水号传递到报表窗口,其中的“预付款(挂号)单据” 所在的数据窗口即为 Group 窗口应用于数据报表的典型。 在挂号过程中,除了会为病人的分配此次的自动流水号之外,也会要为病 人分配一个病历号,由年份(4 位)序列号(4 位)构成。每到新的一年,序 列号都是从 0001 开始;如果不是在新的一年,则序列号是已经在医院就诊的病 人的人数加上 1 构成。为此,每次分配病历号时,从数据库中挂号表中提取最 大的病历号,将其中的年份与当前计算机上的年份相比较,如果相等,则将后 4 位的序列号加 1,如果是新的一年则直接让序列号位 0001。具体实现是在窗口 中定义,代码如下: /分配病历号 string a,b,d,c,n SELECT max(ghb.blh) into :a FROM ghb; b=left(a,4) d=string(year(today() c=right(a,4) if bd then messagebox(出错,当前系统时间有误,请先调整系统时间,stopsign!,OK!) else if b=d then c=string(integer(c)+1) n=fill(0,4 - len(c) c=n+c else c=0001 end if a=d+c blh1=a end if 分配病人自动流水号,病历号的同时,也是要同时在病人基本信息表当 中插入信息,首先也是先为表的主码“就诊号”分配号码。采用自定义的函数 jzh(): string a,b,c,d,e,f,g,h,i SELECT max(jzid) INTO :a FROM ghdj; b=string(year(today() /当前系统日期中年份的后两位 c=string(month(today() /当前系统日期中的月份 c=fill(0,2 - len(c)+c d=string(Day(today()/当前系统日期中的日期 d=fill(0,2 - len(d)+d e=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 then i=b+c+d+000001 else if cg then i=b+c+d+000001 else if dh then i=b+c+d+000001 else f=string(long(f)+1) i=b+c+d+fill(0,6 - len(f)+f end if end if end if st_11.text=i 3.53.5就就诊诊管理模管理模块块 病人在进入所挂号的科室进行就诊入口的界面如图 10 所示。 图 10 就诊入口界面 在该界面中两个按钮“简明信息填写”和“就诊”按钮提供了强大的病人 就诊信息的录入的功能,方便日后医生的对病人病史的掌握,日后的临床科学 研究以及病人对自己病史的了解。在界面中当输入病人 ID(blh),之后按下 “简明信息填写”按钮就进入病人基本信息得录入界面如图 11 所示。 图 11 病人基本信息录入界面 该界面中使用了创建好的数据窗 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 号也将被传递。 界面中可以通过“保存” 、 “新增”等系列按钮完成对病人此次就诊的记录 工作,同时医生也可以通过“申请”按钮对需要进行进一步详细检查的病人提 出检查申请,另外可以在“处方计价”当中对病人的药方进行计价。在医生对 病人出具病历处方的同时可以随时查阅“病历处方模板” ,以及可以通过“查看 报告”查看病人的既往检查化验。 图 12 就诊界面 上述的该功能模块中的相关功能都是“医生”的权限范围,以下将的检查 化验的报告界面分别属于“放射员” 和“化验员”的职限。 图 13 病人检查结果录入界面 在这个界面中最主要的就是“增加” 、 “退出”几个按钮中的相关代码完成 了对数据的录入保存: /判断窗体记录是否需要保存 int MCount int updateornot mcount=dw_hyjc_jcbg.modifiedcount() if mcount0 then updateornot=messagebox(保存修改,您修改了数据窗口中的数据,现在是否保存? ,Question!,YesNoCancel! ) if updateornot=1 then if update(dw_hyjc_jcbg,true,false)=1 then dw_hyjc_jcbg.resetupdate() commit; else rollback; messagebox(错误!,数据保存失败) return end if elseif updateornot=2 then rollback; elseif updateornot=3 then return; end if end if 3.63.6模板管理模模板管理模块块 在模板管理模块设计是为了医生可以完整的定义主诉病历处方模板,可以 分别定义主诉、病历、处方的模板以及在必要的时候进行模板查询。此模块将 更加方便医生平时的临床诊断,为临床科研提供依据。首先建立数据窗选择数 据库表 blcfb 中的字段 mbh,bzmc,bznr,cfnr,zsnr,ygh。在窗口中运用该数据 窗,通过该数据窗可将数据保存到数据表中。以下的录入模板设计类似此病历 处方模板录入模板如图 14。 图 14 完整模板录入界面 在前面提到的模板查询界面如图 15 所示: 图 15 病历主诉查询模板 当医生输入病症名称之后,按下“确定”键就可以在数据窗口中显示相似 病症的记录,如果相似病症是多条记录就可以通过“第一条” 、 “上一条” 、 “下 一条” 、 “最后一条”进行查询选择,代码如下: “第一条” dw_1.scrolltorow(1) st_4.text=1 “上一条” integer row_current row_current=dw_1.scrollpriorrow() st_4.text=string(row_current) “下一条” integer row_current row_current=dw_1.scrollnextrow() st_4.text=string(row_current) “最后一条” int row row = dw_1.rowcount() dw_1.scrolltorow(row) st_4.text= string(row) 3.73.7数据管理模数据管理模块块 在医院门诊庞大的日常管理工作中,不可缺少的是对后台数据库中的数据 进行管理,在该功能模块中就提供了对数据的统计,查询。 对挂号人数的分类统计(示例如图 16) 在主界面中点击“数据管理”下的“挂号人数统计” ,则通过如下代码进入 统计方式选择界面: opensheet(w_ghtongjilb,w_zhujiemian,8,original!) 根据不同选择然后判断打开何种统计图,如图 16 所示 图 16 挂号科室人数统计界面 是挂号人数按照科室统计的饼状图。该类型统计先创建一个根据数据表 ghdj 中的 jzid 和 kb 字段来 Graph 类型的数据窗,通过对 kb 字段分类然后通 过 count(jzid for graph)然后在创建的统计窗口中使用该数据窗来实现。 病人基本信息查询 设计可以综合条件的信息查询,提高可供选择的条件,医生可以通过组合 条件对所需要的病人基本信息以及简要病史进行查询,如图 17 所示。 图 17 病人基本信息查询窗口 预付款查询 图 18 查询剩余预付款界面 拥有查询预付款权限的员工进入该界面之后,只需要输入病人的病历号, 点 击“确定”按钮(该按钮代码如下): dec a,b,c string d SELECT blh into :d FROM ghdj WHERE blh=:sle_1.text; if :sqlca.SQLCode=0 then SELECT count(*) INTO :c ROM ghb WHERE blh=:sle_1.text; if c0 then SELECT sum(je) INTO :a FROM ghb WHERE blh=:sle_1.text; else a=0 messagebox(提示,病人尚未交付预付金,请先补交预付金) return end if SELECT count(*) INTO :c FROM fyb WHERE blh=:sle_1.text; if c0 then SELECT sum(ypkb.jg * fyb.sl) INTO :b FROM ypkb,fyb WHERE fyb.blh=:sle_1.text and fyb.xmnl=ypkb.ypbh; a=a - b end if if a=50 then d=目前预付金额还剩+string(a)+元 messagebox(剩余金额,d) elseif a=0 then d=目前预付金额仅剩+string(a)+元,请尽快补交预付金 messagebox(剩余金额,d) else d=目前预付金额透支+string(Abs(a)+元,请尽快补交预付金 messagebox(剩余金额,d) end if sle_1.setfocus() else messagebox(提示,病历号输入有误,请检查后重新输入) end if 3.83.8报报表模表模块块 由于前面的个功能模块中都对病人的就诊各阶段的结果进行查询,所以在 设计报表功能模块时主要考虑对病人的预付款项以及病人的费用进行统计并呈 报表。 首先创建一个祖先窗口 w_preview 如图 19 所示,它是报表生成的通用窗口, 具有预览、放大缩小、打印、保存等功能,可以用于各个报表模块窗口的继承。 图 19 报表祖先窗口 病人预付报表窗口是 w_preview 祖先窗口的继承窗口,具有 w_preview 窗 口的功能,界面如图 20 所示。 病人预付报表窗口用于生成病人的费用凭单,既可以用来生成病人的所有 费预付的款项凭单,也可以生成其中任何一次预付凭单。其与 w_preview 祖先 窗口相比,多了一个显示功能,可以通过病历号或自动流水号来查询符合条件 的记录,并显示在数据窗口中。 图 20 病人预付款报表界面 此窗口所使用的数据窗口采用的是 Group 分组显示样式的,这种显示风格 的特点是可以检索到的数据按某一列分组显示,并允许为每一组指定一些计算。 本窗口就是按自动流水号来分组,分别对每一个自动流水号中的金额和整张预 付凭单的金额进行统计。可以做到清晰明了,便于病人查阅。 病人费用报表与预付凭单报表风格模式上相同,都是由 w_preview 继承而来。 病人费用报表既可以根据病历号生成一个病人按照费用凭单号来分组的所有费 用的单据,又可以根据费用凭单号生成其中一次费用的单据。 4 4 关键功能点的测试关键功能点的测试 本章节介绍该小型医院信息管理系统的主要功能点的测试,包括:登录模 块、就诊入口模块、费用报表模块。 4.14.1登登录录模模块测试块测试 预期结果:当正确输入与数据库表 ygb 中数据一致的员工名,ID 及密码时 都能登录系统。当输入的员工 ID 或密码与员工名不匹配时则分别提示何种输入 错误。 根据本系统的健壮性要求对此进行了 8 次测试,下面根据测试的分类列举 了 3 次测试结果。 当选择员工名“陈冲”后输入正确的员工号“04002”和密码“cc”登录进 该系统可执行与他权限内的操作。 当选择员工名“陈冲”后输入错误的员工号“04001”和正确密码“cc”与 该出现如下图 21 所示的提示框。 图 21 登录功能测试一 当选择员工名“陈冲”后输入正确的员工号“04002”和错误密码“cd”与 该出现如下图 22 所示的提示框。 图 22 登录功能测试二 分析:经 8 次不同类型及各类型的不同种输入的结果都与预期结果一样, 得出结论,此功能基本达到系统预期要

温馨提示

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

评论

0/150

提交评论