› Clovertech Forums › Read Only Archives › Cloverleaf › Cloverleaf › Error Log: Unable to get iteration basis address – OBX
XML to HL7. Message ORU_R01.
I
How did you set the basis?
Did you select the repeating element in the Source panel while the ITERATE Action is displayed and then click on the ellipses – {…} or what?
Your display does not show what the basis would be when the repetition location is highlighted in thee Source.
Another way might be to run the XML tester and look at where the repetition for the OBX is indicated.
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.
Slide 1 is Testing Tool HRL Tab. Got strange error.
Slide 2 shows Basis.
I removed new root ORDER_OBSERVATION (slide 4 on previous attachment) from COPY and Basis box at bottom of slide.
Ran test. Got same error:
[xpm :xlt :ERR /0:lab_res_process_xlate:11/03/2016 14:57:20] Unable to get iteration basis address
‘ORU_R01.ORU_R01~PATIENT_RESULT.OBX’.
[xpm :xlt :ERR /0:lab_res_process_xlate:11/03/2016 14:57:20] Unable to compile XLT ‘ORUxml_to_ORUhl7.xlt’.
[xlt :xlat:ERR /0:lab_res_process_xlate:11/03/2016 14:57:20] [0.0.24083] Xlate ‘ORUxml_to_ORUhl7.xlt’ failed:
Unable to load XLT ‘ORUxml_to_ORUhl7.xlt’
The OBX Basis was already there before I changed it: ORU_R01.ORU_R01~PATIENT_RESULT.OBX.
I typed in new root
I am not sure why you used the HRL tester – isn’t this an XML source?
Secondly when I see what is displayed under the {…} does not match what is in the Basis of the ITERATE Action. When you click on the {…} doesn’t what is displayed under the {…} end up in the Basis of the ITERATE?
Have you tried to run the sample data against the schema in a non Cloverleaf XML tool (like Oxygen)?
Run against the XML tester (not HRL) and make sure the data gets displayed and note the address pathing.
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.
I ran the XML tester, there where no results (blank). Can be seen on my first attachment slide 1.
I ran the HRL tester because my notes said it helps with Iterate issues. I took a 2nd look and saw
that it was for VXU not XML.
I used this validator: http://www.w3schools.com/xml/xml_validator.asp see attachment. It said No errors found.
See slides 2 – 5. Note that all 4 segments have the same basis. The basis should be the 3 roots:
“ORU_R01.PATIENT_RESULT.ORDER_OBSERVATION”. If we could get the full basis that would be the solution.
I’ve attached the schema.
I’ve attached text version of xml input file.
See attachment. Does it imply that the OBX must be inside the OBR loop?
I asked this in my first post. My changes pulled the OBX out of the OBR.
Also I have graphic structure that show this. Looks like my basis doesn’t
work because the HL7 standard won’t allow it. It would be nice if any of you agree so when I call the trading partner I’ll know I’m right.
How about a copy of the xlate?
I ran your test message against the schema using Oxygen and get this error
Description: cvc-complex-type.2.4.a: Invalid content was found starting with element ‘OBX.5.1’. One of ‘{OBX.3.7}’ is expected.
Which tells me the schema has OBX.3.7 as required and it is missing
I cannot stress enough that if you are going to do XML you need an external editor like XML Spy or Oxygen. It is the only way to prove whether the problem is with the engine or vendor. Sort of like needing a sniffer to prove network problems
Sure saves a lot of finger pointing
See attachment.
Solution:
The basis box needed all 3 root names with repetition of root names.
Incorrect: ORU_R01.ORU_R01~PATIENT_RESULT~ORDER_OBSERVATION.OBX
Correct: ORU_R01.ORU_R01~PATIENT_RESULT.ORU_R01~PATIENT_RESULT~ORDER_OBSERVATION.OBX
basis boxes before fix:
ORU_R01.ORU_R01~PATIENT_RESULT.ORU_R01.ORU_R01~PATIENT_RESULT~ORDER_OBSERVATION.OBR
ORU_R01.ORU_R01~PATIENT_RESULT~ORDER_OBSERVATION.OBX
after fix:
ORU_R01.ORU_R01~PATIENT_RESULT.ORU_R01~PATIENT_RESULT~ORDER_OBSERVATION.OBR
ORU_R01.ORU_R01~PATIENT_RESULT.ORU_R01~PATIENT_RESULT~ORDER_OBSERVATION.OBX
Also look for typos and spaces.
Thank you for everybody’s help.