基于本体关系数据库到电子健康档案转换方法

2014-10-16 10:55
关键词:主键关系数据库完整性

彭 程

(上海交通大学安泰经济与管理学院,上海200030)

随着医疗相关部门的信息化,目前各医院数据库中积存了大量病人的诊疗数据,医疗数据集成成为医疗信息化建设中的重要任务.通过对病人的诊疗历史数据进行融合分析,建立居民的电子健康档案,充分利用现有资源逐步建立医院之间和基层医疗机构的信息互联互通的机制,通过统一的数据访问,对于提高医疗服务质量和医疗决策分析有着重要意义[1-5].

但是由于医疗领域存在大量遗留系统,医院内不同信息系统之间、不同医院之间、医院与各相关服务管理部门之间数据格式不统一,数据的自治性使得数据源可能在不通知集成系统的情况下就改变自身的数据或者数据结构,给数据集成提出了挑战.其次,医疗诊治和医疗服务是一个跨学科领域的综合服务体系,不同医疗科室之间数据含义差异明显,不同职能管理部门对数据分析的角度不同,导致数据模型复杂,语义异构性强.针对以上问题,本文主要以医院关系数据库为数据源,利用本体技术,通过对数据库的映射关系以及主外键等属性分析,研究关系数据库到电子健康档案的本体模型的映射方法[6-8].

1 基本数据模型

关系数据库是当前数据库领域最重要的数据模式,有着广泛的应用.一个关系模式包括:1)关系的有限集合R;2)属性的有限集合A;3)基本的数据类型集合T;4)关系的属性 att:R→2A,给出关系的属性集合;5)获取关系主键 key:R→2A,说明哪些属性是关系的主键;6)获取属性数据类型type:A→T给出属性的数据类型;7)获取关系中属性值data:2A→V,给出关系中属性的取值集合.

此外还有完整性约束特征,包括:1)实体完整性,如主键值不能为空等;2)参照完整性,关系间的引用关系.

基于本体的静态属性,本文对以上的数据模式进行映射.

本体的结构是一个五元组

其中:C中的元素称为概念,可以指任何事物,从语义上来讲,它表示的是对象的集合.R中的元素称为关系,表示概念间的部分与整体、子类与父类、实例与类、实例与对象的关系;F表示函数,即前n-1个元素惟一决定第n个元素;A表示公理,它是对类的永真断言;I表示实例,代表概念类的具体实体.

在完成映射之后,本体与关系数据库的差别在于:1)任何事物在本体中都是概念,2)在本体中,属性和关联在本体中不作区分,3)在本体中构建层次关系,表现更多语义.

2 转换过程

模式信息的抽取可通过标准ODBC或JDBC等的API来获得,本体的构建主要通过关系、属性、主外键之间的关联进行映射来完成.转换的过程有一定的先后顺序,本体也是逐步创建完成过的.在局部本体的建立中,从关系映射、属性及参照完整性映射和实体完整性映射几个方面描述转换过程.

关系模式如下:

2.1 关系映射

关系数据库中关系间的映射有 1∶1、1∶N、N∶N三种类型,针对不同的类型,在本体创建过程中类的建立有所不同.

1)1∶1 的关系

如Patient表和 Patient_Info是1∶1的映射关系,实际上表达的都是患者信息,只不过信息被分散在两张表里.因此只需创建一个类.所创建的类包含两个表中所有属性.见图1.

图1 一对一关系

2)1∶N 的关系

如Doctor和Inpatient_Record是1∶N的关系,创建为两个类,两个类通过连接两个表的属性(DoctorID)构成属性关联;见图2.

图2 一对多的映射

3)N∶N 关系

在以上数据库中,Inpatient_Record连接了Patient和Doctor两个表,其中 Patient和 Doctor即为N∶N的关系,Inpatient_Record即为中间表.如果中间表只包含外键,那么只需为两端的两张表创建类,而不需要为中间表创建.倘若中间表包含外键以外的属性,那么在为两个表创建类的同时,为中间表也创建一个类.因此根据以上规则,将Inpatient_Record映射为本体中的类.见图3.

图3 多对多的映射

经过以上步骤,本体模型中类的建立基本完成.在此基础上,对属性和完整性约束进行映射,完成本体的构建.

2.2 属性的映射

关系数据库中的属性根据主键、外键和普通字段进行映射.

1)主键

主键作为标识数据表汇总每一条元组,在同一数据库中保证元组的惟一性.主键映射为 data property.

2)外键

外键是其他关系中的主键,是联系两个数据表的属性.当外键所属的关系已建立概念,则映射为所属概念的object property,定义域为外键字段所引用的实例,值域映射至被引用的实例.

3)普通字段

对于数据库中的普通字段,在诊疗信息中都具有丰富的语义,因此并不将普通字段映射为本体中的data property,而是将为其创建概念.比如Patient中的CardType(卡类型)和CardNo(卡号),在健康档案本体中,卡类型和卡号是集成患者在不同医院的诊疗信息的关键,因此,为 CardType和CardNo创建Card概念.

2.3 触发器的映射

触发器是一种特殊的存储过程,在用户对数据库进行插入、更新、删除操作时,被自动执行.为了使得本体信息的准确完整性,本文考虑将触发器映射至本体中.关系数据库中常见的触发器的格式如下:

在数据库中,Condition完全由即时的update触发的,在本体中,根据2.1和2.2节的映射规则,将触发器中的condition分解至每一个本体中的属性,对于执行的pl/sql-fragment语句也相应的映射至概念及属性上,并建立相应的公理规则.

2.4 实体完整性映射

对于关系数据库中实体完整性,如 key,unique,not null等的映射是必不可少的,实体完整性转移至本体,主要通过公理来表示.如下是对主键约束的公理描述.

此时,关系数据库全部映射至本体模型中,但是为了应用本体的强大的语义功能,对于映射生成的本体模型还需要进行进一步的调整和层次划分.在这一部分,需要对关系数据库模式以及存储的数据进行分析.

2.5 概念的泛化

本体概念的泛化主要是针对找出不同继承路径上的两个概念的共有特征.在数据库中,Inpatient_Record和Outpatient_Record两张表的主键均为JZLSH(就诊流水号),属性也有 DoctorID,PatientID,DepartmentID以及Statue重叠,但是两张表的数据并没有重叠.在这种情况下,利用概念的泛化,建立拥有 JZLSH、DoctorID、PatientID、DepartmentID和Statue属性的概念Record,Inpatient_Re-cord和Outpatinet_Record继承父类Record的以上属性.

2.6 数据的转移

本体创建完之后,将关系数据库中的数据转移至本体模型中.先将不包含外间的关系的数据进行转移,然后转移其他关系数据.数据转移包括两个步骤:

1)本体实例的创建,每个实例的创建的同时给予一个惟一的标识;

2)依据参照完整性,创建实例间的关系.

3)系统实现与验证

本文采用Jena-OWL-Model与Pellet推理机作为本体模型的实现技术,开发了相应的原型系统以验证本文所提方法的可行性与有效性.该原型系统首先需要配置待映射的关系型数据库,如图4所示.

根据映射规则,数据库中的关系模式、数据库属性、Trigger、完整性关联将被映射至本体模式中.图5在原型系统中展示了由“jdbc:sqlserver://192.168.0.150:1433;databaseName=HR_sys”数据库生成的本体模型的对象属性及对象约束.

图4 关系数据库连接配置

图5 本体模型中的对象属性及约束

在本体模式中,实例数据查询转变为了以SPARQL为代表的关系匹配查询,为了验证模式转换结果的等价性,在此设计了SPARQL语义查询语句,应用于转换生成的本体和原数据库,查询在某医院中属于住院部并使用某种特定药物的患者信息,如图6所示.

图6 数据库查询与本体关系匹配查询

3 结语

本文通过对医疗信息系统中的关系型数据库的模式进行分析,将数据库模型映射生成相应的本体结构,并将数据从关系数据库中转移至本体模型中.在此过程中,尽量保持了数据的完整性,实现了诊疗信息集成的第一步,创建本体.

但通过此种方法建立的本体模型并不完整,各个医院的系统的存储形式不仅是关系数据模型,且存储的数据格式也不相同,因此由关系数据库抽取生成的本体只能成为局部本体.另外除了存在于医院信息系统中的医疗数据,大量的医疗生物领域数据及其他相关数据同样能够丰富电子健康档案本体,这两点都需要进一步研究.

[1]DOU D J,LEPENDU P,KIM S W.Integrating databases into the semantic web through an ontology-based framework[C]//IEEE on Computer Science,Atlanta,GA,USA,2006:302 -320.

[2]DRAGUT E,LAWRENCE R.Composing mappings between schemas using a reference ontology[J].Lecture Notes in Computer Science,2004,3290:783-800.

[3]DERAY T,VERHEYDEN P.Towards a semantic integration of medical relational databases by using ontologies:a case study[J].Lecture Notes in Computer Science,2003,2889:137 -150.

[4]STOJANOVIC L,STOJANOVIC N,VOLZ R.Migrating dataintensive web sites into the semantic web[C]//Proceedings of the 2002 ACM symposium on Applied computing,ACM New York,2002,1100-1107.

[5]ASTROVA I.Reverse engineering of relational database to ontology[J].Lecture Notes in Computer Science,2004,3053:327-341.

[6]MAY W,ALFERES J J,AMADOR R.An ontology-and resources-based approach to evolution and reactivity in the semantic web[J].Lecture Notes in Computer Science,2005,3761:1553-1570.

[7]PUUSTJÄRVI J,PUUSTJ RVI L.Designing and implementing an active personal health record system[C]//eTELEMED,Gosier,Guadeloupe,France,2011:101-107.

[8]鱼 滨,郑娅封.基于本体的异构数据集成方法及实现[J].计算机应用与软件,2007,24(9):30-32.

猜你喜欢
主键关系数据库完整性
基于Go 实现的分布式主键系统研究
关系数据库在高炉数据采集系统中的应用
石油化工企业设备完整性管理
基于外键的E-R图绘制方法研究
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
基于索引结构的关系数据库关键词检索
数据库主键设置探讨
一种基于数据图划分的关系数据库关键词检索方法
谈书法作品的完整性与用字的准确性