Sidebar

Can I remove extra fields from a HL7 segment

0 votes
671 views
asked Mar 12, 2014 by brandon-w-8204 (33,270 points)
edited Mar 12, 2014 by brandon-w-8204

1 Answer

0 votes
 
Best answer
Here is some sample code to remove unwanted Fields on the end of a HL7 Segment:
 
var splitMessage = StringUtils.splitByWholeSeparator(message.getNode('/'), '\r');
for (var segmentNumber = 0; segmentNumber < splitMessage.length; segmentNumber++) {
   var segment = StringUtils.substringBefore(splitMessage[segmentNumber], '|');
   var segmentCount = message.getCount(segment);
   for (var i = 1; i <= segmentCount ; i++) {
      var oldSegment = qie.parseHL7String(message.getNode(segment, i));
      var newSegment = qie.parseHL7String(segment + '|');
      //Add segments with data
      for (var f = 1 ; f < 200 ; f++) {
         if (StringUtils.equalsIgnoreCase(segment, 'MSH') && f === 1) {
            newSegment = qie.parseHL7String('MSH|^~\\&|');
            f = 2;
            continue;
         }
         if (oldSegment.checkNodeExists(segment + '-' + f)) {
            if (oldSegment.checkNodeIsNotBlank(segment + '-' + f)) {
               newSegment.setNode(segment + '-' + f, oldSegment.getNode(segment + '-' + f));
            }
         } else {
            break;
         }
      }
      message.setNode(segment + '[' + i + ']', newSegment.toString().trim());
   }
}
answered Mar 12, 2014 by brandon-w-8204 (33,270 points)
edited Sep 27, 2019 by brandon-w-8204
...