Ошибка адаптера BizTalk HL7 (BTAHL7) с конечными разделителями MSH
У меня настроены порты / местоположения получения, развернуты схемы и настроена сторона RAD, позволяющая использовать конечные разделители.
Если я отправляю сообщение в BizTalk без конечных разделителей, все работает нормально:
MSH | ^ ~ \ & | RAD | TEST | ITS || 201304111010 || ORU ^ R01 | J1908877 | D | 2,3 ||| AL | NE
Если я отправлю сообщение в BizTalk с конечными разделителями, как это выглядит в нашем HCIS:
MSH | ^ ~ \ & | RAD | TEST | ITS || 201304111010 || ORU ^ R01 | J1908877 | D | 2,3|||AL|NE|||||||||
Я получаю следующий ACK от BizTalk:
MSH ^ 1 ^ 21 ^ 102 & Ошибка типа данных &HL7nnnn: MSH|^~\&|ITS||RAD|TEST|201304111010||ACK^R01^ACK|7788091J|D|2,3 MSA|CR|J1908877 ERR|MSH^1^21^102& Ошибка типа данных & HL7nnnn
и ошибка в журнале событий:
Ошибка произошла в теле во время синтаксического анализа Ошибка # 1
Номер альтернативной ошибки: 301 Описание альтернативной ошибки: схема http://microsoft.com/HealthCare/HL7/2X не найдена Система альтернативного кодирования: HL7-BTA
Я знаю, что проблема не в схеме, потому что, если я вручную удаляю конечные разделители, это работает нормально...
1 ответ
Параметр "Разрешить конечные разделители" разрешает разделители для необязательных полей, но не для дополнительных полей. В HL7 в сегменте MSH всего 19 полей. 2.3.