web stats
Sort OBX statements in numerical order - Mirth Community

Go Back   Mirth Community > Mirth Connect > General Discussion

Thread Tools Display Modes
Old 10-08-2018, 04:58 PM
larryseieroe larryseieroe is offline
What's HL7?
Join Date: Oct 2018
Location: Omaha
Posts: 3
larryseieroe is on a distinguished road
Default Sort OBX statements in numerical order

I am having an issue sorting a Set of OBX statements.
Mirth version if the sort order is updated in newer versions i can download and deploy.

OBX Examples

code being used

copy Segment OBX.3.1 numbers to OBX.4.1
sort on OBX.4.1

// then place the numbers in OBX.4.1 then Sort the OBX's by OBX.4.1
//This reads OBX.3.1
for each (seg in msg.OBX) {

if(seg['OBX.3']['OBX.3.1'].toString() != '')
var temp=seg['OBX.3']['OBX.3.1'].toString();
seg['OBX.4']['OBX.4.1'] = temp.replace(/[^0-9.]/g,""); //save results to OBX.4.1 (~r/[^\d]/, "" "[^0-9]"

// Create an Array
var OBXArray = new Array()

// initial variables
var i = 0;

// Loop thru OBX
for each(seg in msg..OBX){
// Build Array
OBXArray[i] = {
value : seg['OBX.4']['OBX.4.1'].toString(), // sort by the new field extracted and placed in OBX.4.1
seg : seg

// Delete OBX
delete (msg.children()[seg.childIndex()]);

// Add 1 to i

var obxList = new java.util.ArrayList();
for each (obx in msg.OBX)

java.util.Collections.sort(obxList,new java.util.Comparator({compare:function(o1, o2) {
function getIDValue(node) {
var obsId = node['OBX.4']['OBX.4.1'].toint();
return parseInt(obsId.substr(0,obsId.indexOf('-')),10);
return getIDValue(o1) - getIDValue(o2);

for (var i = 0; i <= obxList.size()-1; i++) {
msg.OBX[i] = obxList.get(i);
msg.OBX[i]['OBX.1']['OBX.1.1'] = i+1;

OBX|10||Statement 20|20|Date: mmddyyyy||||||AS
OBX|11||Statement 21|21|Time: hh:mm:ss||||||AS
OBX|12||Statement 22|22|User: N/A||||||AS
OBX|13||Statement 23|23|Computer: <ComputerName>||||||AS
OBX|14||Statement 24|24|Description:||||||AS
OBX|15||Statement 25|25|The Windows Installer service entered the stopped state.||||||AS
OBX|16||Statement 26|26|For more information, see Help and Support Center at <http://go.microsoft.com/fwlink/events.asp>.||||||AS
OBX|17||Statement 27|27|||||||AS
OBX|18||Statement 28|28|larry||||||AS
OBX|19||Statement 29|29|Seieroe||||||AS
OBX|20||Statement 30|30|||||||AS
OBX|21||Statement 31|31|was here today||||||AS
OBX|22||Statement 1|1|||||||AS
OBX|23||Statement 2.1|2.1|The system Event log will show that the Windows Installer Service is starting and stopping||||||AS
OBX|24||Statement 2.2|2.2|automatically.||||||AS
OBX|25||Statement 3|3|||||||AS
OBX|26||Statement 4|4|Event Type: Information||||||AS
OBX|27||Statement 5|5|Event Source: Service Control Manager||||||AS
OBX|28||Statement 6|6|Event Category: None||||||AS
OBX|29||Statement 7|7|Event ID: 7035||||||AS
OBX|30||Statement 8|8|Date: mmddyyyy||||||AS
OBX|31||Statement 9|9|Time: hh:mm:ss||||||AS
OBX|32||Statement 10|10|User: NT AUTHORITY\SYSTEM||||||AS
OBX|33||Statement 11|11|Computer: <ComputerName>||||||AS
OBX|34||Statement 12|12|Description:||||||AS
OBX|35||Statement 13|13|The Windows Installer service was successfully sent a start control.||||||AS
OBX|36||Statement 14|14|For more information, see Help and Support Center at <http://go.microsoft.com/fwlink/events.asp>.||||||AS
OBX|37||Statement 15|15|||||||AS
OBX|38||Statement 16|16|Event Type: Information||||||AS
OBX|39||Statement 17|17|Event Source: Service Control Manager||||||AS
OBX|40||Statement 18|18|Event Category: None||||||AS
OBX|41||Statement 19|19|Event ID: 7036||||||AS
Larry aka(Skippy)
Reply With Quote

obx, sort

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -8. The time now is 03:41 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Mirth Corporation