XML 在医疗保健行业的应用

DB2 pureXML 帮助一家多医院医疗保健提供商改进面向患者的文档系统

深入讨论 DB2 pureXML 技术如何帮助一家多医院医疗保健提供商改进面向患者的文档系统。
来自 IBM Data Management Magazine 中文版

Ken North, 顾问和行业分析家, IBM Data Management 杂志

Ken North 是一位顾问、作家、行业分析师和 www.SQLSummit.com 的编辑。他举办 Expert Series 讲座并出席了 XML DevCon 200x 会议、LinkedData Planet 和 DataServices World 会议。



2009 年 8 月 05 日

IBM Data Management 杂志印刷版上的 DB2 pureXML 文章

大学、政府和行业组织使用 XML 进行文档存储和数据集成已经有十年时间了。包括 IBM 在内的数据库和软件厂商很早就认识到了 XML 的潜力,因此他们帮助制订基于 XML 的标准和行业专用的标记语言,同时致力于在他们的数据库平台中集成 XML 和 SQL。IBM 和 Informix 首先发布了 IBM DB2 XML Extender、Informix Web DataBlade 和 Informix XSLT DataBlade,然后把 XML 支持更深入地集成到 RDBMS 服务器中,从而大大推进了 XML 和 SQL 数据库处理的集成。

XML 对于许多行业都很重要,尤其是那些具有复杂的集成、存档和遵从性需求的行业。医疗保健行业可以使用面向服务体系结构 (SOA) 和支持 SQL/XML 的数据库构建新的应用程序,同时解决遵从性和标准问题,支持电子医疗记录系统。

XML 在医疗保健行业中的兴起

XML 在医疗保健行业中兴起的一部分原因是,Health Insurance Portability and Accountability Act (HIPAA) 等法律要求保护患者的安全和隐私。美国议会为保护保险覆盖范围颁布了 HIPAA,它包含电子事务标准以及对数据私密性和安全性的要求,应用于索赔、付款、利益调查、索赔状态和其他事务。HIPAA 还要求美国卫生和福利部为医疗保健信息的分发制订规则。

把这些法律规定转换为可应用的标准常常是标准开发组织的工作;医疗保健行业中最重要的标准开发组织之一是 Health Level Seven (HL7)。HL7 为医疗保健领域中管理数据和临床数据的交换制订标准,包括索赔处理、医疗影像和制药(见本文底部的边栏 “HIPAA 和 HL7”)。医疗保健行业还为操作性数据模型和研究数据表格化模型开发了规范(Clinical Data Interchange Standards Consortium)。这些标准应用于内部系统和外部实体(比如美国食品与药品安全管理局)之间的通信。

包括医疗保健在内的各种行业中的新标准推进了支持 XML 的应用程序的开发。这种新的技术潮流意味着,我们可以构建应用程序(常常是使用 SOA 的复合应用程序),通过可互操作服务的组合和丰富的数据库支持访问医疗数据。

但是,高效地管理大量 XML 数据是一种挑战。IBM 在 DB2 9 中引入了 pureXML 技术,允许以原生 XML 格式存储、索引和查询文档。一些医疗机构已经使用 IBM DB2 的原生 XML 功能构建了系统,这些系统不仅符合医疗保健行业标准,而且改进了数据访问和性能。


电子医疗记录的难点

由于医疗数据常常进行频繁的修改,大型医疗保健组织非常依赖于 XML。UCLA Health System 就是这样的组织:它是一个包含多家医院的医疗保健供应商,提供各种临床和医疗保健服务。它包含 Ronald Reagan UCLA Medical Center、Santa Monica UCLA Medical Center and Orthopaedic Hospital、Mattel Children's Hospital UCLA、Resnick Neuropsychiatric Hospital at UCLA 以及 UCLA Medical Group(包括初级护理和特别护理部门)。2,000 多位医生每年处理超过 1 百万次门诊和 80,000 个住院病例。

这种规模的医疗保健系统每天必须处理大量数据,包括医疗记录更新、化验结果、MRI/CT/电子束 CT 血管造影图像、入院/出院/转院数据和药房订单。所有数据必须安全可靠地存储(以及最终适当地存档),同时必须能够根据需要访问它们。另外,多个地点的各类职员必须可以轻松地搜索、传输和组织这些数据。还需要轻松快速地输入和更新信息,因此所需的 IT 基础结构非常复杂。

