文章
· 十一月 30, 2022 阅读大约需 5 分钟

HL7v2到底是什么?!

HL7(Health Level 7)是一套技术规范,用于医院信息系统(HIS)之间临床、财务和管理数据的计算机互交换。这些规范被不同程度地被纳入美国(ANSI)和国际(ISO)正式标准的语料库中。

HL7的L7表示它是在OSI模型的第7层,换句话说,在应用层运行的标准。这意味着HL7不需要考虑交换的安全性,也不需要考虑信息传输的安全性(这一点由较低层次的层来保证,例如用于安全的SSL/TLS或用于数据传输的TCP)。更准确地说,第7层支持终端用户进程和应用的通信,以及面向用户的软件应用的数据展示。作为OSI模型的最高层,也是最接近最终用户的层,第7层提供特定的应用功能,如识别通信伙伴和它们之间的服务质量,确定资源可用性,考虑隐私和用户认证,以及同步通信,并将应用与OSI模型的较低层连接起来。

回到HL7标准,HL7第二版标准(也称为Pipehat)最初创建于1989年,但目前仍在使用并定期更新,形成了2.1、2.2、2.3、2.3.1、2.4、2.5、2.5.1、2.6、2.7、2.7.1、2.8、2.8.1、2.8.2和2.9版本。v2.x标准是向后兼容的(例如,基于2.3版本的信息将被支持2.6版本的应用程序所理解),在更高的版本中,你会看到一些字段是专门为它而留的。

 

 

尽管HL7v2已经有30多年的历史,但根据HL7.org门户网站的介绍,HL7v2仍然是使用最广泛的医疗卫生接口标准,它以很大的优势告诉人们。 95%的美国医疗机构使用HL7v2接口标准,

  • 95%的美国医疗机构使用HL7v2接口标准
  • 超过35个国家有HL7接口实施方案

随着时间的推移,HL7接口标准在很大程度上成功地帮助医疗机构和技术组织:

  • 确保统一的EHR数据,以获得一致、完整的病人视图
  • 通过减少和消除手工数据输入来实现工作流程的自动化
  • 帮助与监管机构以电子方式交换健康报告
  • 为病人开放数字健康记录和数据访问
  • 通过建立在一个共同的标准上,减少对新技术升级的投资

Messages/消息

该标准的编写是基于这样一个假设,即现实医疗世界中的一个事件产生了数据在系统间流动的需求。这个现实世界的事件被称为触发事件。  

触发事件是一个消息,或者说是一个描述所发生事件的数据块的交换。HL7v2标准定义了医疗保健生命周期的参与实体之间发送的消息(及其内容)。 有几种HL7v2的消息类型。其中一些在表中列出:

类型 内容
ADT 入院、出院和转院
ORM 订单输入
ORU 观察结果
ORL 实验室订单结果
MDM 医疗文件管理
DFT 详细财务交易
BAR 开票账户记录
SIU 未被计划输入的信息
RDS 药房/治疗配药
RDE 药房/治疗编码的订单
ACK 确认信息
CRM 临床试验信息

随着标准的更新和版本的增加,出现了新的消息类型,其中一些消息被淘汰了。因此,不同版本的HL7v2标准有不同数量的支持消息(会增加)。例如,在2.8版本中,有超过200种不同的HL7消息可用于HL7消息。

现在让我们更详细地了解一下这些分段。

Segment/分段

段落是数据字段的一个逻辑分组。一个信息的段可以是必需的,也可以是可选的。它们在一条信息中可能只出现一次,也可能被允许重复出现。每个网段都有一个名称[......]每个网段都由一个独特的三字符代码来识别,称为网段ID。

在HL7信息中,信息的每个段都包含一个特定的信息类别,例如,病人信息或病人访问数据。 不同类型的HL7消息包含不同的HL7段。准确地说,消息类型决定了消息中预期的分段类型。同时,每条消息都有MSH作为其第一个段,其中包括一个识别消息类型的字段。 特定消息类型中使用的段类型是由HL7标准中使用的段语法符号指定的。 例如,在2.8版本的HL7消息中有170多个段。

一般来说,段有被复合分隔符分隔的字段。一个复合体可以有子复合体(组件),由子复合体定界符分隔,子复合体可以有子子复合体(子组件),由子子复合体定界符分隔。默认的定界符是:回车键为段分隔符,竖条或管(|)为字段分隔符,圆点(^)为组件分隔符,安培号(&)为子组件分隔符,磅号(#)为默认截断分隔符。斜体字(~)是默认的重复分隔符。每个段以一个3个字符的字符串开始,用于识别段的类型。

为了尽可能的灵活并达成共识,HL7委员会被迫将许多段的字段定义为可选的。这一决定的坏处是,你不能确定特定的信息会出现在一个给定的信息中。这就是为什么同一消息在不同供应商之间可能会有很大差异的原因之一。

此外,由于HL7消息被用来向各种不同的系统传递各种与医疗有关的信息,有时HL7消息需要包含定制的数据,这些数据不能包含在其消息类型的任何定义段中。为了适应这种情况,HL7标准使系统供应商能够创建一个带有自定义字段的Z段来传输这些数据。

根据惯例,所有自定义段都以字母Z开头。例如,可以创建一个ZPD段,以包含自定义的病人人口统计信息。Z段可以放在HL7消息的任何地方,但是,通常位于消息的最后一个段。处理HL7消息的应用程序通常被配置为忽略它们不知道如何处理的HL7 Z段。

Data types/数据类型

用于构建或限制数据字段内容的基本构件[...]每个字段都被分配了一个数据类型,它定义了字段的值域--它应该采取的可能值。数据类型应具有从定义的数据类型列表中抽取的类型[...] 数据类型可以是原始的或复合的。原始数据类型由数据类型所指定的一系列字符组成。复合数据类型是由一组组件组成的,这些组件本身被分配到一个数据类型中,同样可以是原始或复合数据类型。在复合数据类型的情况下,组件的组成部分被称为子组件,它们只应被分配为原始数据类型。

标准中定义的每个字段都有其数据类型。这些可以是,例如,字符串、时间、金钱、日期、地址、数组等等。

Tables/表

除了由用户定义的字段值之外,还有由标准定义的值表。 它们列出了使用该表的字段的所有有效值。这种表有4种不同的类型:

  • HL7标准--这些值不能在本地重新定义;但是,表本身可以被扩展以适应本地定义的值
  • 用户定义的--这些值在本地定义,因机构而异
  • 外部---这些值是由其他标准组织定义和发布的
  • 本地---这些值也是本地定义的,可以在Z段中使用。

在以后的文章中,我们将看到一些信息、它们的段和字段,并看到一些示例。

讨论 (0)1
登录或注册以继续