Как отправить разделитель файлов в Mirth?

Приемник HL7, которому я отправляю, ожидает очень определенного маркера конца файла в сообщении TCP:

<FS><CR>

Где <FS> - это ascii 28, а <CR> - это ascii 13.

В качестве движка HL7 мы используем Mirth 2.x. <CR> (возврат каретки) довольно прост.

Но как мне отправить разделитель файлов?

Заранее спасибо.


person ChronoFish    schedule 17.05.2013    source источник


Ответы (2)


Вот как мне удалось решить эту проблему.

В исходном преобразователе я определил переменные «Начало файла» и «Конец файла» следующим образом:

channelMap.put('SOF',String.fromCharCode(11)); // Start Of File: returns \v (vertical tab));
channelMap.put('EOF',String.fromCharCode(28,13)); // End Of File: returns <FS><CR>);

Затем в шаблоне назначения я сделал следующее:

${SOF}${message.encodedData}${EOF}

Я записал сообщения во временный файл и открыл их в шестнадцатеричном редакторе. Я смог подтвердить, что a 0x0B (Ascii 11) был написан до сообщения, а сообщение закрыто с помощью 0x1C 0x0D (Ascii 28, Ascii 13)

person ChronoFish    schedule 20.05.2013

Я бы рекомендовал использовать LLP Sender в Mirth. При необходимости его можно настроить на использование разных разделителей.

Я предполагаю, что два байта, которые вы видите, являются концом сегмента и концом символов сообщения.

person Micke    schedule 18.05.2013
comment
Спасибо. У меня были другие проблемы с LLP, поэтому я выбрал TCP. Наверное, я пытался решить слишком много вопросов сразу, и LLP тоже было бы достаточно. Спасибо за ответ. - person ChronoFish; 21.05.2013