python - 使用 HL7APY 仅从 HL7 消息中过滤段
问题描述
我想获取 OBX 段,然后是字段 #3,即观察标识符。我的代码目前迭代所有内容,试图找到一个解决方案,只输出 OBX.field3,用于具有多个 hl7 消息的数据集。
hl7 = open(r"file.txt", "r").read()
try:
msg = parser.parse_message(hl7.replace('\n', '\r'), find_groups=True, validation_level=2)
except UnsupportedVersion:
msg = parser.parse_message(hl7.replace('\n', '\r'), find_groups=True, validation_level=2)
indent = " "
indent_seg = " "
indent_fld = " "
def subgroup (group, indent):
indent = indent + " "
print (indent , group)
for group_segment in group.children:
if isinstance(group_segment, Group):
subgroup (group_segment)
else:
print(indent_seg, indent ,group_segment)
for attribute in group_segment.children:
print(indent_fld, indent ,attribute, attribute.value)
def showmsg (msg):
print(msg.children[1])
for segment in msg.children:
if isinstance(segment, Segment):
print (indent ,segment)
for attribute in segment.children:
print(indent_fld, indent, attribute, attribute.value)
if isinstance(segment, Group):
for group in segment.children:
print (indent,group)
for group_segment in group.children:
if isinstance (group_segment, Group):
subgroup (group_segment, indent)
else:
print(indent_seg, indent ,group_segment)
for attribute in group_segment.children:
print(indent_fld, indent, attribute, attribute.value)
showmsg (msg)`enter code here
解决方案
如果你find_groups=True
改为find_groups=False
inparser.parse_messsage(..
你只需要这个 showmsg
def showmsg (msg):
for segment in msg.children:
if segment.name == 'OBX':
print (indent ,segment)
for attribute in segment.children:
if attribute.name == 'OBX_3':
print(indent_fld, indent, attribute, attribute.value)
推荐阅读
- pandas - 为条形图中的轨迹编写函数
- ios - 使用 VS for Mac 打包和分发 Xamarin iOS 应用程序
- http - HTTP/1.1 401 需要授权错误 - Twitter API
- c# - 尝试在 ASP.NET Gridview 中触发 RegularExpressionValidator 时如何防止 CompareValidator 触发?
- python - 返回字符串的算法如下?
- python - 将 Python 数组写入 txt 文件,每行一个数组
- javascript - 将 CSS 模糊过滤器添加到 JavaScript 设置的背景
- python - 组合 OSMnx 多面体
- python - 转换 dtype=' 类型的对象
我有一个
dtype='<U77'
类型的对象,由一串数字组成,用空格分隔:array('[ 0.20988965 0.05172284 -0.13468404 ... 2.06070718 -0.6160391\n 3. ]', dtype='<U77')
- c# - 在数组 JSON c# 中创建一个对象