Literature
首页医源资料库在线期刊中华现代医院管理杂志2007年第5卷第4期

XML在电子病历中的应用

来源:《中华现代医院管理杂志》
摘要:【摘要】XML即可扩展标识语言,不仅是一种标识语言,更是一种可以定义描述对象结构的元语言,可用来设计与特定专业领域有关的标记语言。本文较详细地讨论了XML在电子病历领域中的各项用途。具有严格结构和数据定义的程序在此方面遇到严峻的挑战,而基于XML电子病历系统的灵活性能够非常简单地适应文档和程序的最新......

点击显示 收起

【摘要】    XML即可扩展标识语言,不仅是一种标识语言,更是一种可以定义描述对象结构的元语言,可用来设计与特定专业领域有关的标记语言。本文较详细地讨论了XML在电子病历领域中的各项用途。由于医疗卫生领域本身极具动态性,实现该领域中的系统无疑需要一定的灵活性。具有严格结构和数据定义的程序在此方面遇到严峻的挑战,而基于XML电子病历系统的灵活性能够非常简单地适应文档和程序的最新要求。采用XML记录的病历不依赖于任何计算机平台、软件或者数据库格式,不会因为软硬件更新而需做相应的升级工作;便于信息交换和查询。由于XML对内容进行了标记,因而其中的信息可以方便地在用户之间进行交换和检索;XML允许用户在不违背标准的前提下根据自己当前和今后的需要进行扩充,具有很大的适应性和灵活性。针对电子病历数据来源的多样性,有两种基于XML的电子病历集成方法。通过对电子病历的加密实现了电子病历的机密性;结合数字签名实现其完整性,由此构成了电子病历的安全基础。

