医院管理信息系统UML(15页).doc
-医院管理信息系统UML-第 15 页目录1 引言12可行性分析2 2.1经济可行性分析2 2.2技术可行性分析3 2.3法律可行性分析3 2.4总结33 需求分析43.1客户需求分析4 3.1.1具体功能要求4 3.1.2功能模块图63.2用例建模73.2.1确定系统范围、系统边界及执行者7 3.2.2确定用例73.2.3分层绘制用例图84 系统分析194.1对象静态建模194.2对象动态建模20 4.2.1顺序图描述系统中的交互模型20 4.2.1状态图245 数据库设计25 5.1实体及实体属性描述25 5.2 E-R图设计266 数据库表结构设计277 总结32参考文献331引言1.1编写目的科技进步将人类带到了信息时代,计算机已成为各行各业在业务处理与管理工作中必不可少的辅助工具,并对各行业的发展起到越来越大的推动作用。计算机信息管理技术的应用,除了能在相当大的程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而避免不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、即时的信息以帮助做出正确而及时的选择与决定,从而给采用这门技术的单位带来了巨大的可见或不可见的利益与效益。随着信息时代来临,信息处理的利器计算机应用于医院的日常管理为医院的现代化带来了从未有过的动力和机遇,为医疗卫生领域的飞速发展提供了无限潜力。采用计算机管理信息系统已成为医院管理科学化和现代化的重要标志,给医院带来了明显的经济效益和社会效益。为了加快医院系统的信息化步伐,提高医院的业务水平,建设和完善医院信息系已变得十分必要。系统的建设将本着“以患者为中心”的原则,以方便患者、提高就诊效率为目的,力争为患者提供最满意的服务,同时也将提高医院的社会效益和经济效益。与市场经济的接轨的过程中,每个医院都面临着强化内部管理、树立医院形象、上层次晋等级、进而提高社会效益和经济效益的艰巨任务。在医院管理过程中应用计算机系统,可随时进行经济核算,展开成本效益分析,使医院经营决策科学化;借据计算机数据处理严密可靠的特有机制,在改善医院人、财、物管理,降低医管人员工作强度,提高医疗工作质量,杜绝人情方、搭车药、减轻病员负担,创造医院良好信誉等诸多方面,益康医院管理信息系统都将成为您不可或缺的助手和工具。 1.2项目背景目前面向对象的程序设计语言已广为流行,但许多数据库支持者仍倾向采用结构化设计方法来设计系统结构,使得对象的属性及方法分散在设计中,很难将设计中的对象同现实中的对象完全对于起来,对系统的完全性、可靠性、开放性均有影响。造成这种现象的原因大致有两个设计人员习惯于结构化设计,难以立刻转向面向对象设计。面向对象设计相对来说比较抽象,繁琐,用它设计规模不是很大的系统得不偿失。但无论如何,若想充分发挥面向对象编程的优越性,就必须采用面向对象的设计方法。UML是软件世界第一个统一建模语言,已成为国际软件界广泛承认的标准,应用领域非常广泛。可由于多种类型软件系统开发建模的各个阶段,使用UML建模的优越性在于数据类型丰富,可处理复杂数据结构,数据库语言与程序环境一致,直接存取对象执行效率高,适用于对象系统应用。2可行性分析2.1 经济可行性分析 2.1.1 支出 (1)基本建设投资 1)ADP设备1万;2)数据通讯设备2千;3)安全与保密设备5千;4)ADP操作系统的和应用的软件5千;5)数据库管理软件5千。(2)其他一次性支出 1)研究(需求的研究和设计的研究)3千; 2)开发计划与测量基准的研究5千; 3)数据库的建立5千; 4)ADP软件的转换5千; 5)检查费用和技术管理性费用5千; 6)培训费、旅差费以及开发安装人员所需要的一次性支出2万; (3)非一次性支出 该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括: 1)设备的租金和维护费用1千; 2)软件的租金和维护费用1千; 3)数据通讯方面的租金和维护费用1千; 4)人员的工资、奖金5千; 5)公用设施方面的开支2千; 6)保密安全方面的开支2千; 7)其他经常性的支出3千。2.1.2 收益 (1)一次性收益 1)开支的缩减改进了的系统的运行,资源要求减少,运行效率加快,数据进入、存贮和恢复技术增强,系统性能可监控,处理集中化; 2)价值的增升应用系统的使用价值的增升所引起,资源利用改进,管理和运行效率提高以及出错率减少。 (2)非一次性收益 整个系统生命期内人员开支每月减少1.5万,纸张等材料的开支均可避免。(3)不可定量的收益 服务改进,增强病案查询的效率和质量;由操作失误引起的风险减少;信息掌握情况加强;增进我院的医疗服务质量,外界形象改善。2.1.3 收益投资比 整个系统生命期的收益投资比值为80/432.1.4 投资回收周期 收益的累计数开始超过支出的累计数的时间在系统运行后第12个月。2.2技术可行性分析 2.2.1风险分析风险是损失发生的不确定性,是对潜在的,为了可能发生损失的一种度量,如果确实发生了,则它的发生会对项目产生有害的或负面的影响。医院管理信息系统风险风险分析:l 客户需求不明;l 进度要求紧,合同额有限l 开发人员对测试工作不重视l 供货商、外包商的质量问题l 开发人员的交流2.2.2资源分析软件方面有UML建模,C#,Java等工具已足够供开发使用,硬件方面设备齐全,工作环境都已具备,开发人员熟悉面向对象设计开发方法,有多年开发经验。费用投入充足,院领导很支持。2.2.3技术分析目前面向对象技术发展已趋于成熟,开发人员对此技术已充分认识,有多年开发经验。尤其UML建模语言已在各大院校广泛普及。各种开发语言工具能充分开发现实系统。另外本院有自己的计算中心,有较强的技术力量支持。2.3 法律可行性医生工作站系统必须符合国家、地方有关法律、法规、 规章制度的要求: 1中华人民共和国执业医师法 2医疗机构管理条例) 3医疗机构诊疗科目名录 4医疗机构基本标准 5城镇职工基本医疗保险用药范围管理暂行办法 6城镇职工基本医疗保险定点医疗机构管理暂行办法2.4总结综上所述:无论在经济,法律,技术方面都具有开发可行性。 3需求分析3.1客户需求分析3.1.1具体功能要求(1)挂号收费管理门诊挂号:录入患者的基本信息,农合,医保划卡及挂单查询门诊收费/退费:录入患者的基本信息,农合,医保划卡及挂单查询门诊处方:门诊收费,票据的打印/药品,检查,治疗的退费及查询(2)药房管理发药/退药:(门诊/住院)患者(发药/退药)药品申领/申退:药品申领/申退操作,以及统计和查询功能盘存/报损;药房药品数量和金额的盘存,药品抱损操作原因,查询查询系统:药房进药,收费的统计,药品的统计和报警药品查询(3)住院管理入院登记:登记住院患者的基本信息住院预缴:住院费用的交纳,收取。出院结算:住院期间费用结算查询功能:这里可以查询,入院/预缴/出院患者的详细信息(4)住院医护病员管理:病员收住/病房,床位设置,科内转床,转科申请,转院出院住院医护:医嘱校对/执行/撤消,套餐设置/退住院,检查/治疗项目费查询打印:病员收住/科内转床/转科申请/转科接收/当前医嘱/医嘱执行/转院出院的查询,摆药单/催款通知书/收费清单打印(5)药库管理设置:设置药品/药库字典/药品调价/药房平调/零记录清理/盘存初始化操作,查询入库:药品入库/记录查询/操作统计/药品统计/供货单位统计/入库单打印开单:调拨开单操作/开单记录查询/开单操作统计/开单药品统计/打印出库:药品出库/药房申领查询/出库记录查询/操作统计/出库药品统计/调拨方向报表/批量药品出库/出库单打印退库:(院内/院外)退库/退库记录查询/退库原因分析/退库单打印库存核算:药品数量盘存/药品金额盘存/盘存记录查询(包含操作和药品统计)报损:药品抱损/抱损记录(含操作和药品统计)/抱损原因/打印抱损单退货和采购:药库退货/记录查询(含操作和药品统计)/采购构思和计划以及单据打印查询:药库明细表以及药库报警表(6)决策查询业务查询:门诊挂号收费处方统计及明细药房查询:药房明细/门诊和住院发药记录统计/进药报损消耗盘存记录统计药库查询:药库明细/出入库退库退货报损统计明细/盘存记录以及统计痕迹查询:门诊改号退号记录/门诊撤费退费/住院退费/处方废除等分类考核:门诊科室门诊医生住院医师住院病区门诊及住院项目/辅助科室(7)财务管理业务报表:门诊挂号处方收费退费的统计,住院预缴统计。发票使用统计等药库核算:出入库操作统计/报损退库退货统计/数量金额统计/药品及报警名细药房核算:进发药/门诊退药住院退药统计/药品消耗及报损统计/数量和金额盘存明细/药品明细/报警明细/药品收费记录统计收费统计:门诊科室门诊医生住院医师住院病区门诊及住院项目/辅助科室/门诊收费住院收费,门诊病员住院病员以及住院结算(8)系统维护基本设置:系统信息设置(门诊科室医生)住院病区医生,辅助科室设置用户信息设置等系统设置:系统连接/系统初始化/门诊过期住院过期清理等高级设置:门诊发票设置,挂号单项/住院发票/预缴金单/门诊处方可选功能3.1.2功能模块图医院管理信息系统挂号/收费子系统药房管理子系统系统设置子系统住院管理子系统财务管理子系统医护管理子系统药库管理子系统决策查询子系统门诊挂号收费统计药房核算药库核算业务报表发药/退药住院预缴住院医护入院登记病员管理入库设置药房查询业务查询退库领药出库查询打印开单痕迹查询药库查询收费/退费申领/申退查询出院结算库存核算查询门诊处方核算/报损分类考核退货/采购报损高级设置系统设置基本设置3.2用例建模 3.2.1确定系统范围、边界和执行者由于系统较复杂这里只对“门诊管理”、“药房管理”、“药库管理”做详细说明。(1)门诊子系统的业务范围、边界及执行者“门诊子系统”只负责病人挂号、处方、收费和退费。与“财务管理子系统”和“药房管理子系统”有系统边界。有两个系统执行者,三个人执行者。u“病人”执行者只要是首先通过挂号缴费,领取挂号单,看病,接到医生处方,到药房拿药。u“工作人员”执行者分为医生和管理员,医生负责看病开处方,并把处方传到财务管理子系统,管理员主要负责收取挂号费,药费,退费等工作。u“院长”执行者主要通过查询功能来查看每天业务情况。u“财务管理系统”通过接收医生开的处方,来进行划价收费。或病人退药退费处理等。u“药房管理子系统”主要通过财务系统传来的已收费处方进行核对拿药。(2)药房管理子系统的业务范围、边界及执行者“药房管理子系统”负责根据门诊子系统药品申请/申退信息,及“财务管理子系统”的收据进行发药/退药处理,核算每天盘存。与“门诊管理子系统”和“药库管理子系统”有系统边界。有两个系统执行者“门诊管理子系统”和“药库管理子系统”,两个人执行者“药房管理员”和“病人”。u“门诊管理子系统”主要通过开处方来完成药品申请和申退。u“药库管理子系统”主要通过药品发放及盘存核算监控药品库存量,当库存量小于预警库存量时及时组织采购。u“药房管理员”负责药品核对药品申请/申退信息及收据发药/退药。并进行盘存/报损把数据传给“药库管理子系统”。(3)药库管理子系统的业务范围、边界及执行者“药库管理子系统”主要负责药品类别设置及药品归类,采购管理,入库管理,出库管理,报损,库存核算等业务。与“财务管理子系统”和“药房管理系统”有系统边界。有两系统执行者“财务管理子系统”和“药房管理子系统”,一个人执行者“药库管理者”。u“药房管理子系统”把每天库存报损及盘存数据传给“药库管理子系统”,“药库管理子系统”通过这些数据检查库存量,及时进行采购。u“财务管理子系统”通过接受“药库子系统”传来的库存核算进行流动资产管理,根据采购入库单发放资金等。u“业务管理员”对“库存管理子系统”各个功能进行操作。3.2.2确定用例(1)“门诊管理子系统”中的用例l 门诊挂号l 生成处方l 收费/退费(2)“药房管理子系统”中的用例l 药品申请/申退l 发药/退药处理l 盘存/报损处理(3)“药库管理子系统”中的用例l 基础设置l 采购管理l 入库管理l 出库管理l 盘存/报损l 库存核算l 退货管理l 查询3.2.3绘制分层用例图 1)第一层用例图2)第二层用例图(1)门诊子系统用例图(2)药房管理用例图(3)住院管理用例图(4)住院护理用例图(5)药房管理用例图(6)决策查询用例图(7)财务管理用例图(8)系统维护用例图3)三层用例图(1)挂号管理用例图(2)收费退费管理用例图(3)生成处方用例图(4)病员管理用例图(5)住院医护用例图(6)制定采购计划(7)合同管理3.3活动图4系统分析根据建立的医护需求模型,在系统分析阶段要进一步确立三个模型:对象静态图模型、对象动态模型,系统功能模型。4.1对象类静态模型对象静态结构模型描述了系统的静态结构,包括构成系统的类和对象、它们的属性和操作以及这些对象类之间的联系。对象类静态结构模型是系统开发模型的核心模型,实质上是定义系统“对谁做”的问题。医院管理信息系统类及类之间的关系图如下:4.2对象动态模型对象动态模型描述了系统的动态行为,它们指明了系统如何响应外部事件或激励,涉及系统中对象的执行顺序和状态变化,侧重于系统控制逻辑的描述,实质上是解决系统中的对象“何时做”的问题。对象动态结构模型包括:对象交互模型和对象状态模型。其中对象交互模型用顺序图和合作图描述,对象状态模型用状态图和活动图描述。4.2.1顺序图描述医院管理信息系统中的交换模型(1)挂号抓药顺序图(2)住院治疗顺序图(3)药库管理顺序图(4)制定采购订单顺序图(5)到货入库顺序图(6)付款处理顺序图 4.2.2状态图5 数据库设计5.1实体及实体属性描述实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。 ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。(1)病人(编号 姓名 性别 年龄 病症描述 病史记录)(2)医生(编号 姓名 性别 出生年月 职称 职务 权限 密码)(3)护士(编号 姓名 性别 出生年月 级别 职务 权限 密码)(4)管理员(编号 姓名 性别 出生年月 学历 职责 权限 密码)(5)病房(编号 名称 床位数 备注)(6)病床(编号 价格 备注)(7)药品(编号 名称 价格 作用说明 类别 库存警戒线 备注)(8)药房(编号 名称 备注)(9)药库(编号 名称 备注)(10)科室(编号 名称 职责 备注)5.2实体及实体间的关系E-R图病人医生科室处方药品管理员床位病房药库药房护士开方看病包含分属护理接受管理管理管理管理住院存放包含n1nmnmn11mnnmmmnm111n1n1116数据库表结构设计(1)病人数据库表表6.1 Patient Table列名数据类型长度可否为空说明声明P-numNchar20NOT NULL编号主键P-nameVarchar50NULL姓名P-sexChar4NULL性别P-birthdayDate20NULL年龄DiseaseVarchar50NULL病症Case historyVarchar100NULL病史记录RemarksVarchar100NULL备注(2)医生数据库表表6.2 Doctor Table列名数据类型长度可否为空说明声明D-numNchar20NOT NULL编号主键D-nameVarchar50NULL姓名D-sexChar4NULL性别PostVarchar10NULL职称D-birthdayDate20NULL出生年月D-dutiesVarchar50NULL职务D-authorityVarchar50NULL权限D-code Varchar20NULL密码(3)护士数据库表表6.3 Nurse Table列名数据类型长度可否为空说明声明N-numNchar 20NOT NULL编号主键N-nameVarchar50NULL姓名N-sexChar4NULL性别N-birthdayDate20NULL出生年月N-gradeVarchar20NULL级别N-duitiesVarchar50NULL职务N-authorityVarchar50NULL权限N-codeVarchar20NULL密码(4)管理员数据表表6.4 Manager Table列名数据类型长度可否为空说明声明Manager-numNchar20NOT NULL管理员编号主键Manager-nameVerchar50NULL姓名Manager-sexChar4NULL性别Manager-birthdayDate20NULL出生年月Manager-degreeNchar20NULL学历Manager-dutiesVarchar50NULL职责Manager-codeVarchar20NOT NULL密码Manager-authorityVarchar50NOT NULL权限(5)病房数据库表表6.5 Sickroom Table列名数据类型长度可否为空说明声明Sickroom-numNchar20NOT NULL编号主键Sickroom-nameVarchar50NULL名称Sickroom-capacityVarchar50NULL床位数RemarksVarchar100NULL备注(6)床位数据库表表6.6 Bad Table列名数据类型长度可否为空说明声明Bad-numNchar20NOT NULL编号主键Sickroom-numNchar20NULL病房编号外键RemarksVarchar50NULL备注表6.7 Medicines Table(7)药品数据库表列名数据类型长度可否为空说明声明Medicines-numNchar20NOT NULL编号主键Medicines-nameVarchar50NULL药品名称Storeroom-numNchar20NOT NULL药房编号外键Medicines-priceFloat20NULL价格Medicines-kindsVarchar50NOT NULL类别外键IllustrateVarchar100NULL作用说明RemarksVarchar100NULL备注表6.8 Storeroom Table(8)药房数据库表列名数据类型长度可否为空说明声明Storeroom-numNchar20NOT NULL药房编号主键Storehouse-numNchar20NOT NULL药库编号外键Storeroom-nameVarchar50NULL药库名称Medicines-kindsVarchar50NULL药品类别RemarksVarchar100NULL备注(9)药库数据库表表6.9 Storehouse Table列名数据类型长度可否为空说明声明Storehouse-numNchar20NOT NULL药库编号主键Storehouse-nameVarchar50NULL药库名称Security lineFloat20NULL警戒线RemarksVarchar50NULL备注(10)药品类别表6.10 MKind Table列名数据类型长度可否为空说明声明MKind-numNchar20NOT NULL类别编号主键MKind-nameVerchar50NOT NULL类别名称RemarksVarchar100NULL备注(11)病例数据库表表6.11 Case Table列名数据类型长度可否为空说明声明Case-numNchar20NOT NULL病例编号主键Case-nameVerchar50NULL病例名称Case-describeVarchar100NOT NULL描述Casekind-numNchar20NOT NULL类型编号外键TreatmentVarchar50NULL治疗方法Case-totalVarchar20NULL病例统计RemarksVarchar100NULL备注(12)病例种类数据库表表6.12 Casekind Table列名数据类型长度可否为空说明声明Casekind-numNchar20NOT NULL病例编号主键Casekind-nameVerchar50NOT NULL病例名称Casekind-describeVarchar100NOT NULL描述RemarksVarchar100NULL备注(13)科室数据库表表6.13 Administrative Table列名数据类型长度可否为空说明声明Administrative-numNchar20NOT NULL科室编号主键Administrative-nameVerchar50NULL科室名称Administrative-dutiesNchar20NOT NULL职责RemarksVarchar100NULL备注(14)处方数据库表表6.14 Prescription Table列名数据类型长度可否为空说明声明Prescription-numNchar20NOT NULL处方编号主键Prescription-nameVarchar50NULL处方名称D-numNchar20NOT NULL医生编号外键P-numNchar20NOT NULL病人编号外键PrescriptionVarchar150NULL处方内容IllustrateVarchar100NULL说明RemarksVarchar100NULL备注(15)住院记录表表6.15 Record Table列名数据类型长度可否为空说明声明Record-numNchar20NOT NULL记录编号主键P-numNchar20NOT NULL病人编号主键Enter-dateDate20NOT NULL入院日期Eksit-dateDate20NOT NULL出院日期Total-dateNchar50NOT NULL总计天数Manager-numNchar20NUT NULL办理员编号外键RemarksVerchar100NULL备注(16)挂号类型统计表表6.16 Registerkind Table列名数据类型长度可否为空说明声明Registerkind-numNchar20NOT NULL挂号种类编号主键Register-costVerchar50NOT NULL挂号费用Register-totalVarchar100NOT NULL挂号量总计Register-DateDate20NOT NULL挂号日期(17)医生分属科室关系表表6.17 A-D Table列名数据类型长度可否为空说明声明Administrative-numNchar20NOT NULL病例编号主键D-numVerchar50NULL病例名称主键D-totalVarchar100NOT NULL描述(18)护士医护病人关系表表6.18 N-P Table列名数据类型长度可否为空说明声明N-numNchar20NOT NULL护士编号主键P-numNchar50NOT NULL病人名称主键RecordVarchar20NOT NULL医护记录RemarksVarchar100NULL备注7总结科技进步将人类带到了信息时代,计算机已成为各个行业在业务处理与管理工作中必不可少的辅助工具,并对各行业的发展起到越来越大的推动作用。医疗卫生是围绕在我们生活中的一个非常重要的部分,与我们的生活息息相关。建设一个适合、实用的医院管理信息系统,对医院经济效益、社会效益、管理水平及至医疗水平的提高都大有裨益。也正是由于这个原因,我决定选择医院门管理信息系统这个题目进行项目开发。在确定题目后,首先我进行了大量的信息收集工作,包括网上查询、学校图书馆查询,甚至跑遍了学校周围的所有书店。根据搜索的资料及现实生活中的经验开始可行性分析,需求分析,系统分析。其中需求分析是最重要的,只有通过需求分析才能确定系统要实现的功能,最终通过UML建模语言中的用例图来描述,用活动图来进行复杂用例的详细描述。接着对系统进行静态结构建模通过对象类图描述,确定类及类之间的关系是最主要的,设计中的对象与现实中的对象联系起来,并不是件容易的事。如果对象确定不好会给系统设计实现带来很大的麻烦。而它们之间的关系并不是简单连接就能表述的,它们之间的关系有关联,继承,聚合,依赖和细化。由此提现了UML建模语言强大的语言表达能力。建立系统动态模型,动态模型分为动态交互模型、状态模型,其中交互模型主要通过顺序图和合作图来描述,状态模型主要通过状态图和活动图来描述。这些中及存在区别,也存在着联系,区别在于它们描述的侧重点不同,能从不同角度对系统中的动作状态进行描述,联系在于它们都是以体系结构为中心,以用例为驱动,许多模型元素都相同,可以互相转化。在设计过程中最大的难题在于对象类之间的动作状态的确定,以及引起转化迁移事件的确定,只有对系统有深入的分析之后才能确定。通过这次UML建模课程设计,让我对UML建模语言有了更深入的了解,不只是停留在表面知识上,而是真正成为描述系统模型的语言来使用。在设计过程中充分体现了UML以系统体系结构为中心,以用例为驱动,以风险控制和质量管理为目标,以渐增迭代为开发方式的面向对象独有的语言特色。同时我体会到了软件开发需要细心和耐心,不求最好只求更好。培养了我对完美不懈的追求精神,严谨做事的态度。不一定每一个人都要成为专业软件的开发人员,但做任何事却要具备开发人员思维和态度。对我以后的人生道路有很好的引导启发作用。参考文献1刁成嘉,UML系统建模与分析设计,北京:机械工业出版社,20072刁成嘉,UML系统建模与分析设计课程设计,北京:机械工业出版社,20083J.L. Whitten,L.D. Bentley,肖刚,孙慧译,系统分析与设计方法,北京:机械工业出版社,2007