在没有先验消息类型知识的情况下解析 HL7

2023-12-19

在 NHapi 中,如果我们不知道消息类型(MSH#9)是什么,我们如何解析消息?

var parser = new NHapi.Base.Parser.PipeParser();

IMessage parsedMessage = parser.Parse(SampleMessage);

parsedMessage is a NHapi.Base.Model.GenericMessage.V25在运行时,我似乎无法读取 MSH 标头来读取 MessageType 字段,然后将消息重新解析(?)为该消息类型。

我对缺乏文档和示例感到沮丧。也许我离基地很远。我对 HL7 很陌生,但在我尝试使用 NHapi 之前,我认为我很好地理解了 HL7 规范。


parsedMessage.GetStructureName()将为您提供消息类型和触发事件。parser.Encode(parsedMessage)将以管道分隔的格式返回消息。

以下代码展示了如何获取消息类型以及如何获取管道格式的原始消息。

public static String ParseMessage(String message)
{
    var parser = new NHapi.Base.Parser.PipeParser();
    var parsedMessage = parser.Parse(message);

    //Get the message type and trigger event
    var msgType = parsedMessage.GetStructureName();

    //Get the message in raw, pipe-delimited format
    var pipeDelimitedMessage = parser.Encode(parsedMessage);

    return pipeDelimitedMessage;
}

一些好的入门代码可以在hapi 示例网站 http://hl7api.sourceforge.net/devbyexample.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在没有先验消息类型知识的情况下解析 HL7 的相关文章

  • 如何在 C# 中知道 PID 和 VID 来发现虚拟 COM 端口名称

    如果我知道 PID 和 VID 我会尝试找到查找 COM 端口名称的正确方法 到目前为止 我写了解决方法 但我不相信没有更优雅和正确的方法 顺便说一句 我知道我可以使用 REGEX 编写此代码只是为了测试解决方法 我知道还有很大的改进空间
  • 将 void *user_data 转换为对象

    我该如何投射void something到标准 C 中的对象 具体来说我想投void userdata to std map
  • 比较 LINQ to SQL 中的两个日期

    我有一个数据库 其中有一个名为会议的表 会议日期使用以下格式存储在此表中 May 2nd 2011 例如 格式为5 2 2011 我的要求是获取两个日期 例如 2011 年 4 月 25 日和 2011 年 5 月 2 日 之间的会议 并编
  • NHibernate IQueryable 集合作为 root 的属性

    我有一个根对象 它有一个集合属性 例如 I have a Shelf object that has Books Now public class Shelf public ICollection
  • & 运算符的含义是什么?

    在下面的代码中 Expression
  • 为什么将 char 传递给函数会改变它在 c 中的值?

    我目前正在关注本作业簿 http www cs bham ac uk exr lectures opsys 10 11 lectures os dev pdf关于构建操作系统 我的目的是写一个64位内核 我已经在文本模式下加载 内核 代码并
  • 修剪 UIImage 边框

    这是我想要修剪的图像的示例 我想去掉图像周围的边框 在本例中是顶部和底部的黑条 我在Github上找到了一个库 CKImageAdditions https github com cmkilger CKImageAdditions 但是它似
  • 试图使用加密来混淆我的项目打破了它

    我试图尝试不同的混淆选项 为了做到这一点 我首先尝试了加密货币 以下是我遵循的步骤 打开加密向导并选择一些选项 选择我的解决方案文件 完成向导后 我看到有些 Dll 被很好地混淆了 但我的项目现在无法构建 我注意到的两件事是 我的文件夹中有
  • EF Core 一对多关系列表返回 null

    我正在尝试学习如何在 EF Core 中正确利用 DbContext 我有一个团队课程 public class Team public int ID get set public string Name get set public bo
  • Identity Server 4:添加访问令牌的声明

    我正在使用 Identity Server 4 和隐式流 并且想要向访问令牌添加一些声明 新的声明或属性是 tenantId 和 langId 我已将 langId 添加为我的范围之一 如下所示 然后通过身份服务器请求 但我也获得了tena
  • 三种 System.Drawing 方法表现出缓慢的绘制或闪烁:解决方案?或其他选择?

    我正在通过 System Drawing 进行一些绘图 但遇到了一些问题 我将数据保存在队列中 并将该数据绘制 绘制 到三个图片框中 此方法填充图片框 然后滚动图形 所以不要在以前的绘图上绘制 并且逐渐看起来更混乱 我找到了两种绘制图表的解
  • 将授权标头添加到 Web 参考

    我正在尝试向客户端的网络服务发出请求 我不知道客户端的底层平台 我使用 添加 Web 引用 在 Visual Studio 2010 中使用了客户端的 WSDL 并生成了我的代理类 称为 ContactService 我现在需要将如下所示的
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • 使用 _Alignas 进行结构成员对齐

    我想知道以下问题 是新的吗 Alignas结盟 C11 中的说明符适用于结构成员吗 我一直假设这么多 但彻底阅读了 N1570 公开草案似乎表明对齐说明符不能 出现在一个说明符限定符列表 这就是我所期望的 如果得到支持的话 我已经读过几遍语
  • 如何在asp.net core 6中注入IConfiguration

    web api 应用程序中不再有 Startup cs 我们以前可以注入IConfiguration进入那个Startup class public class Startup public Startup IConfiguration c
  • 返回 ICollection 而不是 List 的真正优势是什么? [复制]

    这个问题在这里已经有答案了 我读过几篇博客文章 提到对于公共 API 我们应该始终返回 ICollection 或 IEnumerable 而不是 List 返回 ICollection 而不是 List 的真正优势是什么 Thanks 复
  • C# 3.0 中自动属性和公共字段的区别

    我无法理解为什么 C 3 0 中存在自动实现的属性语言功能 当你说的时候有什么区别 public string FirstName than public string FirstName get set 因为它们在生成的 IL 代码 和机
  • 用于 nmap 输出的 C++ xml 解析器

    我是 nmap 的新手 我在 nmap 教程中看到 https nmap org book man output html https nmap org book man output html oX 选项可用于获取 xml 格式的 nma
  • 如何使用 Ioc Unity 注入依赖属性

    我有以下课程 public interface IServiceA string MethodA1 public interface IServiceB string MethodB1 public class ServiceA IServ
  • C#:如何处理乱序 TCP 数据包?

    请有人解释一下如何处理乱序数据包 我使用原始套接字来捕获数据包 并在数据包到来时解析它们 但其中一些数据包的顺序错误 例如 ID 标志 16390 PSH ACK 16535 PSH ACK 16638 确认 16640 PSH ACK 1

随机推荐

  • $_POST 中的 JQuery Mobile POST 数据为空

    我遇到了 JQuery Mobile 对我来说是新的 和 AJAX 调用的问题 我正在使用以下代码 ajax type POST url http correct url post todoitem beforeSend addHeader
  • 将富文本粘贴到 Flash 中?

    粘贴到 Flash 时是否可以捕获富文本 使用 Flex TextEditArea 我可以在 Flash 本身中粘贴格式丰富的文本 但如果我尝试从外部源 例如网页 Microsoft Word 等 粘贴 它会以纯文本形式出现 反之亦然 如果
  • 如何在 Nuxt 2 或 3 中使用 .env 变量?

    我的项目根目录中有 env 文件 在我的 nuxt 配置中 我使用变量来配置 ReCaptcha 如下所示 import dotenv from dotenv dotenv config export default modules nux
  • 基于 SQLite 支持的 ContentProvider 更新 ListView

    我是一名新的 Android 开发人员 似乎有点不知所措 当我向列表添加更多内容时 我试图进行 listView 更新 ListView 基于 SQLite 数据库 我能够通过为 SQLite 数据库创建一个 ContentProvider
  • 无法将数据写入 Firebase 实时数据库 Android

    我创建了一个 Firebase 并且可以将数据写入身份验证 但是 我无法将数据写入实时数据库 I have connected to Firebase 我已经添加了实时数据库 Import the BoM for the Firebase
  • 您在 Perl 程序中使用异常类吗?为什么或者为什么不?

    我有很多关于人们如何在 Perl 中使用异常的问题 我已经包含了一些有关例外情况的背景说明 如果您愿意 可以跳过此内容 但请花点时间阅读问题并做出答复 Thanks Perl 异常的背景 Perl 有一个非常基本的内置异常系统 为更复杂的使
  • Haskell 惰性评估和重用

    我知道如果我要在 Haskell 中计算平方列表 我可以这样做 squares x 2 x lt 1 然后当我这样调用方块时 print take 4 squares 它会打印出 1 0 4 0 9 0 16 0 其计算结果为 1 2 2
  • 如何在 .Net Maui 中创建选项卡式页面?

    我在 Net Maui 有一个选项卡式页面 如下所示
  • 将无符号字符转换为有符号整数

    我有一个 unsigned char 数组 其中有 2 个元素代表有符号整数 如何将这 2 个字节转换为有符号整数 Edit unsigned char 数组采用小端字节序 为了获得最大的安全性 请使用 int i signed char
  • 使用python多处理库让父进程在子进程之前返回

    当使用 python 的多处理库创建进程时 父进程会等待其子进程返回 然后再返回 事实上 文档建议所有儿童都加入 但我想让父母回来before它的子进程完成 有没有办法 分离 子进程 我知道使用 subprocess Popen 可以创建分
  • Amazon Cognito 托管 UI 无法通过 iframe 实现?

    我尝试过 但在标题中X Frame Options deny我没有找到任何方法在后端 UI 中配置它 我不确定这有多少 答案 但我还没有足够的声誉来发表评论 我认为这是相关的 接受的答案根本没有真正解决 iframe 问题 我在任何地方都找
  • 如何:在 Windows Compact Framework 上从非托管 C++ 调用托管 C# 接口

    我有大量的非托管 Windows CE 5 C 代码 它提供了一个我想在新产品中使用的 UI 方法是将其与在 Windows CE 6 和 Compact Framework 上用托管 C 编写的大量较新的业务和通信逻辑相结合 UI 可能了
  • java8流样式通过字段列表检索映射的内部部分?

    例如 给定如下所示的地图 k1 k2 k3 k4 v 和一个字段列表 k1 k2 k3 我需要检索该部分 k4 v 下面是我的java7风格的代码 Ignore the map building code Map map1 new Hash
  • 根据 R 中的条件重命名因子级别

    我想将所有计数小于 n 的因素合并为一个名为 Else 的因素 例如 如果 n 3 那么在下面的 df 中我想将 c d 和 e 组合为 Else df data frame x c 1 10 y c a a a b b b c d d e
  • 多个oracle查询问题

    我正在尝试从 NET 页面运行查询 但似乎在进行多个查询时遇到一些问题 我的查询与此类似 SELECT FROM table1 SELECT from table2 但从 Net 页面执行此操作时 我似乎收到无效字符错误 它在 SQL De
  • 在 SwiftUI 中获取 ForEach 中的索引

    我有一个数组 我想迭代它根据数组值初始化视图 并想根据数组项索引执行操作 当我迭代对象时 ForEach array id self item in CustomView item item tapAction self doSomethi
  • 获取 CodeElement 的 Access 属性

    我正在为 VS 2010 编写一个插件 无法找到问题的答案 如何获取 CodeElement 的 Access 属性 如果有该属性 我试图反思 但没有结果 前任 CodeElement 是一个类方法 public void GetAcces
  • 在 Zend Framework 2 上使用表达式执行多重连接

    实际上我正在开发一个项目 我正在研究 Zend Framework 2 如何处理复杂的查询 特别是如何连接 n m 表以及如何使用 GROUP CONCAT 和其他函数 您知道执行此查询的最佳实践吗 SELECT o x group one
  • 将 Pandas Dataframe 写入_csv StringIO 而不是文件

    此代码的目标是将现有的 CSV 文件从指定的 S3 存储桶读取到 Dataframe 中 过滤 Dataframe 中所需的列 然后写入filtered使用 StringIO 将数据帧转换为 CSV 对象 我可以将其上传到不同的 S3 存储
  • 在没有先验消息类型知识的情况下解析 HL7

    在 NHapi 中 如果我们不知道消息类型 MSH 9 是什么 我们如何解析消息 var parser new NHapi Base Parser PipeParser IMessage parsedMessage parser Parse