- 2013-04-15 11:30
- 作者:袁永福
- 来源:中国数字医疗网
电子病历文档标准XML架构
业界有些人开始采用XML格式存储电子病历文档数据,不过具体的XML格式五花八门,HL7和CDA格式的XML很适合用于病历数据的交换,但主要用于描述数据,在描述文档样式、用户痕迹等信息还是有些麻烦。因此在实践中,应用系统本地存储中采用特定的XML格式,执行数据交换时采用通用的XML格式。
针对电子病历文档业务,笔者提出一种详细的XML规范,希望能抛砖引玉,促进业界形成实用的电子病历文档XML标准。其XSD代码可参看本文档的附录。以下是符合这种架构的XML文档范例:
在这个XML文档中,XML结构大致可以分为四个部分:
第一部分:正文部分,这个部分保存了文档中所有的病历数据部分,比如文本、图片、输入域、表格、段落符号等等。在这里每一个表示文档内容的XML元素都具有一个StyleIndex的属性值,这是一个整数数值,表示该元素引用的文档样式编号。
第二部分,文档信息部分,这部分包含了电子病历文档的一些基本信息。
第三部分,用户历史记录部分,这部分包含文档操作历史记录信息。列出了历史上修改并保存了该文档的用户名、姓名、权限等级、时间、相关说明文字等信息。这里有一个PermissionLevel元素指明了用户的权限等级,它是一个从0开始的 整数。数值越大,权限等级越大。高权限的用户能修改低权限的用户输入的内容,低权限的用户对高权限用户输入的内容只能看不能改。
第四部分,文档样式列表,列出了文档内容元素所使用的文档样式信息。比如字体样式、对齐样式、颜色等等。
可以看出对于这种XML架构,具有2个最显著的特点:
第一.样式信息集中管理。将文档中所有用到的样式信息编组,然后统一保存在样式列表中,而且文档内容元素使用SytleIndex属性值对样式组进行引用。这样做能大幅降低XML文档的大小。
例如对于文档中的“腹痛。”,理论上可以采用“<TextElement Underline="true" CreatorIndex="1">腹痛。</TextElement>”方式进行存储,实际上无论是存储还是编程实现上这样做都比较浪费存储资源。
第二.用户痕迹信息被视作一种文档样式设置。文档样式设置中包含了CreateIndex子元素,其数值表示文档内容的创建者历史信息编号;包含了DeleterIndex子元素,其数值表示文档内容的逻辑删除者历史信息编号。
例如对于XML片段“<TextElement StyleIndex="2">腹痛。</TextElement>”,它的StyleIndex属性值为2,据此可以在ContentStyles/Styles列表中找到XML片段“<Style Index="2"> <CreatorIndex>1</CreatorIndex> <Underline>true</Underline> </Style>”,可以获得UnderLine元素值为true,说明在用户界面上显示或打印这段文本时是具有下划线的;CreatorIndex元素值为1,系统可以进而在UserHistories元素下查找,可以获得XML片段
<History> <ID>li</ID> <Name>李医师</Name> <SavedTime>2012-11-15 9:30:13</SavedTime> <PermissionLevel>1</PermissionLevel> <Description>查房</Description> </History> |
这样就可以知道这段文本是李医师于2012年11月15日输入的,而且李医师的PermissionLevel为1,一般解释为中级医生权限。
有了这种电子病历文档XSD架构,完整功能的电子文档技术就能落地实现了。而且在开发数据接口时也很容易被转换为HL7或者CDA格式。
小结
本文探讨了在电子病历技术中XML技术的基础地位。包括为什么采用XML技术,如何采用XML技术,此外还提出了一种完整的电子病历文档标准的XSD架构。
资源中心链接:XML技术在电子病历中的应用
共5页: 上一页 [1][2][3][4]5 [查看全文] |