HL7协议的基本语法
消息构建规则
每个HL7消息由一些消息段(Segment)组成,每个消息段以<CR>字符结尾。
每个消息段由三个字符的段名和可变数目的字段(Field)组成,每个字段由组件(Component)和子组件(SubComponent)构成。在每个消息的MSH消息段定义字段、组件和子组件的分隔符。
例如:
MSH|^~\&|Mindray|BC-5300|||20060427194802||ORU^R01|1|P|2.3.1||||||UNICODE
其中:
在MSH 之后的五个字符定义用来区分各字段、组件和子组件的分隔符。虽然这些字符可以是任何非文本字符,但HL7标准推荐下表的字符:
MSH的第一个字段包括各个分隔符。后面的有些字段是空的,因为他们是可选的并且迈瑞HL7接口没有使用它,详细的字段定义和选取在后面说明。
对于任意一种消息, MSH消息段之后的消息段有固定出现次序,下面几节都将具体描述这些次序,使用这些语法结构来表示消息段的次序:
[]里面出现的消息段为可选。
{ }里面的消息段可以重复1次或多次。
字符串转义规则
在ST、TX、FT、CF等类型字段数据中,例如备注、诊断信息、用户自定义性别等字符串数据中可能出现转义分隔符,在编码时应将原字符串中的分隔符转义为转义字符序列,然后在解码时还原。HL7接口使用转义规则如下:
注意:转义字符串序列中的‘\’代表转义分隔符,其取值在MSH消息段中定义。
主要用到的消息
我主要是用来解析仪器检验结果到数据库,所以总结了以下我们主要需要用到的消息类型:
ORU^R01消息:主要用于检验结果、质控数据的传输。
MSH 消息头,必备,包括消息编号、发送时间、消息分隔符和编码方式等通信信息
{
PID 病人基本信息,包括病人姓名、性别、病历号、生日等
[PV1] 病人看病信息,包括病人类型、科室、床号、费别等
{
OBR 样本信息,包括样本编号、检验者、检验时间等
{[OBX]} 检验数据项,包括检验参数结果以及工作模式等检验相关数据等
}
}
PID(Patient Identification)消息段包含病人的基本信息。
消息示例:
PID|1||7393670^^^^MR||^刘佳||19950804000000|女
OBX(Observation/Result)消息段主要包含各个检验结果参数信息。
消息示例:
OBX|6|NM|6690-2^WBC^LN||4.63|10*9/L|11.00-12.00|L|||F||E