我需要Mirth/Rosetta (NextGen)
通过连接进行TCP
连接,以便发送HL7
消息接收回响应。由于这是我第一次与 mirth 互动,所以我从测试开始,以了解它是否有效。
问题:当我尝试向 mirth 发送随机文本时,甚至MLLP HL7 message
,它根本没有响应。我正在使用非常基本的TCP
连接代码(如下所示)来测试连接。我期待愉快地发送带有错误的 ACK,或者至少是一些错误。但是在stream.Read
执行 line 时它保持空白。
TcpClient client = new TcpClient("x.x.x.x", 1234);
var message = "HELLO MIRTH";
Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
NetworkStream stream = client.GetStream();
stream.Write(data, 0, data.Length);
Console.WriteLine("Sent: {0}", message);
data = new Byte[256];
while (true)
{
bytes = stream.Read(data, 0, data.Length);
if (bytes > 0)
break;
}
var responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine("Received: {0}", responseData);
令人惊讶的是,当我从某些HAPI TestPanel
(通过 TCP 连接/发送消息的测试工具)发送相同的消息时,它工作正常并且我收到响应(如下面的屏幕截图所示)。这让我觉得好像有什么我错过了。即使上面显示的测试代码与我自己的 TCP 侦听器连接起来效果很好。但是当它试图与 Mirth 连接时,它没有得到任何响应。
问题:为了与 Mirth 的 TCP 服务器(或任何 HL7 标准 TCP 服务器)通信,我需要在我的 TCP 发送器中添加什么特别的东西吗?如果没有,请在这方面指导我。我需要连接并获得回复。
我试过的消息:
- “你好世界”
- “MSH|^~&|xyz|xyz|xyzz||20210224162555.3992||ADT^A28|13391074-7b39-42f7-b6bf-f174fb6e8231|P|2.5 ...”
- 包含在 VT 和 FS CR 标记中的 HL7 消息