【关键词】  XML;电子病历

 XML(extensible markup language)即可扩展标识语言,是一种元语言。它是国际互联网联盟(W3C)开发的用于网络环境下数据交换、数据管理和网页设计的新技术。虽然XML和HTML同属标记语言,但XML可以让用户通过标识来描述数据的结构(即树结构),并且根据描述数据的需要随意制定不同的标记,使之成为一个完整的信息体系。其优势在于它不仅是一种标识语言,更是一种可以定义描述对象结构的元语言。XML文档自含结构,使得系统间交换的信息可以互相“理解”。现在,XML语言已经广泛地应用于电子病历当中。

    1  以XML作为电子病历的描述基础

    使用XML作为病历内容的描述语言有以下理由:(1)XML采用了层次化面向对象的结构描述方法,非常适合于描述病历这样复杂的内容,在表达能力上优于关系数据库。(2)XML是一种元语言,可以定义描述对象的结构。这适合于病历中不同内容结构的变化,适合于保持病历的历史。(3)XML与互联网有天生的联系,可以通过浏览器直接浏览病历内容,减轻开发工作量。(4)XML将内容与样式关联在一起,这不仅可以保留病历内容,也可保留病历外观。(5)XML作为电子商务时代的“标准语言”,拥有大量的开发和应用工具,有利于对病历内容的处理[1]。

    2  基于XML的电子病历集成

    2.1  基于数据的集中式电子病历集成  电子病历数据来源于医疗的各个环节及医院信息系统的各个子系统中,医院信息系统由于其功能庞大、复杂,模块众多,许多系统是由不同时期不同厂家开发的子系统组成的,病人的信息分散在不同厂家的系统中。XML能够描述不规则数据,能够从不同的来源集成数据,将多个应用程序生成的数据纳入同一个XML文件并传送到客户机上,被解析出来的数据可以在本地存储、编辑或操纵。因此,把XML作为集成电子病历的描述工具和转换工具能够简化电子病历集成系统的实现,实现框架。

    2.2  基于数据的分散式电子病历集成  基于数据的分散式电子病历集成模型是将图1中的“病历信息库”和“各种数据访问接口”换为“虚拟数据中心”,虚拟数据中心是一种用虚拟数据试图构建的、具有数据采集和数据管理功能的虚拟中心,从物理方面讲,它并不实际地保存大量数据在中心,而是在逻辑上以“虚拟数据中心”的形式为电子病历提供数据采集的代理功能。当应用程序向虚拟数据中心发出集成电子病历的请求后,它自动地从需要集成的异构数据库中查询数据,并通过XML转换器,根据XML Schema或DTD所描述的规则,把采集到的数据转换成各个XML数据,把各个XML集成统一的数据视图供各应用程序使用[2]。

    3  电子病历的存储、交换、检索、分析

    电子病历系统采用XML格式存储和交换数据,病人的病历信息存储为XML格式的文件,将字符信息、数值信息、图像信息、多媒体信息有机地结合在一个文件中,形成了大量的病历原始数据,因此需要解决好海量数据存储的问题。XML文件格式非常灵活,很难直接存入关系数据库的字段中,但关系数据库又提供了XML无法比拟的效率。所以必须解决XML文件在关系数据库中的存储及效率等问题,将病历的索引信息(比如病人基本信息)以字段形式存到关系数据库中,然后将每个病历文件经压缩后存为BLOB(大二进制类型)字段。这样既提高了效率,又以较为简单的存储策略实现了病历的存储。利用XML强大的数据存储功能和数据自描述功能,可以在不同的病历之间按照标记提供强大的数据检索功能,进行数据的横向(不同人之间)和纵向(不同时期之间)比较。很容易和医院其他的应用系统达到数据共享,极大地减少了数据的重复录入,方便了使用。存储于关系数据库BLOB字段中的电子病历XML文档可利用普通的SQL(标准查询语言)进行分析,可以像查询关系数据库那样分析病历[3]。

    4  XML加密和数字签名技术在电子病历系统安全中的应用

    电子病历的安全性问题涉及完整性、非否认性、机密性等。

    4.1  加密解密  XML加密和解密基于密码学技术,其中有多种方式,包括不同算法产生的对称密钥而生成不同的加密结果。常用的方式是采用“数字信封”技术,其工作原理是发送方使用一个对称密钥K加密文件,同时使用接收方的RSA公钥加密该对称密钥K,将这两个数据项发送给接收方。接收方接收到后先用自己的RSA私钥解密出对称密钥K,再用该对称密钥K解密出加密的文件[4]。XML加密和解密的原理见图2。

     4.2  XML数字签名  传统数字签名技术的局限性在于:其签名粒度过粗,签名对象是要签署的文档整体,很难支持电子病历中的多重签名,也不支持病历的部分签名,对应用程序较为依赖,因此通用性不好。而XML数字签名技术较好地解决了上述问题,XML签名的灵活性和扩展性在于:XML数字签名的处理规范充分利用了XML语言本身及其伙伴强大的表达能力和扩展能力,不仅可以像传统数字签名技术一样对整个文档签名,还可以实现XML数字签名的特有功能,即在较细的粒度上对文档的特定部分进行签名,而且支持多重签名。在XML签名的元素中,其URT属性不仅可以指定本地或网络上的文本或二进制数据,还可以指定XML文档内部的某个元素。如果想对多个数据签名,可以采用多个Reference元素分别指向不同的签名对象[5]。

    5  应用前景

    由于医疗卫生领域本身就具有动态性,实现该领域中的系统无疑需要一定的灵活性。具有严格结构和数据定义的程序在此方面遇到严峻的挑战,XML电子病历系统的灵活性在于它能够非常简单地适应文档和程序的最新要求。采用XML记录的病历不依赖于任何计算机平台、软件或者数据库格式,不会因为软硬件更新而需做相应的升级工作;便于信息交换和查询。由于XML对内容进行了标记,因而其中的信息可以方便地在用户之间进行交换和检索;XML允许用户在不违背标准的前提下根据自己当前和今后的需要进行扩展,具有很大的适应性和灵活性[3]。因此,能够灵活地应用在电子病历的XML方法是值得探讨和研究的。

【参考文献】
     1 薛万国.XML与电子病历.国外医学·医院管理分册,2002;1:33-34.

2 王建仁,段刚龙.基于XML的电子病历集成方法研究.陕西工学院学报,2005;21(1):47-49.

3 朱君哲,尹良钧.基于XML电子病历系统的研究.中国科技信息,2005;11:24.

4 孟翔,郑重,薛万国.电子病历的加密和解密模型实现-XML的加密和解密.计算机工程与应用,2005;20:229-232.

5 徐国荣.用XML实现基于HL7标准的电子.计算机与现代化,2005;12:48-51.


作者单位:(山西医科大学医学信息管理专业,山西太原 030001)

作者: 师成虎 2008-6-13
医学百科App—中西医基础知识学习工具
  • 相关内容
  • 近期更新
  • 热文榜
  • 医学百科App—健康测试工具