新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 基于MML电子病历存储模型研究

基于MML电子病历存储模型研究

作者:时间:2012-08-21来源:网络收藏

本文通过分析现今主流的数据库模型,对基于标准的构建模型。针对对象一关系型和关系型2种模型比较分析,给出了基于标准的系统的数据库存储模型设计方案。

本文引用地址:http://www.eepw.com.cn/article/198911.htm

1 引 言

(Medical Markup Language)作为一套不同医疗信息系统之间的数据交换规格于1995年开发,是一套比较完整的使用XML结构交换标准,目前最新版本是3.0。采用MML标准可以将基于异构电子病历的医疗信息系统很好的结合起来,实现数据的共享。

目前大多数采用电子病历医疗信息系统的医院都使用关系型数据库,主要考虑到关系型数据库有强大易用的查询分析工具和易与医院遗留系统整合的能力。但是由于基于MML的电子病历映射到关系型数据库时,原有的层次结构信息将丢失,此外关系型数据库对基于MML的电子病历内的嵌套和递归结构支持也较弱。

2数据库类型选择

针对医疗信息系统的研究发现,两类数据库系统操作是必须的:操作类型(例如,统计、分析);研究类型(例如,查询)。在分析应当选取何种类型的数据库存储模型作为研究对象时,首要前提是要支持这两类操作。现有3种数据库系统可以作为MML电子病历的存储模型,分别是XML原生数据库、关系型数据库和对象一关系型数据库。

XML原生数据库是专门为存储XML数据设计的,支持DOM模型和断言查询。但现在缺乏商业级的产品,同时开发人员需要花费相当的时间来熟悉和适应,在未来可能作为XML存储的重要应用但这里不作为分析研究的重点。

对于关系型数据库系统,当MML电子病历映射到数据库时,文档内在的层次关系将丢失。这可能不影响操作类型的操作,可是对审计跟踪将有一定影响。作为现在主流的数据库系统,关系型数据库系统有丰富强大的查询和分析工具,各种优化技术又使得性能高效,因此将其作为研究MML电子病历系统存储模型的对象。

相比之下对象一关系数据库作为较新的数据库系统,其在关系型数据库和面向对象数据库之间搭起了一座桥梁。对象一关系数据库基于关系模型,存储结构和数据访问都是基于标准的面向对象版本的SQL。因为引进了OO概念,对象一关系数据库也附加了、继承和多态等OO特性。对象能存储在表内并包含方法。由于扩展了面向对象的特性,支持复杂数据类型,对象一关系数据库比传统关系型数据库更适合作为MML电子病历的存储模型。

MML电子病历包括各种检验表、图形等对象需要专门的方法来查询,在这种情形下对象一关系型数据库就尤显优势。

3存储模型设计和实现

采用传统的ANSI三层数据库模型(外层、逻辑或内层、物理层)来设计MML电子病历存储模型。概念设计阶段的目标是构造出独立于具体数据库管理系统的数据库概念模式。在逻辑层设计的过程中,选用特定的数据模型将概念模式映射到逻辑模式。最后一步按照物理存储结构开发数据库的规范,底层算法用来设计执行数据榆索和数据管理。

3.1 基于MML电子病历的ER模型

在概念设计阶段采用广为使用的实体一关系(ER)模型。根据MML电子病历处理过程,设计了包括3个实体和8种关系的模型,3个实体分别为:Person,MML-emr和Organization。

针对设计出的ER模型(见图1),町以选用对象导向的方法或传统的纯关系数据模型方法。下而将详细讨论对比两种方法,找出各自的优缺点。

3.2对象一关系型存储模型设计

在将ER模型映射到对象一关系模型时,最直接的办法是采用对象描述实体。表1为Person对象及其对应属性。

需要注意的是有4个属性是对象数组用以表示PER-AON实体的多值属性。MML_emr和Organization对象和Person对象类似。ER图中的关系也可映射为对象,表2为3个实体之间的关系。

ER模型中的多值属性可以用VARRAYS或者嵌套表表示,嵌套表更适合对一组需求的查询,如果是要通过单个操作完成的组需求的话VARRAYS效率更好些。

在对象一关系模型中,N∶M关系可以通过在嵌套表上添加REF(类似参考类型指针)实现。以MML电子病历提供者provider和MML-emr之间的关系为例。每一个oo_MML_emr包含有oo_provider的嵌套表,每个oo_provider属性指向一个person对象。在对象-关系模型中只需两张表MML_emr和person就可以表示出这个N∶M的关系。而在关系型模型中需要MML_emr,per-son和MML_emr_person三张表。

l:M关系的实现在2种模型相似,在对象一关系模型中使用REF类型,而在关系模型中使用外键。

3.3 关系型存储模型设计

采用标准算法将ER模型映射到关系型模型。首先为ER模型中的每个实体创建1张表;再对ER模型中的每个多值属性创建表;1∶M类型的关系通过添加外键来实现;N∶M类型的关系使用单独的表。由于基于MML的电子病历包括大量的多值属性和N∶M类型关系,所以相对于对象一关系模型会产生大量的表。

鉴于关系型数据库在信息系统中的设计问题已经有了详尽深入的研究,这里就不详细展开了。

4 比较

在前述段落提到的分析结果我们认为基于MML电子病历的数据库存储模型的最佳选择是对象一关系类型。针对对象一关系型数据库有2种设计方法,一种是把包括数据成员和方法的对象存储到表中;另一种是在只使用传统关系型数据库设计方法不能满足需求时才采用面向对象的方法来操作对象。

就分别采用这2种方法设计和实现对象一关系模型过程中存在的问题和对执行结果的分析来讨论二者的优劣。

4.1 实现问题

对象关系模型创建的表的数量较关系型模型少许多,且使用基于对象方法的简单表达式使得查询也趋于简单化。但是对象方法要认真设计实现,否则某些查询因为没有设计合适的对象方法将无法完成。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