电子病历系统的设计与实现

电子病历系统的设计与实现

ID:36517193

大小:2.23 MB

页数:92页

时间:2019-05-11

上传者:U-145848
电子病历系统的设计与实现_第1页
电子病历系统的设计与实现_第2页
电子病历系统的设计与实现_第3页
电子病历系统的设计与实现_第4页
电子病历系统的设计与实现_第5页
资源描述:

《电子病历系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

广东工业大学硕士学位论文电子病历系统的设计与实现姓名:龙伟健申请学位级别:硕士专业:软件工程指导教师:汤荣江;古威20070501 摘要近几年,医院信息系统在我国得到了较快发展,部分医院己建立起相当规模的信息系统,电子病历是医院信息系统的核心。在医院的现代化管理中,电子病历(ElectronicMedicalRecord,EMR)作为医疗活动信息的主要载体,不仅是医疗、教学、科研的第一手资料,而且也是对医疗质量、技术水平、管理水平等进行综合评价的依据。因此,电子病历的设计是医院信息系统中最关键的技术。本文首先对电子病历的概念、功能、发展和电子病历的基本应用进行了阐述,分析了实现电子病历的主要技术难点。在分析3fiML技术的基础上,提出了三层基于COM+技术的电子病历实现方案。文章按照软件工程的开发过程和方法,进行了电子病历系统的分析、设计与实现。分析了电子病历系统的可行性,明确了电子病历系统的功能定义,对电子病历数据的规范进行了定义。从门诊管理和住院管理两大部分进行了系统的总体设计,并在次基础上完成系统详细设计。文章描述了电子病历系统的数据库设计方案,讨论了系统的网络结构和软件结构,并就病历的查询、归档、处理进行了详细的实现描述。最后讨论了系统的安全性控制问题。关键词:电子病历;HIS;COM+;三层结构 』奎三些銮兰三堡罂老兰鳘兰三AbstractInrecentyears,thehospitalinformationsystemhasdevelopedquicklyinourcountry:somehospitalshaveestablishedhospitalinformationsystemwithasuitablescale,andtheelectronicmediealrecordisthecoreofthehospitalinformationsystem.Inthemodemmanagementofhospitals,theelectronicmedicalrecord,asthemaincarderofthemedicalactivityinformation,notonlyisthefirst-handmaterialformedicaltreatment,teachingandthescientificresearch,butalsoisthebasisforthecomprehensiveevaluationofthemedicalquality,thetechnologicallevel,themanagementlevelandSOon.Therefore,thedesignofelectronicmedicalrecordisthemostessentialtechnologyinthehospitalinformationsystem.Thisarticleexpoundstheconcept,foundation,developmentandbasicapplicationoftheelectronicmedicalrecord,andthenallalysesthemaintechnologicaldifficultyofachieveit.3-tierprojectoftheelectronicmedicalrecordwiththebasisofCOM+isproposed,basedontheanalysisofXMLtechnology.GuidedbythedevelopmentprocessandmethodofSoftwareengineering,theelectronicmedicalrecordisanalyzed,designedandachieved.Tobeprecise,thearticleanalyzesthefeasibilityoftheelectronicmedicalrecordsystem,confirmsthefunctiondefinitionofit,anddefinesthecriterionofitsdata.Fromthemanagementofoutpatientdepartmentandinpatientdepartmentthegeneralsystematicdesignisfinished,andthedetailedoneisdoneonthesub-basis.Thearticledescribesthedesignplanforthedataoftheelectronicmedicalrecord,discussestheintemetstructureandSoftwarestructureofit,narratesitsinquiry,filingandmanagementofit,andfinallydiscussesthesecuritycontrolofit.KEYWORDS:EMR:HIS;COM+:3-tierarchitecture。一Ⅱ一 广东工业大学工程硕士学位论文独创性声明秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明,并表示了谢意。本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论文成果归广东工业大学所有。申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。指导教师签字:~匆券敝储弹:越争2班7年}民雩BI仁 1.1开发背景第一章绪论近两年,医院信息系统在我国得到了较快发展,部分医院已建立起相当规模的信息系统。这些系统的功能主要集中在管理方面,下一步,医院信息系统必然向以病人信息为中心方向发展,更多地参与为临床医疗工作服务,电子病历是这一过程的核心。另~方面,病人信息的各个组成部分源于医院信息系统中的各业务系统,为了保持信息系统的稳定发展和顺利集成,需要将作为信息基础的病人信息作为独立于具体应用的整体来研究。国家卫生部在《全国卫生信息化发展规划纲要(2003-2010年)》中明确指出:“随着医药卫生体制改革的深入及医院服务模式的改变,医院信息系统已成为现代化医院的基础。医院信息系统要逐步实现从以经济财务为主线的管理信息系统,向以病人为中心的临床信息系统拓展,⋯⋯”,提出了“三级以上医院在全面应用管理信息系统的基础上,要创造条件,重点突出l临床信息系统的开发应用,如电子病历、数字化医学影像、医生和护士工作站等应用。有重点的建立一批国家数字化示范医院,跟踪世界医院信息化发展的趋势。”的建设目标。特别是SARS过后,医院的信息化工作已经得到有关部门的高度重视,开发电子病历系统势在必行“1。本文结合湛江市中医院信息化系统建设项目,,以电子病历子系统为主要研究对象,详细说明电子病历系统的设计与实现过程。1.2课题研究的意义电子病历的研究和应用具有重大的社会、经济和技术意义。第一,电子病历的应用可以减少医疗费用,提高医院现代管理水平。据美国ArthurDLittle公司一项报告指出:如果使用电子病历,以电子方式记录和传递患者信息,全美一年就能节约300亿美元,电子病历可减少目前门诊患者费用的50%。临床医疗信息的计算机管理不仅能减低患者医疗费用和医院开支,而且还能提高医疗质 广东工业大学工程硕士学位论文量。研究发现,医生和护士只把30%一40%的时间花在照料患者上,而把50%以上的时间花在医疗过程事务,即医疗文件的书写和传递上。因此开展和普及电子病历的使用,建立科学的电子病历管理系统,必然会获得明显的社会效益和经济效益m。从我国的现实情况看,医疗体制改革目的是降低医疗成本,提高医疗质量。医疗市场竞争的日益激烈化也迫使各家医院进行管理模式的改变,管理必须以病人为中心,即围绕病人的病历展开管理,从中获得更直接、更丰富、更准确的信息,从而为病人提供更好的服务。但传统的病历模式所发挥的作用是有限的,所以应用电子病历势在必行。第二,电子病历是构筑数字化医院的基础。在传统医院中,各种医疗设备独立分散使用,相互之间缺乏联系,导致信息不能共享。虽然也使用计算机,但重点在管理信息上,医疗信息的分析处理只能凭借医生的经验。电子病历作为临床医疗信息的出发点和医院信息系统的核心,构成了医院业务管理、医疗卫生决策系统的基础。只有实现病历的数字化,才能真正实现医院信息的数字化。第三,电子病历可为实现远程医疗和社区医疗提供技术支持和保障。发展远程医疗(Telemedicine)的目的在于改善医疗条件、共享医疗资源,提供一种管理良好、高效和跨越时空障碍的医疗保健模式。远程医疗的关键是医疗数据从一个地方到另一个地方的传输,这些数据包括高清晰度照片、声音、视频和文字数值等病历信息。社区医疗模式是在每一居民区设立一个社区医疗点。社区诊所重在对居民的健康普查、护理及疾病的防治,为其配备大中型医疗设备既不必要也不现实m。那么要保证社区诊所功能的充分实现,只能使用远程医疗技术。即在各个诊所内都建立“远程终端”,通过远程终端将病人的各种医疗信息传入上级医院,上级医院对病人信息加工处理后送回远程终端。这样,一个小型诊所就是一个功能齐各的医院。因此,建立包含更多医学参数的多媒体电子病历是建立远程医疗系统、实现社区医疗的关键w。总之,电子病历克服了纸张病历的缺陷,它的实现不仅将促进医疗决策效率与医院管理水平的提高和医疗成本的降低,而且将促进临床科学研究的进一步深入。以电子病历为核心的医院信息系统的实现,将使各个医院网络连接在一起,构成医药卫生广域网,从而实现医疗信息在医院之间、医院与社会各部门之间的共享。这样,一方面,患者可享受到更多更好的服务,医院可取得更高的社会效益和经济效益:另一方面,有关部门也能够动态、及时和准确地收集到卫生保健服务的需求与使用状态,以及卫生资源消耗与补偿,从 而推动经济发展和为国家卫生保健战略决策服务”,。由此可见,本课题的研究不仅具有很强的现实意义,而且体现了先进性、前瞻性、可操作性和潜在的社会经济价值。1.3国内外的研究以及现状20多年来,欧、美一些大医院开始建立医院内部的医院信息系统(HIS),随之电子病历在美国、英国、荷兰、日本、香港等地区有了相当程度的研究和应用。美国政府已在大力推广、普及电子病历的应用工作,印第安那大学医学分校利用电子病历预测癌症早期病人的死亡率,波士顿电子病历协会正在研究通过Internet传输急救病人的电子病历问题。英国已将电子病历的IC卡应用于孕妇孕期信息、产程启示及跟踪观察。香港医院管理局的患者卡(PatientCard)记录了病人完整的医疗过程,包括医生检查、检验结果、X片、CT片MTI片及处方等m。同时,这些国家和地区已经成立了专门的研究机构,把电子病历作为一个重点课题研究,组织医疗单位普及推广和实施。经过近20年的发展,我国医院信息系统已初具规模,许多医院相继建立起在医院范围内的信息系统,为我国电子病历的研究和应用奠定了坚实的基础。国家卫生部监制的金卫卡将向全社会推出,可保存持卡人终生的医疗保健信息,持卡人可通过计算机网络直接和银行、医疗保险中心和保险机构联网,使医疗活动变得简单、方便、快捷。解放军总医院亦开展了电子病历的研究和应用m。但这仅仅是电子病历研究及应用的起步,相关的研究内容将会随着电子病历的发展而深入。1.4本文组织及工作内容(1)文章组织第一章:绪论。介绍本文研究课题的背景、研究意义及方法、国内外研究状况等,简单描述了课题研究的主要内容及本文的主要工作。第二章:电子病历概述。本章介绍了电子病历的主要概念,电子病历的主要研究内容和主要功能,并介绍了电子病历系统的实现技术难点。 广东工业大学工程硕士学位论文第三章:相关技术。本章主要介绍了XML的概念、特点及其应用发展情况,并简单介绍了COM+技术,重点介绍了XML在电子病历中的应用。第四章:电子病历系统分析。从系统前期需求调研开始,针对用户的基本需求,设计出系统的总体功能结构框图,在进一步分析的基础上,细化了系统的各个功能模块,以便于更进一步了解系统需求,为电子病历系统的设计和实现提供指导。第五章:讨论了系统的网络部署方案,采用的平台软件和整个系统的软件结构及基本功能划分,详细描述了系统的功能,对几个关键业务流程给出了详细分析和设计。分析出了系统的基本数据结构,给出E-R关系图和系统数据库的逻辑结构设计及物理结构设计,最后结合系统分析与设计的业务流程讨论了部分功能详细实现方法。结束语:总结本文工作,并讨论了系统设计与开发过程中的几点体会,指出系统开发中的几个不足之处,以及对系统的应用进行展望。(2)工作内容电子病历是一个复杂的系统,涉及的内容很多,本论文以“湛江市中医院信息化系统项目中的电子病历系统”为例,就以下内容进行重点研究:(I)概述电子病历的概念及综合性认识,总结国内外电子病历研究状况,并分析国内电子病历的缺陷。(2)研究电子病历管理系统的功能和模块结构。(3)研究XML技术应用于病历信息的存放、组织和管理。(4)研究病历信息的查询与归档策略。(5)研究电子病历系统的安全策略。 釜三塞皇三耋里!璧2.1电子病历的概念第二章电子病历概述电子病历是一个正在发展、变化的概念,也即电子病历至今还没有一个统一、公认的定义一。在英文中就有多种不同的名称:ElectronicMedicalRecords(EMR),ElectronicPatientRecords(EPR),ComputerbasedPatientRecords(CPR)等。各种不同的名称意味着涵盖的范围不同、研究的重点不同,这其中具有代表性的电子病历定义是山美国电子病历组织(CPRI)和美国医学研究所(IOM)分别给出的。美国电子病历组织(CPRI)认为:电子病历是获取、存储、处理、保密、安全、传输、显示病人有关医疗信息的技术,它是一个系统框架,能够实现上述各种的系统功能,并且具备与其它系统集成的接口。这个定义表明电子病历是一个完整的系统,实现病历数据从获取、存储到传输、处理、查询的全部过程,但是电子病历系统仅仅是医院信息化的一部分,它还需要与其它系统(例如PACS影像处理系统)进行集成,才能实现临床医疗信息的一体化。2.2电子病历的内容与功能由于医疗数据的复杂性和电子病历应用的广泛性,特别是电子病历概念的不断变化和发展,完整的电子病历系统是非常复杂的,其功能至今也没有一个明确的范围,因此理想的电子病历系统还没有实现。从前述电子病历的概念及研究状况可知,电子病历并不是将现有纸病历简单地电子化。它不仅指静态病历信息,例如各种表格和规范的结构信息以及心电图、x光片、CT片等图形图像化的非结构化信息,而且还能够提供相关的服务,例如储存、访问、查询、统计、数据交换等。电子病历不仅包括了患者纸张病历的全部信息,而且反映了患者整个的医疗过程,储存了患者全部的医疗信息,包括病史、各种检验检查、护理和影像声图文信息,是对个人医疗信息及其相关处理过程综合化的体现⋯。 广东工业大学工程硕士学位论文电子病历应包括的内容有:①纸病历的所有内容;②图片、影像、声音等有关患者的多媒体信息;③医学文献等等。理想的电子病历系统应当至少具备的功能是:①多媒体信息处理功能;②信息检索和获取功能,获得授权的人可及时检索并完整、准确地获取到所需资料,还可得到准确的释义;③网络通讯功能,可与医疗设备进行通信传输;④电子数据交换功能,可以与其它医院、社会部门交换医疗信息;⑤杂务处理功能,例如自动进行药品配伍查错、各种相关病历信息的自动生成等:⑥辅助诊断、自我学习等智能决策支援功能:⑦系统安全与隐私保密功能等等。2.3电子病历的技术难点(1)电子病历的结构病历是一个人的健康历史。它包含的内容种类很多:首页、医嘱、病程记录、各种检查检验结果、手术记录、护理信息等等。这些信息产生于各个就诊环节或多个不同的系统中。其中,既有数据库方式存储,也有文件方式存储。在计算机内部,要将这些信息按照类别及发生的时间顺序有机地组织为一个整体,需要建立病历的描述结构,或者说电子病历的数据模型,这是电了病历系统的基础w。(2)病历信息的安全机制病历是已执行的病人医疗过程的记录,也是将要执行的医疗操作的依据;病历内容具有法律效力;病人信息还是病人个人的隐私。因此使用电子病历系统必须要建立一套安全机制。这一机制要覆盖病人信息不同表示形式的各组成部分,要控制到具体的病人。它要实现对信息的使用者进行授权,哪些人对哪些信息可以修改,哪些人对哪些信息可以阅读,同时对一些重要的操作要进行追踪记录。(3)存储体系及备份方案 毫无疑问,病历信息需要长期保存。但病历信息数据量大、小将影响所有病人信息的长期联机保存。作为电子病历系统,不仅要实现病人信息的长期保存,而且在发生故障时,病人的信息都不能丢失,在需要时还要能提取出来。以病人为中心的数据归档方法与传统的以各类业务为中心的数据备份方法大小相同。为此,要建立分级存储结构,实现海量存储和实时存取的统一,对过期病人的病历,实现自动归档;对需要提取的病历,提供恢复联机状态工具;在发生故障后,能将数据恢复到断点状态。(4)建立医生工作站系统病历数据的采集和使用集中体现于临床医生的日常工作中,电子病历系统必须提供病人信息的采集和阅读手段,为此要设计医生工作站系统。该系统能够辅助医生书写病历、下达医嘱、申请检查,同时能够检索病历、阅读病历内容。由于病历涉及的信息繁多,而电子病历的发展是一个长期过程,实现医生工作站的关键问题之一是建立信息及功能集成的框架。通过该框架、对各种信息的解释能够以相对独立的方式进行,又可以将信息与功能集成到一起,从而便于医生工作站的扩充,自动适应未来新功能“‘。医生工作站另外一个重要问题是发展方便高效的信息录入手段,让医生集中精力于病人的治疗过程。模板及词库辅助录入方法,是辅助键盘录入的较好方法,可以有公共模板,也可以有私有模板;词库可以事先收集好,也可以进一步提供自学功能,自动或半自动提取词库。另一个很有发展前途的输入方法是语音输入,目前该技术已趋向于实用,在医学专门领域,有望达到实用化。(5)病历数据交换标准与方法电子病历的优势之一是便于院际间病历信息交换。为达到这一目标,需要制定院际病历信息交换格式,提供转换手段,可以将病历信息转换为标准的交换格式在网络上传输或存入可移动媒体,反之亦然。与上述工作相关的是需要制定一系列的标准和规范,这方面的工作需要国家有关部门的积极组织,需要信息技术人员、临床工作者、医院管理者合作完成”l。 广东工业大学工程硕士学位论文3.1XML第三章相关技术XML(eXtensibleMarkupLanguage,可扩展的标记语言)是万维网联盟(WordWideWebConsortium,W3C)创建的一组规范,是当前最热门的网络技术之一,被称为“第一代Web语言”、“下一代网络应用的基石”“。它是一种在Web环境下使用的新标记语言,以便于软件开发人员和内容创作者在互联网上组织信息,其目的在于克服HTML的弊端,满足不断增长的网络应用需求。它于1996年开始开发m。3.1.1XML主要特点(1)可读性强XML由若干规则组成,这些规则可用于创建标记语言,标记语言中的各种标记符号以文本形式出现,成对使用,允许标记符号制定者按易于理解的形式来设计,具有相当的自释性。例如,可用(patientName)和(/patientName)来标记患者的姓名。无论是应用程序读取还是人工读取,都比较容易*,。(2)良好的可扩展性XML不再限于标记语言的范畴,从本质上讲它是一种元标记语言。XML允许各个不同的行业根据自己独特的需要制定自己的一套标记符号,它既要求浏览器事先记住成千上万个标记符号,也要求一套标记符号能够适合各个行业、各个领域的应用,XML的这个优点有助于它自身的发展一-。(3)开放性X^lL最大的特点是以一种开放的自我描述方式定义数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。微软公司,Oracle公司和其他一些著名的大公司以及W3C的工作组正共同努力以确保XML的互用性,以及为开发人员、处理人员 和不同系统和浏览器的使用者提供支持,进一步发展X.ML标准⋯。(4)数据的多样显示XML的突出特点是数据内容与描述数据显示方式的信息相分离,XML文档只描述数据内容本身及其结构,其定义的数据允许指定不同的显示方式,使数据可以按最适合用户阅览的方式表现出来”。(5)数据集成互联网上存在大量的、各种不同平台的数据库,彼此之间相互兼容的可能性非常小,对这些数据库同时进行搜索在以前是非常困难的。如果数据库以】(ML文档形式存在,或者是tI!XML文档类型数据库但可以通过XML转换工具转换为XML文档类型数据库,就可以很容易地将来自不同源的结构化数据组合在一起”。(6)数据的可重用性XML文档只描述数据内容及其结构,以便数据在网络上进行交流和处理。不同的数据使用者可以从同一批结构化的数据中将其关心的那一部分数据提取出来,用于各自的目的。XML能够成功的一个关键,是其蕴涵的将数据内容与数据的应用分开从而提高效率的思想。如上所述,XML文档制作者只须考虑如何将数据内容尽量详细完整地组织起来,而不需考虑如何使用、显示它们。从这一点上看,与当初数据库技术的提出非常相像,都是为了将数据以独立于数据使用目的的方式存放,以达到被不同的应用程序使用的目的,只不过XML是应用在提高网络上的数据可重用性和数据交换的效率方面”。(7)粒状更新我们将XML文档的更新方式称之为“粒状更新”,因为当其一部分数据变化后,不需要重发整个结构化的数据,发生变化的数据从服务器发送给客户端,不需要刷新使用者的整个界面就能够显示出来,这种更新方式可避免重建Web页,减轻了服务器的负担,从而提高网络运行速度m。(8)可使网络搜索功能更加强大用XML来开发网站,利用XML等技术使网页中的信息结构化,同时使搜索引擎改进检索 广东工业大学工程硕士学位论文策略,在布尔逻辑检索的基础上充分考虑XML型网页的结构化特征,使查询也能结构化,则可使搜索的准确度大大提高n“。3.1.2XML相关技术(1)文档类型定义DTDXML正是以作为互联网上数据存储和数据交换的标准为目的而发展的。如果XML文档仅供用户通过浏览器来浏览的话,只要符合XML规范就够了,一般将这种文档称为结构良好的XML文档:如果XML文档还要供第三方应用程序使用,或两个用户要利用XML文档进行电子数据交换(EOI),则必须在结构良好的基础上按照指定的标记符号集合来制作XML文档,这种标记符号集合称为)(hiL文档类型定义DTD(DocumentTypeDefinition),一般将这种文档称为有效的XML文档。DTD是一套关于标记符号的语法规则,通过定义DTD,我们可以控制在XML文档中可以使用哪些标记符号,它们应该按什么次序出现,哪些标记符号可以出现在其他标记符号中,哪些标记符号有属性等。XML最大的改进之一是可扩展性,用户可以通过自己设计的DTD扩展元素标志,而不是局限于若干固定的元素标志。利用已被广泛认可的DTD来编制)(ML文档,以及由浏览器或其它应用程序来判断XML文档的有效性,已经没有任何技术障碍,困难的是各个行业如何根据本行业的特点制定出适用、合理、全而的DTD。例如,如果两个医疗机构分别建立各自的XML电子病历文档,要想进行数据交换或被第三方应用程序使用,必须共同遵循一个可供医疗机构部门使用的DTD,其中包括各种描述医疗信息的标记符号、属性、标记符号之间的层次关系等。成立于1987年国际组织HL7(HealthLevelSeven)正在致力于各种医疗信息系统间,如临床、银行、保险、管理、行政及检验各项电子资料的标准。(2)煳LSchemaDTD的语法不符合XML文件的标准,自成一个体系。另外一个代替DTD的就是W3C定义的Schema,Schema从字而意义上来说,可以翻译成模式、大纲、计划、规划等等。它的基本意思就是说为XML文档制定一种模式。Schema相对于DTD的明显好处是XMLSchema文档本身也是瑚L文档,而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者,因为可以使用相同的工具来处理】(MLSchema和其他XML信息,而不必专门为Schema 使用特殊工具。Schema简单易懂,懂得XML语法、规则的人都可以立刻理解它。Schema的概念提出已久,但W3C的标准最近才出来,相应的应用支持尚未完善,但采用Schema已成为XML发展的一个趋势““。(3)XSL可扩展样式语言XSL模式可以帮助我们标识一篇给定XML文档中的某些节点,但对这些节点的操作最终还是有赖于开发者来完成。XSL可以帮助我们简化完成通常XML任务的过程,将XML节点从一种格式转化到另一种格式。这种对格式转化的需求起源于Web开发者需要将他们的XML数据转化为HTML数据以供用户浏览。实际上,XSL所能做的远比以上描述多得多。XSL能够有效的定义从一种XML格式到另一种XML格式之间的转换,这极大的增强了互操作性。假如某个人向你的系统发送了一篇)(ML文档,而你的系统不认识它所采用的XML词汇,你只要进行一次简单的XSL转换就可以得到自己熟悉的词汇。正是由于XML这种简单的特点,开发者才不用为了描述某种类型的数据而采用通用的词汇。3.2COM+的概述在Windows2000众多功能和特性之中,对于开发人员来说,COM+是最值得关注的一个焦点。在Windows2000中,已经看到了COM+的面貌,也感受到了COM+将带给程序设计和开发过程中思路上的变化““。COM+并不是COM的新版本,可以把它理解为COM的新发展,或者为COM更高层次上的应用。COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。有一种说法这样认为,COM+是COM、DC例和MTS(MicrosoftTransactionServer)的集成,这种说法有一定的道理,因为COM+确实综合了这些技术要素。但更重要的一点是,COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。COM是个开放的组件标准,它有很强的扩充和扩展能力,从COM到DCOM,再到MTS的发展过程也充分说明了这一点。虽然COM已经改变了Windows程序员的应用开发模式,把组件的概念融入到Windows应用中,但是由于种种原因,DCOM和MTS的许多优越性还没有为广大的Windows程序员所认识m,。MTS针对企业应用和Web应用的特点,在CoM/DcoM的 广东工业大学工程硕士学位论文基础上又添加了许多功能和特性,包括事务特性、安全模型、管理和配置等,MTS使COM成为一个完整的组件体系结构。由于历史的原因,COM、DCOM和MTS相互之间并不很融洽,难以形成统一的整体,不过,这种状况很快就要结束,因为COM+将把这三者有效地统一起来,形成一个全新的、功能强大的组件体系结构,并且把DcoM和MTS的各种优势以更为简捷的方式带给Windows2000程序员和用户,这也是为什么要采用COM+来开发我们的电子病历系统的原因。3.2.1为什么要选择基于COM+COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现,已经成为Microsoft系统平台策略和软件发展策略的一部分。COM+继承了COM几乎全部的优势,同时又避免了COM实现方面的一些不足。COM+紧紧地与操作系统结合起来,通过系统服务为应用程序提供全面的服务。3.2.2COM+在DNA策略中扮演重要的角色Microsoft推出的WindowsDNA(DistributedinternetApplicationArchitecture)策略,因为COM+将在DNA策略中扮演重要的角色。WindowsDNA是Microsoft多年积累下来的技术精华集合起来而形成一个完整的、多层结构的企业应用总体方案,它使Windows真正成为企业应用平台““。Microsoft在MTS的基础上提出了多层软件结构的概念。从大的方面来讲,一个企业应用或者分布式应用可以分为表现层、业务层和数据层。表现层为应用的客户端部分,它负责与用户进行交互:业务层构成了应用的业务逻辑规则,它是应用的核心,通常由一些MTS组件构成:数据层为后台数据库,它既可以位于专用的数据服务器,也可以与业务层在同一台服务器上。MTS主要位于中间层,它为业务组件提供了一个运行和管理的统一环境。图3一la)显示了这种多层结构的技术组成模型。WindowsDNA是一个简化了的三层结构,如图3一lb)所示“”。 a)三层结构技术组成模型b)WindowsONA结构图3-1WindowsDNA的三层结构图Figure3-IWindowsDNAThreeStratificationComposition在现有的系统平台以及软件开发工具条件下,为了实现多层结构的企业应用,必须使用各种分离的技术,包括使用Win32API以及系统提供的一些服务。图3—1a)列出了某些可能用到的软件或者技术,图3-1b)则要简明得多,这是一个诱人的结构模型,在表现层,现在开发应用程序,要么使用Win32API或.Net框架开发客户应用,要么利用其他脚本语言直接把浏览器用作客户应用。在DNA结构中,FOP瑚S+是一个技术框架,它将把Win32GUI和WebAPI结合起来。在数据层,Microsoft已经把数据库接口从ODBC转移到ADO.net和OLE明上,这将最终促进数据层接口技术的统一。在中间业务层,COM+已经成为现实,它以系统服务的形式把原先散落的众多技术综合起来,并提供简单的编程模型,以直接应用层的编程接口为应用程序提供服务。COM+是DNA结构的核心,它将成为企业应用或者分布式应用的基本工具。伴随着WindowsServer2000的广泛应用,DNA结构也已非常清晰,带给我们的是一个优秀的应用软件模型““。3.2.3COM+具备独有的特性COM+的基本结构并不复杂,简单说起来,它把COM和MTS的编程模型结合起来,同时又增加了一些新的特性⋯。从COM的发展角度来看,COM最初作为桌面操作系统平台上的组件技术,主要为OLE 广东工业大学工程硕士学位论文服务。但是随着WindowsNT与DCOM的发布,COM通过底层的远程支持使组件技术延伸到了分布式应用领域,充分体现了COM的扩展能力以及组件结构模型的优势。MTS为COM增添了许多新的内容,弥补了C伽和Dc0M的一些不足,它注重于服务器一端的组件管理和配置环境。COM+进一步把COM、DCOM和MTS统一起来,形成真正适合于企业应用的组件技术。COM、DCOM、MTS以及COM+的结构关系如图3—2所示。啡目录霾★盯S负载平衡囤内存数据库事务支持对象池资源分发管理队列组件新的组件模型安全模獭组件管理和配置麓易于管理L一图3-2COM/DCOM、Mrs以及COM+的结构关系图Figure3-2COM/DCOM,MTSasWellasCOM+StructureRelationalGraphCOM+不仅继承了COM、Dc0M和MTS的许多特性,同时也新增了一些服务,比如负载平衡、内存数据库、事件模型、队列服务等“”。COM+新增的服务为COM+应用提供了很强的功能,建立在COM+基础上的应用程序可以直接利用这些服务而获得良好的企业应用特性。3.2.4COM+的系统服务COM+的系统服务充分体现了COM+的特征,通过这些系统服务,可以很容易地开发出多层结构的应用系统,因为这些系统服务本身已经满足了多层应用的一些基本要求。COM+以系统服务的形式为应用提供了许多新特性,这有多方面的好处。首先,客户或者组件程序可以直接利用这些系统服务,避免了底层的细节处理,减少开发成本,降低代码量,同时也减小了犯错误的可能性:其次,有一些系统服务涉及到较复杂的逻辑,可能要访问底层 第三章相关技术的系统资源,应用层很难实现这些系统服务;另外,使用系统服务可增强可靠性,因为这些系统服务已经经过严格的测试,应用系统要获得同样的可靠性需要很昂贵的代价““。COM+的系统服务有的从MTS继承过来,有的是新增加的。包括队列组件、负载平衡、内存数据库和事件服务,还有其他一些在MTS中已经引入的,但COY+又增强了的系统服务,包括事务、对象池、安全模型以及管理特性。3.3三层(多层)结构和COM+技术在电子病历系统的应用两层应用程序是早期的c/s结构应用程序模型,它主要由Client端和数据Server端组成。它的伸缩性不够好,开发人员开发出来的电子病历系统在客户端运行,占用了大量的系统资源和网络资源。随着电子病历系统业务逻辑及复杂性的不断增大,其开发工作的难度也越来越高。因此采用三层或多层开发电子病历系统现已成为主流。它能够满足电子病历系统的两种需求,即可伸缩性(或可扩展性)和Internet/Intranet应用。三层(多层)结构的电子病历系统把业务逻辑独立出来,组成一层或多层,这样就形成了客户端的客户界面层、中间业务逻辑(可细化为多层)和后端数据库服务器层,这样做的优势是“”:(1)客户端人机界面部分的程序开发工作得以简化。它不必关心业务逻辑是如何访问数据库的,只需把精力集中在人机界面上即可。(2)中间业务逻辑层包含了大量的供客户端程序调用的业务逻辑规则。以帮助其完成业务操作。它的优点就在于它所具有的可伸缩性,可使其随具体业务的变化而改变,但在客户层和数据服务层所做的改动较小,适合于快速客户化开发。(3)数据服务层主要提供对数据库进行各种操作的方法。它主要由中间业务层来调用并完成业务逻辑,当数据库的结构确定后,对于它的改动也就比较小了。(4)系统的安全性得以提高它可以对每个业务功能组件进行授权,限制了非法访问。(5)能够充分使用Microsoft的COM+核心技术,便于进行事务管理。 广东工业大学工程硕士学位论文3.4XML与电子病历3.4.1以XML作为病历的描述基础病历的描述模型是电子病历的最基础问题,XML为病历内容的描述提供了有效手段。XML是一种结构化描述语言。它随着Internet技术和电子商务的发展成为HTML的后继者。它的优势在于,它不仅是一种标识语言,更是一种可以定义描述对象结构的元语言。XML文档自含结构,使得系统间交换的信息可以互相“理解”。使用XML作为病历内容的描述语言有以下理由:一是XML采用了层次化的面向对象的结构描述方法,非常适合于描述病历这样复杂的内容,在表达能力方面优于关系数据库。二是XML是一种元语言,可以定义描述对象的结构。这适合于病历中不同内容结构的变化,适合于保持病历的历史。三是XML与Internet有天生的联系,可以通过浏览器直接浏览病历内容,减轻开发工作量。四是XML将内容与样式关联在一起,这不仅可以保留病历内容,也可保留病历外观。五是XML作为电子商务时代的“标准语言”,拥有大量的开发和应用工具,有利于对病历内容的处理。使用XML描述病历内容,要先定义病历内容的结构(DTD)。在此基础上实现业务数据库中病人信息到病历结构的转换,从而实现由以类型为中心的数据库描述到以人为中心的描述,形成的XML文件是病历存储管理的基本单位。采用XML文件来记录病历,并不排斥病人信息的数据库表示。病历的XML描述与数据库记录有各自的适用范围,它们将共同存在。数据库系统主要用于支持日常的业务处理和病人信息的采集,其中需要大量的数据检索和更新。业务系统要保持高效率,过期的数据不宜在数据库中长期保存。电子病历系统所实现的病历浏览,主要是对病人信息的提取,数据不再更改,要保证数据长期联机。因此,将其建立在XML内容管理上。病人出院后,将病历内容转为XML描述文件。两种描述同时存在并保持相对独立,依用途各自使用m“w。 3.4.2基于XML的病历的集成集成是电子病历发展中要考虑的重要问题。在内容上,病历信息来自于多个不同的系统,甚至是不同厂商的系统,病历的内容又在不断发展变化,这些内容要集成到一起;在外观上,希望能够将病历信息的外观与其内容集成到一起。电子病历研究的一个重要方面是专科、表格或结构化病历的处理问题。随着病历内容覆盖越来越多,结构化的内容会越来越多,结构化程度会不断细化。电子病历系统的设计必须考虑这一发展要求,能随时将新出现的结构化内容集成到病历中来。采用XML为这种发展创造了条件。以检查报告为例,心脏超声与腹部超声的报告格式就不会相同。在数据库方式下,将检查报告抽象为一种统一的结构,不能体现各类报告的区别;而在XML下,它们可以对应不同的DTD。新出现的报告形式在设计阶段是不能预见的,但却能容易地集成到系统中来而无需修改已有的软件。另外一点,信息系统的发展必然要走集成的道路,有第三方的系统所产生的病人信息。如果它也是XML的或者可以转为XML的,这部分内容也要集成到电子病历中来。这些是病历内容上的集成,内容上的集成可以通过DTD的集成来实现,不同时期可以采用不同的DTD。在传统方式下,要解决这一问题只能依靠修改应用程序来实现“⋯。集成的另一方面是内容与外观的集成。当病历信息在浏览器中显示时,需要规定显示的样式。不同类型的内容采用不同的样式,同类内容也可能采用不同的样式。如:不同科室的检查检验报告,可能希望不同的显示样式。而样式本身又可能随着时『自J的发展而变化。我们希望样式能与内容一样保存起来,展现病历内容时使用原有样式。这就是内容与外观的集成。我们可以通过两方面的工作实现这一需求:一方面在XML中,与样式描述相关联;另一方面,要在存储管理XML内容的同时,管理DTD和样式描述,并将其与内容相关联。这由存储管理程序实现。3.4.3基于XML的病历信息的处理XML描述一个文档的基本特征是,使用者可以通过文档类型定义(DTD)来定义文档(病历)的结构。所有遵循这一结构的病历文档通过XML分析器(Parser)可以将其内容还原为结构化的字段并进行处理,这为病历内容的通用化处理奠定了基础。对病历信息的处理包 广东工业大学工程硕士学位论文括信息的录入、显示和检索等。病历信息除了通过开发传统的基于数据库的录入程序录入不同的信息内容外,还要考虑大量的表格化专科病历的录入方法。这些表格化的内容在病历中大量存在,而我们又很难为各种表格化的病历内容开发各自不同的数据结构和应用程序。XML为这一问题的解决提供了契机。我们可以通过设计工具来定制符合各种表格病历内容的XML文档DTD以及相应的录入屏幕;通过通用的XML处理程序对表格病历DTD以及屏幕定义的处理,实现定制的录入屏幕。用户录入的内容就是结构不同的表格病历XML文档,它可以与其他病历内容一起管理和处理。当前甚至出现了商品化的类似于WORD的XML文档编辑器,从而使基于XML的病历内容的录入更为简便。由于XML文档的结构化,理论上可以对XML文档进行各种结构化检索和统计。目前,已经有许多工具提供XML文档的检索。当然,对于大数据量,基于XML的检索与基于数据库的检索在性能上相比还有较大差距。3.4.4基于XML的病历信息交换病历的信息交换是电子病历的一个重要目标。信息交换的前提是标准化。XML为电子病历提供了很好的交换载体,但XML仅是描述病历信息的“元语言”,要使交换的病历的内容能为对方所“理解”和处理,还必须有交换双方约定一致的病历描述结构即DTD。制定有关病历信息的文档类型定义一DTD的标准,是应用XML于电子病历交换的关键。由上可见,XML的出现为电子病历系统的发展开创了一条前景光明的道路。 第四章电子病历系统分析4.1电子病历系统可行性分析电子病历系统是对病历的提升,通过电子病历系统的开发和推广使用,将会大大提高我国各级医院信息化水平,具有重要的现实意义。主要体现在以下几个方面:(1)信息完整:电子病历第一步可记录纸病历的全部内容,下一步可记录CT、MRI、x线、超声等影像图片、声像动态等,使医护人员在阅读病历时更加直观和全面,保证了医疗信息的完整性。(2)科研价值:据统计,80%的I|缶床科研基础数据来自住院病历,而电子病历为临床教学、科研提供了多种快捷信息检索方式,如随机查询、疾病记录检索、疾病分类统计等,实现了医院病案管理现代化“”。(3)查阅方便快捷:随着医院计算机管理网络化,电子病历也可实现网络化,医师可随时检索住院病人信息、接收病人主索引、住院病人管理、医疗统计系统的动态数据。同时电子病历还可作为媒介进行异地专家的远程会诊和研究。(4)容量大,易保存。电子病历可存储于光卡中,也可存储于医院电子病历服务器中,一般一台标准配置的服务器可存放20年的电子病历,这也是大多数国家规定医院保存病人病历的年限标准,例如美国等发达国家。(5)安全可靠:通过实行EMR分级保密管理,设立查阅、输入、修改和使用EMR分级授权等,可以保证EMR的安全性和使用价值。同时,系统提供数据备份和恢复工具。各级工作站建立数据备份制度,可以保证数据在受到破坏的情况下,得到最大限度的恢复。(6)时效性强:患者就医时可授权医生查阅自己的EMR,协助医务人员迅速、直观、准确地了解病人以前所接受的治疗及检查的准确资料,避免了因患者记忆不清导致病史叙述的错误和遗漏,缩短了医生确诊的时间,为抢救生命赢得了宝贵时间。这样,一方面可以扩大医院的竞争力的同时,另一方面还可以在此基础上为病人提供更高质量的服务,提高医疗质量,减少医疗事故和医疗纠纷。总之,我国医院信息系统己初具规模,许多医院相继建立起医院范围的信息系统,为我国电子病历的研究和应用奠定 广东工业大学工程硕士学位论文了坚实的基础,这对于电子病历系统未来的发展是有着广阔前景。⋯。4,2电子病历系统需求分析病历是病人在医院诊断治疗全过程的原始记录,它包含有首页、病程记录、检查检验结果、医嘱、手术记录、护理记录等等。电子病历(electronicmedicalrecord,EMR)是指将医疗活动过程中形成的文字、符号、图表、影像、切片等资料实现计算机数字化,提供电子贮存、查询、统计、数据交换等。电子病历不仅指静态病历信息,还包括提供相关服务。本系统的最终用户为医院,根据从医院方面取得的图表资料、文字资料以及其他细节方面的信息,根据日常生活中的经验,根据所做的其他询问和调查,得出用户的下列实际要求:4.2.1医院的组织机构情况一所医院的主要构成分为两个部分,一是门诊部门,二是住院部门,医院的所有日常工作都是围绕着这两大部门进行的。门诊部门和住院部门各下设若干科室,如门诊部门下设口腔科、内科、外科、皮肤科等,住院部门下设内科、外科、骨科等,二者下设的部分科室是交叉的,各科室都有相应的医生、护士,完成所承担的医疗工作,医生又有主治医师、副主任医师、普通医师或教授、副教授其他之分m-。为了支持这两大部门的工作,医院还设置了药库、中心药房、门诊药房、制剂室、设备科、财务科、后勤仓库、门诊收费处、门诊挂号处、问讯处、住院处、检验科室、检查科室、血库、病案室、手术室,以及为医院的日常管理而设置的行政部门等。其中,药库负责药品的贮存、发放和采购:中心药房负责住院病人的药品管理,包括根据处方及医嘱生成领药单,向药库领药,配药并把药品发给相应的病区,以及药房的库存管理和病区余药回收;门诊药房负责门诊病人的药品管理,包括根据处方,按处方内容备药、发药,向药库领药等;制剂室负责药物的配制,并提供给药库:设备科负责医院的医疗设备等的购入和维修等;财务科负责医院中一切与财务有关的业务和工作,进行医院 的财务管理;后勤仓库负责医院所有后勤物品的贮存和管理;门诊收费处负责门诊病人的处方的划价和收费;门诊挂号处负责门诊病人的挂号事务;问讯处负责向有疑问的就医病人解释相关问题:住院处负责所有就医病人的住院事宜和相关管理;检验科室负责病人的各项检验,(如验血等)以及与各项检验相关的管理,药剂取用等;检查科室负责病人的各项检查(如CT检查以及其他放射线检查等)以及与各项检查相关的管理,设备使用与维护等;血库负责医院的各种血型的血液的贮存和管理以及血液的采集;病案室负责病人病案的管理和保存;手术室负责病人的手术,手术的安排以及有关手术的相关事宜和器械,制剂,设备等的使用等;行政部门则根据其相应的工作职责进行日常的工作,对医院进行行政方面的管理,以保证医院的医疗工作的正常进行和医院的后勤保障。上述的各部门都有相关的办公地点、治疗地点和相对固定的工作人员。各部门的关系图如图4.1所示。4.2.2各部门的业务活动情况1.门诊部门首先,门诊病人需要到门诊挂号处挂号(如果病人有需要,可以对所要就诊的相应医科进行查询,可查询该医科的当班医生及其基本情况,然后再去挂号),如果是初诊病人要在门诊挂号处登记其基本信息,如姓名、年龄、住址、联系方式等,由挂号处根据病人所提供的信息制成IC卡发放给病人;然后,初诊病人可与复诊病人一样进行挂号和就诊排号,由挂号处处理病人的病历管理;其次,病人需到门诊收费处缴纳挂号费,并持挂号和收费证明到相应医科就医。经医生诊疗后,由医生开出诊断结果或者处方,检查或检验申请单,如为处方,则病人需持处方单到门诊收费处划价交费,然后持收费证明到门诊药房取药;如为检查或检验申请单,则病人需持申请单到门诊收费处划价交费,然后持收费证明到检查科室或检验科室进行检查或检验n¨; 广东工业大学工程硕士学位论文图4-1医院组织结构图Figure4-1HospitalOrganizationStructureDrawing当门诊药房接到取药处方后,要进行配药和发药,当药房库存的药品减少到一定量的时候,药房人员应到药库办理药品申领,领取所需的药品,而药房需对药品的出库、入库和库存进行管理;当检查科室或检验科室接到病人的申请后,对病人进行检查或检验,并将检查或检验结果填入结果报告单,交给病人,各科室所做的检查或检验需记录在案。病人可持检查或检验的结果再到原医科进行复诊,直至医生开出处方或提出医疗建议,最终病人痊愈离院。其业务流程如图4.2所示。 第四章电子病历系统分析图4-2门诊部门业务流程Figure4-2BusinessOperationofOutpatientDepartment2.住院部门当病人接到医生的建议需住院治疗或接到医院的入院通知单后,需到住院处办理入院 广东工业大学工程硬士学位论文手续,需要登记基本信息,并交纳一定数额的预交款或住院押金。住院手续办理妥当之后,由病区科室根据病人所就诊的医科给病人安排床位,将病人的预交款信息录入病进行相应的维护和管理,病区科室还应按照医生开出的医嘱执行,医嘱的主要内容包括病人的用药,检查申请或检验申请。“;病区科室应将医嘱中病人用药的部分分类综合统计,形成药品申领单,统一向药库领药,然后将药品按时按量发给住院病人,需对发药情况进行记录,并对所领取的药品进行统一的管理:病区科室应将医嘱中的检查或检验申请单发给检查科室或检验科室,当相应的科室将申请进行处理并将检查通知发给病区科室后,由病区科室通知病人进行相应的检查或检验:药库对于药品申领单的处理和对药品的管理,检查科室和检验科室对于申请、检查以及相应的管理工作与门诊中的部分相同:当病人需要手术时,首先由病区科室将手术申请提交给手术室,由手术室安排手术日程,进行材料、器械的准备,当准备妥当后,手术室将手术通知发给病区科室,由病区科室通知并安排病人进入手术室,手术室需将手术中的麻醉记录,术中医嘱,材料、器械的使用记录在案;当病人可以出院时,应先在病区科室进行出院登记,办理出科,然后在住院处办理出院手续,即可出院。当病人需要转科时,需在病区科室办理转科手续,转入另一病区,由另一病区的病区科室安排病人的床位,并对病人转入的相应资料进行管理。其业务流程如图4-3所示。4.2.3用户对系统的要求面:1.信息要求由于系统的使用主体是医院的管理人员,因此对系统的信息要求可分为以下几个方(1)病人信息首先是病人的基本信息,主要包括病人的姓名,性别,出生年月,年龄,家庭住址 董竺耋皇王童要垂彗坌堑联系方式等:对于门诊病人,还需要就诊时间,就诊医科,就诊结果,处方记录,检查时间,检查项目,检查结果,检验时间,检验项目,检验结果等;从另一病区转入转至另一瘸区图4-3住院部门业务流程Figure4-3Business0perationofInpatientDepartment 广东工业大学工程硕士学位论文对于住院病人,还需要入院时间,所在病区,所在医科,床位号,主治医师,用药记录,检查时间,检查项目,检查结果,检验时间,检验项目,检验结果,手术时间,手术相关记录,病人病情变化记录,相关体检记录,出院时间等。(2)医生信息首先是医生的基本信息,主要包括医生的姓名,性别,出生年月,家庭住址,联系方式,医生的编码,所在医科,工龄,职称等:对于门诊医生,还需要挂号费用,当天工作量,出诊时间等;对于住院医生,还需要所在病区,负责病人,诊断记录等。(3)各种单据、证明的信息各种单据、证明,如医生诊断书,处方单,检验申请单,检查申请单,检验结果报告单,检查结果报告单,收款单,病人医疗记录,手术申请单,手术通知单,病人入院登记单,转科申请单,病人情况登记单,药品提领单,药品发放记录,药品出库单,药品入库单,设备使用记录,器械领用单,器械使用记录等。(4)各种库存信息各种库存,如药品、制剂、设备、器械以及后勤劳保用品等的信息,包括入库记录,出库记录,库存量,单价等;2.处理要求系统应当完成以下的信息处理mJ:(1)存储病人信息,医生信息,各种单据、证明的信息,供相应的人员查询;(2)对病人信息进行及时的更新和统计:(3)对医生信息进行及时的更新和统计,并根据统计数字得出相关的其他数据,如根据医生的出诊情况、工龄、工作量、职称等,得出医生工资中相应的应得金额,完成对医生工资的计算和统计,供发放;(4)各种单据、证明以及记录,根据实际需要,进行更新,统计,自动处理等等,如对病人病情的记录的及时更新,对药品提领情况的及时统计,通过系统,自动生成一些单证,如系统将手术申请单进行相应的处理,根据所存储的信息得出相关信息,如手术可进行时间,手术室地点安排等,进而生成手术通知单: 釜璺耋皇王室里至竺坌篓(5)对各种库存信息的及时更新和统计以及相关的自动处理,系统应根据库存量,入库量,出库量,自动得出新的即时的库存量,完成更新,当库存少到一定程度,系统应提出警告,提示管理人员库存不足,使管理人员做出相应的处理;(6)所有原始数据和统计数据进行相关分析,如门诊收入,住院收入,药品收支,物资情况,医疗信息,病区床位利用率,床位周转率等;(7)对医院所需的各种报表,图形显示,分析报告,各种单据进行打印,以供相关的使用。4.2.4安全性与完整性要求1.安全性要求(1)系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;(2)系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;(3)系统应对不同用户设置不同的权限,区分不同的用户,如区分病人(只能查询医生的出诊情况,医科设置,医生简介和本人的信息),医生(只能查询本医科诊治的病人资料,本人的信息,医院的公共信息等),管理人员(可查询医院相关的运作情况,并可根据其工作内容,录入相关的信息,修改相关的记录),系统管理员(可对系统进行日常维护,包括数据更新,权限设置等),院长(可查询医院所有运作情况(包括医院的医疗管理、经济管理、行政管理等)的数据,医生的信息,以及各种统计和分析结果等)。2.完整性要求(1)各种信息记录的完整性,信息记录内容不能为空;(2)各种数据问相互的联系的正确性;(3)相同的数据在不同记录中的一致性。 广东工业大学工程硕士学位论文4.2.5确定系统的边界经对前面的需求调查和初步的分析,确定由计算机完成的工作时对数据进行各种管理和处理;由手工完成的工作主要有对原始数据的录入;不能由计算机生成的,各种数据的更新,包括数据变化后的修改,数据的增加,失效数据或无用数据的删除等;以及系统的日常维护。4.3系统功能的总体设计根据如上得到的用户需求,将本系统按照所完成的功能分成门诊管理子系统和住院管理子系统。4.3.1门诊管理子系统1.门诊挂号部分(1)处理门诊病人挂号事务;(2)支持多种挂号类别以及自费、公费、记账等多种挂号病人,支持退挂号操作;(3)向首次来院就诊的病人发放就医IC卡,登记病人基本信息;(4)建立、维护门诊病历的基本信息。2.门诊收费部分(1)输入门诊病人的处方和各种诊疗项目,由电脑自动划价,同时对指定的项目支持手工划价;(2)收费后,处方信息自动发送到门诊药房;检查、检验项目发送到相应医技科室;(3)具有处方的作废、退费功能;(4)办理持就医IC卡病人的交款、退款和结账手续;(5)查询病人费用明细;(6)查询统计。如收款员缴款报表、收入分类报表;全院收入报表、收入分类报表;I临床科室收入、工作量报表;医生收入、工作量报表;医技科室收入、工作量报表。 第四章电子病历系统分析4.3.2住院管理子系统1.住院收费处部分(1)住院病人办理入出院、交退款、记账、结账等手续;(2)冲账功能;(3)形成住院部的收入日结算;(4)将出院病人的信息传送至病案管理模块;(5)统计收款员缴款报表、收入分类报表,全院收入报表、收入分类报表,临床科室收入、工作量报表,医生收入、工作量报表,医技科室收入、工作量报表:2.病区管理部分(1)完成病人的入、出、转登记;(2)管理病区床位,提供换床、挂床、包床处理;(3)录入、维护或执行和各类长短期医嘱:根据用药类医嘱自动生成处方并划价记账,发送至中心药房申领药品;向检查科室提交检查申请:向检验科室提交检验申请;向手术室提交手术申请;(4)对于病人在病区发生的床费等各项常规费用进行及时记账;(5)自动采集用药相关费用,如注射费、注射器费、滴管费等;(6)录入病人体征信息、诊断信息;(7)可以设置预交金报警下限,对病人账目实时监控,余额不足时自动提示,避免欠费的发生;(8)公布病人每日用款情况;(9)输出各种护理工作单:治疗单、服药单,肌注单、滴注单等;4.3.3门诊管理子系统与住院管理子系统交叉的部分1.检查科室部分(1)接收门诊或病区发送来的检查申请,安排检查日程; 广东工业大学工程硕士学位论文(2)辅助医生填写检查结果或书写检查报告,提供各类报告的模板和常用术语字典:(3)将检查结果返回申请科室:(4)对于住院病人将检查费用记账,持Ic卡病人可在此刷卡扣除检查费:(5)对检查结果进行统计分析:查询检查科室的收入、工作量等信息;2.检验科室部分:(1)接收门诊或病区发送来的检验申请;(2)检查完成后,通过联机数据采集或手工录入结果,将检验结果形成报告,传回申请科室,对于住院病人将检验费用记账,持Ic卡病人可在此刷卡扣除检查费;(3)对检验结果进行统计分析;(4)查询检验科室的收入、工作量等信息;3.病案管理和工作量统计部分:(1)接收住院处传来的出院病人信息;(2)对于一个病人多个病案号的情况,提供了病案号合并功能;(3)对病案的流通进行跟踪管理;(4)提供多种条件任意组合模糊查询;(5)提供多种医院及上级管理部门所需报表格式;(6)首创病案数据变量多条件组合分析,提供多种医学统计分析指标,数据分析图表等功能;(7)对医院的诊疗工作量进行输入、查询和统计。经上述分析,已经得到了对于该系统的基本要求和系统模块的划分。门诊管理子系统功能划分如图4-4所示;住院管理子系统功能划分如图4-5所示; 兰留耋皇王耋要至堡坌堑图4-4门诊管理子系统功能划分Figure4-4FunctionalPartitioningofSub·systemofOutpatientDepartmentManagement一31— 广东工业大学工程硕士学位论文图注:(1)处方(2)药品(3)手术请求(4)手术安排(5)检查请求(6)检查单(7)检验请求(8)检验单(9)出院通知0∞批准请求0D药品分配∞批准请求∞手术安排04)批准请求∞检查安排∞批准请求∞检验安il}图4—5住院管理子系统功能划分Figure4-5FunctionalPartitioningofSub—systemofInpatientDepartmentManagement32—— 第四章电子病历系统分析4.4系统功能的详细设计4.4.1门诊子系统根据门诊子系统诊的功能划分,可以看出在医院门诊中一切活动都是以病人为核心,而各种处理也是由病人主动去完成,如挂号、检查、检验、交费、取药、看病、做检查检验等。在整个功能划分中病人处于核心地位,而医院门诊的各个职能部门则完成相应的数据处理操作。在需求分析中从分析门诊部门的行政结构入手,得出门诊子系统存在着5个方面的需求,可以划分为5个功能模块,这五个功能模块为:病人自助查询,门急诊挂号,门诊收费,中西药房和医生诊桌等,如图4-6所示。图4—6门诊子系统功能结构Figure4-6FunctionalPartitioningofSub·systemofOutpatientDepartment1.自助查询本功能模块是用于不熟悉的病人进行查询之用,可进行科室查询、医生查询和挂号科室查询等。查询中需要的信息有很多,但是并非所有的都需要用数据库查询来完成,对于医院概况、建筑物布局和名称等数据并不需要用数据库来完成,而对于医生资料信息以及当天的当值情况等数据则需要由数据库来完成。类似这里有两个常用的查询:(1)某医科有哪些当值医生;(2)查询某医生是否当值以及其简要资料。如图4—7所示。 广东工业大学工程硕士学位论文2.挂号处理图4—7自助查询功能模块Figure4-7Auto-InquiryFunctionModules病人在已获知挂号信息(挂什么科室,什么医生等)的情况下进行挂号(病人拥有IC卡,则在数据意义上表示医院存在该病人的基础信息)。如图4-8所示。图4-8门急诊挂号功能模块Figure4-8FunctionModulesofRegisteringinEmergencyOutpatientDepartment 第四章电子病历系统分析3.门诊中西药房发药如图4-9所示。图4—9中西药房功能模块Figure4-9FunctionModulesofWesternMedicineandChineseHerbalDepartment4.门诊收费处收费如图4.10所示。图4—10门诊收费功能模块Figure4-10FunctionModulesofChargeinOutpatientDepartment5.医生诊断如图4.1l所示。 广东工业大学工程硕士学位论文检查结果4.4.2住院子系统图4-11医生诊断功能模块Figure1-llFunctionModulesofDoctors’diagnosis住院子系统是病人在接受到入院通知单或紧急入院后所能接触的系统。在需求分析部分已经得出了总的功能划分结构图,在此,将对之进行进一步细化。经过分析,认为住院系统的具体流程如下:病人持入院通知书,在住院收费处缴纳押会后分配床位;医生对病人做出诊断,开出医嘱;医嘱分类,然后根据处方提药、根据检查项目检查、根据检验项目检验、根据手术项目手术,同时相应进行收费登记:痊愈后病人持出院通知书出院,进行收费结算。因此可将之划为以下几块,如图4.12所示。图4.12住院子系统功能结构Figure4-12FunctionStructureofSub-systemofHospitalization36—— 釜璺兰皇王耋堡至釜坌錾1.病人入院入住时病人持门诊所开出的入院通知书,到住院收费处缴纳押金,持其开出的票据办理入院手续,登记病区、床位。如图4.13所示。图4.13病人入院功能模块Figure4-13FunctionModulesofPatients’Hospitalization2.医生下达医嘱处理类医嘱包括:用药类长短期医嘱(可解释为住院处方),提请检查类医嘱(可解释为检查类项目),提请检验类医嘱(可解释为检验类项目)⋯‘。先进行的是医嘱归档,将有关信息填入到住院病人本次住院的住院病案中,然后再将医嘱归类,进行相关的处理。如图4.14所示。 广东工业大学工程硕士学位论文图4.14医生下达医嘱功能模块Figure4·14FunctionModulesofDoctors’Advice3.住院处方的处理在生成了住院处方(根据医嘱归类)之后,病区科室将向中心药房提请药品,而在这首先必须先检查病人入院时之所缴押金是否还有余额,若无余额则向病人发出缴款通知,若有则要求发出药品。处方积累后将生成药品提领单,发往中心药房;而每张处方会生成对应病人的收费项目。药品由中心药房总括发往病区医室。如图4.15所示。图4.15住院处方的处理功能模块Figure4-15FunctionModulesofPrescriptionofHospitalization 釜塑耋皇三塑里至茎2堑4.检查检验项目处理在生成了检查检验项目(根据医嘱归类)之后,病区科室将向检查检验科室发出预约申请,而在这首先必须先检查病人入院时之所缴押金是否还有余额,若无余额则向病人发出缴款通知。得到批准后,病人将于预约的日期进行检查(如x光,B超,cT)或检验(如验血)。得到的结果返还病人,并记入检查项目、检验项目的相应属性中。已检查或检验将生成相应的收费项目w。如图4.16所示。5.手术处理图4.16检查检验项目处理功能模块Figure4-16FunctionModulesofProcessingofChecking在生成了手术项目(根据医嘱归类)之后,病区科室将向手术科室发出预约申请,而在这同样首先必须先检查病人入院时之所缴押金是否还有余额,若无余额则向病人发出缴款通知。得到批准后,病人将于预约的日期进行手术,并将过程和结果记入手术项目的相应一39— 广东工业大学工程硕士学位论文属性中。手术使用的器械和麻醉药品进行登记(在这里认为器械手术科室保管的,不涉及器械库;而麻醉药品所涉及的药库在这里由于篇幅关系不再列出)。已手术项目将生成相应的收费项目。“。如图4.17所示。6.病人出院图4.17手术处理功能模块Figure4-17FunctionModulesofSurgery出院时病人持出院诊断书,到住院收费处根据各种收费项目进行清算,退回剩余押金或补缴应缴款项,持其开出的票据办理出院手续,退回床位。如图4.18所示。40 至罂耋皇王塞里至釜2要图4一18病人出院功能模块Figure4-18FunctionModulesofLeaving4.5电子病历系统具备的特性的(1)不能复制外部文件,病人本人的文本和“知识库”提供的内容可以复制。(2)病人信息资源有序、有效的整合与利用,各功能模块数据共享。(3)系统定义的数据可以自动生成。(4)提供自由文本录入和结构化或半结构化数据录入两种录入方式。(5)记录时间、记录者签名由系统自动生成。(6)具有高度的安全性,以保证病人信息的真实性。(7)具有特殊打印功能。(8)对病历书写时限和内容能实时监控。 :耋王些奎耋三堡鎏主耋簦鲨兰(9)辅助临床决策。(10)病历信息查询、检索、统计和分析。(11)辅助临床教学。(12)通用性强。(13)可维护性好。 乏三主皇茎垒里耋釜兰生主耋墨第五章电子病历系统设计与实现通过前面对整个电子病历系统的需求进行详细的分析之后,建立一个基于co浒的电子病历系统,系统结构采用三层c/s结构,数据库后台采用SQLServer2000,系统运行平台WindowsServer2000操作系统,以下对系统的设计做详细的说明。5.1系统设计原则电子病历系统是以病人为中心的病历信息管理系统,系统的设计应当依据实际的管理状况,注入先进的管理理念,从病历内容的组成、采集、存储、查询、安全和通用性、易用性、开放性等方面统筹兼顾,合理设计,既能满足现实管理的需求,又适当预留了系统进一步发展的空间。通用性体现在医学标准的应用上,采用DICOM(医学图像传输标准)、国际ICD一10标准(疾病名称和专业术语等)、HL7(医学电子数据交换格式标准)、ASTMl238.88(化验检查结果标准)、卫生部推荐的行业标准和专业用语集。易用性不仅表现为人机交互界面友好、操作简捷方便、智能联想化(例如按钮位置的排放、诊断报告的录入界面等符合用户的习惯),而且还表现为系统使用者之间信息的即时交互性,充分发挥网络管理的优势。5.2系统体系结构我们的电子病历信息系统体系结构主要由三部分构成:网络结构、系统结构和软件结构。众所周知,任何软件产品都不是单独存在的,特别是对于大型应用系统而言,不同的体系结构会直接影响软件产品的性能”⋯。根据我对医院业务流程的考察和分析,并综合比较了目前比较流行的各种体系结构的优缺点,我将采用以被实践所检验的模式来最大限度的满足医院业务处理的需要。 广东工业大学工程硕士学位论文5.2.1网络结构本系统以医院网络为基础,设立医院的中心服务器和数据中心,在医院各科室设立医生工作站终端,具体功能定义如图5一l。图5-1网络结构定义图Figure5-1ChartofNetworkStructureDefinition由于医院电子病历的存储容量太大,不可能在一个具体的地方全部存储起来,有时候可以在数据中心设立多个病历服务器,病历资料存储在各个服务器里,数据中心服务器每天将病历索引异动地更新资料库存,同时处理来自各科室间索引的基本查询,并处理束自各科室详细的病历查询。5.2.2系统结构我们采用的是比较流行的三层的C1ient/Server结构。这种结构将整个应用划分为三层:用户界面层、业务逻辑层和数据库层。用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,我们在向上传输用户输入f;i『进行了合法性验证):业务逻辑层是上下两层的纽带,它用来建立实际的数据库连接,根据用户的请求生成SOL语句检索或更新数据库,并把结果返回给客户端:数据库层负责实际的数据存储 第五章电子病历系统设计与实现和检索。请参阅图5-2。发送蜘哩请求建立连接分析请求-7存储过程●分发请求I事务处理●数据维护返还结泉获取结果并发处理\/-●用户界面层业务逻辑层数据库层图5.2电子病历系统的三层体系结构Figure5-23-tierarchitectureoftheElectronicMedicalRecordSystem采用三层结构的优点是各逻辑层既相互独立又紧密联系,任何一层的改动都不会影响到其它逻辑层的工作,非常有利于系统的扩充。随着医疗改革的不断深入,医院的现行业务必然会有所改变,由于体系结构上的特点,电子病历系统能够很方便、迅速的做出调整,适应这种变化嘶1。5.2.3软件产品结构主要分为五层:数据定义层、运行维护层、业务处理层、扩展层和外部接口层。请参阅图5—3。图5-3产品结构图Figure5·3StructureChartofProducts——45—— 广东工业大学工程硕士学位论文(1)数据定义层本层主要包括数据库定义、数据字典定义、表结构定义、系统初始化参数定义、业务模型定义等。它的主要作用是通过修改这些定义配置文件(文本文件类型),使得整个软件系统能够更好的体现用户的业务逻辑。(2)运行维护层本层主要包括系统用户定义、管理权限的分配、功能模块及操作权限的定义、系统运行日志的设置、数据库日志的设置、系统的故障恢复及备份等。它的主要作用是动态的跟踪及监控系统的运行,并提供相应的保护机制,使得系统在出现意外情况时能够恢复到最近一次的正确状态。同时这一层也是整个软件系统的运行核心,它提供了对所有功能模块的维护及管理功能。(3)业务处理层主要包括门诊业务处理系统和住院业务处理系统。它的主要作用是为医院提供最基础的业务处理,包含了从病人挂号到最后结账的住院全过程。通过对业务流程的优化和提炼,本层既涵盖了医院业务的方方面面,又从根本上提高了工作效率。(4)扩展层主要包括药品管理、病案管理、院长办公、医学图像管理、医技质量管理、辅助检查管理、社区服务、多媒体导诊、医学信息查询和医疗社保等。本层主要用来扩展医院的业务处理。(5)外部接口层本层主要提供与其它第三方软件的接口,包括财务系统接口和社会保险系统的接口等。5.3系统开发环境与工具5.3.1操作系统的选择数据库服务器操作系统选择Windows2000server。因为Windows2000server是将操 第五章电子病历系统设计与实现作系统和网络操作系统集成为一体的新型操作系统,是功能强大的新一代网络服务器操作系统,具有友好的用户界面,并且容易安装和维护。客户机操作系统选择Windows2000professional,在Web服务器端安装MSIIS4.o(1ipMicrosoft公司的Web服务器InternetInformationServer),它功能强大、容易使用,是最受欢迎的服务器。5.3.2前端开发工具的选择目前用于数据库开发的前端工具主要有Delphi,PowerBuilder,VisualBasic,VisualC++等。比较而言,PowerBuilder,对大量数据的处理有优势;VisualBasic在做界面上有一定的优势,但对数据处理的能力不太强;Visualc++功能强大,足以实现任何想实现的操作,但缺点是它不易掌握,编程工作量大,并且开发周期长;Delphi是在TurboPascal基础上发展起来的可视化开发工具,其特点是代码紧凑、运行效率高、易学易用、可维护性好、与各类数据库系统的连接性好,支持Internet编程、远程客户端/服务器端(Client/Server)技术,几乎可以实现VisualC++所能实现的所有功能,它是当今最常采用的可视化开发工具之一,非常适应于开发数据库应用系统。综合考虑采用Delphi作为数据库前端开发工具。WebBrowser端访问数据库的内容采用ActiveX数据对象ADO与动态服务器主页ASP相结合的技术进行开发。5.3.3后台数据库平台的选择在电子病历管理系统中,病历信息既有字符、数值(例如各种化验结果),也有文本(例如主诉等)、声音(例如心音、肺音)、各种生理曲线(EEG,ECG),静态图像(例如X射线、CT,MRI)和动态图像(例如食道动画、心脑电图、声谱图、内窥镜检查)。很显然,病历信息是多媒体,因而这就要求该系统的数据库必须能够处理多媒体数据。在现有技术中,能够处理多媒体数据的系统平台有文件系统、多媒体数据库、扩充关系型数据库、面向对象数据库、超媒体系统等。其中,文件系统有特定的使用范围和限制,多用于影视的点播、简单的图像库检索等,超媒体系统主要用于教学、信息查询、图书情报检索等只读型应用系统,多媒体数据库、面向对象数据库还不太成熟“1。从目前大量使用关系型数据库的现实看,使用扩充的关系型数据库管理多媒体数据无论是在开发成本上 广东工业大学工程硕士学位论文还是在兼容性方面都是比较实际的选择,而且许多商用的多媒体管理系统都采用了这种方式,因此电子病历管理系统采用扩充的关系型数据库来管理各种医疗数据。目前流行使用的扩充关系型数据库有SOLServer,Oracle,Sybase等几种。本系统选择MicrosoftSOLServer2000。因为它是一个可伸缩的高性能的数据库管理系统,专为分布式客户/服务器环境而设计。由于它的快捷的数据库管理和应用程序开发,MicrosoftSOLServer2000成为目前在关系型数据库中最受欢迎、应用最广泛的一个。它使用了最先进的数据库结构,与WindowDNA紧密集成,具有强大的WEB功能。同时它还为用户提供了重要的安全性功能的增强,这为用户的数据安全提供了可靠的保证。另外SOLServer2000在数据库服务器自动管理技术方面处于数据库领域的领先地位,为用户免去了繁琐复杂的工作量,从而让用户有更多的精力处理更重要的问题m,。SOLServer2000作为一种实用性的基于关系数据模型的多媒体数据库管理系统,对用户来说,仅仅是增加了一些新的数据类型,如图像、文本类型等,但只能对BLOB字段的存在进行查询,而不能根据BLOB字段内容进行查询。在SOLServer2000中,二进制数据类型包括binary,varbinary,text,ntext和image等五种,其中text,ntext和image三种数据类型是专门用于存储和使用大于8000个字符的字符串和大于8000个字节的二进制数据,例如文本、图像等大型数据binary和varbinary数据类型最多可以保存8KB的二进制数据,而text,ntext和image数据类型允许存储的数据的最大长度可达2GB。5.4数据库系统设计数据库设计是建立系统数据库及其应用系统的重要环节,系统的各个部分能否紧密地结合在一起以及如何结合,关键在数据库,只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的电子病历系统。为了将系统所涉及的各项数据进行有效地组织、存储、管理,使目标系统可以方便、及时、准确地从数据库中获得所需的信息,本节将对系统数据库的物理结构设计、逻辑结构等作明确的定义。5.4.1电子病历的形成过程电子病历在患者就诊医院的挂号处或住院处就医时开始建立。首先记录准确的患者身 第五章电子病历系统设计与实现份证明资料,并分配一个病历号,作为患者在电子病历系统中的唯一标识号(ID)。其次医生记录患者的入院调查、各种检查化验和由此做出的病情诊断与治疗计划、医嘱及治疗过程中产生的各种病历数据:护士记录医嘱执行情况和护理信息等。在患者出院时,医生进行出院小结,系统自动在病历首页上记录主要诊断、其它诊断和手术操作名称等。最后患者在办理完出院手续后,电子病历提交存档。5.4.2概念结构设计概念结构设计独立于数据库逻辑结构,也独立于支持数据库的DBMS。它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体和实体之间的联系,同时又易于向关系、网状、层次等各种数据模型转换。它是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与:当现实世界需求改变时,概念结构又可以很容易地作相应调整。因此概念结构设计是整个数据库设计的关键所在。通过系统的分析我们可以分析得出系统数据的概念结构图。因为在整个电子病历系统涉及的实体和属性比较多,在这里不能也没有必要一~列举出来,其他实体与基本信息表间的对应关系都是类似的,可以使用MicrosoftVisio自动生成该数据库全部实体和属性的E—R图。卫生部规定,门诊初诊病历包括主诉、现病史、既往史、体征、检查项目及结果,初步诊断、治疗或处置等。复诊病历包括初诊后病情变化和治疗效果或反应,以及复诊时体格检查所见、各项辅助检查复查结果。住院病历包括病历首页、入院记录、病程记录、会诊记录、转科记录、术li{『小结与术后记录、手术记录、出院记录等m1。图5-4、图5—5为电子病历系统关键实体的E—R图。 :垒三些查:王堡罂圭兰堡丝兰(畸住院于蓐锭接口)图5-4门诊子系统总E.R图Figure5-4GeneralE·-RChartofSub·-systemofOutpatientDepartment——50—— 釜三耋皇三窒要至釜塞盐兰耋墨‘与门诊子莱统接口)图5-5住院子系统总E-R图Figure5-5GeneralE·-RChartofSub--systemofInpatientDepartment 广东工业大学工程硕士学位论文5.4.3逻辑结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。但为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。根据以上的需求分析,系统后台采用SOLSERVER2000。电子病历系统在满足所有需求的前提下建立起来的数据库包括100多张表,分别存放相应子功能的数据信息,其中“病人资料”,“员工资料”,“科室资料”,“床位资料”等都是系统的关键表,其他数据库表与这些关键表之间的关系是N:1的关系。通过以上对整个电子病历系统所涉及的实体和属性的分析,并且在满足用户和业务需求的前提下,建立起来的数据库大致包括100多张表,由于其他表的建立都是类似的,在这里只阐述几张关键表的创建,其他可以详见系统数据库表结构文档。(1)创建“病人资料”数据表(t_bseinpatient),表结构如表5-1所示。表5-1病人资料表Table5—1ChartofPatients’Information鬻翮鳓溺凌礴溯黼黪隳鞣罄雾黪鏊黉霭麟鬻麟爹i篓“”多褫警ii镶”?i8“一”’篷病人编号PATIENT[D1cHRCHAR10病人ID入院编号INPATIENTID-CHRCHAR10病人入院编号病人姓名LASTNAME_cHRCHAR20病人姓名病人卡号IDCARDCHRCHAR18病人卡编号结婚状况MARRIED_CHRCHARlO结婚状况出生地点BIRTHPLACtCHRCHAR50山生地点家庭地址HOMEADDRESS~CHRCHAR60家庭地址性别SEXCHRCHARi0性别(男,女)国籍NATIONALITY_CHRCHAR20国籍先前姓名FIRSTN/UIE_CHRCHAR10以前用过的姓名出生日期BIRTHDATDATETIME8出生日期籍贯NATIVEPLACE-cHRCHAR20病人籍贯 篁三茎曼二塑里蚕筌兰盐耋耋墨续表5-1工作名称OCCUPATION_CHRC}IAR10从事工作名称住址电话HOMEPHONECHRCHAR20病人住址电话办公电话OFFICEPHONE_cHRCHAR20病人办公电话保险编号INSURANCEID-cHRCHAR20病人所买保险的编号移动电话MDBILEeHRC融R15病人移动屯话号码办公地址0FFICEADDRESS_cHRC}IARSO办公地址雇主姓名EMPLOYER—cHRCHAR10病人的雇主姓名Email邮箱EMAILCHRCHAR20病人Email邮箱联系人姓名CONTACTNAME—CHRCHAR20联系人姓名联系人地址CONTACTADDRE_CHRcHAR50联系人地址联系人电话CONTACTPHONE-cHRCHAR20联系人电话首次时间FIRSTDATE-DATDATETlME8首次入院时间是否员上1SEMPLOYEE_INTINTl病人是否是医院员工病人状态STATUSINTl状态(1己出院2住院中)删除时间DEACTIVATE—DATDATETIME8删除时间,删除时川操作人IDOPERATORlDCHRCHAR7修改或更新的操作人ID修改日期MODIFYDATDATETlME8修改日期,修改时用付费类翠编号PAYTYPEID-CHRCHAR4付费类型编号血型乩00DTYPE-cHRCHAR10病人血型(2)创建“员工资料”数据表(t_bse—employee),表结构如表5-2所示。一53— :至三些查兰三堡堡圭兰堡丝圭表5-2员工资料表Table5.2ChartofStaff’Information攀隧湖淄鬣鬻?戮骥黟鬻辫臻鳃鬻鬻醚謦锹隰攀鬻戮霉黪鬻誉警。麓霪员r编号EMPIDCHRCHAR7员J.ID,自动生成聘用时间BEGINDATEDATDATETIME8聘川时间先前姓名FIRSTNAMEVCHRCHAR10姓名(原则上跟lastname一样)现在姓名LASTNAMEvcHRCHAR10姓名(以该字段为主)身份证EMPIDCARD』HRCHAR18身份证拼音码PYCODECHRCHAR10拼音简码性别SEXCHRCHAR10性别教育水平EDUCATIONALEVL_cHRCHAR10教育水平婚姻状况MARITALSTATUS』HRCHAR10婚姻状况技术职称TECHNICALRANK—CHRCHAR18技术职称语言能力LANGUAGEABITY—CHRCHAR10语言能力出生日期BIRTHDATEDATDATETIME8出生日期办公电话OFFICEPHONE—VCHRCHAR50办公电话家庭电话HOMEPHONE—VCHRCHAR25家庭电话移动电话MOBILEVCHRCHAR50移动电话办公地址OFFICEADDRESSvCHRCHAR50办公地址办公住址邮编OFFICEZIP—CHRCHARlO办公室住址邮编家庭住址HOMEADDRESS—VCHRCHAR50家庭住址家庭住址邮编HoMEZIPCHRCHAR10家庭住址邮编电子邮件EMAILVCHRCHAR20电子邮rl:联系人CONTACTNAMEVCHRCHARlO联系人联系人电话CONTACTPHONE—VCHRCHARlO联系人电话备注RDnRKVCHRCHAR50备注有效状态STATUSINTl状态1有效、0无效、一1:历史删除时间DEACTIVATEDATDATETIME20删除时间,删除时用——54—— 第五章电子病历系统设计与实现续表5-2姓名简称SHOR"INAMECHRCl{矗R5姓名简称或缩写操作人IDOPERATORIDCHRCHAR7修改或更新的操作人ID处方权利HASPRESCRRIGH£CHRCHARl是否有处方权精神病药权利ItASPSYCHPRIGHTCHRCHARl是否有开精神病药的权利。麻醉药权利。HASMAZUIYRIGHT—CHRCAHR1是否有开麻醉药的权利。是否专家ISEXPERT_cHRCHARl是否专家。0一否l一是专家费用EXPERTFEE_MNYINT5专家费用是否外聘专家ISEXTEREXPERT_CHRCIIARl是否外聘专家O一否l一是籍贯ANCESTORADDR_VCHARcHAR20籍贯工作经历EXPERIENCE-vCHRCHAR500r作经历(3)创建“科室资料”数据表(t_bse—deptbaseinfo),表结构如表5-3所示。表5-3科室资料表Table5-3ChartofDepartmentInformation灞囊攀鬻滋≯霉雾鬻鬻麟滋鬻霹溺鞫霞i黼2秽嗲琴鬻鬻灞震鬻雾鼍部『J编号DEPTIDCHRCHAR7部门ID创建时间CREATEDATEDATDATETIME8创建时间状态STATUSINT1状态:1:有效0:无效一1:历史删除时间DEACTIVATmDATDATETIME8删除时间部fJ名称DEPTNAME-VCHRCHAR200部门名称拼音简码PYCODECHRCHARi0拼音简码部门简码SHORTNOCHRCHAR10部rJ简码(4)创建“床位资料”数据表(t_bSe—bed)管理医院床位信息,表结构如表5-4所示。 广东工业大学工程硕士学位论文表5-4床位资料表11able5-4ChartofBedInformation渗灏拳鬻鬻⋯拶季鬻群鬻;鬻嚣篓擎黎i“8黉缀“!黉霞”薯翠誓誓搿瀛”誓~鹾霉“i誓鬟病床流水号BEDIDCHRC}IAR1l流水号病区病号AREAIDCHRC}IARlO病区id病床编号CODECHRCHAR10床号病床状态STATUSINT11空床2f彳床3预占床4包床床位费RATEMNYINTlO床位费男女床SEXINT1男女床(卜男,2一女)空调费AIRRATEMNYINT10空调费收费项目编号CHARGEITEMID-CHRCHAR10收费项目ID病床号BEDNO[NT3病床编号不唯~5.4.4物理结构设计数据库最终是要存储在物理设备上的。数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。本系统的DBMS采用的是SQLServer2000,系统主要使用到表和视图、索引、存储过程以及触发器等。数据库采用索引存取方法对数据库的各种数据建立存取路径,以便提高数据库各事务的运行效率m,。我们可以通过数据模型来保障数据库设计原则,包括标准化、代码迁移及其他。例如,程序的开发者可以利用数据建模,来理解应用程序是怎么访问数据库的,这在应用程序开发者承担数据接口设计有帮助;用户界面设计者也可利用数据模型,来确保在设计应用程序的视觉效果时得到的是可用的列、正确的长度、精确度和规模;分析者以及客户用数据模型来确保他们认为有用的数据以正确的格式被数据库接收,确保较少的冗余等等。 篓三耋皇茎童星至堡兰兰皇耋垩5.4.5创建系统数据库的视图在电子病历系统中,经常需要多次访问到数据库中的某些表,而且这些表是相互都有关联的,可以使用视图这种数据库对象以指定的方式查询一个或者多个表中的数据。视图不是表,但是可以代替表完成从表中查询、浏览、插入、更新和删除数据的操作。视图也可以用于定义查询。例如,可以将一个查询定义为一个视图,以免一遍又一遍地输入相同的查询。当显示视图时,这个查询自动执行,视图将显示出这个查询的结果。这里提到的查询包括从一个表或者多个表中获取数据的查询。由于通过视图只会显示允许用户查看的列,所以它可以用于保证安全性w。视图也可用来生成通常用于计算的导出数据,所以创建了一些视图来完成对数据库的操作。可以通过如下的代码创建获得病人所有住院信息的视图,从而获得病人所有住院信息,其他视图就不一一阐述。CREATEVIEWV_PatientDept_Area_RoomBed—Info一获得病人所有住院信息的视图ASSELECTT2.FirstName,T2.Sex,T2.Birth,T2.Married,T3.DeptName,T4.Area_Name,T5.Room—Name,T6.Bed_Name,T1.+FROMInDeptlnfoAST1,PatientBaseinfoAST2,t_DeptBaselnfoAST3,InPatient—Area—DeseAST4,InPatient—Room—DeseAST5,InPatient—Bed—DescAST6WHERET1.InPatientlD2T2.InPatientlDANDT2.Status=.o’ANDT1.InDeptlD=T3.DeptlDANDT4.End_Date_Area_Naming=‘1900—1—1ANDTI.Area__ID2T4.Area—IDANDT5.End_DateRoom_Naming=’1900—1·1’ANDT1.Room_lD=T5.Room_IDANDT6.End_DateBedNaming2’1900-1·l。ANDT1.BedID=T6.BedID5.4.6创建系统数据库的存储过程在电子病历系统中,创建数据库的存储过程有以下的功能,可以提供系统性能,减少网络流量以及减少注入式攻击”’。当存储过程被创建的时候,它要经过以下几步。第一步,它所包含的T-SOL语句将被 广东工业大学工程硕士学位论文分析和解析,并被存储。当第一次被执行时,它将被调出并被优化。SQLServer会根据statistics自动选择相应的优化策略。此后查询计划将被存储在高速缓存中,以利于将来再次使用。由于不用被重新编译,所以可以大大提高效率。T-SQL语句可以对表执行插入操作,但是创建~个存储过程来进行这样操作,每次插入的时候只要传输存储过程名,参数和这些参数的数值,当这些操作非常频繁时将会发现使用存储过程可以减少额外的网络传输,这在使用网络进行传输时非常有用。下面代码是创建“获取病人床位信息”的存储过程,可以执行该存储过程获得病人床位信息,其他对表执行插入修改删除等操作的存储过程就不一一阐述。CREATEPROCEDUREdbo.GetPatieutBed@strlnPatientIvarchar02),@dtlnPatientDatedatetime(8),@strBedlDvarchar(50)output,@strBedNamevarchar(50)outputAS一获取病人床号BeginSelect@strBedlD=BedjDfromInDeptlnfowhereIuPatieutlD=@strlnPatientIAndlnPatientDate2@dtlnPatientDateSelect@strBedName2BetNameFromInPatient——Bed——DescWhereBedjD3@strBedlDEndRETURNGO 董三耋皇三壅丝圣釜墨盐皇塞堡5.5系统主要功能模块实现电子病历系统实现的主界面如图5-6所示。图5-6电子病历系统主界面Figure5—6MainDesktopoftheElectronicMedicalRecordSystem 广东工业大学工程硕士学位论文5.5.1病历管理病历管理功能界面如图5.7、5.8所示。5.5.2病历归档图5.7添加病历Figure5-7MedicalRecordAddition图5-8编辑病历Figure5-8MedicalRecordEdition病历数据归档与备份是电子病历管理系统必不可少的重要功能。所有的数据记录均应按时间段进行归档,其中包括病历的分级转存、数据自动更新等复杂的数据库操作。数据 第五章电子病历系统设计与实现库备份由数据库管理系统软件自动定时或人工按时完成具体的数据归档则要结合数据库结构编制专门的应用程序实现”1。电子病历管理系统应有三级归档存储方式,但对于一般规模的电子病历管理系统,例如耳鼻喉科电子病历管理系统,考虑到整体成本,可不必采用昂贵的外部存储设备进行分级归档。因此在进行数据库物理结构设计时,可将前两级归档方式完全设计在服务器所拥有的高速硬盘中,以便节省硬件成本,第三级归档采用∞盘片进行长期档案保存。与磁带、磁盘阵列、cD—Rw等存储介质相比,M0片具有容量大、价钱低、保存时间长等优点。实现方法如下:在数据库服务器中建立两套结构和逻辑关系完全相同的数据库表。其中~套库表作存储最近期病人数据记录(如最近两周内)之用。该部分数据应是医务人员近期调用频率最高的,因此应保证尽量快速检索查询并处理。将这部分最新数据单独存储,在调用时就不必进入保存有全部近期数据记录的二级归档数据库,提高了查询效率。这即是一级归档存储区。每经过2周后,系统自动将超出时间范围的病历归档入二级存储数据库。另一套同样的表则作为第二级归档存储区。在其中存储着较近一段时间内的所有病历数据,如至少1个月内的档案,供医生查阅。在病历经历过访问高峰期后,如半年时间,则应归档至第三级存储区中,做长期保存。在本系统中分别采用自动和手工方式实现一级N---级、二级到三级的数据归档。”。(1)自动归档自动归档是根据一张“归档索引表”来进行的。每录入一个新病历首页后,都对该索引表更新相关字段,如录入时间字段。每次自动归档时按照索引表完成。自动归档过程由应用程序定时触发。每次至少完成以下三项操作:①查询索引表中各病历的生成时间,找出需要转存的病历:②更新索引表;③分级转存。分析以上操作,可知这实际上是通过查询归档索引表,自动向三级存储区更新或添加病历数据记录的问题。利用SQLServer提供的触发器技术可实现。依照上述思路和要求,在归档索引表上建立一个UPDATE触发器。每次在零点过后输入 广东工业大学工程硕士学位论文新记录时自动触发该触发器。触发器内容如下:①检索归档索引表;②根据表中数据的最后录入(或修改)时间将一级存储区中超过2周的数据记录归档至二级存储区,并删除一级存储区中的该数据记录;③成功删除后在归档索引表中删除该部分数据的索引;④在“病历信息存储表”中追加记录,存储病历号、存放位置等信息,为以后检索提供方便。(2)人工归档所谓人工归档是指将病历记录从二级存储区归档至三级存储区这一过程。因为该归档时间范围跨度大、归档病历多,需与其它外部存储设备通讯。在这一过程中,应完成如下操作:①由人工触发该归档过程,指定需归档病历的时间范围;②应用程序检索出符合条件的病历号,根据病历号确定所有病历记录;⑧将所有该病人病历记录从数据库中调出,写入Mo盘片,并为该病历创建编号:④在“病历信息存储表”中修改记录,存储病历号、存放位置、存放光盘编号等信息,为以后检索提供方便。5.5.3病历查询(1)查询类型电子病历系统的用户有医生、护士、管理人员及患者与其家属,因此有两种查询类型。第一种是按指标名称查询,查询的索引可以是病人、时间、病种等。例如按病人查询,在给出病历号或者姓名的情况下,可得到所有的病历信息。第二种是按内容特征进行查询,即在己知图像、声音和生理信号的特征来查询病人。前一种比较容易实现,后一种属于基于内容的检索,涉及面很广,包括图像处理、语音信号处理、模式识别、计算机视觉处理等多门技术,目前尚处于探索阶段,不易实现。在本系统中采取将非格式化的特征信息转化为格式化的文本信息来实现这个过程m-。 釜三耋皇王耋里至篁堡兰耋塞墨(2)查询的实现针对上述两种类型的查询,分别按如下方法实现:①按指标名称检索。通过建立图示等索引来搜索数据,一层一层自顶向下,逐渐细分指标。例如以病人为主线的查询,在输入病历号或姓名并且经系统确认该病人后,将以树状结构的形式检索各种数据,见图5-9。某患者病历病瓜爪爪瓜爪首页篙訾⋯嚣鐾⋯血尿”·警慧黧⋯临时长期图5.9以病人为主线的病历信息查询图Figure5-9InquiryChartforPatients’MedicalRecords由于在病历数据的组织方面采用了树型结构,因此在界面中,也采用树型对象来实现。②按内容特征检索。指通过给定范围、特征的确定值或模糊值来检索各种非格式数据。原理是在采集非格式化数据后,按照内容进行特征提取,并进行相关信息的录入,这些提取出的特征值和相关信息就是查询中将要用到的数据。例如对于医学图像,首先提取该图像的特征和相关信息,例如图像的大小、像素、灰度等特征值,探察部位、扫描方位、诊断结果等相关信息,然后将它们存入数据表中。特征提取的方法应与医生的专业表达一致。图5—10给出了图像的查询原理。 广东工业大学工程硕士学位论文采集查询图5.10按图像特征检索图像的原理Figure5-lOImageSearchbyCharacters现举例说明如下。假设某医生要查询当日病人中患有鼻前庭内翻性乳头状瘤的病人,图像分辨率为640*480。从表5-5知,鼻部编码为“B”、鼻前庭编码为“0l”、内翻性乳头状瘤特征码为“02”。从表5-6知,字段img_character存储该图像的特征、width与height分别存储图像分辨率,因此可用以下语句实现查询:SELECTPatlent—IDFROMCtTableWHEREImg—characterLIKE”B0102”andwidth=640andheight=480:表5-5图像特征代码表Table5-5CodeTableofImageCharacters图像特征代码幽像部位A脑B鼻B01算前庭Ol肿瘤02乳头状瘤(3)归档病历的查询表5-6CT表中某记录值Table5-6RecordsforCTTable字段名类型值PatiemIDcharAb000lWidthinteger640Heightinteger480CUicBlobling_characterVarcharB0102甲曰等一圈 第五章电子瘸历系统设计与实现对归档病历进行查询时,系统按病历号先在一级、二级存储区查找,若查找不到,则在“病历信息存储表”中查找该病历存放位置等相关信息,然后按照系统给出的提示进行下一步操作。5.5.4病历信息处理1.病历信息的集成病历的描述模型是电予病历的最基础问题,XML为病历内容的描述提供了有效手段。XML是一种结构化描述语言。它随着因特网技术和电子商务的发展成为HTML的后继者。它的优势在于,它不仅是一种标识语言,更是一种可以定义描述对象结构的元语言。xML文档自含结构,使得系统间交换的信息可以互相“理解”。使用XML作为病历内容的描述语言有以下理由:一是x札采用了层次化的面向对象的结构描述方法,非常适合于描述病历这样复杂的内容,在表达能力方面优于关系数据库。二是XML是一种元语言,可以定义描述对象的结构。这适合于病历中不同内容结构的变化,适合于保持病历的历史。三是XML与因特网有天生的联系,可以通过浏览器直接浏览病历内容,减轻开发工作量。四是xML将内容与样式关联在一起,这不仅可以保留病历内容,也可保留病历外观。五是XML作为电子商务时代的“标准语言”,拥有大量的开发和应用工具,有利于对病历内容的处理。下面是对某一病人的基于XML文档的基本情况的描述:<电子病历><姓名>王五<姓名><性别>男</性别><出生日>1978—12—23</出生日><籍贯>广东省湛江市</籍贯> 广东工业大学工程硕士学位论文<民族>汉</民族><身份证号码></身份证号码><家庭地址></家庭地址><联系电话></联系电话><住院日期></住院日期></电子病历>由于)【ML能够使不同来源的结构化的数据很容易的结合在一起,所以通过XML可以在中间层服务器上对从后端数据库和其他应用处来的数据进行集成然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发下面所列就是生成XML文档的一段典型例程。<%@language=”VBScript”%><电子病历><%setcConn=Server.CreateObject(”ADODB.Connection”)callcConn.Opell(”DSN”,”USER”,”PWD”)setrs=cConn.Execute(”SELECTDISTINCT*FROMgdtx”)DoWhileNotrs.EOF%><姓名><%=trim(rs(“姓名”))%></姓名><性别><%=trim(rs(“姓别”))%></性别><出生日><%=trim(rs(“出生日”))%></出生臼><籍贯><%=trim(rs(“籍贯”))%></籍贯><民族><%=trim(rs(“民族”))%></民族><身份证号码>><%=trim(rs(“身份证号码”))%></身份证号码><家庭地址>><%=trim(rs(“家庭地址”))%></家庭地址><联系电话>><%=trim(rs(“联系电话”))%></联系电话><住院同期><%=trim(rs(“住院日期”))%></住院日期><%rs.MoveNext 兰三耋皇三塞丝垂篓篓茎主塞垩Looprs.Closesetrs=nothingsetcConn=nothing%></电子病历>这样,以病人为中心的病历自然就集成在一起。2.XML数据的发送与刷新利用XML开放的和基于文本的格式,可以将它通过HTTP协议传送。同时,业务逻辑层应用服务器将支持XML更新功能,将数据服务器上数据的变化及时地传递给客户,反之亦然。因此,业务逻辑层能够从客户端得到更新的数据,并把数据传送到数据储存服务器上。3.XML数据在用户界面层的显示XML描述的数据发到用户界面层后,能够用多种方式显示,XML定义的数据,其显示与内容是分开的,所以允许对同一数据指定不同的显示方式,使数据更合理地表现出来。CSS和XSL为数据的显示提供了方便,本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来,如图5一¨所示。I基于xML的数据}_——·引H他TM的L表/C现S形$式(或,其图5-11XML在用户层表现形式Figure5-llReflectionFormofXMLinUsersLevel由 三至三些查兰三堡鉴圭茎堡篁兰4.基于XML的病历信息交换目前,国内的HIS开发商有很多家,各个HIS的命名和数据结构均不相同硬件环境参差不齐,不同的系统平台和非标准的信息格式严重阻碍了行业间的信息交流,更不必提国际上的交流了。这样就造成了各个医院内部及各个医院之间信息资源不能共享,从而给多方带来不利。我们可以举一个例于,比如,关于病人转诊的问题,由于不同医院及同一医院的不同部门无法实现信息资源共享,病人只要转诊,就会要做许多重复的事情,这样不仅造成医院工作效率低,而且也给病人多次带来痛苦m,。从医院角度本身来讲,如医疗行业没有一个行业间的通信标准,除不能与其他医院进行资源共享外,医院同时还承担一个很大的风险,为什么这样讲呢?医院为了使内部各个业务模块相接,降低成本,提高工作效率,在进行HIS系统建设时,往往只能选一家HIS系统制造商,因为只有这样,医院的各个业务模块才能实现资源共享。所以医院的一个业务模块一旦让一家HIS系统制造商做了,从此便和他结了婚。这样医院不仅不能再选择在某一模块上领先的其他HIS系统制造商,而且也承担着这个公司倒闭后或者是走了以后,没有人来做系统的整体维护或其他以后相关事宜的风险。如果在医疗行业有了行业通讯标准,不管是谁丌发的系统,标准都是统一的,这样医院就可以根据业务模块的不同,选择更专业的TT厂商,同时医院再也不会因一家IT厂商的情况变化而承担风险了。病历的信息交换是电子病历的一个重要目标。信息交换的前提是标准化。XML为电子病历提供了很好的交换载体,但XML仅是描述病历信息的“元语言”,要使交换的病历的内容能为对方所理解和处理,还必须有交换双方约定一致的病历描述结构即DTD。比如有时候所表示内容是一样,但由于标记不同而导致在进行数据交换的时候带来麻烦。比如一个日期用XML表示可以表示如下:<同期>9—23—2002</日期>也可以如下表示:<日期><年52002(/年><月59</月><日523(/日> 第五章电子病历系统设计与实现</日期>由此可见,制定有关病历信息的文档类型定义一I)TD的标准,是应用XML于电子病历交换的关键。在这方面HL7已经做了大量的工作。以医疗信息交换为目标的HL7,在最新版本3.0中结合了XML,HL7组织正在制定用于医疗和病人信息交换的DTD。它包括两个方面的标准:一是在HL7的消息(message)中处理原来的语法外,定义XML,作为消息的另一科,描述语言;二是制定采用XML描述的病历结构PRA。后一种标准可以自接用于电子病历描述。在该标准中,根据病历信息的结构化程度,依次将标准划分为“级”,仅描述病历头信息的一级结构、描述到病历的各个组成节的二级结构、描述到各节具体内容的三级结构。接收方只要根据约定的结构,借助于XML分析器,编写相关的处理程序,就可以将病历存入到本地数据库中或进行相关的处理。HL7正在引起一场深刻的医学信息管理模式的改革,使褥医疗服务在更高水平和更大程度上实现医疗信息的自动化,整个医疗环境将发展成一个全球化的虚拟医院。我们应该加快对HL7的研究和应用,一方面与国际标准接轨,另一方面加强本地化的工作。希冀全国各级政府主管部门大力支持,尽快建立起中国化的HL7标准,以满足自身的需要,并在国际HL7发展中占有一席之地”““。5.6部分技术实现5.6.ICOM+实现在电子病历系统中,为什么系统要实现基于COM+在前面已经分析得很清楚,COM+不再局限于COM的组件技术,它更加注重于类似电子病历这种分布式网络应用的设计和实现,已经成为Microsoft系统平台策略和软件发展策略的一部分。COM+继承了COM几乎全部的优势,同时又避免了COM实现方面的一些不足。COM+紧紧地与操作系统结合起来,通过系统服务为应用程序提供全面的服务。在COld+中,提供了完整的事务服务,可以利用它来完成在电子病历系统的事务控制,下面是电子病历系统需要设计的COM+组件以及相应组件应具备功能的表5—7。 表5—7COM+组件和相应组件应具备功能表Table5—7FunctionTableofCOM+ComponentsandCounter-components鬻篓鬻篓曩!掣!塑熊箜燕=翼蓬篱鬟鬻ll霪缫coM+组件功熊=二:笺鬻飘ApplyMedicine—SVC药物信息服务baseInfoSVC系统基本信息服务NurseWorkstationSVC护士工作站服务clsCommonlnfoSvc通用信息服务CommonConfigSvc系统基本设置服务DeDartmentSvc医院部fJ服务DoctorWorkstationSvc医生工作站服务HISBaseSVCHIS基本服务HISBeINIlospitalSVCHIS入院服务HISChargeltem_SVCHIS收费项目服务HISDoctorAdvice—SVCHIS医嘱服务HISlnHospital_SVCHIS在院服务HISReg_SVCHIS登记服务SystempowerSVC系统权限服务YBMapping_SVC医保服务PatientQuerySVC病人资料查询服务EmplyeeSvc员。【业务服务PatientSVC病人业务服务下面用系统使用到的一个COM+组件来详细阐述系统是如何实现基于COM+模式的。以下是创建一个处理员工业务的COM+组件,由于员工业务有许多种,这里只写出该员工业务类增加员工记录的这一条业务,详细代码如下:namespacebase_Employee__lnfo{///

