I use a tcl proc to determine trxId. For my Lab results it returns trxId as ORU_R01_LB.
I created variant with message type ORU_R01_LB:
prologue
who: username
date: December 15, 2008 3:35:49 PM EST
hl7vers: 2.4
type: msg
version: 4.0
end_prologue
MSH
PID
[
PV1
[ PV2 ]
]
ORC
OBR
[{ OBX } ]
I set up routing to translate ORU_R01_LB messages and configured translation to translate from my variant (here is xlate prologue):
prologue
xlt_infile: hl7 2.4 Paragon_2.4 ORU_R01_LB
who: username
date: December 15, 2008 3:36:36 PM EST
xlt_outfile: hl7 2.3.1 CDR_RAD_OP_DS_MDM ORU_R01_LAB
type: xlt
version: 5.0
end_prologue
But it looks like translation still uses ORU_R01 message definition from my variant (that one has just single OBX vs. multiple OBX’s that I need for Lab messages). Translated message has only 1st OBX – all other OBX’s get ignored. I get the following errors in my log:
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 7 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 8 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 9 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 10 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 11 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 12 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 13 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 14 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 15 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 16 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 17 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 18 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 19 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 20 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 21 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 22 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 23 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 24 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 25 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 26 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
[msg :RecP:WARN/0:test_cdr_lab_xlate:12/15/2008 15:37:16] [0.0.57549] The # 27 segment encountered ‘OBX’ is out of order for message type ‘ORU_R01’. Segment ignored.
Engine idle — 12/15/2008 15:37:26
When I created brand new variant for Lab messages and set up OBX as repeating in ORU_R01 the message gets translated just fine. If worst comes to worst I can use that separate variant but I don’t really want to have too many variants.
Any idea what I do wrong?
Thanks
Sergey