潍坊市中医院管理信息系统设计与实现.docx
《潍坊市中医院管理信息系统设计与实现.docx》由会员分享,可在线阅读,更多相关《潍坊市中医院管理信息系统设计与实现.docx(67页珍藏版)》请在冰豆网上搜索。
潍坊市中医院管理信息系统设计与实现
密级:
工程硕士专业学位论文(设计)
题目潍坊市中医院管理信息系统设计与实现
作者完成日期2013年06月
培养单位四川大学
指导教师
指导教师
工程领域软件工程
授予学位日期2013年12月日
潍坊市中医院管理信息系统设计与实现
软件工程领域
研究生指导老师
医疗信息系统信息系统在国外的发展起步比较早,也取得了不少成果,并且随着经济生活的不断发展,计算机技术在经济发展以及医疗系统深入变革中,起到了越来越重要的作用。
由于我国目前医疗保险体制不健全,我国大部分医疗信息系统收费还是以现金为主,并且光与信息共享不能实现,主要以局域内医疗信息系统信息共享为主,结算机制复杂效率低,信息传输不及时等缺点,还有待于不断的开发与完善。
现在有很多计算机仍然是在老的系统下运行,而且数据库的安全性不高,容易导致数据的丢失。
本系统的主要特点是采用传统的C/S体系结构,它应用于企业信息系统的优势体现在将应用程序与数据存取一分为二,分别由Client和Server执行,表现为“服务请求与服务响应”,充分利用Client与Server的资源,又减少了网络通信负担,具有很好运行效率和数据的安全、一致性。
本系统开发的主要目的就是要使医院管理实现电子化,使在职人员能够有序的管理自己业务范围内的事务,使医院运用现代化技术创造更多更高的经济效益。
通过测试功能完善,整体结构合理,所用技术成熟,系统运行稳定,无明显漏洞,安全性良好,无完全性事故出现,取得了较好的运行效果。
关键词:
MISHIS医疗保险定点医院
DesignandimplementationofWeifangTraditionalChineseMedicineHospitalmanagementinformationsystem
SoftwareEngineering
GraduateStudent:
Adviser:
Thedevelopmentofmedicalinformationsysteminformationsystemstartedrelativelyearly,alsomadealotofachievements,andwiththedevelopmentofcomputertechnologyintheeconomiclife,economicdevelopmentandfurtherreformofmedicalsystem,playsamoreandmoreimportantrole.Becauseofthemedicalinsurancesystemisnotperfect,themajorityofChina'smedicalinformationsystemchargesortocash,andthelightcannotbeachievedandsharedinformation,mainlyinthelocalareamedicalinformationsystem,informationsharing,thesettlementmechanismofcomplexlowefficiency,informationtransmissionnotshortcomings,stillneedtocontinuouslydevelopandperfect.Therearealotofcomputersisstilloperatingintheoldsystem,anddatabasesafetyisnothigh,easytocausethelossofdata.ThemaincharacteristicsofthissystemistheuseoftraditionalC/Sarchitecture,itsapplicationintheenterpriseinformationsystem'sadvantagesinapplicationanddataaccessonedividesintotwo.,wereperformedbyClientandServer,showed"aservicerequestandserviceresponse",makefulluseoftheClientandServerresources,butalsoreducetheburdenofnetworkcommunication,security,consistentwithgoodoperatingefficiencyanddata.
Themainpurposeofthissystemdevelopmentistomakethehospitalmanagementtoachieveelectronic,makethestafftotheorderlymanagementofitsbusinesswithinthescopeofthetransaction,thehospitaltousemoderntechnologytocreatemorehighereconomicbenefit.Bytestingthefunctionisperfect,theoverallstructureisreasonable,thetechnologyismature,stableoperation,noobviousflaws,goodsafety,noaccident,andachievedgoodeffect.
Keywords:
MISHISThemedicalinsurancefixedpointhospital
第一章前言
1.1研究背景与意义
医疗信息系统信息系统在国外的发展起步比较早,也取得了不少成果,并且随着经济生活的不断发展,计算机技术在经济发展以及医疗系统深入变革中,起到了越来越重要的作用。
由于我国目前医疗保险体制不健全,我国大部分医疗信息系统收费还是以现金为主,并且光与信息共享不能实现,主要以局域内医疗信息系统信息共享为主,结算机制复杂效率低,信息传输不及时等缺点,还有待于不断的开发与完善。
现在有很多计算机仍然是在老的系统下运行,而且数据库的安全性不高,容易导致数据的丢失。
本系统的主要特点是采用传统的C/S体系结构,它应用于企业信息系统的优势体现在将应用程序与数据存取一分为二,分别由Client和Server执行,表现为“服务请求与服务响应”,充分利用Client与Server的资源,又减少了网络通信负担,具有很好运行效率和数据的安全、一致性。
充分考虑用户利益,保证用户方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。
1.2系统目标
本系统开发的主要目的就是要使医院管理实现电子化,使在职人员能够有序的管理自己业务范围内的事务,使医院运用现代化技术创造更多更高的经济效益。
针对系统服务对象的具体要求,设计了医疗保险定点医院系统。
目标系统应该达到以下要求:
(1)经济性:
优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
系统应该给用户带来相应的利益,提供准确、全面、及时的信息,提高工作效率。
(2)可靠性和灵活性:
能连续准确的处理业务,有较强的容错能力。
系统必须是可靠的,只有这样,才能保证系统的高质量,才能得到使用者的信任。
同时对外界环境的变化应有较强的适应力,即便在条件变化之后,仍能提供详尽的具有现实意义的信息。
(3)可理解性和易操作性:
系统应该尽可能设计的比较简单,各项功能清晰明了,同时应考虑实用性避免不必要的复杂化。
结构要简单,尽可能使处理过程缩短,处理费用减少,系统收益增高。
同时也利于使用者掌握和维护。
1.3主要内容
搜集资料,调查研究,熟悉开发环境,需求分析,数据库结构设计,概要设计,系统设计和系统实现,系统测试和修改。
下面的流程图反映了我的基本的思路和实现过程:
图1.1系统开发流程
1.4技术工具分析
PowerBuilder是一个用来进行客户/服务器开发的完全可视化的开发工具。
使用PowerBuilder用一种可视的直观的方式来创建应用程序的用户界面和数据库接口。
PowerBuilder为应用开发提供了全面综合性的支持,可概括为以下几点:
事件驱动的应用程序、功能强大的编程语言与函数、面向对象的编程、跨平台开发、开放的数据库连接系统。
Oracle8的并行SQL体系结构通过动态地将数据库操作分割成单个的任务,并将工作负荷在多个处理器间进行分配,大大提高了数据库查询和更新的性能。
Oracle8比其它的数据库产品能够并行化更多的操作。
下面列出其中的部分操作:
查询,插入,修改,删除,排序,聚集,表创建,表空间创建,数据加载,索引创建,恢复。
数据块缓存,SQL执行计划,以及可执行的存储过程将尽可能多地利用可用的服务器内存。
经过高度的控制,可以将可用的系统资源准确地进行分配,从而最大程度地优化系统性能,并使系统的负荷基于动态分配的形式。
I/O操作也得到了类似的专有化,通过利用一些如异步和多块读写的不同技术,使所有用户和请求的响应时间以及全局系统性能都得到了改善。
通过将存储过程和数据库触发器以编译好的形式存储,使他们直接执行而无须重新编译或解释,也将导致运行时性能的极大提高。
PL/SQL(ProceduralLanguageextensionstotheStructuredQueryLanguage的缩写)代表“过程语言延伸到结构化查询语言”。
SQL(结构化查询语言)是现今普遍用于查询和更新关系数据库的一种语言。
Oracle公司引入了PL/SQL语言来克服在SQL中的一些局限性,并为那试图创建违反Oracle数据库规则测评任务的人们提供了一个更完善的编程决绝方案。
本章对PL/SQL的介绍包括它的起源和它不同的版本。
并提为PL/SQL开发者提供了一个更多资源的向导和一些建议。
如果你对于编程是新手,那么PL/SQL是一个不错的起点。
你会发现他是一门很容易学习的语言,并且拥有丰富的关键字和结构让你可以清晰的用代码表达你代码意图。
如果你有其他编程语言的经验,你会很容易的适应这个新的语法。
如果你写了一个PL/SQL存储过程或函数,在你笔记本电脑上安装的Oracle数据库上运行,那么你就能够移动这个存储过程到你公司网络的数据库上,并可以不加任何修改的执行(当然,假设Oracle的版本是兼容的!
)。
“编写一次,处处运行”这一箴言,是由PL/SQL在Java出现之前提出的。
尽管如此,对于PL/SQL而言的“处处”意味着“装有Oracle数据库的所有地方”。
PL/SQL的原意不是被作为一种独立型语言使用的,而是被包含它的主环境所调用。
例如:
你可以在数据库中运行PL/SQL程序(通过SQL*Plus接口)。
另外还有一种选择,你可以在Oracle开发中的表格或者报表里定义并执行PL/SQL程序(这种方法被称作“客户端PL/SQL”)。
然而,你不能够创建一个完全靠他自己运行的PL/SQL程序。
现如今当你要编写一个依靠Oracle数据库来运行的软件时,有很多种选择。
你可以用Java和JDBC,可以用VB和ODBC,可以用Delphi、C++等等。
然而,你会发现,用PL/SQL比其他语言更容易写出高效地访问Oracle数据库的代码。
特别要说的是:
Oracle提供特定的改进功能,例如FORALL语句,能够使数据库的性能提升一个或更多的数量级。
Oracle在提供声明化、非过程化的设计数据库和应用程序的方法上,拥有领导软件产业的历史。
Oracle服务器技术在世界上是最先进、最有力、最稳定的关系数据库之中。
他的应用程序开发工具,例如Oracle窗体,依靠于“绘制你的屏幕”处理了许多默认的功能使得开发者消除了繁重的用户化编程,提供了高水平的生产力。
在Oracle的起初几年,公布的SQL方法,与它底层整合的相关技术已经足以满足开发者。
但作为成熟的产业,期望在增长,而且需求变得日趋紧迫。
开发者们需要得到产品“表层以下的东西”。
他们需要构造复杂的公式,除此之外,还有窗体和数据库脚本的规则。
在1988年,Oracle公司发行了Oracle6版本,在他的关系数据库技术上一个重大的改进。
这个版本中一个关键的组件是“存储过程选项”,也叫做PL/SQL。
大概在同一时间,Oracle又发行了让人期待已久的升级版,升级为SQL*Forms2.3(众所周知的产品最初的名字是OracleForms或FormsDeveloper)。
SQL*Forms3.0在工具方面第一次整合了PL/SQL引擎,允许开发者用自然、简单易懂的风格去编写他们自己的存储过程逻辑。
第一次对PL/SQL的发布,在其性能上非常限制。
在服务器端,你仅仅能够用PL/SQL去创建存储过程和SQL语句和“批处理”脚本。
你并不能够在服务器端构造模的应用程序或存储作业规则。
在客户端,SQL*Forms3.0允许你创建存储过程和函数,尽管对函数的支持没被证明,这也是很多年没有被开发者所应用的原因。
另外,这次发布的PL/SQL没有实现对数组的支持,而且不能与操作系统相互作用(输入或输出)。
它距离一个完善的编程语言还相差很远。
尽管它仍有它的局限性,但PL/SQL很热门,被开发者团体中被评为公认为标准。
能够在SQL*Forms中编写简单的IF语句的渴望十分强烈。
满足能执行更多的SQL语句批处理的需求迫在眉睫。
当时少数的开发者意识到,在PL/SQL背后原始的动机已经超越了利用SQL*Forms这样的产品去进行程序控制的需要。
在Oracle数据库和相关工具(产品)生命周期的早期,Oracle公司已经意识到了他们产品体系结构中两个关键的弱点:
可移植性的欠缺和执行权限的问题。
关注可移植性我们好像可以临时的熟悉这些oracle公司的行销和技术策略。
在20世纪八十年代,Oracle解决方案中的一个特点就是它的可移植性。
当时PL/SQL刚刚起步的时候,在许多不同操作系统和硬件平台上运行的都是基于C语言的关系数据库管理系统。
SQL*Plus和SQL*Forms很容易就可以兼容多种不同的终端结构。
但从所有的范围来看,仍有许多应用程序需要COBOL、C和FORTRAN这样的主语言来提供更精细的控制。
开发人员一旦脱离了Oracle的中间接口工具,就会使应用程序不可再移植。
PL/SQL语言想要扩展应用程序需求的范围,使之能完全被操作系统掌握,独立于编程工具。
现在,Java和其他编程语言提供相似的可移植性。
然而PL/SQL在这个领域仍立足于先驱,当然,它仍然允许开发者编写高可移植性的应用程序代码。
像SQL一样强大,它完全不提供灵活性和权力,开发人员需要创建成熟的应用程序。
Oracle的PL/SQL语言保证了我们能完全立足于独立操作系统下的Oracle环境内并且仍然能编写适应用户需求的非常高效的应用程序。
多年来,Oracle已经证明了它对PL/SQL的承诺,这款其独有的旗舰编程语言对于每一个新发行的数据库版本,Oracle也对PL/SQL语言本身做了稳定,基本的改进。
它已经增加了许多各种各样的补充(或者内建的)包,使得PL/SQL语言在许多方面得到了扩展。
它已经引进了面向对象这一概念,增强了编译器的性能,使之优化我们的代码的能力,提高编译器在优化我们的代码,对于可能存在的质量和性能问题提示警告方面的性能,并且普遍地改进语言的宽度和深度。
第二章需求分析
2.1系统功能结构确立和模块划分
医疗保险定点医院系统对医保中心和医院的管理有着极其重要的作用,它的设计内容包括住院登记,出院登记,入出院诊断维护,预交金管理,住院批费,住院退费,中途结算,出院结算,住院发票重打,结算招回,无费退院,住院收费子系统查询统计十二个模块(根据不同的医院有不同的需求,所以划分的子模块也不同)。
本论文详细介绍了住院登记,住院批费,出院登记,出院结算四个模块。
图2.1系统功能结构
2.2系统功能性需求
(1)建立全院计算机网络,实现信息资源共享。
(2)建立数据库,集中存储医院管理和病人的医疗数据信息。
(3)支持医疗和管理的窗口服务,完成医院各部门之间的信息传递。
(4)建立计算机网络和数据库的维护机制。
系统的用例图如下:
图2.2系统用例图
2.3.1住院登记
(1)业务概述:
用于住院处对住院患者进行基本信息的登记以及首次预交金的录入和打印预交收据。
(2)业务说明
①读卡读出患者基本信息:
患者姓名、性别、年龄或出生日期。
②系统分配住院号(此系统判断是不是第一次住院,是第一次住院分配新的住院号,否则用原来的住院号,分配新的住院流水号。
)
③填写住院信息:
医疗类别、科室、床号、入院诊断、诊断医生、预交金额、住院日期。
住院时间默认当前时间,可以自己填写一个时间针对急诊病人先住院后登记的情况。
④按确定键完成住院登记,打印预交金单,预交金号也由本系统的序号机制产生。
显示住院登记记录。
显示内容:
住院号、姓名、科室、病床号、预交金额、医疗类别。
(3)业务活动图如图2.3:
图2.3住院登记活动图
2.3.2住院批费
(1)业务概述
用于记录住院患者发生费用信息。
(2)业务说明
①输入患者的住院号,系统显示住院日期、患者姓名、科室、预交金余额、费用总额。
(均不能修改)。
②费用记帐(划价)用拼音码模糊查询项目,方便记帐。
(3)业务活动图如图2.4:
图2.4住院批费活动图
2.3.3出院登记
(1)业务概述
用于住院处对住院患者进行出院登记(登记入院诊断、对未结算的费用的预结算)。
(2)业务说明
①输入住院号,显示患者基本信息、未结算费用信息
患者基本信息包括:
姓名、住院科室、入院诊断、住院时间、病床号;
未结算费用信息:
总费用、大额、统筹、帐户、现金、个人自理、个人自付、公务员等和发票上的费用汇总信息一样。
②录入出院诊断信息。
③按确定按钮完成出院登记操作。
更新住院状态、住院诊断、预结算。
(3)业务活动图如图2.5:
图2.5住院登记活动图
2.3.4出院结算
(1)业务概述
用于已经出院登记的患者进行费用结算。
(2)业务说明
①输入患者住院号,显示患者姓名、医疗类别、性别、住院科室、住院天数、预交金累计、已结算金额、应收金额、统筹挂帐、费用清单、预交金清单。
(以上信息均不能修改)。
②按确定键完成出院结算操作。
(3)业务活动图如图2.6:
图2.6出院结算活动图
第三章系统总体设计
3.1数据库数据结构设计
(1)表汇总
表3.1系统表汇总
表名
功能说明
住院主表(II_INMAININFO)
住院流水号,住院号,病历号,姓名,性别,出生日期,身高,体重,血型编码,住院日期,科室代码,科室名称,大科代码,大科名称,01:
自费02:
保险03:
公费在职04:
公费退休05:
公费高干,合同代码,合同单位名称,折扣比率,病床号,护理单元代码,护理单元名称,医师代码(住院),医师姓名(住院),医师代码(主治),医师姓名(主治),医师代码(主任),医师姓名(主任),护士代码,护士姓名,操作时间,操作员代码,入院情况,入院途径,1:
门诊2:
急诊3:
转科4:
转院,住院次数,终止日期(汇总),结算日期(上次),预交金额,费用金额,自费金额,自付金额,公费金额,余额,1:
有婴儿0:
无婴儿,Y:
查询费用减免表N:
没有减免,最新医嘱日期,1:
住院登记2:
病房接诊3:
出院登记4:
出院结算5:
预约出院6:
无费退院,出院日期(预约),发生序号,结算序号,身份证,职业代码
出院主表
(II_OUTMAININFO)
住院流水号,住院号,病历号,姓名,性别,出生日期,身高,体重,血型编码,Y:
有N:
无,Y:
有N:
无,入院日期,科室代码,科室名称,大科代码,大科名称,0:
普通1:
保险2:
合同3:
校工4:
院工5:
学生,合同代码,合同单位名称,折扣比率,病床号,护理单元代码,护理单元名称,医师代码(住院),医师姓名(住院),医师代码(主治),医师姓名(主治),医师代码(主任),医师姓名(主任),护士代码(责任),护士姓名(责任),操作时间(最新,操作员代码,入院情况,入院途径,1:
门诊2:
急诊3:
转科4:
转院,住院次数,终止日期(汇总),结算日期(上次),预交金额,费用金额,自费金额,自付金额,公费金额,余额,1:
有婴儿0:
无婴儿,Y:
是查询费用减免表N:
没有减免,最新医嘱日期,0:
登记1:
接诊2:
转科3:
预约出院4:
出院,出院日期(预约),发生序号,结算序号,身份证号,职业代码,工作单位,单位电话,单位邮编,户口或家庭地址,家庭电话,户口或家庭邮编,籍贯,民族,联系人姓名,联系人电话,联系人住址,联系人关系,婚姻状况,国籍
患者诊断库(II_DIAGNOSE)
病历号,住院流水号,发生序号,1:
入院诊断2:
出院诊断3:
转科诊断,诊断ICD码,诊断名称,诊断日期,医师代号,医师姓名(诊断),O:
旧诊断N:
新诊断,大科代码,科室代码,入院日期,出院日期,0:
其他1:
治愈2:
好转3:
未愈4:
死亡,治疗情况,平均住院日,传染病,第二ICD,并发症类别,是否主诊断
住院批费药品类(IF_MEDICINELIST)
药品编码,住院流水号,姓名,科室代码,科室代码(取药),科室代码(药房),处方流水号,摆药与大处方,数量,费用金额,自费金额,自付金额,公费金额,退费标志,结算类别码,合同代码,操作时间,药品类别,药品性质,给付原则,药品名称,基本剂量,剂量单位,最小单位,包装单位,包装数,规格,用法编码,频次编码,一次用量,使用方式,剂型编码,自制标识,耗材标记,手术医师代码,大科代码,是否婴儿用药,新批价的药品药品流水号不同退费的药品药品流水号与相对应的批价药品相同,护理站,单价,操作员(批价),发药人,急诊抢救标志,付数,医嘱是否分解,出院带药标记,审批号
住院批费非药品类(IF_FEEITEMLIST)
住院流水号,药品、检查、化验、手术、卫材、处置、治疗、营养、床费等,项目分类,处方流水号,项目代码,项目名称,最小费用代码,数量,价格,费用金额,自费金额,自付金额,公费金额,科室代码,科室代码(执行),科室代码(开立),医师代码,件数,退费标志,结算类别码,合同代码,操作员代码,操作时间,药品是否自费1:
是0:
否,0:
无婴儿其他:
婴儿数目,非药品流水号,护理站代码,急诊抢救标志,审批号,确认标记0:
未确认1:
为已确认2:
为部分确认,确认日期,确认科室代码,确认人代码,确认数量,已退退费数,组套编码,组套名称
费用结算头表(IF_BALANCEHEAD)
住院流水号,结算序号,科室代码,结算类别码,合同代码,预交金额,费用金额,自费金额,自付金额,公费金额,减免金额,补收金额,余额,返回现金,返回付委,返回汇票,转押金,起始日期,终止日期,统计日期,1:
在院结算2:
转科结算3:
出院结算4:
重结算,发票号码(结算,收费处代码0:
未