欢乐 - 在一个轮询间隔期间发送多个HL7消息

时间:2018-01-15 19:10:43

标签: javascript hl7 mirth

在Mirth中,我有一个JavaScript Reader连接器,在源代码中,我调用了一个存储过程。此过程返回多行。有没有办法编写脚本,以便对于从过程返回的每一行,我可以生成消息并发送适当的?我已经知道的另一个选项是将脚本编写为仅生成1条消息,并且除了更改过程外,还将轮询间隔设置为每100ms左右。任何帮助或见解将不胜感激。

var procedure = 'exec dbo.mystoredprocedure';
objresult = dbConn.executeCachedQuery(procedure);
while (objresult.next())
{
    var msg = <HL7Message/>;
    msg.MSH['MSH.1'] = '|';
    msg.MSH['MSH.2'] = '^~\\&';
    msg.MSH['MSH.3'] = 'MedicalRecords';
    msg.MSH['MSH.4'] = 'Application';
    msg.MSH['MSH.5'] = 'Test';
    msg.MSH['MSH.6'] = 'Something';
    msg.MSH['MSH.7'] = DateUtil.getCurrentDate("yyyyMMddHHmmssSSS");
    msg.MSH['MSH.8'] = '';
    msg.MSH['MSH.9']['MSH.9.1'] = 'ADT';
    msg.MSH['MSH.9']['MSH.9.2'] = 'A08';
    msg.MSH['MSH.10'] = DateUtil.getCurrentDate("yyyyMMddHHmmssSSS");
    msg.MSH['MSH.11'] = 'P';
    msg.MSH['MSH.12'] = '2.5';
    .
    .
    .
    .
  return msg;
}

2 个答案:

答案 0 :(得分:2)

是的,您可以返回包含多条消息的列表。列表中的每个元素都将作为单独的消息发送到通道。

答案 1 :(得分:0)

非常感谢!我做了一些挖掘,找到了我想要的东西。

var messages = new java.util.ArrayList();
messages.add(message1);
messages.add(message2);
return messages;