UCLA Health System 用面向患者的文档系统 (PODS) 满足这些需求,这是一个电子医疗记录 (EMR) 存储库,能够存储和检索超过 2000 万份文档。PODS 是 UCLA 文档管理系统 extended SOA (xSOA) 的患者信息源。通过与 PODS 协作,xSOA 为 GE BDM 药品信息系统、CliniComp Essentris 急诊系统、Orion Soprano 门诊数据系统和表单门户提供查看界面。xSOA Central Document Bus 连接到 GE 图像存档和通信系统 (PACS)、门诊应用程序和图像以及 PODS 存储库。Image Bus 支持访问患者诊断图像,Forms Bus 处理 UCLA Health Services 使用的各种电子表单。HL7 Message Bus 提供符合 HL7 要求的通信。

通过结合使用 SOA 和 DB2 数据库,PODS 支持 2,000 名医生和 3,000 名护士访问患者记录。这个系统支持超过 400 种电子表单;这些表单替代以前使用的 1,000 页纸制表格,有助于消除手写导致的误解和遗漏。数据库存储大约 200 万位患者的信息,每天增加 12,000 份文档,包括新的化验结果、医生处方和与患者相关的其他数据。PODS 包含一个文档存储库和元数据存储库,可以把医疗记录文件与 DB2 数据库关联起来。PODS 在文件服务器上存储医疗记录图像文件;它使用 IBM DB2 数据库存储相应的元数据,用网络附属存储阵列存储图像文件,包括 PDF 和文本。

当一个文档进入系统时,它存储在文件服务器上并在 DB2 数据库中编制索引。文档并不会被删除,因为 PODS 存储库还作为患者数据的存档。为了确保可服务性和 24x7 高可用性,PODS 体系结构包含冗余服务器和数据库,通过数据复制在数据库服务器之间进行同步。

DB2 数据库元数据存储当前包含 3000 万行信息。元数据使用 DB2 9 原生 XML 引擎存储为 XML 格式。UCLA Medical Center Computing Services 体系结构经理 Charles Wang 博士指出,PODS 使用超过 400 个模式,这些模式都符合 W3C XML Schema 语言。PODS 软件把这些模式映射为一个虚拟模式,供整个系统使用。系统使用四个键的组合为文档及相关元数据创建惟一标识符。

为了保护患者隐私,PODS 的设计采用一个多级安全模型。除了 DB2 内置的安全功能之外,软件体系结构还包含文档和元数据处理器,它与安全服务集成。还提供基于角色的安全性和单点登录功能。在使用文件系统管理 XML 文档和模式时,必须专门处理安全性、并发控制、并行处理和版本化等问题,而使用 DB2 存储 XML 模式和文档可以方便地解决这些问题。


UCLA Health System 基于 SOA

PODS 实现展示了 SOA 如何帮助应用程序使用基础服务;在这里,是用于访问患者信息的服务。文档通过文档服务接口进入系统并放在队列中。PODS 体系结构使用 IBM WebSphere MQ 实现异步消息传递和队列。对于 HL7 消息传递,UCLA Health System 使用 Sun SeeBeyond eGate Integrator,据 Wang 博士说,这是 “所有应用程序接口使用的企业范围标准”。

PODS 队列管理器控制输入队列、异常队列和复制队列。管理元数据和图像文件的标准服务提供用于上传、下载、查询和更新文档的应用程序编程接口 (API)。系统支持审计,可以为除上传之外的所有数据库活动生成报告。


PODS 的演进

UCLA Health System PODS 实现使用 DB2 pureXML 功能支持对患者文档的访问,包括装载、查询和更新数据。它提供一组 Web 服务接口,支持门诊系统上传和查询数据。

这个系统的最新版本是 PODS3 和 PODS4。这两个版本都基于 SOA,但是使用不同的 DB2 功能进行 XML 处理。对于以基于 SOAP 的 Web 服务形式处理 XML 消息,PODS3 和 PODS4 都使用 Systinet 和 IBM WebSphere 软件的组合。但是,PODS4 实现标志着从 DB2 XML Extender 过渡到 DB2 9 的 pureXML 功能。例如,DB2 9 引入了对 SQL:2003 标准定义的一个特性的支持,允许 XML 列类型作为一等数据类型。可以在 Data Definition Language (DDL) 语句、函数和存储过程中使用 XML 类型。

