HISDemo技术说明.doc_第1页
HISDemo技术说明.doc_第2页
HISDemo技术说明.doc_第3页
HISDemo技术说明.doc_第4页
HISDemo技术说明.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Winarray Technical Service Co., LtdHIS Demo技术说明书一、 概述医院信息管理系统(Hospital Information System,HIS)是一个复杂的管理信息系统(Management Information Systems,MIS),HIS系统的核心是病人和病历,系统需要记录和管理伴随人流、物流、财流所产生的各种信息,从而提高整个医院的运行效率。 Winarray HIS作为一个完整的HIS系统由门诊管理系统 、住院部管理系统、医院药库管理系统三个部分组成。HIS Demo是Winarray HIS门诊管理系统的原型,包括主要的业务体系和风格。强调了智能更新的特点。二、 面临的业务挑战HIS系统需要处理的业务量巨大、并且存在很大数量的并发用户,如果采用传统的B/S结构的应用,系统的响应时间和性能很难满足要求。HIS系统所涉及的操作都比较复杂,对客户端的界面有很高的要求,这个要求也是基于浏览器的客户端无法满足的。医院的业务流程和业务规则进行调整的频率会很高,HIS系统必须及时地做出相应的调整、升级来适应这些变化。如果系统采用传统的胖客户端技术,客户端的升级和更新将给HIS系统带来巨大的维护成本和难度。三、 Smart Client技术回应挑战由于有了Smart Client技术,我们可以很好的将胖客户端和瘦客户端应用的优点结合在一起,适应医院使用实际情况的需要。Smart Client可以自动灵活地进行升级和更新从而简化了系统的维护;Smart Client可以充分的利用本地的计算资源,可以将HIS处理的载荷合理的分配给系统中的每一台计算机,提高了系统的响应和性能。微软公司提供的Microsoft Application Block为开发具有智能更新功能的.NET应用提供了极大的便利。在HIS Demo中我们重用并扩展了Updater Application Block (UAB)等应用程序模块,实现了符合HIS应用实际需求的自动更新等功能。四、 解决方案说明1 架构方案1.1 逻辑多层的应用体系结构下图显示了系统的体系结构。在HISClinic中,我们封装了五个组件,其具体的功能如下:HISClinic用户UI和UAB更新的前端支持BLL业务逻辑处理组件,实现系统主要的业务逻辑处理任务ChangPath实现系统配置文件的路径变更,DataService数据操作和对象实体映射处理DataModel数据Schema,采用强类型Dataset实现从上图可以看出,HISClinic采用了多层的系统结构,以提高系统的灵活性和可扩展性。多层结构的采用,使得系统可以在用户需求变更的情况下保持较强的适应性。1.2 重用Application Blocks下图是HISClinic高层系统结构包图。从该图中我们可以发现:HISClinic使用了三个Microsoft Application Blocks,分别是UAB,DAAB(Data Access Application Block)和EMAB(Exception Management Application Block),用来实现应用的自动更新,数据访问以及异常处理。2 方案技术细节(Highlights)2.1 DAAB的使用 DAAB是一个.NET组件,它包含了优化的数据访问代码向SQL Server数据库发布命令,使用DAAB能够减少创建、测试和维护数据库访问所需要的自定义代码。使用DAAB可以有效维护代码的统一性,提高应用开发的速度。2.2 UAB和EMAB的使用在HISDemo中,EMAB主要为UAB所使用。但是在实际的Winarray HIS中我们使用了EMAB进行后台程序错误的日志发布。2.2.1 UAB的使用使用UAB可以实现对.NET应用智能更新支持,UAB为应用提供了下载,验证和后置处理机制。通过UAB提供的接口,我们可以轻易对UAB根据自己需要进行扩展。在HIS Demo中,我们使用BITS下载机制,保证系统的运作效率。UAB的工作流程如下图所示:2.2.2 HIS Demo中实现的更新功能在HIS Demo中我们实现了以下的自动更新功能:1. 根据ServerManifest.xml检测更新版本2. 启动/停止更新3. 设置更新间隔4. 设置更新日志路径,设置将日志发布到文本文件或是发布到系统应用程序日志中5. 自动对应用程序路径进行配置 设定更新检测的时间实现原理:更改HISClinic.exe.config的Polling节点属性设定UAB的UpdaterConfiguration.Instance代码示例:Config.ConfigFile configfile=new Config.ConfigFile(System.Reflection.Assembly. GetExecutingAssembly() .Location+.config);/修改配置文件configfile.UpdateInterval=interval;/修改UAB的配置实例UpdaterConfiguration.Instance.Polling.Value=interval.ToString();UpdaterConfiguration.Instance.Polling.Type=PollingType.Seconds; 手动即时更新实现原理:ApplicationUpdateManager.StopUpdater()停止更新重新实例化ApplicationUpdateManager实现更新代码示例:ApplicationUpdateManager updater;. ./停止更新updater.StopUpdater(UpdaterConfiguration.Instance.Applications0.Name);/重新启动更新updater=null;InitUpdater(); /初始化Updaterupdater.StartUpdater(); 设定更新日志路径实现原理:更改UAB配置文件和对应实例更改EMAB配置文件代码示例:XmlDocument doc=new XmlDocument();doc.Load(configfilepath);/设置UAB日志标志XmlNodeList nodes=doc.GetElementsByTagName(logListener);node0.AttributeslogPath.Value=path;/设置EMAB日志标志XmlNode node=doc.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论