医院信息管理系统的设计与开发.docx
- 文档编号:26222230
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:28
- 大小:413.77KB
医院信息管理系统的设计与开发.docx
《医院信息管理系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《医院信息管理系统的设计与开发.docx(28页珍藏版)》请在冰豆网上搜索。
医院信息管理系统的设计与开发
医院信息管理系统的设计与开发
摘要
本文所介绍的小型医院信息管理系统旨在改善某小型医院的信息管理,改变医院的信息处理基本还停留在手工方式的状况,降低劳动强度,提高工作效率。
本系统不仅适用于医院的行政管理业务,也适用于具体的就诊事务业务。
本系统可以使医务人员空出更多的精力和时间服务于病人,同时保证病人和医院的经济利益,从而使医院能够以少的投入获得更好的社会效益与经济效益。
本系统是利用PowerBuilder并结合医院病人管理制度,严格按照软件生命周期来设计的一个信息管理系统。
实现了一个包括就诊管理、模板处理、数据统计等模块在内的小型医院信息管理系统,实现不同员工登录、病人挂号就医、病人信息查询、医生出具处理处方和划价、门诊收费与统计等功能。
本文简要介绍了医院管理系统的项目背景和意义,着重阐述了该系统的开发实现过程,从系统目标,需求分析、总体设计、详细设计、到系统测试等各个环节都进行了详细的分析和描述。
关键词:
数据库;PowerBuilder;就诊
TheDesignandImplementationofaSmallScaleHospitalInformationManagementSystem
Abstract
Thesmallscalehospitalinformationmanagementsystemisdesignedforimprovingtheinformationmanagementofsmallhospital,reducingthelaborintensityandenhancingworkingefficiency.Thissystemcansupporttheadministrationofthehospitalandmanagethebusiness.Inaddition,itcanhelpfacilitatethepatient,andbringsocialandeconomicinteresttothehospital.
ThissystemusesPowerBuilderasdevelopinglanguage,whichisdesignedaccordingtosoftwarelifecycle.Thesystemcanimplementthepatient’sregistrationbeforehisgoingtoseeadoctor,doctor’sprocessingprescriptionandmanagementofexpense.Thethesisintroducesthesystem’sprojectbackgroundandsignificancebriefly,elaboratesthesystem’simplementationprocess.Italsoanalysesanddescribesallthestagesofthesystem,includingfeasibilitystudy,demandanalysis,outlinedesign,detaileddesignandsystemtest.
Keywords:
database;PowerBuilder;prescription
论文总页数:
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所示。
图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
文本
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)。
此表字段用来记录病人在医院挂号就医时产生的相关数据。
表2ghb
字段名
数据类型
字段大小
必填字段
id
文本
9
是
blh
文本
8
否
rq
日期/时间
否
sj
日期/时间
否
ghf
数字
长整型
否
je
数字
长整型
否
3.化验检查表(hyjc):
病历号(blh),化验日期(hyrq),化验时间(hysj),检验员(jyy),状态(zt)等,其中化验检查中的具体项目由于数目众多,在此就不一一列出。
主码是病历号(blh),化验日期(hyrq)。
此表字段用来记录病人在院就医时不同状态的检查产生的结果
表3hyjc
字段名
数据类型
字段大小
必填字段
blh
文本
8
是
hyrq
日期/时间
是
rq
日期/时间
是
zt
数字
长整型
否
jyy
文本
5
否
4.费用表(fyb):
费用凭单号(id),病历号(blh),项目内容(xmnl),数量(sl),收费科室(sfks)。
主码是费用凭单号(id),项目内容(xmnl)。
此表字段用来记录病人在院所做就医项目的相关信息。
表4fyb
字段名
数据类型
字段大小
必填字段
id
文本
14
是
blh
文本
8
是
xmnl
文本
13
是
sfks
文本
20
否
sl
数字
长整型
否
5.药品库表(ypkb):
药品编号(ypbh),药品名(ypm),类别(lb),价格(jg),包装规格(bzgg),单位(dw),药用字典(yyzd)。
主码是药品编号(ypbh)。
此表字段用来记录医院各种项目药品的相关信息。
表5ypkb
字段名
数据类型
字段大小
必填字段
ypbh
文本
13
是
ypm
文本
30
是
lb
文本
4
否
jg
数字
小数
否
bzgg
文本
6
否
dw
文本
6
否
yyzd
文本
100
否
6.病历处方表(blcfb):
模板号(mbh),病症名称(bzmc),病历内容(blnr),处方内容(cfnr),主诉内容(zsnr),开方医生(ygh)。
主码是模板号(mbh)。
此表字段用来记录医生对病症的研究和描述,方便医生对同种病症不同情况进行对比研究,提高医生的工作效率,帮助医生进行诊断,判断更为准确。
表6ypkb
字段名
数据类型
字段大小
必填字段
mbh
文本
14
是
bzmc
文本
100
否
blnr
文本
200
否
cfnr
文本
200
否
zsnr
文本
200
否
ygh
文本
5
否
7.员工表(ygb):
员工号(ygh),员工名(kb),科别(kb),职位(zw),密码(pwd),等级(dj)。
主码是员工号(ygh)。
此表字段用来记录医院员工的基本信息并在登陆时的根据登记判断其权限。
表7ypkb
字段名
数据类型
字段大小
必填字段
ygh
文本
5
是
ygm
文本
20
否
kb
文本
10
否
zw
文本
10
否
pwd
文本
10
否
dj
文本
10
否
3本系统功能模块设计与实现
3.1应用程序对象设计
PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象,运行是程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。
本应用程序对象中用到Open事件,输入如下程序代码:
//Pro
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主界面
3.4挂号系统模块
3.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病人检查结果录入界面
在这个界面中最主要的就是“增加”、“退出”几个按钮中的相关代码完成了对数据的录入保存:
//判断窗体记录是否需要保存
intMCount
intupdateornot
mcount=dw_hyjc_jcbg.modifiedcount()
ifmcount>0then
updateornot=messagebox("保存修改","您修改了数据窗口中的数据,现在是否保存?
",Question!
YesNoCancel!
)
ifupdateornot=1then
ifupdate(dw_hyjc_jcbg,true,false)=1then
dw_hyjc_jcbg.resetupdate()
commit;
else
rollback;
messagebox("错误!
!
!
","数据保存失败")
return
endif
elseifupdateornot=2then
rollback;
elseifupdateornot=3then
return;
endif
endif
3.6模板管理模块
在模板管理模块设计是为了医生可以完整的定义主诉病历处方模板,可以分别定义主诉、病历、处方的模板以和在必要的时候进行模板查询。
此模块将更加方便医生平时的临床诊断,为临床科研提供依据。
首先建立数据窗选择数据库表blcfb中的字段mbh,bzmc,bznr,cfnr,zsnr,ygh。
在窗口中运用该数据窗,通过该数据窗可将数据保存到数据表中。
以下的录入模板设计类似此病历处方模板录入模板如图14。
图14完整模板录入界面
在前面提到的模板查询界面如图15所示:
图15病历主诉查询模板
当医生输入病症名称之后,按下“确定”键就可以在数据窗口中显示相似病症的记录,如果相似病症是多条记录就可以通过“第一条”、“上一条”、“下一条”、“最后一条”进行查询选择,代码如下:
⑴“第一条”
dw_1.scrolltorow
(1)
st_4.text="1"
⑵“上一条”
integerrow_current
row_current=dw_1.scrollpriorrow()
st_4.text=string(row_current)
⑶“下一条”
integerrow_current
row_current=dw_1.scrollnextrow()
st_4.text=string(row_current)
⑷“最后一条”
introw
row=dw_1.rowcount()
dw_1.scrolltorow(row)
st_4.text=string(row)
3.7数据管理模块
在医院门诊庞大的日常管理工作中,不可缺少的是对后台数据库中的数据进行管理,在该功能模块中就提供了对数据的统计,查询。
⑴对挂号人数的分类统计(示例如图16)
在主界面中点击“数据管理”下的“挂号人数统计”,则通过如下代码进入统计方式选择界面:
opensheet(w_ghtongjilb,w_zhujiemian,8,original!
)
根据不同选择然后判断打开何种统计图,如图16所示
图16挂号科室人数统计界面
是挂号人数按照科室统计的饼状图。
该类型统计先创建一个根据数据表ghdj中的jzid和kb字段来Graph类型的数据窗,通过对kb字段分类然后通过count(jzidforgraph)然后在创建的统计窗口中使用该数据窗来实现。
⑵病人基本信息查询
设计可以综合条件的信息查询,提高可供选择的条件,医生可以通过组合条件对所需要的病人基本信息以和简要病史进行查询,如图17所示。
图17病人基本信息查询窗口
⑶预付款查询
图18查询剩余预付款界面
拥有查询预付款权限的员工进入该界面之后,只需要输入病人的病历号,点
击“确定”按钮(该按钮代码如下):
deca,b,c
stringd
SELECTblh
into:
d
FROMghdj
WHEREblh=:
sle_1.text;
if:
:
sqlca.SQLCode=0then
SELECTcount(*)INTO:
cROMghbWHEREblh=:
sle_1.text;
ifc>0then
SELECTsum(je)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医院 信息管理 系统 设计 开发