好的,尝试了解 Mirth 如何与数据交互的基础知识。下面的简单脚本检查值并在完成后将出站设置为硬编码值。这不是现实生活中的场景,所以请不要纠结于原因......运行此脚本时,我收到错误:
[2017-05-24 02:34:34,845] ERROR (transformer:?): TypeError: Cannot read property "EVN.1" from undefined.
这必须是简单的事情,但如果有人愿意分享,可以使用一些互动。它似乎不想识别我的 HL7。
Java 脚本
var full_evn1 = msg['EVN']['EVN.1']['EVN.1.1'].toString();
if (full_evn1 = "A01" ) {
tmp['EVN']['EVN.5']['EVN.5.1'] = "MYID"
}
最佳答案
我认为它一定是与您发布的代码片段不同的代码。除非 EVN.1 之前的任何内容未定义,否则您不会收到该错误。 E4X 有一些特殊的东西,其中 msg['EVN'] 将被定义(作为一个空 XML 对象)即使父节点中没有“EVN”子节点。
相反,您的代码中可能有一个单独的位置,您可以在其中引用 msg['EVN'][0]['EVN.1']... 之类的内容... XML 对象支持数组性质,但实际上当索引不正确时,会返回未定义。
关于javascript - 非常简单的 Mirth 功能(版本 3.1.1.7461),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44163943/