Как отправить сообщение HL7, используя веселье, читая данные из моей базы данных - PullRequest
1 голос
/ 26 марта 2012

У меня проблема с отправкой (созданием) сообщения HL7 с использованием веселья.

Я хочу прочитать данные из моей таблицы пациентов в SQLSERVER 2008 и, используя эти данные, Я хочу отправить сообщение в мой конечный соединитель, средство записи файлов. Я хочу, чтобы мои сообщения сохранялись в выходном каталоге средства записи файлов.

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

Что-то не так в преобразовании трансформатора?

UPDATE:

Размер выходного файла в моей папке назначения увеличивается. (Мой файл .txt начинается с 1 КБ и достигает 900 КБ и т. Д.). Это происходит потому, что одни и те же данные генерируются снова и снова, а также несколько раз. например у моего сгенерированного сообщения есть одно (MSH, PID, PV1, ORM) для одной строки данных в моей базе данных. Одни и те же MSH, PID, PV1 и ORM генерируются несколько раз.

Ответы [ 4 ]

3 голосов
/ 30 марта 2012

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

Например, если в вашей базе данных есть 1 запись: ["John", "Smith", "12134" ...] в первом опросе, вы сгенерируете 1 сообщение. Если во втором опросе у вас также есть вторая запись ["Fred", "Jones", "98371" ...], вы сгенерируете ДВА сообщения - одно для Джона Смита и одно для Фреда Джонса. И так далее.

Ключ заключается в том, чтобы использовать «Оператор запуска при обновлении» вашего коннектора для чтения базы данных (источника), чтобы обновить таблицу базы данных, которую вы опрашиваете, с указанием того, что данная запись была обработана. Это гарантирует, что одна и та же запись не будет обработана несколько раз.

Это требует, чтобы в вашей исходной таблице был какой-то столбец, чтобы указать, что запись была обработана. Мирт не будет следить за этим для вас - вы должны сделать это вручную.

0 голосов
/ 17 марта 2015

Вы должны изменить свой тип соединителя как читатель базы данных в источнике.

Вы должны изменить свой тип соединителя как средство записи файлов в месте назначения.

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

при создании шаблона HL7 вы должны использовать следующий код в шаблоне исходящего сообщения

MSH | ^ ~ \ & |||

Спасибо Кришна

0 голосов
/ 26 сентября 2012

У вас должен быть способ различать, какие записи нужно извлечь из базы данных, путем фильтрации по какому-то типу флага состояния или возможной отметке времени.Затем вы должны использовать какой-то оператор On-Update, чтобы пометить эти же записи как обработанные.

т.е.

Выберите идентификатор, пациент, результат из результатов, где status_flag = 'N'

или Выберите * из результатов, где status_flag = 'N' и create_date> = '9/25/2012'

Затем, на этапе преобразования или в разделе «Обновление» вашего источника, выбудет делать что-то вроде:

Обновить набор результатов status_flag = 'Y', где id = $ (id)

Если вы не сделаете что-то подобное и у вас будет опрос Mirth через определенный интервал,он будет просто повторять одни и те же записи снова и снова.

0 голосов
/ 27 марта 2012

Вы не можете иметь файл reader в качестве пункта назначения, поэтому я предполагаю, что вы имеете в виду файл writer.Вы говорите, что «размер моего файла в пункте назначения увеличивается».Это опечатка?Вы имеете в виду НЕ увеличение?

Если оно увеличивается, то ваши сообщения генерируются, и вы можете просмотреть их, чтобы начать следующий раунд поиска и устранения неисправностей ...

Если нет, вам следует взглянуть на журнал сообщений.панель мониторинга, чтобы увидеть, что происходит на основе сообщения за сообщением - это будет следующее место для устранения неполадок.

...