专利名称:一种基于xml文档的电子病历模板系统及电子病历模板制作方法
技术领域:
本发明涉及一种电子病历模板系统,尤其是一种应用于电子病历嵌入式设备的基 于XML文档的电子病历模板系统,同时还涉及采用该系统制作电子病历的方法,属于医疗 数据处理领域。
背景技术:
电子病历系统作为医疗行业病历信息系统的核心,是实现医院以“病人为中心”的 核心所在。电子病历系统建设经历了如下几个阶段在第一个阶段(2000年以前),电子 病历仅仅是纸面病历的电子化,以WORD文档作为病历载体,医生可以录入病历信息,打开 WORD文件,浏览病历信息。这些病历以文件目录形式存放,缺乏基本的安全管理,当文件数 量增大后,信息的检索十分困难。认识到第一代病历的缺点后,医疗行业开始建设第二代 电子病历信息系统(2000年后),采用关系数据库来存储和管理病历信息,按照业务规范要 求,把病历的模板分段后,结构化存储在大量的数据表中,这样数据的存储和查询都有较好 的性能,安全性也有保障。但是仍然存在问题,关系数据库适合应对结构固定的业务内容, 而不同科室甚至不通医生的病历模板存在差异,需要大量的数据表来对应存储结构,一旦 发生变化,需要修改多处数据表定义和相关的应用程序,维护工作量极大。另外,对病历查 询时往往需要把维数众多的数据表链接起来联合查询。程序编写复杂,无法支持医护人员 在工作和科研中的随意查询。因此,需要用一种更灵活的信息架构才能有效解决病历内容 存储和灵活查询的问题。随着病历内容覆盖面越来越广,结构化的内容会越来越多,结构化程度会不断细 化。国际上一些结构化电子病历系统采用了树形模板来保存病历数据,比如Open SDE(Open SDE是source forge上的一个开源项目,这个研究项目的目的是为了实现对病历的结构化 录入)。但是,不同病人的病历在具体细节上有差异较大,因此病历树的结构也呈现动态化 趋势,需要用动态的数据结构来保存数据,同时需要使之规范化。上述现有技术无法满足这 “*需求。
发明内容
本发明的目的在于针对现有病历模板存储结构固定、修改复杂、维护困难的问 题,提出一种基于XML文档的电子病历模板系统,该系统不仅使用户可以对病历内容按需 进行修订,并可以自动使修订后的电子病历模板规范化,从而摆脱传统数据表结构的束缚, 方便医生对不同病人病历的操作;同时,应占用存储空间少,以便适用于嵌入式设备,使其 得到切实的推广应用。同时,本发明还将给出借助该系统制作电子病历的方法。为达到上述目的,本发明的技术方案是一种基于XML文档的电子病历模板系统, 主要由病历模板库、模板解析器、知识库和模板生成器组成;病历模板库,用以存储模板元素(所述模板元素通常可以包括已有数据元、组件、段落和模板;所述数据元由相应的常规基本检查项目构成,所述组件由一组相互关联的数 据元构成,所述段落由一组相互关联的组件组成,所述模板由所述的数据元、组件、段落按 预定结构组合而成);模板解析器,用以调用XML解析器(MSXML),将用户所选模板元素解析为可修改的 元素对象,以便使用户得以在模板解析器中动态修改所述元素对象,生成段落模板;知识库,用以存储各种预定规范病历模板的数据库表结构,并通过将段落模板的 结构与所述表结构逐一进行比较,判断段落模板是否规范;如判断结果为否,则按最接近 的表结构调整段落模板结构,即对其中的元素对象构成进行相应搭配调整,并再次比较、调 整,直至段落模板符合规范、判断结果为是;模板生成器,用以将符合规范的段落模板通过调用XSL Designer图形化工具和 XML Report组件,生成所需的新建电子病历模板,展示给用户,并将新建电子病历模板存入 病历模板库。采用本发明系统制作电子病历模板包括以下步骤第一步、从病历模板库中将用户选择的模板元素添加到模板解析器中;第二步、调用XML解析器,将模板解析器中用户所选模板元素解析为可修改的元 素对象,再将用户动态修改后的元素对象生成新的段落模板;第三步、将上一步生成的段落模板结构与存储在知识库中规范病历模板的表结构 进行比较,判断段落模板是否规范;如判断结果为否,则按最接近的表结构调整段落模板结 构,并再次比较、调整,直至判断结果为是;第四步、将符合规范的段落模板通过调用XSL Designer图形化工具和XML Report 组件,生成所需的新建电子病历模板,展示给用户,并将新建电子病历模板存入病历模板库。XML(Extensible Markup Language,可扩展标记语言)具有可以通过开放且自我 描述的文本方式定义数据结构的特点,不仅是一种标识语言,更是一种可以定义描述对象 结构的元语言,从而体现数据之间的关系,因此本发明由于基于XML,不仅可以轻松地存储 各种表格化的病历内容,而无需开发不同的数据结构和应用程序,并且采用XML文档格式 进行存储,能大大减少设备的存储空间和内存占用空间,十分适合存储空间相对小、处理 速度相对较慢的嵌入式设备,因此具有理想的实用性。对于使用者而言,本发明的电子病历模板系统不仅一改传统电子病历无法修改编 辑的缺点,可以方便地按需调用模板元素,而且可以自动借助知识库,保证最后生成模板的 规范化,从而无需医生记住模板规范,大大方便了医生对不同病人病历的操作。此外,采用 本发明后,病历模板库将处于不断更新、不断完善的状态,从而适应电子病历不断发展变化 的需求,不断具有更为广泛的适用性。
图1为本发明所基于的病历模板结构示意图。图2为本发明电子病历模板系统及其制作电子病历模板的流程示意图。图3为本发明实施例一的流程图。图4为本发明实施例一生成新建电子病历模板的流程图。
图5为图3实施例模板生成器所生成的电子病历示意图,
具体实施方式
实施例-为使本发明的目的、技术方案和优点更加清楚明白,将以如下实施例,并结合附图,对本发明进一-步详细说明。
随着医疗卫生科技的不断发展,电子病历的内容日益复杂,其中通常包括医嘱、病历首页、检查、检!险、病程记录、手术记录、出院小结等一整套医疗文书和记录。基于XML文档,病历首页和检查的格式可简单表示如下
< ? xml version =“1.0" encoding = “ gb2312〃 ? >
〈病历首页〉
<病人基本信息>
〈床号〉……</床号〉
〈病人ID>·…···</病人 ID>
<姓名 >……</姓名>
<性别 >……</性别>
</病人基本信息>
〈入院日期〉……</入院日期〉
<门诊诊断 >……</门诊诊断>
〈入院诊断〉……</入院诊断〉
<转科记录 >……</转科记录>
<手术记录 >……</手术记录>
〈出院诊断〉……</出院诊断〉
〈出院日期〉……</出院日期〉
</病历首页〉
< ? xml version =“1.0" encoding = “ gb2312〃 ? >
〈检查〉
<病人基本信息>……</病人基本信息〉
<检查项目 >……</检查项目>
<发往科室 >……</发往科室>
<申请时间 >……</申请时间>
〈症状〉……</症状〉
<体征>......</体征>
<临床诊断 >……</临床诊断>
〈其它诊断〉……</其它诊断>
<相关化验结果>……</相关化验结果〉
<申请注意事项>……</申请注意事项〉
5
<送检医师 >……</送检医师>......</ 检查 >由此可以看出,由于电子病历的复杂性,以及不同患者的检查过程不同,其电子病 历内容也会有所不同。所以,现有固定格式的电子病历模板已经不能满足要求。本实施例 提出了一种格式灵活、能够随病历结构内容改变的电子病历模板。如图1所示,本实施例基于XML的电子病历模板系统具有模板、段落、组件、数据元 的多级层次,可以形成一个灵活的多维病历信息结构。其中,数据元是最基本的数据单元, 代表医疗单位常见的每一项基本检查项目,如白细胞、血红蛋白等检查信息就是数据元。组 合多个数据元就能形成具有业务含义的组件,组件可以细化到各项常规医学检查、诊断等 信息(组件之间可以进一步组合,形成信息含量更丰富的较大组件)。段落是组成模板的 大块信息载体,它由数个组件组成,段落用于存储病历常见的方面,如病人常规信息、检查 信息、体检信息、入院诊断等。模板则是由医疗单位的业务人员事先建立好的病历样式,各 个科室的医生可以选择对应的模板,以填写病历信息。如图2所示,本实施例基于XML文档的电子病历模板系统主要由病历模板库、模板 解析器、知识库和模板生成器组成。其中,病历模板库用以存储模板元素。模板解析器用以 调用XML解析器(MSXML),通过创建反映节点逻辑结构的DOM树结构,将用户所选模板元素 解析为可修改的元素对象,以便使用户得以在模板解析器中动态修改元素对象,生成段落 模板。知识库用以存储规范病历模板的数据库表结构,并通过将段落模板的结构与表结构 逐一进行比较,判断段落模板是否规范;如判断结果为否,则按最接近的表结构调整段落模 板结构,修订段落模板的结构,对其中的元素对象构成进行相应搭配调整,并再次比较、修 订...,直至使段落模板符合规范、判断结果为是。模板生成器用以将符合规范的段落模板 通过XSL Designer图形化工具和XMLR印ort组件,生成所需的新建电子病历模板,展示给 用户,并将新建电子病历模板存入病历模板库。以下对较为简单的“检验”电子病历模板的具体生成过程加以说明。如图3所示, 该电子病历模板的制作包括以下步骤步骤301、当需要制作新的电子病历模板时,启动嵌入式设备的电子病历模板程 序,模板解析器被打开;步骤302、从病历模板库中将所需要的“检验”、“病人基本信息”模板,送检医师、申 请日期数据元,以及“剩余预交金”和“费别”这两个数据元添加到模板解析器中;步骤303、模板解析器将调用XML解析器(MSXML)的解析功能,通过创建反映节点 逻辑结构的DOM树结构,将上述加载内容转换为可修改的元素对象如下< ? xml version = " 1.0〃 encoding = " gb2312〃 ? > < ? xml version =〃 1.0〃 encoding =" gb2312〃 ? ><病人基本信息><床号X/床号>< 病人 IDX/ 病人 ID><姓名X/姓名><性别></性别>
〈检验〉 <检验科室></检验科室> <类别></类别> <标本></标本> <检验结果></检验结果>
<年龄></年龄 >< 检验医师></检验医师><体重X/体重 >〈检验日期X/检验日期〉〈身高X/身高〉</检验〉</病人基本信息>< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? > 〈? xml version =〃 1.0〃 encoding = “ gb2312〃 ? ><剩余预交金></剩余预交金 >< 送检医师></送检医师>< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? > 〈? xml version =〃 1.0〃 encoding = “ gb2312〃 ? ><费别></费别 >< 申请日期X/申请日期>步骤304、用户按需修改上述可编辑的元素对象,形成新的段落模板如下< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? >〈病人基本信息〉<床号X/床号>< 病人 IDX/ 病人 ID><姓名X/姓名><性别></性别><年龄X/年龄><体重X/体重>〈身高></身高〉< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? ><送检医师X/送检医师>< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? ><剩余预交金></剩余预交金>< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? ><费别></费别></病人基本信息>< 检验 ><检验科室X/检验科室><类别X/类别><标本X/标本><检验结果></检验结果>
<检验医师X/检验医师>〈检验日期X/检验日期〉< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? ><申请日期></申请日期〉</检验〉步骤305、知识库将上一步生成的段落模板结构与存储其中的预定规范病历模板 的表结构逐一进行比较,发现“送检医师”应该属于“检验”中的内容,现放在了“病人基本信息”中,不符合规范,自动按最接近的表结构调整段落模板结构,使其成为如下规范的段 落模板;< ? xml version = “ 1.0〃 encoding = “ gb2312〃 ? >〈病人基本信息〉〈床号X/床号〉〈病人 IDX/病人 ID>〈姓名></姓名〉〈性别></性别〉〈年龄></年龄〉〈体重></体重〉〈身高X/身高〉<剩余预交金X/剩余预交金>〈费别></费别〉</病人基本信息〉〈检验〉<检验科室X/检验科室>〈类别X/类别〉〈标本></标本〉<检验结果></检验结果><检验医师X/检验医师>〈检验日期X/检验日期〉<送检医师X/送检医师><申请日期></申请日期〉</检验〉步骤306、模板生成器生成规范的新建电子病历模板,展示给用户,如图5所示;步骤307、判断用户预览反馈是否满意,如满意,则执行步骤308,如不满意,则并 将新建电子病历模板自动添加到模板解析器,重复上述步骤301 ;步骤308,将用户满意的新建电子病历模板保存到病历模板库,结束此次电子病历 模板的制作。这样更加体现了人性化。以上步骤306理想的具体流程如图4所示,包括步骤701、模板生成器调用XSL Designer图形化工具,根据符合规范的段落模板, 生成对应的医疗报告模板;步骤702、将医疗报告模板与规范的段落模板通过XSLT处理器输出,得到符合医 疗格式化的新建电子病历模板;步骤703、通过调用XML Report组件,完成新建电子病历模板可视化对象的编辑 禾口显不。由于XML(Extensible Markup Language,可扩展标记语言)具有以下特点1)XML文档自含结构,使得系统间交换的信息可以互相理解,在数据的可扩展性、 灵活性、可读性、交换性、平台无关性等诸多方面具有传统数据库和二进制文件无法比拟的优越性;2)D0M是一个标准的结构体系,用来连接文档和应用程序;3)MSXML解析器允许装载和创建文档,收集文档的错误信息,得到操作文档中的所 有信息和结构,并把文档保存在一个XML文件中;4) DOM提供给用户一个接口来装载、到达和操作并序列化XML文档,同时提供了对 存储在内存中的XML文档的完全表示,以及随机访问整个文档的方法;5)DOM允许应用程序根据MSXML解析器提供的逻辑结构来操作XML文档中的信 息;因此本实施例的电子病历模板不仅可以大大方便医院医生编写病历,而且文档格 式灵活、占用存储空间小,可以直接应用于类似PDA的电子病历等嵌入式设备,能够在不影 响病历内容的情况下实现病历的存储。随着实际应用的不断深入,病历模板库将不断丰富, 从而适应医疗科技发展的需要。
9
权利要求
一种基于XML文档的电子病历模板系统,其特征在于包括病历模板库、模板解析器、知识库和模板生成器;所述病历模板库用以存储模板元素;所述模板解析器用以调用XML解析器,将用户所选模板元素解析为可修改的元素对象,以便使用户得以在模板解析器中动态修改所述元素对象,生成新的段落模板;所述知识库用以存储预定规范病历模板的数据库表结构,并通过将段落模板的结构与所述表结构进行比较,判断是否相符;如比较结果为否,则按最接近的表结构调整段落模板结构,修订所述段落模板结构,并再次比较,直至判断结果为是;所述模板生成器用以将符合规范的段落模板通过调用XSLDesigner图形化工具和XML Report组件,生成所需的新建电子病历模板,展示给用户,并将新建电子病历模板存入病历模板库。
2.根据权利要求1所述基于XML文档的电子病历模板系统,其特征在于所述模板元 素包括已有数据元、组件、段落和模板;所述数据元由相应的常规基本检查项目构成,所述 组件由一组相互关联的数据元构成,所述段落由一组相互关联的组件组成,所述模板由所 述的数据元、组件、段落按预定结构组合而成。
3.根据权利要求1或2所述基于XML文档的电子病历模板系统,其特征在于所述模 板解析器用以调用XML解析器后,通过创建反映节点逻辑结构的DOM树结构,将用户所选模 板元素解析为可修改的元素对象。
4.采用权利要求1所述基于XML文档的电子病历模板系统制作电子病历模板的方法, 其特征在于包括以下步骤第一步、从病历模板库中将用户选择的模板元素添加到模板解析器中;第二步、调用XML解析器,将模板解析器中用户所选模板元素解析为可修改的元素对 象,再将用户动态修改后的元素对象生成新的段落模板;第三步、将上一步生成的段落模板结构与存储在知识库中规范病历模板的表结构进行 比较,判断段落模板是否规范;如判断结果为否,则按最接近的表结构调整段落模板结构, 并再次比较、调整,直至判断结果为是;第四步、将符合规范的段落模板通过调用XSL Designer图形化工具和XML R印ort组 件,生成所需的新建电子病历模板,展示给用户,并将新建电子病历模板存入病历模板库。
5.根据权利要求4所述制作电子病历模板的方法,其特征在于所述第四步的具体过 程为模板生成器调用XSL Designer图形化工具,根据符合规范的段落模板,生成对应的医 疗报告模板;将所述医疗报告模板与规范的段落模板通过XSLT处理器输出,得到符合医疗格式化 的新建电子病历模板;调用XML Report组件,完成新建电子病历模板可视化对象的编辑显示。
6.根据权利要求4所述制作电子病历模板的方法,其特征在于所述第四步中,在保存 新建电子病历模板之前,还包括判断用户预览反馈是否满意步骤,如判断结果为是,则将新 建电子病历模板保存到病历模板库;如判断结果为否,则返回到第一步。
全文摘要
本发明涉及一种基于XML文档的电子病历模板系统及电子病历模板的制作方法,属于医疗数据处理领域。该电子病历模板系统包括用以存储模板元素的病历模板库、用以将用户所选模板元素解析为可修改的元素对象并生成新的段落模板的模板解析器、用以根据规范病历模板数据库表结构修订段落模板结构的知识库,以及用以生成所需的新建电子病历模板的模板生成器。本发明可以方便地按需调用模板元素,而且可以自动保证最后生成模板的规范化,从而大大方便医生对不同病人病历的操作。此外,采用本发明后,病历模板库将处于不断更新、不断完善的状态,从而适应电子病历不断发展变化的需求,不断具有更为广泛的适用性。
文档编号G06F19/00GK101944162SQ20101027157
公开日2011年1月12日 申请日期2010年9月2日 优先权日2010年9月2日
发明者宋余庆, 张勇, 陈健美 申请人:江苏大学