使用 Mirth Transformer 循环多个 PID.3 片段

Using a Mirth Transformer to loop through multiple PID.3 Segments

我有一个消息结构,我需要循环遍历多个 PID.3 段,选择一个具有 PID.3.5 == 'MR' 的段,然后用标识符替换 PID.3.4。我了解如何遍历多个段(例如 OBX),但不是子段。我有一些示例代码(不正确)作为开始。任何指导表示赞赏。

var pid = msg.PID;

for each (pid3 in pid[PID.3]) {
    if (pid3[PID.3.5] == 'MR') {
        pid3[PID.3.4] = 'IDENTIFIER';
    };
};

这似乎有效

for each (pid3 in msg['PID']['PID.3']) {
    if (pid3['PID.3.5'].toString() == 'MR') {
        pid3['PID.3.4'] = 'IDENTIFIER';
    }
}