Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于HL7侦听器的几个问题_C#_Tcplistener_Hl7 - Fatal编程技术网

C# 关于HL7侦听器的几个问题

C# 关于HL7侦听器的几个问题,c#,tcplistener,hl7,C#,Tcplistener,Hl7,我希望在C#中构建HL7侦听器。我们已经在解析作为文本文件发送给我们的消息,并将它们导入到数据库中,因此我了解了什么是HL7消息以及如何解析它们 我的主要问题是关于听众的。侦听器只是一个TCP侦听器吗?如果是这样的话,我可以创建一个基本的TCP侦听器来获取消息并解析结果,然后将它们导入到我们的数据库中吗 我的第二个问题是关于ACK的。我对这一点的理解是,它只是在收到消息后发送回发送者的消息。它只是另一个指定为响应消息的HL7消息 我的理解正确吗?另外,如果任何人有任何其他信息或建议,我将非常感谢

我希望在C#中构建HL7侦听器。我们已经在解析作为文本文件发送给我们的消息,并将它们导入到数据库中,因此我了解了什么是HL7消息以及如何解析它们

我的主要问题是关于听众的。侦听器只是一个TCP侦听器吗?如果是这样的话,我可以创建一个基本的TCP侦听器来获取消息并解析结果,然后将它们导入到我们的数据库中吗

我的第二个问题是关于ACK的。我对这一点的理解是,它只是在收到消息后发送回发送者的消息。它只是另一个指定为响应消息的HL7消息


我的理解正确吗?另外,如果任何人有任何其他信息或建议,我将非常感谢任何帮助。

是的,这只是一个简单的TCP侦听器

要确认消息,您必须返回MSH消息,该消息应如下所示:

<11> this means a byte represented in a decimal value. this is VT from the ascii table.    

<11>MSH|^~\&|KS||LAB||20040915080800||ACK|59793000678|P|2.2|59793000678<13>
MSA|AA|59793000678<13>
<28><13>
这表示以十进制值表示的字节。这是ascii表中的VT。
MSH ^ ~\&| KS |实验室| 20040915080800 | ACK | 59793000678 | P | 2.2 | 59793000678
MSA | AA | 59793000678
您可能应该看看:

几个项目:

  • 在套接字上运行的“协议”是HL7最小下层协议(MLP或有时是MLLP)。这个简单的协议用开始和结束字符包装HL7消息。包装字符
  • 正如@the_ajp所指出的,作为HL7消息的接收者,您需要构建HL7确认。这涉及到一些古老的规则,但最终关键部分是应用程序接受MSA-1中的消息(“AA”)。一些发送者对他们的确认非常挑剔,需要唯一的消息ID、正确消息的确认、MSH-9中的正确触发代码等;讨论
  • 显然,您可以开发自己的硬编码HL7子系统。在这样做之前,考虑一下,看看一些自由选项,比如,考虑商业解决方案,比如./LI>。
    披露:我是HL7基础设施和消息(InM)委员会的联合主席,Corepoint的首席技术官,也是立体式集成引擎的首席架构师。

    购买Vs.构建。如果您已经“完成”了HL7接口,并且它在文件系统之外工作,那么您究竟为什么要重建如此容易获得的东西呢。这里有一个开源的项目,或者如果你想做一些

    a) 完全按照您的要求开箱即用(因为它完全是为您概述的场景而设计的)

    b) 拥有世界上同类商业HL7软件的最低成本之一(如果不是的话)

    c) 安装和配置只需几分钟

    稍微调查一下,看看这个:

    除非你真的打算每年进行数百或数千次部署,否则你只需要问问自己这是否是对时间的最佳利用


    披露:我在这家公司的客户支持部门工作,但我们根本不雇佣销售人员,它只是一款在世界各地都在使用的优秀、廉价、可靠的HL7产品。

    嗨,我需要创建一个HL7 ADT监听器,你最后做了什么?非常感谢much@VAAA“结尾”是指关闭邮件的角色吗?如果是这样的话,看看接受的答案,这些就是你需要添加的字符。我创建了一个C#套接字侦听器,我得到了HL7消息,但当我解码它时,它会添加额外的chacater,在解析它时会产生问题。这是我的编码:ascienceoding编码器=新的ascienceoding();var hl7Message=encoder.GetString(消息,0,字节读取);确认消息的结构是什么?谢谢我放在那里的留言。:)在MLLP中包装对我来说是必须的,一旦我得到了固定的Corepoint接口,它就接受了我的ACK消息。找到此引用。