迁移到 DB2 9 的另一个好处是,混合型存储引擎和查询优化器 “理解” XML,可以把涉及 XML 的查询映射为关系语法。迁移到 PODS4 并没有改变 PODS 的功能性需求,但是 pureXML 技术简化了元数据处理,有助于满足系统的响应时间和可伸缩性目标。

上传过程展示 PODS3 和 PODS4 之间的差异。例如,在上传 PDF 文档时,PODS3 上传过程把文档和 XML 元数据文件存储在 EMC 文件服务器上。它把 DB2 SQL 存储引擎使用的元数据分解为 XCollection,XCollection 是 DB2 XML Extender 实现的一个类型。上传过程还使用 IBM WebSphere Application Server 解析器检验模式,在 DB2 数据库中为 PDF 和 XML 文件的路径编制索引。与上传相关联的 DB2 事务包括生成惟一的文档 ID、在活动历史表中记录这次上传以及对 18 个表执行 SQL INSERT。PODS4 上传过程以另一种方式处理 XML 文档元数据。PODS4 上传过程并不在 18 个表中存储元数据,而是使用 XML 类型的 DB2 列保存元数据,只需对四个表执行 INSERT。


简化的处理和标准遵从性

从 PODS3 迁移到 PODS4 和 DB2 9 大大简化了 UCLA Health System 的数据库管理和复制任务。PODS3 体系结构使用 DB2 8 和 XML Extender,数据库包含 28 个表。PODS4 数据库设计使用 XML 列,只需要 10 个表并取消了 PODS3 使用的 20 个存储过程。

因为 UCLA Health System 使用 XML 存储患者元数据,所以在 PODS 集合中支持新的电子表单需要为表单内容创建数据定义或模式。经常处理新表单的 DBA 希望能够高效地定义新的数据类型,比如化验结果。迁移到 DB2 9 可以减少在系统中添加新表单和模式所需的时间:在 PODS4 中支持一个新表单通常只需要两小时,而在 PODS3 中需要两周。

在任何行业中,标准对于互操作性和高效数据交换都非常重要。XML 是一种有效的标记工具,可以定义数据交换和存档所需的词汇表,因此 XML 已经成为医疗保健供应商的重要工具。但是,健壮的应用程序需要可靠的数据管理基础结构。PODS 展示了医疗保健供应商如何解决创建、存储和交换电子医疗记录的难题。通过 PODS,UCLA Health System 和其他医疗保健机构已经开始利用 XML 技术处理复杂的电子医疗记录,满足 HIPAA 和 HL7 标准的要求并提高生产力。


HIPAA 和 HL7

1996 年,HL7 成立了 Claims Attachment 工作组,它的任务是对处理保险索赔所需的信息进行标准化,此后开发了用来满足 HIPAA 要求的一系列标准。在同一年,HL7 开始通过它的 SGML/XML 特别兴趣小组积极研究 XML。最初的成果是用于索赔处理的六个推荐附件。

在此之后,HL7 开发了消息传递规范 Clinical Document Architecture (CDA) 和 Reference Information Model (RIM)。HL7 还为向州和地方公共医疗部门提交 CDA Public Health Case Reporting (PHCR) 制订了电子提交标准。随着标准的成熟,XML 已经成为越来越重要的技术。例如,CDA 的第一版定义了一个 XML 体系结构,它用于交换基于规范中包含的 XML Document Type Definition (DTD) 的门诊文档,使用 HL7 RIM 和 HL7 注册的编码词汇表定义其语义。即将发布的 CDA 第三版只使用 XML 编码。

IBM 负责软件标准的副总裁 Karla Norsworthy 说,“IBM DB2 对 XML 的原生支持允许以医疗保健行业标准 HL7 CDA 格式存储内容。IBM 承诺通过开放标准促进医疗保健行业的互操作性和创新。我们已经看到了广泛采用开放标准(比如 Java 和 XML)和 HL7 等组织开发的医疗保健标准对灵活性、投入市场的时间和创新的积极影响。”

参考资料

学习

获得产品和技术

  • 现在可以免费使用 DB2 。下载 DB2 Express-C,这是为社区提供的 DB2 Express Edition 的免费版本,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。
  • 下载 IM 软件试用版,体验信息管理软件强大的功能。

讨论

  • 通过访问 alphaWorks 获得更多 IBM 的前瞻性技术和资源。
  • 通过访问 IBM Database Magazine 站点 community 专题 获得更多用户体验和交流信息。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=418356
ArticleTitle=XML 在医疗保健行业的应用
publish-date=08052009