繁体   English   中英

HL7 使用 python 解析多条消息

[英]HL7 Parsing with Multiple Messages using python

我正在处理 HL7 文件解析。

每天我都会获取 HL7 文件日志,其中包含单个文件中的多条消息。

我选择了http://python-hl7.readthedocs.org/en/latest/api.html库进行解析,但这只解析一条消息。 如果我给一个文件 stream,它不会解析它。

我们如何使用 python 解析文件 stream 中的多条消息。

您可能需要在解析之前将文件拆分为单独的消息。 如果文件包含HL7消息的开始和结束字符,则可以将其用作标记。 另一种方法是在每个MSH段中分割文件,因为每个消息都应包含一个MSH作为第一段。

HL7批处理文件协议应在一个文件中包含多条消息。 您可以使用hl7.isfile(line)对此进行测试,并使用hl7.split_file(hl7file)获得消息。

来自python hl7 api解析文档

hl7.isfile(line)
   Files are wrapped in FHS / FTS FHS = file header segment FTS = file trailer segment

hl7.split_file(hl7file)
   Given a file, split out the messages. Does not do any validation on the message. Throws away batch and file segments.

这是我的解决方案,我在 MSH 段拆分,以便我可以分别解析消息:

with open('file_path/file_name.txt') as msgs:
start = False
for line in msgs.readlines():
    if line[:3] == 'MSH':
        if start:
            parsed_msg = hl7.parse(msg)
            print(parsed_msg)
            start = False
        msg = line
        start = True
    else:
        msg += line

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM