【问题标题】:HL7 to SQLite with Mirth ConnectHL7 到 SQLite 与 Mirth Connect
【发布时间】:2015-11-02 22:25:48
【问题描述】:

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

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

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

在 VIM 编辑器中 -

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

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

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

【问题讨论】:

  • hl7 v2 使用<cr> 作为segment terminator
  • 那是什么 HL7v2 版本?即使在最新的 v2.8.1 中,MSH-25 之后也没有字段。您的 MSH-22 实际上看起来像 EVN 段,而 MSH-30 是 PID 段的开始。

标签: sqlite encoding mirth hl7-v2


【解决方案1】:

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

使用 VIM,突出显示非法字符并按“ga”。这将告诉您字符的十六进制值。在我的例子中是 0xfa(这似乎是一个空格!?)。

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

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

然后保存文件。

现在一切都解析得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2014-03-21
    相关资源
    最近更新 更多