Mirth: Шаблон входящего сообщения, который НЕ совпадает с типом источника канала - PullRequest
2 голосов
/ 04 июня 2009

Проблема в том, что шаблон входящего сообщения ожидает другого типа, чем я хочу указать или работать с. Требуется, чтобы канал SINGLE преобразовал HL7 v2 в v3, вызвал веб-сервис, затем преобразовал результирующий XML SOAP, преобразовал его в HL7 v2.x и отправил обратно исходному вызывающему. Это должно быть сделано асинхронно .

Установка: Рассмотрим ситуацию в канале Мирт:

  • Источник - LLP слушатель. Тип HL7 v2.x. Отправителем является HCIS (Информационная система здравоохранения).
  • Исходный трансформатор, не относящийся к рассматриваемой проблеме.
  • 4 Направления (по порядку):

    • Javascript Writer - обращение к шаблонам кода для выполнения работы с базой данных.
    • Отправитель SOAP - вызов веб-службы, которая возвращает HL7 v3.
    • Javascript Writer - содержит несколько писателей Transformers DB, обращающихся к шаблонам кода. Проблема заключается здесь.
    • Javascript Writer - снова вызов шаблонов кода.
  • PostProcessor генерирует пользовательское подтверждение для отправки обратно в HCIS.

Проблема: Шаблон входящего сообщения ожидает HL7 v2.x, поскольку он наследует тип данных от источника. Мне нужно сопоставить шаблон HL7 v3 с шаблоном исходящих сообщений. Исходящий шаблон работает нормально, так как он ни к чему не привязан.

 tmp['PID']['PID.5']['PID.5.1'] = msg['controlActProcess']['subject']['target']['identifiedPerson']['name']['family'].toString();

Я проверил эту настройку в другом канале с HL7 v3 в качестве входящего типа данных, и он отлично работает.

Вопрос: Как я могу заставить Mirth распознавать мой шаблон входящих сообщений как HL7 v3 вместо того, чтобы наследовать тип входящих данных канала?

Ответы [ 2 ]

3 голосов
/ 05 декабря 2009

Немного поздно, я знаю, но не могли бы вы разбить его на 2 канала: HL7 v2.x для средства записи каналов, а затем другой, настроенный в качестве средства чтения каналов для HL7 v3.x?

Если вы решили это, мне было бы интересно узнать, как.

1 голос
/ 15 февраля 2012

Хорошо, я пишу это через два с половиной года после того, как вы опубликовали вопрос, так что теперь вы как-то с этим справились. Но для того, чтобы сделать информацию доступной, вот ответ.

У вас есть выходной разъем, вход которого - HL7 v2.x. Вам нужны входные данные в формате XML (HL7 v3 - это XML), чтобы вы могли манипулировать ими с помощью E4X.

Решение: Mirth Connect обрабатывает это автоматически. Всякий раз, когда у соединителя есть фильтр или преобразователь, Mirth преобразует входное сообщение в XML. Вы сказали, что у этого соединителя есть преобразователи, поэтому вам должно быть доступно XML-представление входного сообщения HL7.

Если вы используете канал без фильтров и без преобразователей, вы можете форсировать преобразование, добавив фильтр, где условие всегда выполняется.

...