У меня есть требование подключиться к Mirth/Rosetta (NextGen)
через TCP
соединение, чтобы отправить HL7
сообщение и получить ответ. Поскольку это мое первое взаимодействие с весельем, я начну в качестве теста, чтобы узнать, работает ли это.
Проблема: когда я пытаюсь отправить случайный текст веселью или даже MLLP HL7 message
, он вообще не отвечает. Я использую очень простой код подключения TCP
(как показано ниже) для проверки подключения. Я ожидаю, что веселье отправит ACK с ошибкой или, по крайней мере, с какой-то ошибкой. Но он остается пустым, когда выполняется строка stream.Read
.
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, он не получает никакого ответа.
Вопрос: есть ли что-то особенное, что мне нужно добавить в мой TCP-отправитель, чтобы общаться с TCP-сервером Mirth (или с любым TCP-сервером стандарта HL7)? Если нет, пожалуйста, направьте меня в этом отношении. Мне нужно подключиться и получить ответ.
Сообщения, которые я пробовал:
- Привет мир
- MSH|^~&|xyz|xyz|xyzz||20210224162555.3992||ADT^A28|13391074-7b39-42f7-b6bf-f174fb6e8231|P|2.5 ...
- Сообщение HL7, заключенное в теги VT и FS CR