0

我正在尝试建立一个通道来读取 HL7 ADT 文本文件,提取 MRN 并将输出写入 SQLite 表(数据库编写器)。

我的 SQLite 表包含我的数据,但我所有的 PatientID 都显示为一个非常宽的列中的串联字符串。与每行/记录的 PatientID 不同。

我注意到我的 HL7 文件(来自 Meditech EMR)中有一些奇怪的非法(?)字符。在QuickViewHL7中,它们出现在 MSH-22 和 MSH-30 中。

在此处输入图像描述

在 VIM 编辑器中 -

在此处输入图像描述

我的问题是,这些应该是分隔符吗?如果是这样,它们是什么?回车?

我已经在Mirth Connect 论坛上发布了这个问题,但除了风滚草之外几乎没有看到什么。我希望这里有人可能以前见过这个并告诉我发生了什么。

更新:十六进制转储表明它是 0x7f (0111 1111)。这看起来像一个退格字符。我应该简单地剥离它还是用一些东西代替它?

4

1 回答 1

1

这个非法字符应该是一个换行回车来分隔下一个 HL7 段的开始。

使用 VIM,突出显示非法字符并按 'ga'。这将告诉您字符的十六进制值。在我的情况下 0xfa (这似乎是一个退格!?)。

再次在 Vim 中,对 \r 进行全局替换

:%s/\%x7f/\r/g

然后保存文件。

现在一切都很好地解析了。

于 2015-11-07T20:43:06.180 回答