书城教材教辅医学信息学
48552800000035

第35章 电子病历(3)

该病例的现病史是对“心绞痛”症状信息的一个逻辑性表述,依据临床医学知识应包括以下要素:疼痛部位、疼痛性质、疼痛范围、始发时期、持续时间、放射方向、诱发原因、缓解原因、硝酸甘油疗效判断等。这样就构成了电子病历第4层结构。

上述每个要素还可以再分解,例如“疼痛性质”可再细分为压迫性、紧缩性、闷胀性等;“诱发原因”可细分劳累、饱食、寒冷、焦急、愤怒、兴奋等;而“疼痛范围”一手掌大小,可以用长度×宽度(10×8cm2)来表示……这样,根据临床医学知识或诊疗规则,就构成了电子病历第5层结构。对于“疼痛范围”的长度和宽度,可用单位(cm)和数值来表示,又构成了电子病历第6层结构……这样,我们可以依据临床医学知识原理的驱使,将病历信息进一步逐级细分为若干层次,设计出电子病历的架构模型。

8.3.3电子病历的树状结构模型

根据上节的论述,我们可以用树状结构来表达电子病历的架构模型,如图86所示。

该图前三层源自于病历书写规范的设置,表达了病历内容的逻辑关系;后三层源自临床医学知识和诊断治疗规则,表达了由医学知识驱动的疾病信息的逻辑关系,它们共同反映了该患者疾病的本质和自然特征。

树状结构的根结点是某一专科或专病。根结点下包含了若干枝节点,可以不断分解,直到最终的节点称为叶。每一节点只有一个父节点,而可以拥有若干子节点,从而形成从根节点到叶的一条条扩展路径。所有这些节点和叶都以结构化的医学术语来表达。因此电子病历模型的树状结构与医学术语的树状结构是两个不同的概念,不应混淆。

电子病历架构模型是由医学专家和计算机工程师使用特定的设计工具——模型编辑器(Model Editor)建立的,模型编辑器将遵循病历规范建立通用型的电子病历模型,再遵循医学知识驱动性,以树状结构进行可视化扩展。建立一个新的电子病历架构模型时,在编辑器中开始只设置一个根节点作为最顶层节点,如某一疾病(心绞痛),下面就可以利用编辑器通过增加和扩展同级节点以及下一级子节点来实现,每增加一个新节点时,必须同时指定该节点的类型以及属性值。例如上述“心绞痛范围”长度的节点是数值型,单位是厘米。

8.4电子病历的数据处理

电子病历包含了数量巨大、形式多样、纷繁复杂的信息:患者个人一般信息、疾病演变信息、医务人员的个人信息、医疗行为信息、医学知识库、费用支付信息、仪器设备信息、医学伦理信息……对于如此庞大的信息或数据的处理是电子病历系统最核心的部分。

对于电子病历的数据处理,我们将从以下5个方面予以阐述:数据的描述、数据的建模、数据的结构化、数据的录入、数据的显示。关于数据存储主要是依托于使用的数据库平台,大都以XML形式实现。关于数据的集成在下一节专项介绍。

8.4.1数据描述

在这一节里主要讨论病历数据的特点、描述病历数据有何要求。

纸质病历是一系列有序的文件,其中包含病人在治疗过程中使用的所有药物和收集的相关数据。纸质病历是按特定方式组织的,包括病人姓名、身份和医疗保险等管理性数据;性别、血型和过敏等永久性医学数据(只出现一次);还有一些其他可变性医学数据(多次出现的数据和随时间变化的数据)。

可变性的数据可以进一步分为不同的亚类,比如病史、体格检查和随访检查、实验室检查结果、药物处方、图片(如X线片和闪烁扫描图)、生理信号(如心电图、肺活量)等。

由于病历数据的复杂性,在考虑病历数据的描述方法时必须注重以下处理原则:

1)数据结构基本要求

EMR 的各种应用都是以系统中保存的数据为基础的。如果数据不能利用,数据的价值也就体现不出来了,所以保存的数据能否被处理就显得非常重要。

病历的描述方法不仅要满足现阶段的数据处理要求;还要尽量满足今后一段时间内的数据处理要求。病历的描述方法不仅要满足一个部门、一所医院的数据处理要求;还要尽量满足不同部门、不同医院,乃至不同地区的数据处理要求。例如要做流行性感冒的疾病调研,就需要不同地区、不同年份的相关病历信息进行分析。

