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

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

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

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

Я сделал что-то не так в отображении трансформатора?

ОБНОВИТЬ:

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


person Rasher    schedule 26.03.2012    source источник


Ответы (4)


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

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

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

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

person dividius    schedule 29.03.2012
comment
Рад - если это действительно проблема, будьте любезны принять ответ. - person dividius; 30.03.2012
comment
@dividius Думаю, он был недостаточно добр. :( - person csj; 06.10.2012
comment
Хотел бы я принять это, потому что, серьезно, этот ответ на месте! +1 - person Sid; 29.08.2013

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

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

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

person dividius    schedule 26.03.2012
comment
спасибо за вашу помощь. но проблема, с которой я столкнулся, заключается в том, что сообщение продолжает генерироваться (мой файл .txt начинается с 1 КБ и достигает 900 КБ и т. д.), и размер постоянно увеличивается, это происходит потому, что одни и те же данные генерируются снова и снова и несколько раз. для например. мое сгенерированное сообщение имеет один (MSH, PID, PV1, ORM) для одной строки данных в моей базе данных, тогда этот «ЖЕ» MSH, PID, PV1 и ORM генерируются несколько раз. - person Rasher; 28.03.2012

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

i.e.

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

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

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

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

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

person Upstart    schedule 26.09.2012

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

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

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

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

МСХ|^~\&|||

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

person kkrgr8    schedule 17.03.2015