XML技术在电子病历中的应用_第1页
XML技术在电子病历中的应用_第2页
XML技术在电子病历中的应用_第3页
XML技术在电子病历中的应用_第4页
XML技术在电子病历中的应用_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、XML技术在电子病历中的应用袁永福2013-03-17前言无论是遵照卫生部的电子病历功能规范还是实际开发及应用,电子病历文档必须采用开放格式存储,而只采用封闭二进制格式是不与时俱进的。在各种可选的文档格式中,XML成为最优选择。本文就讨论XML技术在电子病历文档技术中的应用。此外在业界已经有人使用XML文档描述电子病历文档,不过其XML格式五花八门,本文中笔者提出一种详细的XML规范,希望能抛砖引玉,促进业界形成实用的电子病历文档XML标准。作者邮箱:。关键字电子病历,XML,标准XSD架构XML的基础地位XML在电子病历开发和应用中处于基础地位。开放文档格式无论是遵照卫生部的电子

2、病历功能规范还是实际开发及应用,电子病历文档必须采用开放格式存储,而只采用封闭二进制格式是不与时俱进的。从宏观上看,电子病历乃至医疗信息化是整个社会信息化中的一小部分,社会信息化是一个整体目标,而电子病历、医疗信息化不能封闭而自成一体,而是需要和社会信息化的其他部分进行密切的交流,这不仅仅是数据接口的层面,而是核心功能的相互引用。例如未来医改可能的一个趋势就是商业保险公司深度切入医疗过程。此时商业保险公司需要实时的获得详细的病历数据,可能包含一切数据,此时电子病历系统直接在底层选择开放存储格式显得很必要了。比如目前的区域平台及公卫很火,各个厂家卖力的争夺各个省和地区公卫单子,各自为政。未来几年

3、后,各个公卫系统会融合,文档存储和交换格式标准化就是融合的基础。XML文档格式开放文档格式有很多种,比如HTML、纯文本等等,RTF也勉强算一种,而DOC、ODT等文档格式由于是比较封闭的二进制格式,因此不能算是开放文档格式。在诸多开放文档格式中,谁也比不上XML。其理由有以下:第一,XML的群众基础好。XML已经成为最为常用的国际标准,所有的开发平台和技术都能很好的支持XML技术。中国社会信息化中几乎所有领域已经开始普及XML技术。不懂XML,都不好意思说自己是程序猿。XML成为电子病历系统跨业务领域的数据交流的首选技术了。大家都知道电脑主板上的总线是很重要的,总线虽然未必完全符合CPU/G

4、PU/内存/硬盘等各个专业领域的业务需求,但已经成为计算机系统的基础架构,各模块必须支持。而XML完全有能力成为各个信息化领域的总线,内部未必完全采用,但对外必须支持。第二,XML得到各个IT巨头的支持。IT巨头,特别是数据库巨头都投入巨大的精力在进行XML技术的研究,逐渐的将XML技术融合在关系型数据库中。站在这些巨人的肩膀上,使得快速处理海量XML文件成为可能。反过来,若电子病历文件不是以XML格式存储,这些巨头们不大可能针对电子病历这个“小”领域而定制开发适合电子病历文档格式的数据存储和分析技术。脱离XML技术,电子病历行业也就无法利用巨头们在基础技术研究中获得的成果了。第三,XML能很

5、好的支持电子病历系统业务需求。在笔者具体的实践中,采用DOM技术实现了全功能的电子病历文档,尚未遇到不能满足电子病历系统业务需求的情况,预计未来也会很少遇到。而DOM技术的抽象概念和XML技术的抽象概念是高度一致的,因此也就非常容易的实现了电子病历文档以XML格式进行存储。另外XML技术的向上向下兼容性支持也是其他文件格式所少见的,而且各种特定格式的XML文件之间的转换也是低成本和高效率的。第四,XML文档很适合文件的长期存储。病历文档是需要长期存储几十年上百年的。在长期的存储过程中,存储介质不能避免的出现损坏,都有数据存储时间极限。比如传统机械硬盘盘面上的数据只能存30年,之后由于机械故障及

6、磁场衰减而出现数据丢失。光盘数据存储的时间更短,毕竟光盘在物理上不是晶体,只是一种非常粘稠的液体,分子结构不稳定,稍微遇热就容易变形,而且材料很容易被空气中的氧气所侵蚀氧化,因此常用的光盘数据只能保存几年而已。高端光盘能保存十几年,但成本比较高。大批量数据备份可采用磁带存储数据。理想情况下磁带能也只能保存几十年的数据,而且实际上磁带容易遭受空气中氧气、水分和霉菌的侵蚀破坏,因此存储时间也打折扣。人类曾经制造过号称能保存数据长达亿年的光盘,那就是太空探索飞船旅行者号携带的镀金铜质光盘。由于金和铜都是晶体,分子结构非常稳定,基本上可以说是能永久保存数据,而且这个光盘一直保存在星际空间这种高度真空环

