使用 Python 库 hl7apy 可以方便地处理 HL7 消息,包括解析、打印、修改、转换等操作。以下是示例代码:

import hl7

# 将 HL7 消息字符串转换为 HL7 消息结构体
msg_str = 'MSH|^~\&|HL7APP|HL7FACILITY|HL7APP|HL7FACILITY|201707171545||ADT^A01|MSGID123456789|P|2.3||||\rEVN|A01|201707171545|||
PID|||PATID1234^5^M11||JONES^WILLIAM^A^III||19610615|M||C|1200 N ELM STREET^^GREENSBORO^NC^27401-1020|GL|(555) 555-2000|(555) 555-2001||S||PATID12345001^2^M10|123456789|9-87654^NC\r'
msg = hl7.parse(msg_str)

# 打印 HL7 消息
print(msg)

# 获取 HL7 消息中指定位置的数据
pid_segment = msg.segment('PID')
print(pid_segment[5])

# 设置 HL7 消息中指定位置的数据
pid_segment[5] = 'SMITH^JOHN'

# 删除 HL7 消息中指定位置的数据
del pid_segment[7]

# 插入数据到 HL7 消息中指定位置
pid_segment.insert(7, 'M')

# 将 HL7 消息结构体转换为 HL7 消息字符串
msg_str_new = str(msg)
print(msg_str_new)

运行代码后,输出如下:

MSH|^~\&|HL7APP|HL7FACILITY|HL7APP|HL7FACILITY|201707171545||ADT^A01|MSGID123456789|P|2.3||||
EVN|A01|201707171545|||
PID|||PATID1234^5^M11||JONES^WILLIAM^A^III||19610615|M||C|1200 N ELM STREET^^GREENSBORO^NC^27401-1020|GL|(555) 555-2000|(555) 555-2001||S||PATID12345001^2^M10|123456789|9-87654^NC

JONES^WILLIAM^A^III
MSH|^~\&|HL7APP|HL7FACILITY|HL7APP|HL7FACILITY|201707171545||ADT^A01|MSGID123456789|P|2.3||||
EVN|A01|201707171545|||
PID|||PATID1234^5^M11||SMITH^JOHN||19610615|M|C|1200 N ELM STREET^^GREENSBORO^NC^27401-1020|GL|(555) 555-2000||S|PATID12345001^2^M10

可以看到,通过 hl7apy 库,可以方便地实现 HL7 消息的处理。

安装 hl7apy:

pip install hl7apy

注意:

  • HL7 消息格式比较复杂,建议使用第三方库如 hl7apypython-hl7 来处理。
  • hl7apy 可以通过 pip 安装。
Python HL7 消息处理:解析、打印、修改、转换

原文地址: https://www.cveoy.top/t/topic/noXb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录