博主目前在实习,需要接触到 HL7 协议,本着快速入门好继续摸鱼的想法,现在赶快总结学习一下 HL7。部分资料来自网上收集!

HL7 基本介绍

HL7 全称卫生信息交换标准(Health Level 7),标准化的卫生信息传输协议,是医疗领域不同应用之间电子传输的协议。HL7 汇集了不同厂商用来设计应用软件之间接口的标准格式,它将允许各个医疗机构在异构系统之间,进行数据交互。
HL7 的主要应用领域是 HIS/RIS,主要是规范 HIS/RIS 系统及其设备之间的通信,它涉及到病房和病人信息管理、化验系统、药房系统、放射系统、收费系统等各个方面。
HL7的宗旨是开发和研制医院数据信息传输协议和标准,规范临床医学和管理信息格式,降低医院信息系统互连的成本,提高医院信息系统之间数据信息共享的程度。
通俗点讲,只要大家去医院办理事情,背后的数据协议肯定是 HL7,数据的格式也是 HL7,也是因为医院的信息系统业务复杂,间接导致了 HL7 的数据格式也比较复杂。
作为信息交换标准,HL7 自1987年发布V1.0版后相继发布了v2.0 v2.1 v2.2 v2.3 v2.3.1 ,2000年发布了v2.4版,现已用 XML 开发了v3.0版,但 HL7 v2.4 版本仍是 ANSI 正式发布的版本。所以我们学习 HL7 2.4 版本即可。

好了,基本信息就讲到这,现在我们来学习下 HL7 的核心概念

HL7 消息结构

HL7 标准包含256个事件、116个消息类型、139个段、55种数据类型、408个数据字典,涉及79种编码系统。
在 HL7 中,有四个最基本的术语概念:

  • 触发事件(trigger events):当现实世界中发生的事件产生了系统间数据流动的需求,则称其为触发事件。也可以理解为一个数据请求
  • 消息(message):它是系统间传输数据的最小单位,由一组有规定次序的段组成。每个消息都是用一个消息类型来表示其用途
  • (segment):它是数据字段的一个逻辑组合。每个段都用一个唯一的三字符代码所标志,这个代码称作段标志。
  • 字段(field):它是一个字符串,是段的最小组成单位。

在 HL7 中,消息(Message)是数据在系统之间交换的基本单元,每条消息都有各自的消息类型,消息类型用于定义消息目的,包含了触发事件。一个消息由多个段(Segment)组成,每一个段都有相应的名称,用于界定其内容或者功能。
一个段又由多个字段(Field)组成。一个消息中的第一个段总是消息头段(Message head segment),它指明了发送和接收的程序名、消息类型、以及一个唯 一的消息ID号码等,接下去段的构成由消息的类型决定。
一个字段又有可能由多个组件(Component)组成。有些消息可进一步由事件码(event code)细分。

HL7 简单示例

MSH|^~\&|Mindray|Gateway|||||ORU^R01|2|P|2.3.1| <CR>
PID|||M1015_00010||John^||20091112|M|||^^^^||| <CR>
PV1||I|^^ICU&Bed5&3232241659&0&0|||||||||||||||A||||||||||||||||||||||||||20091201111211 <CR>
OBR||||Mindray Monitor|||20091203121631| <CR>
OBX||NM|52^Height||169.0||||||F <CR>
OBX||NM|51^Weight||59.0||||||F <CR>
OBX||CE|2302^BloodType||1^A||||||F <CR>
OBX||CE|2303^PACE_Switch||0^Off||||||F <CR>
OBX||NM|101^HR|2101|60||||||F <CR>
OBX||NM|151^RR|2102|20||||||F <CR>
OBX||NM|200^T1|2104|37.00||||||F <CR>

总的来说

  • 每个消息会包含多个段,如上述代码,表示一个消息,每个段之间通过分割回车
  • 每个段又会包含多个字段,消息头段定义了段的类型,比如 MSH 表示这个段是消息头,段中又会包含多个字段
  • 每个字段使用 | 分隔,如果对应的字段没有数据也不能省略 | ,这是因为每个字段在段中都有一个序号(SEQ),每个段有多少个字段、各个字段的序号和含义等都是在 HL7 协议中规定好的!
  • 每个字段会包含多个组件,字段中不同的组件使用 ^ 分隔,比如 2302^BloodType
  • 每个组件又可以包含多个子组件,子组件之间用 & 分隔,比如 ICU&Bed5&3232241659&0&0 (包含5个子组件)

那么,在上述 HL7 数据中,
MSH 表示消息头段,前面 5 个字符 |^~\& 是第一个字段,定义了分隔符。
Mindray 是第二个字段,Gateway 是第三个字段,后面四个字段没有用到,第八个字段是 ORU^R01(包含两个组件)

好了,先说到这里,让我缓缓,已经不认识 段 这个字了。。

部分参考自 https://www.jianshu.com/p/5993145c2818

【HL7】快速入门 HL7 协议相关推荐

  1. python爬虫入门教程--快速理解HTTP协议(一)

    http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道.下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要 ...

  2. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  3. http协议 服务器主动下发,HTTP协议快速入门指南

    看完下面的文章,回答这几个问题 常用的HTTP方法有哪些 GET方法与POST方法的区别 HTTP请求报文与响应报文格式 常见的HTTP相应状态码 HTTP1.1版本新特性 常见HTTP首部字段 HT ...

  4. FlexRay总线协议快速入门、深度剖析与应用示例

    传统的CAN.以太网采用CSMA/CD的机制来进行媒体访问,导致报文传输有延时,系统响应的行为具有不确定性,FlexRay协议采用TDMA和FTDMA相结合的方式,可以满足实时系统的确定性和实时性,响 ...

  5. Day14-HTTP协议 web开发概述 servlet快速入门

    HTTP:HyperText Transfer Protocol 超文本传输协议 用于定义web浏览器和web服务器之间交换数据的过程 特点: 基于请求/响应模型的协议.请求和相应必须成对出现,现有请 ...

  6. 物联网IoT协议之OPC UA快速入门教程

    本文转载,原文作者:源码先生, 文章链接:https://www.debugself.com/2019/11/27/opc_guide/, 请勿用于商业用途.如有侵权,请告知删除,谢谢! 八大物联网I ...

  7. OpenStack快速入门

    OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...

  8. RabbitMQ(一):RabbitMQ快速入门

    RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用.作为一名合格的开发者,有必要对RabbitMQ有所了解,本文是RabbitMQ快速入门文章,主要内容包括Rab ...

  9. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  10. 深入浅出Istio:Service mesh快速入门与实践-读书笔记(By GisonWin)

    01 服务网格历史 (以后补充) 02 服务网格的基本特性 连接 微服务错综复杂,要完成其业务目标,连接问题是首要问题.连接存在于所有服务的整个lifcecycle中,用于维持服务的运行. 安全 保障 ...

最新文章

  1. 35岁中年博士失业,决定给后辈一些建议!
  2. 计算掩码、网络地址(最小主机地址,最高主机地址)、广播地址、IP地址范围、主机号...
  3. yum安装php和apache先装哪个,yum如何安装apache与php
  4. 【C/C++语言入门篇】-- 文件操作
  5. c 递归下降识别程序_看动画轻松理解递归与动态规划
  6. [Python图像处理] 十九.图像分割之基于K-Means聚类的区域分割
  7. iOS开发学无止境 - 这样好用的ReactiveCocoa,根本停不下来
  8. python--循环列表中字典元素
  9. 一个大胖鲸-Docker(1)
  10. java 最简单一个家庭支付收入项目(实用于刚入门的小伙伴)
  11. java 二叉树的创建 遍历
  12. Android 开发 修改app应用的名字和图标
  13. 中国大数据行业发展趋势
  14. Go语言实用用法大全
  15. 手把手教你用GAN实现半监督学习
  16. Java基础题26:(多选题)下列哪些选项属于Java技术体系()
  17. arc64,x86等架构linux,windows系统openjdk下载
  18. 黄河小浪底调水调沙问题(mathmatica)
  19. Linux与git使用引导(git rm 与rm命令)
  20. vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据

热门文章

  1. windows10使用openssl生成ca证书并本地模拟https调试开发环境
  2. 3V转1.8V三极管稳压IC
  3. 2022最新版独立后台国庆头像生成小程序源码+教程
  4. Error in library(patRoon) : 不存在叫‘patRoon‘这个名字的程辑包
  5. 怎么用计算机技术预测蛋白质结构,如何利用同源建模预测蛋白质三级结构
  6. 系统启动过程(基于三星s5p6818 uboot)
  7. ASP.NET2.0 ReportingServices,报表灵魂的收割者(一)【月儿原创】
  8. unity中向量夹角
  9. 处理器的排名_齐齐哈尔LPCVD尾气处理器排名推荐
  10. verilog编程,可能你一直在错误地使用计数器cnt