7、境中,没有氧气、水和霉菌的污染,而且不受外界磁场的影响,因此非常稳定。不过这种光盘成本高,无法普及。【参考1】由于当前普及的数据存储技术不能满足病历数据长期存储的需要,这些数据存储介质历经时间的沧桑,必然出现一些损坏,从而导致数据丢失。此时若采用专用的格式,特别是二进制格式,少数几个字节的损坏就会导致整个文档的不可还原的损坏而丢弃。而XML文件是自我描述的,存在不小的冗余,当文件数据发生部分损坏时,还是存在很大的可能性进行修复,其内容片段仍然可以读取的。因此当电子病历文档以XML的格式存储,虽然经过很长的时间,部分数据丢失,但其中的信息还是能幸存下很多的。更进一步的,XML文件在存储文本数据时

8、可以采用实体模式,这样能增加文本数据的修复概率。例如对于文本“袁永福的电子病历”,若采用UNICODE编码,其16进制编码为“81 88 38 6C 8F 79 84 76 35 75 50 5B C5 75 86 53”,若某些字节数据损坏,比如第一个字节丢失,其可辨认的16进制编码为“88 38 6C 8F 79 84 76 35 75 50 5B C5 75 86 53”,则以UNICDE格式读取的文本就成为“转葹偵虵”,这就是不可识别的乱码了。如果采用XML实体模式存储这几个文字,则保存为“”,若某些字节数据损坏,例如变成“”,则这段受损的数据仍然可以准确的辨认出文本“永福的电子病历”

9、,这样就能实现数据的最大程度的恢复。综上所述,电子病历文档XML化是一个趋势。趋势是一个很霸道的东西,体现了众生的意志,某个具体的公司和利益集团无论多么的强大,也无法阻挡趋势,反而会被趋势所践踏。电子病历的用户,包括医生、医院院长、卫生系统的官员等等不擅长IT技术,未必能理解这个趋势,但作为电子病历系统的软件开发商,必须认识到这个趋势,并顺应这个趋势,好好学习和利用XML技术。电子病历文档标准功能笔者认为,电子病历文档不仅仅用于医生书写病历,还可以应用于护理文书、检查检验报告等多种医疗文书的编辑、显示和打印中,甚至可以说将报表功能也包含在其中,凡是可以打印的都可以说是广义上的电子病历文档。从这

10、个方面上延伸,笔者认为电子病历系统和数字化医院系统的界限不必清晰。由于电子病历文档需要满足很多种情况下的功能需求,功能范围比较广,因此实用的电子病历文档具有两个层次:一,样式文档;二,电子病历业务数据。结合卫生部的电子病历系统功能规范,电子病历文档应当实现如下的标准功能:样式文档1. 文字编辑:可自由输入文字,可设置文字的字体名称、大小、粗体、斜体、下划线、删除线样式。可设置文字的颜色和背景色。2. 图片:可插入图片,图片和文字混排,能手动拖拽设置图片的宽度和高度,能保持图片的宽度高度比例。图片的图像数据可保持在文档中,也可链接引用其他地方的图像数据。能设置文字围绕模式。支持替换文字。3. 段

11、落:可设置段落的行间距、段前间距、段后间距。可设置段落的首行缩进和整体缩进量。可设置多种段落列表头显示样式。4. 表格:支持单元格的横向合并和纵向合并。支持表格单元格内部的图文混排,支持表格套嵌表格。支持鼠标拖拽表格线来设置表格列的宽度和表格行的高度。支持设置每页都显示的标题行。支持表格单元格边框线的设置和背景颜色的设置。支持单元格斜线。5. 页眉页脚:支持设置页眉页脚,其内容和正文一样编辑和排版。能插入页码元素。6. 排版:支持文档,能设置文档节的边框和背景。支持使用分页符进行强制分页。7. 操作:支持OLE拖拽插入数据,支持和其他程序的复制、粘贴,支持重做和撤销操作。支持鼠标和键盘拖拽选择

