Python HL7 消息处理:解析、打印、修改、转换
使用 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 消息格式比较复杂,建议使用第三方库如
hl7apy或python-hl7来处理。 hl7apy可以通过pip安装。
原文地址: https://www.cveoy.top/t/topic/noXb 著作权归作者所有。请勿转载和采集!