大数据背景下电子病历信息模型语义构建分析
2016-03-21,,
, ,
大数据环境下,知识的流动性和开放性都大幅增加。医学数据不仅对整个医学领域的发展具有强大推动作用,而且对人类每个个体的健康发展也具有十分重要的意义。
医学数据内容包括分子数据、细胞和组织数据、临床和患者数据、生物医学知识库数据[1]4个层次,医学数据结构分为结构化、半结构化和非结构化3种。医学数据是医学知识的证据,也是医学进步的基石。在法律框架下,医学数据的开放为循证医学(Evidence based medicine,利用良好设计和实施的临床研究产生的证据优化临床决策的医学实践方法[2])、转化医学(Translational medicine,实验台、床旁和社区为支柱的生物医学交叉学科[3])和精准医学(Precision medicine,医疗决策、实践或产品专门为患者个体定制的医疗模式[4])提供更充分的数据支持和保障。
电子病历(EHR)作为医学数据链中重要的一环,是结构化医学数据的主体,其数据内容和数据结构的标准化研究启动较早,系统已趋于成熟,并且已开始影响临床研究、临床实践指南和临床路径系统数据内容和结构的建立。因此,理清电子病历信息模型的发展脉络对整个医学数据开放体系的构建具有重要意义。
1 电子病历定义
电子病历的名称在国外有不同的表达方式,不同名称所对应的定义也有不同。即使是同一名称,也因在不同国家和不同医学领域,其含义也会有一些差异[5]。EHR通常是作为一个电子病历的通用名称,包括和代表了各种类型的电子病历。目前,电子病历没有统一的定义主要是因为各个国家、地区、机构的电子病历内容、形式和结构都有很多不同,而完整的电子病历定义很难将所有这些不同方面都包括在内。因此,国际ISO/TC健康信息组织ISO/TC 215从电子病历的结构方面给出了顶层定义[6]:EHR is a repository of information regarding the health of a subject of care, in computer processable form(电子病历就是以计算机可处理形式存在的,有关诊疗对象健康的信息库)。
这一顶层定义简单而通用,保证了广泛的适用性,适合各类电子病历在现阶段和将来的使用和开发。它可以作为所有类型电子病历的基本通用顶层定义,也就是所有类型电子病历都可以在这一基本通用定义的基础上制定出来。
2 电子病历信息模型语义结构研究
电子病历信息模型是在数字环境下,其所需概念及其关系、约束、规则等的结构表达。电子病历信息模型研究初期,以建立庞大、复杂的包含成百上千个实体及约束的模型为主[7]。这种模型应用于电子病历系统后,很快暴露出一系列问题,如系统建立难度大,数据更新不易,系统运行效率低等。
20世纪80年代末期,许多电子病历系统逐步采用通用模式建立患者数据库,利用“数据字典”管理编码数据元素,增加了数据更新的灵活性和面向患者查询的可行性[8]。从这一时期开始,对电子病历信息模型的研究逐步深化,形成了以采用核心数据集方法、模块化方法和两层建模方法建立电子病历信息模型的研究路线。
2.1 核心数据集方法
核心数据集方法形成于较早时期。核心数据集就是电子病历中某领域所必须的,具有统一标准的基本数据元素集合,又称为最小数据集或最少数据集(minimum data set)[9]。美国自60年代末开始就制定了一系列电子病历相关核心数据集[10],如统一出院数据集(Uniform hospital discharge data set)、家庭治疗最小统一数据集(Minimum uniform data set for home care)、电子病历核心数据集(Health record core data set)、护理最小数据集(The nursing minimum data set)等。早期的核心数据集主要是各特定领域制定的最小数据集,虽然它们在特定领域内达到统一化、标准化,但不同领域之间,最小数据集往往存在相同概念数据元素名称、定义等不一致的情况。因此,最小数据集又进一步发展为通用数据集(common data set),即电子病历系统中各个特定领域都通用、统一的基本数据集。目前许多国家和机构都制定了标准电子病历通用核心数据集。
美国的ASTM_E1384-07标准《电子病历内容与结构规程(Standard Practice for Content and Structure of the Electronic Health Record (EHR))》中就建立了电子病历的通用数据模型和通用数据集[10],并从实体(entity)、类别(segment)和利用(use)三维角度揭示了电子病历元数据的内容结构[11]。
2.2 模块化方法
模块化是标准化的高级形式,它以“模块为基础,综合了通用化、系列化、组合化的特点,是解决复杂系统类型多样化、功能多变的一种标准形式”[12]。在医学领域,信息量之巨大远远超出了其他领域产生的信息量,对这样海量信息的处理往往令计算机系统也束手无策。目前就有大量的电子病历信息埋藏在计算机系统中,难以被再次利用。而模块化的方法将复杂系统分解为简单的、标准的模块,若干模块可按照一定规则组合为各种复杂系统。正是这种模块化的方法使复杂系统标准化、结构化程度提高,并易于构建,大大提升了计算机处理信息的能力。
在医学信息领域,利用模块化方法建立的电子病历信息模型统称为详细临床模型(Detailed Clinical Model,DCM)。20世纪90年代初,老牌电子病历系统HELP为了能够发展自然语言处理(Natural-Language Processing,NLP)能力,支持异构系统间的数据和知识交换,开始研究被称为“事件模型”(event model)的一种通用模型[13]。最初的事件模型主要由事件模板、模板属性和术语3类实体构成。其中,最重要的实体是事件模板,它是描述临床数据逻辑结构的框架模块,若干事件模板可组合形成更复杂的结构。在其后的发展中,事件模型更加完善,能够表达有关患者的任何信息;更加灵活,能够增加模型中的元素和属性而不需要对软件有任何改变;采用可扩展置标语言(eXtensible Markup Language,XML) 作为形式化语言,能够增强人机可读性和通用性[14]。事件模型下可以嵌套多级子类型,由元素和属性进行描述(图1)。元素包括概念(concept)、限定(qualifier)、值(value)或集合(set),属性包括实例标识符(instanceIdentifier )、背景控制(contextControl)。
图1 事件模型结构图
韩国建立的临床内容模型( Clinical Content Model,CCM)、苏格兰建立的临床模板(Clinical Templates Scotland,CTS)、荷兰建立的详细临床模型实例(Detailed Clinical Model instances,DCM)都是利用模块化方法建立的电子病历信息模型[7]。
2.3 两层建模方法
两层建模方法(two-level modeling)归根结底也是一种模块化方法,可以说它是模块化方法的延伸。两层建模法构建的信息模型由信息语义层与知识语义层构成。信息语义层就是软件对象模型和数据库模型层,是通用结构,通常被称为参考模型(reference model)或参考信息模型(reference information model),用于构建信息系统结构,其中参考模型包含最基本、最稳定的信息结构;知识语义层往往应用于特定专业或领域,约束、限定参考模型,具有自身的形式和结构,是专用结构,通常被称为约束模型、原型(archetype)或模板(template),容纳丰富的、易改变的领域概念[15]。
模块方法中的HELP系统建立的事件模型经过进一步发展形成的临床元素模型(Clinical Element Model,CEM),就采用了两层建模的方法[16]。CEM分为抽象实例模型(Abstract Instance Model)和抽象约束模型(Abstract Constraint Model)。抽象实例模型就是参考信息模型,表达的是医学数据实例结构;抽象约束模型定义抽象实例模型中值的约束规则(图2)。
图2 临床元素模型结构图
目前利用两层建模法建立的最著名的标准为开放电子病历(openEHR)标准和ISO13606健康信息学-电子病历通信标准(ISO13606 Health informatics-Electronic health record communication,简称“ISO13606标准”)。
这两种标准都是用参考模型来定义电子病历通用模块中类别的等级结构,而用原型(archetype)来明确和约束具体模块的结构、名称、数据类型、值域等属性[17]。
OpenEHR的信息语义层称为参考模型(Reference Model,简称RM)。参考模型层包括核心(core)、模式(patterns)和领域(domain)3个部分,其核心部分由数据结构信息模型(Data Structures Information Model)、数据类型信息模型(Data Types Information Model)和支持信息模型(Support Information Model)等组成,其模式部分包括安全信息模型(Security Information Model)和通用信息模型(Common Information Model),其领域部分包括电子病历信息模型(EHR Information Model)、电子病历摘要模型(EHR Extract Information Model)等。其中,电子病历信息模型是参考信息模型层中最关键的部分,它定义了电子病历信息的抽象结构和语义[18]。
OpenEHR的知识语义层即原型模型(Archetype Model,简称AM),定义了原型(Archetype)和模板(Template)的结构和语义,包括原型定义语言(Archetype Definition Language,简称ADL)、原型对象模型(Archetype Object Model,简称AOM)和原型配置文件(openEHR Archetype profile,简称oAP)[17](图3)。
图3 openEHR电子病历宏观结构图
以上采用两层建模法建立的电子病历信息模型标准既包括参考模型又包括原型模型。另外,还有一类两层建模法标准是表达信息语义层的参考模型和表达知识语义层原型或模板分开建立。如HL7组织发布的HL7参考信息模型(HL7 Reference Information Model,HL7 RIM)就是一个有关电子病历的参考模型标准[19]。HL7 RIM采用业务角度(Business View)的模型方式,将健康和诊疗相关信息分为行为区(Acts)、实体区(Entities)和职能区(Roles)3个最基本的主题区(Subject area)。其核心部分为6个“关键(back-bone)”类及其的结构化属性,6个“关键”类为:行为(Act)、参与(Participation)、实体(Entity)、职能(Role)、行为关系(ActRelationship)和职能关系(RoleLink)(图4)。
图4 HL7 RIM宏观结构图
我国颁布的《电子病历基本架构与数据标准(试行)》也主要采用了模块化的方法,建立电子病历的通用结构和数据内容。
3 结语
在信息模型构建过程中,核心数据集方法、模块化方法和两层建模方法并不是独立使用的,许多现阶段研究的模型标准往往是几种方法结合使用,如OpenEHR和ISO13606标准。一般来说,在顶层设计时,首先建立电子病历信息模型的框架结构(即参考模型)、必备元素(即核心数据集)和模型构建的实施规范,然后在框架结构标准下建立各医学概念、医学专业以及各科室专用的信息原型。
在大数据背景下,电子病历数据的二次利用问题及电子病历信息模型与其他医学信息模型,如临床研究、临床实践指南和临床路径信息模型的整合问题,成为医学数据交换、共享和易于挖掘分析的关键。因此,在设计电子病历信息模型时,模型的通用性至关重要。为了使中国电子病历信息模型与整个中国医学信息标准化一致,需遵循目前卫生领域已有的成熟标准。为了使中国循证医学信息模型与整个国际化标准相适应,同时也要遵循国际相关标准。