2)完整性和可靠性

计算机记录数据的一个重要问题是保证上述四种不同类型数据的完整性和可靠性。

例如,人工测量的血压是否和传感器测量的血压一样可靠?一个医生使用的代码和另一个医生是否一致?

不完整的数据可以导致不确定性。例如在病历中,医师通常只记录异常信息,而省略、默认正常信息,这样收集在计算机中的病人信息就会缺失,却无法判断这些缺失的信息究竟属于正常的,还是因遗漏没有采集的。不完整的数据会影响电子病历的作用,甚至导致错误的理解。

3)时间的表示

在医疗保健中,时间起着重要的作用。病人的病程随着时间而演变,医生对疾病的认识也随着时间逐步加深,医疗行为都是在特定的时间执行,因此,标记时间是很重要的,病历本身就是按时间顺序的记录。一个EMR 系统应允许对一个事件有关的数据使用三个时间标记来标注,即:①数据录入时间;②获得理解的时间;③该理解被应用的时间。

时间表达存在于医疗事件中,它可以是绝对或相对的,在精确度方面相差也很大。在EMR 系统中,有关时间的处理是件很复杂的事情。因此,EMR 系统首先要能识别出病历记录中哪些信息是“时间”,其次要能对不同形式的时间根据需要进行换算,以满足数据处理的需要。

4)描述方法的规范性和开放性

病历数据的处理必须解决两个重要问题:共享和集成。在异构系统之间进行数据交换必须遵循一定的标准,没有这样的“共同语言”,两个系统之间就不能进行有效沟通。因此,病历数据的描述方法必须实现规范性,同时也要实现开放性,以便于对当前通用的各种数据规范提供良好的支持。

病历数据结构的复杂性和多样性是其特点之一。随着临床工作的不断发展,还会有更多类型的数据出现在病历中。这就需要描述方法具有开放性,能够不做修改或少做修改就可满足新数据描述的需要。例如目前常用的基于XML的描述方法。

8.4.2数据的建模

我们了解了描述病历数据的要求后,就可以进一步研究电子病历数据的整体模型。

HL7V3提出了参考信息模型(reference information model,RIM),它以医疗事件对象为枢纽,对整个医疗数据进行概念建模。在RIM 中,整个医疗过程由相互联系的若干事件进行表达,所有医疗数据都可以与某个事件相对应,因此可以通过建立事件索引,串联了患者的全部医疗数据,从而对患者整体医疗数据集建立模型,即医疗事件索引信息模型(healthcare act indexing information model,HAIIA)。

HAIIA 模型中的事件索引记录了每个事件的关键属性:主体、客体、事件类型与状态、发生时间与地点、数据位置等。而数据位置属性则记录了对应数据的位置和方式。对于数据不同的状态,再分别定义它的数据结构,如数值和文字数据的关系数据结构、标准化文档数据的CDA 文件、非标准化文档数据的PDF(portable document format)文件、医学影像数据的DICOM 文件、医学波形数据的MFER(medical wave form format encoding rule)文件等。按照该模型,不仅可以将已有医疗数据结构化地、规范化地归入电子病历中,而且可以扩展不断增长的数据模型和事件类别。

常见的建模方式有三种。第一种是“关系型数据库建模”,这种方式主要是用关系型数据库对病历进行建模,原则是“尽量用计算机来保存数据”。第二种是“基于RTF 的病历模型”,是针对第一种方式的改进,目标就是对自由文本进行结构化处理。原先自由文本保存到数据库中时都只是普通的文本,不包含字体等格式控制信息。后来为了丰富显示效果、添加特殊字符,一般都采用RTF(rich text format)格式保存文档。实际上还可以通过XML来处理自由文本,可以直接以XML格式保存数据。第三种方式是树形结构的病历模型,基于“不丢失病历数据”的原则,重点考虑的是如何以结构化的方式保存数据(我们将在下一节具体介绍数据结构化)。树形结构中每一个根节点都表示一份病历文件。每一份文件的内容按照描述的重点可以依次分成若干层次的类别,树形结构相当于病历的骨架,树的结构是动态的,用动态的结构来保存数据。

8.4.3数据的结构化

1)什么是数据的结构化

