在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;
}
答案 0 :(得分:2)
是的,您可以返回包含多条消息的列表。列表中的每个元素都将作为单独的消息发送到通道。
答案 1 :(得分:0)
非常感谢!我做了一些挖掘,找到了我想要的东西。
var messages = new java.util.ArrayList();
messages.add(message1);
messages.add(message2);
return messages;