12、文档的部分内容。8. 打印:支持页面设置,支持文档的打印,支持打印预览。支持多个文档在一个界面中预览和打印。9. 开发:支持B/S和C/S开发。这不是规范所规定的,但却是实际应用必须满足的条件。特别的对于B/S开发,要求相关的客户端软件组件文件短小精悍,建议不超过10MB。电子病历业务数据1. 痕迹保留:支持痕迹保留,用户对文档中的内容的新增、修改和删除都能产生痕迹信息并保留在文档中,痕迹信息包括操作员的名称、时间、操作类型和操作的文档内容。痕迹信息能在用户界面上展现出来。2. 权限控制:支持多级权限控制,每个用户可以分配不同的权限等级。高权限等级的用户能修改和删除低权限等级的文档内容;低权限

13、等级的用户无法修改和删除高权限等级的文档内容,只能看,不能改。3. 半结构化:支持半结构化文档的录入和存储。文档中关键区域被标记出来,而且对用户的文本自由录入的影响很小。4. 输入域:支持在文档中插入输入域,输入域可以设置背景文本、固定宽度、数据录入方式、数据校验格式等信息。5. 知识库:支持加载知识库,知识库中以树状结构组织了多个知识库节点,节点可以采用可选内容列表,也可以链接引用到模板中。知识库的内容可以动态的来自其他程序模块或数据库。6. 数据源绑定:文本输入域能绑定数据源。应用程序能传递数据源来批量的修改文档中输入域中的内容。7. 级联模板:通过设置输入域的动作表达式就能实现级联模板的

14、功能。8. 医学表达式:支持各种常用的医学表达式。9. 图片标注:能在位图或矢量图上添加标注。标注信息可以再次编辑,可以删除。10. 网格线:支持整个文档的网格线。对于护理记录,需要支持单元格中设置网格线。11. 继续打印:支持断点继续打印。同时支持手动及自动设置继续打印的位置。12. 整洁打印:支持不带有痕迹信息的整洁打印。13. 文件格式:必须支持XML格式,建议可导出HTML/PDF等开放格式。在实际开发中,完全实现上述标准功能还是不容易的,不过这也是各个电子病历厂家努力的方向。电子病历文档标准XML架构业界有些人开始采用XML格式存储电子病历文档数据,不过具体的XML格式五花八门,HL

15、7和CDA格式的XML很适合用于病历数据的交换,但主要用于描述数据,在描述文档样式、用户痕迹等信息还是有些麻烦。因此在实践中,应用系统本地存储中采用特定的XML格式,执行数据交换时采用通用的XML格式。针对电子病历文档业务,笔者提出一种详细的XML规范,希望能抛砖引玉,促进业界形成实用的电子病历文档XML标准。其XSD代码可参看本文档的附录。以下是符合这种架构的XML文档范例:在这个XML文档中,XML结构大致可以分为四个部分:第一部分:正文部分,这个部分保存了文档中所有的病历数据部分,比如文本、图片、输入域、表格、段落符号等等。在这里每一个表示文档内容的XML元素都具有一个StyleInde

16、x的属性值,这是一个整数数值,表示该元素引用的文档样式编号。第二部分,文档信息部分,这部分包含了电子病历文档的一些基本信息。第三部分,用户历史记录部分,这部分包含文档操作历史记录信息。列出了历史上修改并保存了该文档的用户名、姓名、权限等级、时间、相关说明文字等信息。这里有一个PermissionLevel元素指明了用户的权限等级,它是一个从0开始的 整数。数值越大,权限等级越大。高权限的用户能修改低权限的用户输入的内容,低权限的用户对高权限用户输入的内容只能看不能改。第四部分,文档样式列表,列出了文档内容元素所使用的文档样式信息。比如字体样式、对齐样式、颜色等等。可以看出对于这种XML架构,具

17、有2个最显著的特点:第一样式信息集中管理。将文档中所有用到的样式信息编组,然后统一保存在样式列表中,而且文档内容元素使用SytleIndex属性值对样式组进行引用。这样做能大幅降低XML文档的大小。例如对于文档中的“腹痛。”,理论上可以采用“腹痛。”方式进行存储,实际上无论是存储还是编程实现上这样做都比较浪费存储资源。第二用户痕迹信息被视作一种文档样式设置。文档样式设置中包含了CreateIndex子元素,其数值表示文档内容的创建者历史信息编号;包含了DeleterIndex子元素,其数值表示文档内容的逻辑删除者历史信息编号。例如对于XML片段“腹痛。”,它的StyleIndex属性值为2,据此可以在ContentStyles/Styles列表中找到XML片段“ 1 true ”,可以获得UnderLine元素值为true,说明在用户界面上显示或打印这段文本时是具有下划线的;CreatorIndex元素值为1,系统可以进而在UserHistories元素下查找,可以获得XML片段 li 李医师 2012-11-15 9:30:13 1 查房这样就可以知道这段文本是李医师

温馨提示

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

评论

0/150

提交评论