分布式医院管理信息系统的设计与实现

2022-09-11

1 系统设计原则

医院管理信息系统的设计遵循如下原则: (1) 系统设计满足以提高医院的运营效率, 降低医疗成本, 提高医院的社会效益和经济效益, 为病人提供更快、更好、更完善的服务为总体目标。 (2) 满足“病人选医生”、“一日清单制”等改革的需要。 (3) 系统的财务子系统设计符合财政部制定的《内部会计控制规范—基本规范 (试行) 》。 (4) 提供科学的业务处理流程。处理好医生工作站、护士工作站、中心摆药室之间的关系, 使医嘱的计价、摆药顺利执行。 (5) 完善的财务、业务一体化管理模式。通过建立管理信息系统, 所有原始单据在整个系统中只录入一次, 对药品材料进价实行批次监控, 批次跟踪管理, 准确核算成本, 且从原始数据中自动生成记账凭证。 (6) 从信息服务向智能服务发展。 (7) 提供二次开发的数据接口, 为各种原始数据和会计信息的综合利用提供前提。 (8) 适时互动的药品管理系统。 (9) 系统的安全性和可维护性。 (10) 系统设计的前瞻性和可操作性。 (11) 从事务管理转向决策管理。 (12) 信息的标准化和规范化。

2 分布式多层系统架构设计

2.1 应用系统的物理架构

管理信息系统开发初期采用的模式一般为客户机/服务器 (C/S) 模式, 这种模式维护成本太高、数据库服务器的效率低[3]。20世纪90年代中期以后, Internet/Intranet发展迅速, MIS系统经进入了分布式时代, 即B/S和C/S混合架构。这种结构的系统存在两个问题, 一是当原有的MIS系统升级为这种结构时, 必须用ASP等Web开发技术重写一次业务逻辑, 二是当企业的业务逻辑发生改变时, 必须同时更改内部系统和W e b系统两部分的业务逻辑, 这无疑增加了企业的运营成本。为了避免这些重复开发的成本, 提高软件的复用程度, 充分利用面向对象分析和设计的优点, 应用系统的架构又进行了新的改进, 加入了应用服务器。应用服务器包含了企业业务逻辑的对象, 当企业应用逻辑发生变化的时候, 只需要修改应用服务器中业务逻辑对象, 就可以同时实现内部系统和外部系统的升级, 大大降低了开发成本。

目前实现分布式架构的技术主要有三种:Microsoft的.NET Component和COM+、S U N的E J B、以及由7 0 0多家厂商支持的C O R B A。

然而, 分布式架构在2000年以后又有了新的发展, Web Service的兴起促使SOA (面向服务开发) 的逐步盛行, 应用服务器不再只是提供一个个业务逻辑对象, 而是用提供完整的服务。Web Service技术基于Http协议, 采用SOAP协议通讯, 能够跨越防火墙, 在业务整合、系统集成方面有着广泛的应用前景。

2.2 基于.N E T的医院管理信息系统软件的分布式架构

分布式架构的实现技术很多, 不同的厂商提供了不同解决方案。目前最流行的是企业级分布式架构技术应该是SUN公司EJB对象模型, 市场占有率超过50%。这种架构借助于商业的应用服务器, 如B E A的WebLogic、IBM的WebSphere, 可以提供事务支持、负载均衡、容错机制等强大的企业级功能, 现在绝大多数的大型企业应用都是使用这种架构。然而, 商业的应用服务器价格昂贵 (这一点从BEA公司的迅速崛起成为十大软件公司之一可以看出) , 普通用户无法承受;并且医院管理信息软件的目标用户不多, 规模也没有大到需要所有的这些企业级功能的支持。至于C O R B A技术, 由于其过于复杂一直未能被程序员所接受。因此, 本文采用基于.NET框架的分布式架构技术。Microsoft于2002年2月推出的.NET框架功能极其强大, 对Web Service、Remoting、Enterprise Service等技术都有全面的支持。整个.NET框架提供了非常复杂的分布式架构支持技术。在综合考虑了各种因素以后, 本文设计了基于A S P.N E T、Remoting、ADO.NET技术的分布式系统架构, 系统在逻辑上分为表示层、主业务层、数据服务层和数据层。表示层使用A S P.NET和JavaScript脚本实现;主业务层基于Remoting技术开发独立的Windows Form程序和类库, 实现医院管理信息的算法逻辑和数据处理功能;数据库服务层基于ADO.NET提供统一的数据访问对象, 封装数据访问逻辑;数据层使用SQLServer2000存储和管理数据。该架构是一种物理上三层, 逻辑上四层的分布式架构。这种架构能够充分利用面向对象理论方法, 实施团队开发。具有易于维护和扩展、更好的团队合作体验、复用程度高、更好的安全性和更好的性能等优点。

3 数据库系统总体设计

为了改善系统的性能, 在系统设计时针对SQL/SERVER的特点, 采取如下措施[2]。

(1) 设计数据表时, 与每个表列相关的数据类型应该反映数据所需的最小存储空间, 特别是对于被索引的列更是如此, 比如能使用smallint类型就不要使用integer类型, 这样索引字段可以被更快的读取。 (2) 采用适当的数据冗余, 在数据库表中加入适当的重复属性, 如病人姓名可加在门诊挂号表、领药单表等表中, 以减少复杂的合并处理, 提高系统效率。 (3) 常用的计算字段, 如每日结报中的每日合计可加到数据库表中, 以方便用户查询和报表使用。 (4) 在适当情况下, 将一个实体表分成两个表, 使频繁访问的数据和较少访问的数据分开, 以利用并行处理, 并将产生列数较少的表。 (5) 在数据表中建立索引, 以提高系统查询效率, 但索引应建立适当, 表上过多的索引会影响Update, Insert和Delete性能, 此外, 对经常更新的列不能建立索引, 否则会严重影响性能。

摘要:随着软件的体系结构向着分布式多层次的方向发展, 传统的应用系统已无法适应日益复杂的医院信息管理的要求, 研究、开发高效、可靠的分布式管理信息系统具有较大的理论意义和实用价值。本文在对现代医院信息管理的需求和特点进行深入分析的基础上, 设计了合理的信息管理系统的分布式多层的系统架构, 研究了基于分布式框架下医院管理信息系统的总体设计和基于.NET框架的系统安全方案。

关键词:管理信息系统,分布式,体系结构

参考文献

[1] 中华人民共和国卫生部信息化工作领导小组编.医院信息系统基本功能规范, 2002, 4.

[2] 朱守业.C/S模式下三层分布式HIS的应用研究[D].广西师范大学硕士学位论文, 2003.

[3] 李维.Delphi5.x分布式多层应用系统篇.

上一篇:孤立性纤维性肿瘤临床病理及免疫组化特点下一篇:碱度对杀菌剂去除生物膜的影响