1、 2.1.1 总体开发工具及环 本系统采朋的软件开发工具及环境如下; 媒作系统:WINDOWSXP 编程工具:PowerBuilder9.0 数据库;ACCESS 2.1.2 开发工具简介PowerBuilder是一个图形化的应用程序开发环境。使用PowerBuilder开发的应用软件由窗口构成,窗口中不仅可以包含按钮,下拉列表及单选按钮等标准的Windows控件,还可以有PowerBudilder提供的特殊控件,这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。例如,数据窗口就是PowerBuilder提供的一个集成度很高的控件,使用该控件可以很方便的从数据库中提取数据,很简单
2、的检索数据,提供图形化的数据显示方式,创建统计功能非常强大的数据统计表。由于数据窗口对数据的操作的数据库应用软件提供了可靠的保证。商业化的软件开发要求很好的移植性。PowerBuilder即可以跨平台开发,也可以发行跨平台软件。例如,在Windows95下开发的程序,可以不修改源程序面形成UNIX下的执行文件或Macintosh下的执行文件。在开发小组中,不同成员可以使用不同的开发环境,但由于PowerBuilder的支持,在不同的开发环境下看到的共享PowerBuilder对象是相同的,所以仍可以同时开发同一个应用程序。随着软件技术的不断发展,PowerBuilder 9.0及时地强化了开发
3、功能,并提供了一些配套的开发工具,成为一种易于使用的,可伸缩的并经实践证明的快速集成开发环境,它在给用户提供一条转移到下一代平台的途径的同时,使用户仍能够保护和扩展西安哟的技术和应用上的投资。2.2系统需求分析病人在就诊过程中,基本的业务流程如图2-1所示化验检查医生诊断费用管理图2-1 业务流程图通过对病人就诊流程及管理的调查和了解,初步确定了该系统的基本需求情况:1)在病人就诊之前,必须进行挂号,包括病人的基本信息,挂号费用,预存费等。2)在病人进行挂号的同时,可以自动为病人分配病历号,作为病人在就诊过程中的唯一标识。3)在病人就诊时,医生可以对病人基本信息(包括简要病史等等)进行登记。4
4、)对病人每次就以的主诉,病理,处方进行输入,并可以进行查询和维护。5)各种化验检查信息的输入,查询和维护,并可以进行异常提醒。6)对病人的预付款进行管理,并且当预付金额不够时可以提醒补交预付款。7)对病人就诊过程中的各种费用进行管理。8)可以打印病人预付款单据和费用凭单。9)医生可以查询病人治疗情况。化验检查结果,以便跟踪病人病情发展情况,同时也有助于医生对各种病例进行分析研究。2.3系统功能结构设计 本系统统划分为7个功能模块,系统功能模块图如图2-2所示图2-2功能模块图各模块如下1)员工管理:主要包括员工登陆,修改密码,判别用户级别功能。2)病人管理:主要包括病人的基本信息的录入,查询和
5、维护等操作。病人基本信息的录入窗口可以从就诊窗口进入,系统可以记忆当前就诊病人病历号以及当前录入员的姓名3)就诊管理:主要包括对病人此次就诊病情的录入,国王病史的查询及检查和化验结果进行录入。4)模板管理:主要医生针对各种典型病种所开具的主诉、病历、处方录入查询。5)化验检查管理:主要包括对病人每次所做化验和检查的结果进行录入,查询和维护。6)费用管理:主要包括对预付款管理和费用管理。预付款管理:主要包括对预付金额进行录入、查询和维护等操作。并且可以根据支出情况进行费用统计、查询余额和缺钱警示。费用支出管理:主要包括对病人药费、检查、化验等支出进行录入、查询和维护等操作。7)报表打印:根据需求
6、生成各种报表,并且打印出来。2.4数据库设计与实现 在仔细调查医院就诊管理过程的基础上,得到系统所要处理的数据流程图,如图3所示:本系统根据上米娜的设计规划的实体有四个,病人、医生、化验检查员、药品。下面 为本系统实体之间关系的E-R图:如图3所示:图2-3 E-R图系统中所用的用例图如下图2-4 用例图根据以上的分析设计得到实际数据库模型。数据库设计如下:表2-5 数据库字段名数据类型字段大小必填字段Jzid文本14是blh8Xm20否Sfzh数字小数xb4sr日期/时间短日期hfdz100dh15ryrqkb10zs200xbsblcfyzygh5病人基本情况表(ghd):就诊号(jzid
7、)、病历号(blh)、姓名(xm)、身份证号(sfzh)、性别(xb)、出生日期(sr)、婚否(hf)、地址(dz)、电话(dh)、日期(ryrq)、科别(kb)、主诉(zs)、现病史(xbs)、病历(bl)、处方(cf)、医嘱(yz)、医生(ys)。主码是就诊号(jzid)。此表字段用来保存病人的相关详细信息,包括病人基本信息和病人在医院就诊相关信息。1)挂号表(ghb):流水号(id)、病历号(blh)、日期(rq)、时间(sj)、挂号费(ghf)、金额(je)。主码是流水号(id)。此表字段用来记录病人在医院挂号就医时产生的相关数据。2)化验检查表(hyjc):病历号(blh)、化验日期
8、(hyrq)、化验时间(hysj)、检验员(jyy)、状态(zt)等,其中化验检查中的具体项目由于数目众多,在此就不一一列出。主码是病历号(blh),化验日期(hyrq)。此表字段用来记录病人在院就医时不同状态的检查产生的结果。3)费用表(fyb):费用凭单号(id)、病历号(blh)、项目内容(xmnl)、数量(sl)、收费科室(sfks)、。主码是费用凭单号(id),项目内容(xmnl)。此表字段用来记录病人在院所做就医项目的相关信息。4)药品库表(ypkb):药品编号(ypbh)、药品名(ypm)、类别(lb)、价格(jg)、包装规格(bzgg)、单位(dw)、药用字典(yyzd)。主码
9、是药品编号(ypbh)。此表字段用来记录医院各种项目药品的相关信息。5)病历处方表(blcfb):模版号(mbh)、病症名称(bzmc)、病历内容(blnr)、处方内容(cfnr)、主诉内容(zsnr)、开方医生(ygh)。主码是模板号(mbh)。此表字段用来记录医生对病症的研究和描述,方便医生对同种病症不同情况进行对比研究,提高医生的工作效率,帮助医生进行诊断,判断更为准确。6)员工表(ygb):员工号(ygh)、员工名(kb)、科别(kb)、职位(zw)、密码(pwd)、等级(dj)。主码是员工号(ygh)。此表字段用来记录医院员工的信息并在登陆时的根据等级判断其权限。3本系统功能模块设计
10、与实现3.1应用程序对象设计PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象,运行时程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。本应用程序对象中用到Open事件,输入如下程序代码:/Profile mzys2SQLCA.DBMS=”ODBC”SQLACA.AutoCommit = FalseSQLCA.DBParm = “ConnectSrting=DSN=mzys2;UID=;PWD=”connect:/打开程序登陆窗口Opensheet(w_zhigong,w_zhujiemian,8,original!)首先在应用程
11、序对象的变量定义窗口中定义全局变量,如int G_input_time定义的变量时登陆时输入用户名和密码的次数,string yg_name定义的是用户名,string yg_ygh定义的是员工号,string g_pwd定义的是密码,string g_blh定义病历号,string g_jzid定义病人的就诊号等等。3.2职工登陆界面应用程序运行后第一个出现窗口就是w_login登陆窗口 用户必须通过职工登陆窗口才能够进入主界面。系统登陆窗口主要实现功能是确认用户身份及级别,并根据用户级别主界面菜单中该用户可以进行的操作。 本系统根据医院具体情况将医院职工分为5种职位,院长、医生、放射员收费
12、员和化验员。其中,院长级别最高,可以使用主界面菜单中的任何一种操作,其他各种职位级别都只能享有各自级别的权限。医生可以进行病人就诊的信息路途、查询和维护,定义主诉病历处方模板的定义和查询,化验检验结果的查询、费用的查询等;收费员可以进行挂号收费及统计,预付费用的收缴和统计等;放射员可以对病人的各项检查结果惊醒录入、查询、维护等;化验员则是对病人的各项化验结果进行录入、查询、维护。在登陆介苗的OPEN()函数中定义一个游标declare guscr cursor,该游标在ygb表中搜索ygm然后添加到员工名的下拉控件中,其代码如下: String ls_user Declare guser cu
13、rsor for Select ygm From ygbOrder by ygh; Open guser;If SQLCA.SQLCode=-1 thenMessageBox(“数据错误”,SQLCA.SQLErrText) Else do If ls_userthen 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 Close guser Ddlb_1.select
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1