//,雇员业务类(COM+)///</summary> 第五章电子病历系统设计与实现【Transaction(TransactionOption.Required)】【ObjectPooling(Enabled--true)】【assembly..ApplicationActivation(AetivationOption.Server)】publicclassclsEmployeeSvc:System.Enterprise.ServicedComponent{publicclsEmployeeSvc0{//构造函数}#region增加一条雇员记录[AutoComplete】publiclongm_lngAddNew(System.Security.Principal.IPrincipalp_objPrincipal,outstringp_strReeordlD,clsEmployee,0p_objRecord){//该方法具体实现代码省略}#endregion//其他业务实现方法具体代码省略}以上代码是创建一个处理员工业务的COM+组件,创建基于COM+员工业务类clsEmployeeSvc必须继承在命名空间System.Enterprise下的ServicedComponent服务组件类,ServicedComponent服务组件类是使用COM+服务的所有类的基类,所有COM+组件必须继承该基类,[Transaction(Transactionoption.Required)]是说明该COM+组件需要事务支持,这对于基于事务分布式系统是尤其重要的,[ObjectPooling(Enabled=true)]是设置该COM+组件的对象池可用状态,一般情况下都是设置为可用的,[assembly: 广东工业大学工程硕士学位论文ApplicationActivation(Activationoption.Server)]是声明该组件为服务器应用程序,还可以选择Library,表示为库应用程序,但由于该电子病历系统是采用三层的c/s结构,这些COM+组件是注册运行于中间件服务器上的,所以必须声明为服务器应用程序。整个电子病历系统其他COM+组件的设计和实现跟以上的雇员业务类组件的实现原理是一样的,在这里就不再阐述了,下面详细介绍如何在三层c/s结构中注册和调用这些组件的。具体的实现方法是:(1)在中间件服务器(应用服务器)上,将系统所需要的COM+组件部署到中间件服务器上,注册COM+组件的方法有两种:一种是调用regsvr32.exe,例如运行regsvr32.exee:\base—Employee—Info.dll来注册位于C盘根目录下的base—Employee—Info,对于多个以上组件可以写一个批处理来注册所有COM+组件;另外一种是在MTS(微软事务服务器)里使用组件服务注册向导来实现。然后在中间件服务器COM+组件管理界面中导出COM+客户安装包。(2)在客户端安装在中间件服务器导出的COM+客户安装包,然后在客户端是这样调用CoM+服务的,以调用上面雇员业务类组件为例,调用的代码为:objectm_obj;//g,J建clsEmployeeSvc业务类的一个对象m_obj=CreateObject(”base_Employee_Info.clsEmployeeSvc”,”中间件服务器名称”1://调用增加~条雇员记录的方法m_obj.m_lngAddNew(~⋯):通过以上的设计,就可以实现在客户端调用在中间件服务器注册的COM+服务,同时也就造成这些COM+组件对数据库服务器上的数据库进行访问操作。5.6.2XML实现在电子病历系统中,应用YAIL给电子病历带来的好处在本论文前面已经非常清楚地阐述,怎样设计才能够在系统中最大限度地发挥XML的功能才是一个最重要的问题。电子病历系统中存在很多常用的数据,例如待遇类型,结算类型,人员类别等等常用值数据,可以将这些数据独立保存为XML文件,这样设计的好处是;一方面减少数据类型 第五章电子病历系统设计与实现的复杂性,便于对这些数据进行管理;另一个方面是XML文件支持IE浏览器直接打开,可以方便对这些数据的浏览和维护。由于电子病历系统中存在着自定义表单这一功能需求,医生可以自定义专科病历表单,实现这一功能的技术背景就是充分应用了XML,由于系统创建自定义表单的时候,是通过创建一系列控件来实现的,所以保存这些自定义表单也就是需要保存这写控件的相关属性,例如控件的类型,位置,大小等等一系列信息,这些自定义表单就可以通过XML来实现⋯。为了实现支持自定义表单这个功能,通过编写一个XML配置工具类来实现将创建的自定义表单的信息以)(ML保存到数据库,也可以通过解析数据库里面的XML信息,从而还原该XML信息所对应的自定义表单的界面。下面图5-12是这个XML配置工具类的类图。clsConfigXmlTool(XML配置工具类)属性+m_mthConfigXmlToGOI(stringpstrXml,Controlp_ctlContainer)//配置XML成为界面格式+Ⅲ一strconfigGUIToXml(Controlp_ctlContainer)//将界面格式配置成埘L+m_mthConfigXmlToGUI(Controlp_ctlContaineer,stringp_strXml)//将XML配置成界面内容+stringm_strSaveControllnfosToXml(Control[]p_ctlControls)//将控件信息保存XML格式+Control[]m_ctlGetClipBoardcontrols(stringp_strXml。Controlp_ctlContainer)+m_strSaveRecordToXML(Controlp_ctlcontainer)//配置记录为XML+m_mthReadRecordFromXML(stringp_strXML,ControlpctlContainer)//配置XML为记录+m_blnRecordFromXml(ControlpctlContainer,XmlTextReaderp_objReadeer)//配置XML为记录+m_objGetSyncFieldFromSubmitXml(stringp_strXml)//从表单获取所有可用于传送的字段图5—12XML配置工具类类图Figure5-12ChartofXMLCollocationTools 广东工业大学工程硕士学位论文5.6.3打印功能的实现在电子病历系统中,系统具备打印功能显得十分重要,电子病历需要打印的专科病历很多,考虑到这些专科病历打印的实现存在着很多相似的地方,基本上只是打印的内容不同,所以决定编写一个打印专科病历的接口(infPrintRecord),再写一个打印专科病历基类来实现这个接口,并且为每一个专科病历的打印编写一个打印工具类,这些专科病历的打印工具类通通继承该打印专科病历的基类(clsInpatMedRecPrintBase),由于每一个专科病历的打印不可能是一致的,对于某一些专科病历的打印需要特别处理的,可以通过重写该基类的方法实现特殊效果的打印,这样做的好处是可以节省许多重复工作来编写众多专科病历相同内容的打印,例如是病人信息,医院信息等等内容。下面表5—8是基于以上设计思想用来实现系统打印功能的工具类以及对应专科病历表单的列表。表5—8打印工具类和对应专科病历名称表Table5-8TableforPrintingToolsandCounter-specialMedicalRecords溺缀鳓溺瀚缀麓打印王真奚溺黝嬲缀鬟餮餮篓鬻凌缀震§亏科病历装箪名称一燮黼clsChildbearingRecordPrIntTool新生儿出生时记录clslMR_childbirthPrintT001分娩记录clsBtoodAcadlnltospitalCaseHistoryOnePrintToot血液专科住院病历clslMRPalaceBirthControllaySkillPrintTool宫内节育器放置记录表clsManpowerAbortionPrintT001人L流产及结扎输卵管记录表C1sKidneyMedicineBeInHospitalPrintTool肾内科住院病历elsIMR—RheumatismImmunityPrintTool风湿免疫内科住院病历alsIMR—ChildbirthTransitSectionPrintTool新生儿转科病历clslMR_DiabetestHospitalPrintT001糖尿病住院病历clsIMR-CesareanRecordPrintTool剖宫产记录表clsI螈-ForpecsRecordPrintTool产钳手术记录表clslMR—MedcineMiscarryRecordPrintT001药物流产记录表clsIMR—WombBirthControlRecordPrintTool宫内节育器取出术记录表 第五章电子耩历系统设计与实现续表5—8clslMR—NewChildPrintTool新生儿科入院记录表clsIMR-PaediatricsPrintTool儿科入院记录表clsIMR_OrthopaedicsSuffererApprovePrintTool骨科手术知情同意书clslMR-cataractSuffererApprovePrintT001白内障手术患者知情同意书cisMODSApparatusObservePrintToolMODS器官系统功能临床研究观察表clsIMR_PrePostOperationSeePrintTool术前术后访视单clsIMR_EmergenceWoundPrintTool急诊创伤留观病历clslMR_EmergencyCal1PrintTool急诊病历由于电子病历系统的需要打印的专科病历实在太多了,那么所涉及的专科病历打印工具类也就随之增多了,所以在设计系统的时候编写了一个专科病历打印工具工厂类(cislnpatMedRecPrintToolFactory)来管理这些专科病历打印工具类,在该专科病历打印工具工厂类中定义了一个静态方法(S—objGeneratePrintT001)来产生相应的专科病历打印工具类的一个对象,这样每次打印专科病历时可以调用该工厂类的这个静态方法,从而再产生相应的专科病历打印工具类的一个对象,这样设计的好处是可以集中管理这些专科病历打印工具类,而且便于以后专科病历表单增多时也可以非常方便地扩展系统这些专科病历的实现,不用对系统的框架做任何修改。以下是这个打印专科病历打印工具工厂类的基本代码实现://////专科病历打印工具类工厂㈨</summary>publicclassclslnpatMedRecPrintToolFactory{///,//生产打印工具///</sununary>///窗体名称</param> 广东工业大学工程硕士学位论文///</retums>publicstaticclslnpatMedRecPrintBases_objGeneratePrintTool(stringstrTypeID)(switch(strTypelD){case”frmChildbearingRecord”;//新生儿出生时记录returnnewelsChildbearingReeordPdntTool(strTypelD);c撇”frmlMRchildbirth”://分娩记录returnNewelslMR_childbirthPrintTool(strTypelD);//产生以下专科病历表单的打印工具类对象略,产生方式如上//1.血液专科住院病历//2.宫内节育器放置术记录表113.人工流产及结扎输卵管记录表114.肾内科住院病历115.风湿免疫内科住院病历//6.新生儿转科记录//7.糖尿病住院病历118.剖宫产记录//9.产钳手术记录//lo.药物流产记录表//11.宫内节育器取出术记录表//12.新生儿科入院记录打印//13.儿科入院记录打印//14.急诊创伤留观病历//15.骨科(创伤与显微手术外科)手术知情同意书//16.白内障手术患者知情同意书//17.MODS器官系统功能临床研究观察登记表//18.术前术后访视单//19.急诊病历default:break;)returnnull:})以上代码是这个打印专科病历打印工具工厂类基本框架的实现,产生其他专科病历打印工具对象可以再进一步添加。 第五章电子病历系统设计与实现5.7系统安全策略病历信息是医疗过程的记录,也是将要执行的医疗操作的依据,同时又是用户的个人隐私。所以必须得到完整的保护,如果病历信息的安全性得不到保证,就会带来信息的正确性、完整性问题。如果用户的个人隐私得不到严格的保护,电子病历系统就得不到用户的接受。所以安全性的好坏是电子病历系统的一个决定性因素。电子病历的安全性主要受到的威胁有:内部人员的偶然泄漏、内部人员的越权访问、外界非授权者的入侵破坏、系统故障的影响等。5.7.1用户注册用户注册是指用户根据系统管理员指定的用户ID号,定义并输入用户密码。凡新用户必须先注册,才能使用系统。实现过程如下。①用户输入ID号和密码并且予以确认。②系统对所有用户以账号为PUB、密码为PASS的公用数据库用户名义,连接用户注册表user。⑨系统检索用户注册表user,若存在该用户,则转(4):否则,要求重新输入用户ID号或者退出系统。④运行加密程序(用DLL封装)把用户密码生成密文,存放在表user的相应字段中。本系统是利用动态链接库DLL来编写加密程序的。这样做的好处是:用户以后要改动密码时,只需用加密程序把变更的密码重新生成新的密文,覆盖表USER中旧的密文即可,而客户端的程序不用任何修改。同时即使该方法被破解,也只需重新编制一个新的DLL,去覆盖原有JILL程序,而不必改动客户端主程序。这样减轻了维护工作量,也加强了用户密码的安全m一·。5.7.2用户登录验证用户ID号和登录密码存放在用户注册表user中。用户注册表user结构见表5—9。 广东工业大学工程硕士学位论文表5-9用户注册表USER结构Table5-9USERStructureofUserRegisteringTable字段名数据类型说明USER10C卧R(6)用户代号USERNAMEVARCHAR(20)用户姓名PASSwARDlVARCHAR(20)用户密码(加密),登录应用系统PASSWARD2VARCHAR(20)用户密码(加密),登录数据库系统RIGHTSVARCHAR(100)用户权限(可加密)用户登录过程如下(见图5一13)①程序开始,输入用户ID号和密码。为防止传输过程中密码被窃取,运行加密程序将用户密码进行加密处理。②使用PUB账号连接用户注册表user,在表user中查找有无此用户。若有,转下步;否则,退出。③根据用户ID号找到用户的加密密码PASSWARDl。④将此加密密码与用户加密密码解码后进行比较。若正确,则以该用户身份登录应用系统,并将密码PASSWARD2解密,以该用户ID号和PASSWARD2明码重新连接数据库系统:否则,退出。图5.13用户登录验证过程Figuer5-13StepsofUserAuthenticationandAuthorization 釜三耋皇王耋要至筌耋盐皇銮墨用户每次使用系统,系统将把用户登录的时间和位置以及退出系统的时间记录在用户使用系统日志表userlog中。5.7.3应用级功能控制应用级功能控制是通过控制应用程序菜单项的使用权限来实现的。使用权限还可根据实际情况(如人员变动、岗位变动)进行调整,这种动态管理的机制提高了软件的灵活性。具体实现方法如下。①将系统的基本模块和功能划分为具体的项目。②设计出菜单项,将菜单项按统一顺序排列,有多少条菜单项就有多少位数字,每一位代表一种权限。③根据不同的用户角色进行权限的设置。各条菜单项用“0”与“1”来表示使用权限,+O表示不能使用,“1”权表示有权使用。④将这个由0与1组合而成的数字串作为该用户的权限值,存入用户注册表user中用户权限字段。⑤合法用户登录系统后,根据用户ID号得到一个具体的用户权限值,对应到每一条菜单项,从而控制系统显示出不同的界面。这种方法最大的优点是系统的安全性得到进一步提高。即使窃取到用户表user,也无法知道用户有哪些权限,更不知道这些权限值是如何形成的,从而不能有效地修改和利用。如果再配合使用加密算法,将权限值进行加密,则系统的安全性能将更加牢固。从管理角度分析,为减少操作失误,在具体的程序设计实现中,当确定了用户的编码后,系统可根据编码的编排规则,确定该种身份的人员所拥有的最大权限,调用对应的权限设置界面,然后系统管理员依据岗位职责再决定相关权限授予与否。与该种身份人员无关的权限设置界面则不显示,这样就杜绝了错误授权。例如对医院领导,他们的权限为查询,则调用的授权界面为查询权限界面;又如对护士,他的权限为护理项目的输入与医嘱查询等,则调用的授权对应界面为护士权限界面。 广东工业大学工程硕士学位论文5.7.4数据库访问控制依据角色管理的策略,将现实中访问电子病历的人员划分为不同的角色。本系统先划分了7类角色,分别是系统管理员、主治科医生(科主任、主治医生、住院医生、实习医生)、护士、化验科医生、检查科医生、院领导、一般访问者。当然,还可根据需要再细分角色。每个角色的人员只能在许可权限内访问系统。例如可以规定主治科医生有权查询该科病人的所有病历数据,修改他们创建的病历记录:其它医务人员只能访问、修改他自己所创建的记录:患者本人只能查询本人的病历。在病历提交确认后,要收回对这部分病历数据“写”的权限,任何用户都无权再修改或删除。实现方法如下:①将系统登录账户添加为数据库用户。②分别创建若干个自定义的数据库角色。③将该数据库用户分配给这些角色。通过GRANT(授权)、REVOKE(剥夺)和DENY(拒绝)命令完成对不同角色(用户包括用户组)的各种权限的授予、撤销和拒绝访问。此外,还可以结合以下两种方式进行数据库访问控制。①在相关基本表(例如病情诊断、化验数据、检查数据、医嘱等)上建立视图或创建访问这些基本表的存储过程,然后将使用视图或存储过程的权限授予用户,这样避免了对基本表的直接访问,实现对病历数据的有限访问。②由于系统记录了每条记录的创建者,因此还可以通过判断访问者的ID号与创建者的ID号来控制对该记录的访问。为了方便系统管理员在应用程序中进行角色管理、用户管理和权限分配,创建以下主要应用系统表:角色信息表、用户一角色表、角色一对象权限表。其结构见表5一10、表5一ll、表5一12。 第五章电子病历系统设计与实现表5一10角色信息表m出le5.10Tableofroles字段名数据类型说明USERIDCHAR(5)角色标志,非空、主键USERNAlIEVARcHAR(20)角色名,非空PASSWARDlvARCHAR(30)角色描述表5-11用户一角色表T抽Ie5.1111ableofUsers.Roles字段名数据类型说明USERIDCHAR(6)用户标志,非空USERNAMEC}IAR(5)角色标志,非空PASSWARDlCHAR(5)当前活动角色标志,非空表5—12角色一对象权限表Table5-12TableofRoles—Objects字段名数据类型说明USERIOCHAR(5)角色标志,非空USERNAlIEVARCHAR(20)表名,非空PASSWARDlCHAR(1)表权限:S、I、U、D5.7.5踪迹审计踪迹审计主要是通过病历数据变动日志,为每一份电子病历数据建立操作档案,记载电子病历的形成过程,用这些记录来证实电子病历内容的真实性。为减少数据冗余,日志中只记载修改的操作。实现方法如下:(1)建立日志表,结构见表5一13。其中,OPER_CONTENT字段记录了病历数据变动前后的情形。(2)利用事件或触发器,在修改病历数据的同时,将有关变动内容记录在此表中。病历 广东工业大学工程硕士学位论文提交或归档后,从此表中删除相关病历的记载。表5一13日志表Table5-13LogTable字段名数据类型说明USERNAMEVARC}IAR(20)操作者姓名OPERTIMEDATETIME操作时间TABLENAMEVARCHAR(20)数据库表名称PATINETIDCI{AR(7)病历号OPER_cONTENTTI!XT操作内容除了使用应用程序建立的日志外,还可使用数据库系统自带的日志文件,类型包括系统日志、审计日志、应用日志等。 结论由于电子病历的发展受到人工智能等其他学科的制约,不能一下子达到理想的地步。随着计算机技术的高速发展,它们一旦取得重大突破,电子病历的研究、发展、应用必将取得长足的进步,它与实际临床工作及健康保健工作的关系将日趋紧密。本文的研究工作主要体现以下几个方面:(1)建立一个可扩展的电子病历系统模型,从功能模块的上划分,它主要由数据中心、医院管理系统与医生工作站三个部分组成。文中还具体研究了它的网络结构、系统结构和软件结构。(2)利用XML技术对病历信息进行集成,将病历信息集成在一起,为医院实现了病历信息的数字化管理方法,提高了信息处理效率。(3)研究电子病历的安全性问题。首先分析其主要受到威胁的来源,在此基础上医院内部采用管理和技术相结合的方法,包括对用户进行分级授权控制和对一些重要的操作要进行追踪记录等。在网络传输过程中,将数据进行加密传输,保证其安全性。由于理论水平有限、资料欠缺,本文所进行的研究还存在着许多不足之处,关于下面提出的问题还有待于进一步的研究:(1)关于电子病历系统究竟应该包括哪些功能,目前还缺乏统一的定义,电子病历是一个继续发展的概念,相关的研究内容将会随电子病历的发展而逐步深入”““。目前,实现电子病历的软硬件技术已经具备。尽管实现完善的电子病历系统可能需要较长的时间,但应抓住当前的有利时机,继续努力,对电子病历的重点技术进行研究开发,力争在较短的时间内,不断地完善电子病历系统的功能,建立起更好电子病历的框架,为医院信息系统向临床应用的深入发展打下基础,为医院,特别是为病人带来更多有利的条件。(2)电子病历中对病历信息的描述应该标准化。我们举一个简单的例子,有些系统对发烧有三种描述:高烧、一般和低烧。而有些系统写出了具体烧到多少度。显然这两种描述在数据交换过程中会带来麻烦,无法准确得知病人的信息,引起不良 广东工业大学工程硕士学位论文的后果。要完成对信息的描述,就需要一个专门的机构来研究它,公开发布,然后各系统都以它为标准。这需要有关部门能尽快拿出一个好的解决方案来。以上是我对电子病历系统的一些尝试性的探讨,当然对电子病历的研究除了以上的一些外,还有很多方面需要我们去进一步的探索和研究。由于时间仓促和水平有限,我的编写工作必定存在一些错漏,敬请各位批评指正。 [1]12[2]15参考文献张鹭鹭,李静,徐祖铭著.高级医院管理学[M].北京:第二军医大学出版社,2004年6月.6~20.5~樊小玲,李华才,宁义著.医院信息化建设与应用管理嘞].北京:人民军医出版社,2005年2月.8~[3]高智勇翻译.COM+技术大全[M].北京:机械工业出版社,2001年9月.68~70[4]潘爱民著.深入理解COM+[M].北京:清华大学出版社,2000年4月.30~35[5]张硕,姚志洪,XML应用于电子病历,当代医学,2002年,9(5):32~47[6]CaoJie,ChenXiping,GaoWeijun,eta1.LinkingTransDortationPlanningandGeographicInformationSystem.InternationalConferenceonComputerGraphicsandSpatialInformationSystem,2002年.801~804[7]金朝崇,李宗耀,高福成等.现代信息系统教程.天津:天津大学出版社,1996年.35~40[8]赵池龙.实用软件工程[M].北京:电子工业出版社,2003年.35~40[9]lugWidya,CeesVolman.StanislavPokraev,ImloDeDiana,andEddieMichiels.EnterpriseModelingforanEducationalInformationInfrastructure.UniversityofTwente2000年.48~51[10](美)哈乐德著.EffectiveXML:50SpecificWaystOImproveYourXML[M].北京:电子工业出版社,2005年3月出版.21~30[1i]刘谦,苏建平著.深入学习COM+高级编程[M].北京:电子工业出版社.2001年1月.6~8[12](美)罗宾逊,(美)内格尔著,李敏波翻译.c#高级编程(第3版)[M].北京:清华大学出版社,2005年6月出版[13]肖刚,孙慧.系统分析与设计方法[M].天津机械:I:程出版社,2004年.56~60[14]张宽海编著《管理信息系统概论》高等教育出版社出版2002年.28~32[15]ChrismanN&TopologicalInformationSystemsforGeographicRepresentation.ProceedingsofSecondInternationalSymposiumonComputerAssistedCartography,FalIsChurch,1975.34635l[16]宋丽红.李二勇,杨超峰著.COM+编程指南m].北京:机械工业出版社,2002年1月.44~46[17]赵致格编著《数据库系统与应用(sOLServer)》.清华大学出版社.2005年.22~23[18]沈兆刚,李劲著.SQLServer2000与XML整合应用[M].北京:清华大学出版社,2001年.39~42[19]张海藩编著《软件工程导论(第四版)》清华大学出版社2005年.56~65—85— 广东工业大学工程硕士学位论文[20]杨小平编著(Visualc++6.0项目案例导航》科学出版社2002年.32~50[21]NelsonES.ACognitivegapExperiment:MentalReDresentationsandtheEncodingProcess.CartographyandGeographicInformationSystems,1996。23(4):229~248[22]周龙骧.《数据库管理系统实现技术》.地质大学出版社.2001年.36~40[23]PeuquetDJ.AConceptualFrameworkandComparisonofSpatialData如dels,Cartographica,1984,21(4):66~113[24]邝孔武,王晓敏.信息系统分析与设计[M].北京:清华大学出版社,2002年.i0~20[25]薛万国,ⅫL与电子病历,国外医学·医院管理,2002年.33~34[26]RumhaughJ,JacobsonI。BoochG,TheUnifiedModelingLanguageReferenceganual.AddisonWesley,1999.40~48[27](美)埃克马尔,(美)阿瓦斯,(美)罗伯托著.ⅪIL数据管理纯XML和支持XML的数据库系统叫].北京:清华大学出版社,2006年.78~79[28]WattsS.Humphrey.《ADisciplineofSoftwareEngineering}刘锦云.人民邮电出版社2003年.78~82[29]赛圭春Visualc++信息系统开发实例精选[M].北京:机械工业出版社,2006.45~48[30]DavidHJonassen.1nstuctionalDesignModelsforWell-structuredand111-StructuredProblem—SolvingLearningOutcomes,EducationalTechnologyResearchandDevelopment,'Col45,No.1,2001,PP.65-7986— 圣堡耋兰塑堡丝耋塑兰銮鎏圣攻读学位期间发表的学术论文【1]l龙伟健.HibertNet应用与开发实践.福建电脑,2005.13(11) 致谢通过设计这个基于COM+电子病历系统,可以将以前学到的理论知识应用于这个系统的设计与实现之中,而且可以学到许多之前没有学到的IT技术,更重要的是在这个过程我对医院的这个业务流程有了较为明朗的认识,虽然仍有很多不足之处,需要不断的改进,但这些不足我会在以后的日子里尽快克服,不断地提高自己。在编写毕业论文过程中,我得到了汤荣江老师的精心指导,还有许多同学的帮助,正是由于他们无私的帮助我才能够不断地完善我的论文设计,在此向他们表示衷心的感谢!感谢广东工业大学给了我学习、深造的机会,感谢各位老师在学习期间给我的指导。感谢参加论文答辩与评阅的各位专家、老师。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