医院信息管理系统的研究设计与开发文档格式.docx
《医院信息管理系统的研究设计与开发文档格式.docx》由会员分享,可在线阅读,更多相关《医院信息管理系统的研究设计与开发文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
![医院信息管理系统的研究设计与开发文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/1/5fdd3c28-4e58-4621-ae7d-11c93bb8a246/5fdd3c28-4e58-4621-ae7d-11c93bb8a2461.gif)
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
1引言
1.1课题背景
随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。
人们的身体健康也在不断受到重视。
因此,医院进行现代化管理就变得尤为重要。
目前社会正处于健保发展方兴未艾的时代,各医疗院所莫不兢兢业业地改善本身的体制或管理方式,以因应健保越来越严格的规范。
小型医院信息管理系统是适应时代发展的需要,提高管理的效率而开发设计的。
1.2国内外研究现状
一个完整的医院信息管理系统应该既包括医院管理信息系统,又包括临床医疗信息系统,国外研究机构在力求实现医院信息管理系统的完整性。
临床信息管理系统在数据处理的实时性要求、相应速度、安全保密等方面一般要比管理信息系统有更苛刻的要求。
而医院管理信息系统的计算机技术较为单纯和简单,也由于医院管理信息系统以处理文字和数字类数据为主,较少设计声音、图象、多媒体数据的动态传递等复杂要求,实现起来容易的多。
1.3本课题研究的意义
本系统通过对病人信息管理系统方案的设计和实施,提出一种对病人在就诊过程中产生的信息进行数字化管理的技术,为门诊建立起信息高速公路,促使医院门诊逐步形成方便、科学、合理的管理模式。
从根本上改变传统的依靠文件等信息的传递方式,实现无纸化办公,简化就诊手续,加快信息流通速度,提高治疗效率,基本实现医院系统的数字化管理。
同时,本系统对病人既往病史以及用药记录存档,既便于医生更加准确的对当前病人的诊断,同时也有利于医生对各种病例进行分析研究。
病历模板的套餐制更具灵活性。
2关键技术介绍
2.1开发工具及运行环境
2.1.1总体开发工具及环境
本系统采用的软件开发工具及环境如下:
Ø
操作系统:
WINDOWSXP
编程工具:
PowerBuilder9.0
数据库:
ACCESS
2.1.2开发工具简介
PowerBuilder是一个图形化的应用程序开发环境。
使用PowerBuilder开发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按纽等标准的Windows控件,还可以有PowerBuilder提供的特殊控件。
这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。
例如,数据窗口就是PowerBuilder提供的一个集成度很高的控件,使用该控件可以很方便地从数据库中提取数据,很简单地检索数据,提供图形化的数据显示方式,创建统计功能非常强大的数据统计表。
由于数据窗口对数据的操作是通过事务进行的,所以对数据的操作有很强的可靠性。
这些都为开发功能强大的数据库应用软件提供了可靠的保证。
商业化的软件开发要求有很好的移植性。
PowerBuilder既可以跨平台开发,也可以发行跨平台软件。
例如,在Windows95下开发的程序,可以不修改源程序而形成UNIX下的执行文件或Macintosh下的执行文件。
在开发小组中,不同成员可以使用不同的开发环境,但由于PowerBuilder的支持,在不同的开发环境下看到的共享PowerBuilder对象是相同的,所以仍可以同时开发同一个应用程序。
随着软件技术的不断发展,PowerBuilder9.0及时地强化了开发功能,并提供了一些配套的开发工具,成为一种易于使用的、可伸缩的并经实践证明的快速集成开发环境。
它在给用户提供一条转移到下一代平台的途径的同时,使用户仍能够保护和扩展现有的技术和应用上的投资。
2.2系统需求分析
病人在就诊过程中,基本的业务流程如图1所示:
图1业务流程图
通过对病人就诊流程及管理的调查和了解,初步确定了该系统的基本需求情况:
1.在病人就诊之前,必须进行挂号,包括病人的最基本信息,挂号费用,预存费等。
2.在病人进行挂号的同时,可以自动为病人分配病历号,作为病人在就诊过程中的唯一标识。
3.在病人就诊时,医生可以对病人基本信息(包括简要病史等等)进行登记。
4.对病人每次就医的主诉,病历,处方进行输入,并可以进行查询和维护。
5.各种化验检查信息的输入、查询和维护,并可以进行异常提醒。
6.对病人的预付款进行管理,并且当预付金额不够时可以提醒补交预付款。
7.对病人就诊过程中的各种费用进行管理。
8.可以打印病人预付款单据和费用凭单。
9.医生可以查询病人治疗情况、化验检查结果,以便跟踪病人病情发展情况,同时也有助于医生对各种病例进行分析研究。
2.3系统功能结构设计
本系统划分为7个功能模块,系统功能模块图如图2所示。
各模块如下:
1.员工管理:
主要包括员工登陆,修改密码,判别用户级别功能。
2.病人管理:
主要包括病人的基本信息登记。
主要包括对病人基本信息的录入、查询和维护等操作。
病人基本信息的录入窗口可以从就诊窗口进入,系统可以记忆当前就诊病人病历号以及当前录入员的姓名。
3.就诊管理:
主要包括对病人此次就诊病情的录入,过往病史的查询及检查和化验结果进行录入。
4.模板管理:
主要医生针对各种典型病种所开具的主诉、病历、处方录入、查询。
5.化验检查管理:
主要包括对病人每次所做化验和检查的结果进行录入、查询和维护。
6.费用管理:
主要包括预付款管理和费用管理。
预付款管理:
主要包括对预付金额进行录入、查询和维护等操作。
并且可以根据支出情况进行费用统计、查询余额和缺钱警示。
费用支出管理:
主要包括对病人药费、检查、化验等支出进行录入、查询和维护等操作。
7.报表打印:
根据需要生成各种报表,并且打印出来。
2.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)。
此表字段用来保存病人的相关详细信息,包括病人基本信息和病人在医院就诊相关信息。
表1ghdj
字段名
数据类型
字段大小
必填字段
jzid
文本
14
是
blh
8
xm
20
否
sfzh
数字
小数
xb
4
sr
日期/时间
短日期
hf
dz
100
dh
15
ryrq
kb
10
zs
200
xbs
bl
cf
yz
ygh
5
2.挂号表(ghb):
流水号(id),病历号(blh),日期(rq),时间(sj),挂号费(ghf),金额(je)。
主码是流水号(id)。
此表字段用来记录病人在医院挂号就医时产生的相关数据。
表2ghb
id
9
rq
sj
ghf
长整型
je
3.化验检查表(hyjc):
病历号(blh),化验日期(hyrq),化验时间(hysj),检验员(jyy),状态(zt)等,其中化验检查中的具体工程由于数目众多,在此就不一一列出。
主码是病历号(blh),化验日期(hyrq)。
此表字段用来记录病人在院就医时不同状态的检查产生的结果
表3hyjc
hyrq
zt
jyy
4.费用表(fyb):
费用凭单号(id),病历号(blh),工程内容(xmnl),数量(sl),收费科室(sfks)。
主码是费用凭单号(id),工程内容(xmnl)。
此表字段用来记录病人在院所做就医工程的相关信息。
表4fyb
xmnl
13
sfks
sl
5.药品库表(ypkb):
药品编号(ypbh),药品名(ypm),类别(lb),价格(jg),包装规格(bzgg),单位(dw),药用字典(yyzd)。
主码是药品编号(ypbh)。
此表字段用来记录医院各种工程药品的相关信息。
表5ypkb
ypbh
ypm
30
lb
4
jg
bzgg
6
dw
yyzd
6.病历处方表(blcfb):
模板号(mbh),病症名称(bzmc),病历内容(blnr),处方内容(cfnr),主诉内容(zsnr),开方医生(ygh)。
主码是模板号(mbh)。
此表字段用来记录医生对病症的研究和描述,方便医生对同种病症不同情况进行对比研究,提高医生的工作效率,帮助医生进行诊断,判断更为准确。
表6ypkb
mbh
bzmc
blnr
cfnr
zsnr
7.员工表(ygb):
员工号(ygh),员工名(kb),科别(kb),职位(zw),密码(pwd),等级(dj)。
主码是员工号(ygh)。
此表字段用来记录医院员工的基本信息并在登陆时的根据登记判断其权限。
表7ypkb
ygm
zw
pwd
dj
3本系统功能模块设计与实现
3.1应用程序对象设计
PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象,运行是程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。
本应用程序对象中用到Open事件,输入如下程序代码:
//Profilemzys2
SQLCA.DBMS="
ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="
ConnectString='
DSN=mzys2。
UID=。
PWD='
"
connect。
//打开程序登录窗口
opensheet(w_zhigong,w_zhujiemian,8,original!
)
首先在应用程序对象的变量定义窗口中定义全局变量,如intG_input_time定义的变量是登录时输入用户名和密码的次数,stringyg_name定义的是用户名,stringyg_ygh定义的是员工号,stringg_pwd定义的是密码,stringg_blh定义病历号,stringg_jzid定义病人的就诊号等等。
3.2职工登录界面
应用程序运行后第一个出现的窗口就是w_login登陆窗口,界面如图5所示。
图5职工登陆界面
用户必须通过职工登录窗口才能够进入主界面。
系统登录窗口主要实现功能是确认用户身份及级别,并根据用户级别主界面菜单中该用户可以进行的操作。
本系统根据医院具体情况将医院职工分为种5种职位,院长、医生、放射员收费员和化验员。
其中,院长级别最高,可以使用主界面菜单中的任何一种操作,其他各种职位级别都只能享有各自级别的权限。
医生可以进行病人就诊的信息录入、查询和维护,定义主诉病历处方模板的定义和查询,化验检验结果的查询、费用的查询等;
收费员可以进行挂号收费及统计,预付费用的收缴和统计等;
放射员可以对病人的各项检查结果进行录入、查询、维护等;
化验员则是对病人的各项化验结果进行录入、查询、维护。
在登录界面的OPEN()函数中定义一个游标declaregusercursor,该游标在ygb表中搜索ygm然后添加到员工名的下拉控件中,其代码如下:
stringls_user
declaregusercursorfor
selectygm
fromygb
orderbyygh。
openguser。
ifSQLCA.SQLCode=-1then
MessageBox("
数据错误"
SQLCA.SQLErrText)
elsedo
ifls_user<
>
'
thenddlb_1.additem(ls_user)
fetchguserinto:
ls_user。
loopwhilesqlca.sqlcode=0
ifsqlca.sqlcode=-1then
messageBOX("
sqlca.sqlerrtext)
endif
endif
closeguser。
ddlb_1.selectitem(0)
在“确定”按纽中当判断员工登录条件正确时则根据员工的职位判断那些菜单功能将能被使用。
3.3主界面
首先设计主菜单m_zhujiemian,根据各模块设计好菜单项和各菜单项下面的子菜单项,并可添加为用户登录和退出以及挂号Toolbar,提供快捷操作。
然后在主窗口w_zhujiemian将menuname中选择设计好的主菜单m_zhujiemian。
应用程序的主要功能都是在主窗口w_zhujiemian及在其下打开的众多窗口中完成的。
主界面如图6所示。
图6医院管理系统主界面
不同用户登录后,由于职位级别不同,主界面也会有些差异,不能操作的菜单项为灰色,因此,下面我们选用的都是“院长”级别登录后的主界面,将主窗口的WindowType属性设立为mdi型,以便在其下以特定方式打开其他窗口。
主界面设计中主要是主菜单m_zhujiemian的设计,该菜单结构及代码如下:
⑴登录:
1用户登录:
Clicked事件程序代码:
2退出:
close(w_zhujiemian)
⑵挂号系统:
1挂号:
opensheet(w_guahao,w_zhujiemian,8,original!
2预付:
opensheet(w_yufu,w_zhujiemian,8,original!
⑶就诊管理:
1就诊入口:
opensheet(w_jiuzhenrukou,w_zhujiemian,8,original!
2就诊历史:
opensheet(w_lishi,w_zhujiemian,8,original!
3检查报告:
opensheet(w_hyjc_jcbg,w_zhujiemian,8,original!
4化验:
血常规报告:
Clicked事件程序代码
openSheet(w_hyjc_twd,w_main,8,Layered!
尿常规报告:
opensheet(w_hyjc_ncg,w_zhujiemian,8,original!
生化检查报告:
opensheet(w_hyjc_shjc,w_zhujiemian,8,original!
⑷模板管理:
1定义完整模板:
opensheet(w_jb,w_zhujiemian,8,original!
2定义主诉模板:
opensheet(w_dingyizs,w_zhujiemian,8,original!
3定义病历模板:
opensheet(w_dingyibl,w_zhujiemian,8,original!
4定义处方模板:
opensheet(w_dingyicf,w_zhujiemian,8,original!
5模板查询:
opensheet(w_blzsmb,w_zhujiemian,8,original!
⑸数据管理:
1挂号人数统计:
opensheet(w_ghtongjilb,w_zhujiemian,8,original!
2病人基本信息查询:
opensheet(w_jbxx_cx,w_zhujiemian,8,original!
3预付款查询:
opensheet(w_yufucx,w_zhujiemian,8,original!
4病人血常规查询:
opensheet(w_hyjc_xcg_cx,w_zhujiemian,8,original!
5病人尿常规查询:
opensheet(w_hyjc_ncg_cx,w_zhujiemian,8,original!
6病人生化查询:
opensheet(w_hyjc_shjc_cx,w_zhujiemian,8,original!
7病人检查结果查询:
opensheet(w_hyjc_jcbg_cx,w_zhujiemian,8,original!
⑹数据管理:
1用户安全维护:
opensheet(w_change,w_zhujiemian,8,original!
2常用维护药字典维护:
opensheet(w_yaodian,w_zhujiemian,8,original!
3病人基本信息维护:
opensheet(w_jbxx_wh,w_zhujiemian,8,original!
4血常规检查结果维护:
opensheet(w_hyjc_xcg_wh,w_zhujiemian,8,original!
5尿常规检查结果维护:
opensheet