结构化数据是指能够用数字或统一的数据模型加以描述的数据,具有严格的长度和格式,如存储在关系型数据库里,可以用二维表结构来表达的数据。非结构化数据的数据长度和格式是不固定的,如文本、图片等。

半结构化数据模型是一种基于图的自描述的对象实例模型,其中数据包括原子数据和复杂数据,半结构化数据通常以标记文本的格式存放。

电子病历数据的结构化不仅需要用统一的数据模型来描述病历,还需要根据数据内在概念的序化和原理的序化被准确地分类和编码,并归属于某一医学分类系统中(具体参见第4章)。这种医学分类系统是电子病历结构化数据的预定义词汇表。

2)为什么需要数据结构化

数据结构化可以看作是电子病历的第一要素,我们从以下三方面予以理解。

首先,只有是结构化数据,并且已被标准化地组织成预定义词汇表,并存放在电子病历系统中,才能被计算机所识别、理解和处理。换言之,如果计算机系统要对病历包含的信息进行有意义的处理,就必须要有标准的、规范的术语和分类系统的支撑。

纸质的病历数据主要是自由文本,即自然语言形式,如病史、病程记录等。但自然语言是非标准化的,因此计算机处理非常困难。自由文本可以看作是书写者对所观测现象的个人解释,如果其他人需要使用这些数据,就必须重新阅读它们,然后根据自己的解释在头脑中重构这些医学现象。因此从语义上讲,自由文本因为结构化不够,往往可以有多种解释,这类解释上的误差是不能用计算机处理的方式予以消除的。

其次,电子病历的主要目的是能对患者诊断治疗予以警示、提醒,提高医疗质量,实现临床决策支持功能,而这些都要依赖于计算机能“解读”病历数据的医学含义,再利用一些规则去分析、运算它们。结构化数据在标准化过程中已赋予它们医学原理和医学概念的内涵,并规范了各数据间相互的逻辑关系,所以能实现上述目标。同样的道理,结构化数据为电子病历的数据挖掘、循证医学、科学研究提供了基础。

再次,电子病历的一个极大的优势是共享性。结构化数据,特别是在最大范围内公认且共用的结构化数据才能实现真正的共享,并为跨医院、跨地区的相互转诊、远程会诊提供基础。

3)如何实现数据结构化

数据结构化的原理和方法在不断探索和完善中,目前,电子病历系统中实现数据结构化最有效、便捷的方法之一就是将国际经典的医学分类系统作为电子病历的预定义词汇表,其代表性的有“国际疾病分类”(ICD)、“人类与兽类医学系统术语”(SNOMED)、检测报告逻辑命名与编码系统(LOINC)……可参见第4章。这些分类科学、完整、严密、广泛而深入,基本覆盖了除中医以外电子病历所需要的数据。

8.4.4数据的录入

准确而及时的数据录入是电子病历系统中难度最大、费时最多的工作,几乎所有的临床医务工作者都必须参与这一日常性工作。数据录入的方式可以分为三种:自由录入或固定表单式录入方法,开放式结构化录入方法和自然语言处理方法。

1)自由录入或固定表单式录入方式早期的电子病历采用文本格式的录入方法,也可以由医生护士或聘请专职人员采用手工录入方式,将相关数据录入到病历表格中去,形成电子病历文档。另一种方式是采用语音识别系统,由医生护士口授录入,再审查确认,形成电子文档。它们本质都是手工录入。

固定表单式录入方式的优点是,在较低程度上可以实现部分数据的结构化,技术上要求比较简单。其缺点也很明显:首先限制了医生的思路,将诊疗行为变为一种机械的填表过程。其次,不能适应复杂多变的疾病表现,若要面面俱到又会使表格过于复杂庞大。

再次,固定僵化的表格不利于系统的维护,例如患者如果同时存在数种疾病,不能灵活配置表格。因此,表单式录入方式只适用病历中内容相对固定,结构相对稳定,非自然语言描述的部分,例如“体格检查”、“实验室检查报告”。

2)开放式结构化录入方式开放式结构化录入(Open Structured Date Entry,Open SDE)是目前最广泛应用、并具有良好前景的录入方法。

(1)Open SDE 的基础。Open SDE 的基本条件包括:结构化的病历模型、知识驱动性内容、预定义词汇表与合成表达规则。下面我们借用上述朱××劳累性心绞痛病例予以说明。