I am working on an interface from Cerner Copath to Seimens LCR that involves continuation segments for messages over a certain file size. The handling of the DSC segment is causing me a little pain.
I am hoping someone can clarify the logic behind these continuation scenarios. From previous interfaces, the continued messages contain a DSC segment with an ID. The message that continues the message contains the same ID in the MSH:14 field. The continuation message is a full blown ORU, meaning it has an MSH followed by a PID followed by a PV1. The lack of an additional DSC segment indicates the report is complete.
MSH|||||||ORU^R01||P|2.2|
PID|||
PV1|||
OBR||||
OBX|1
OBX|2
OBX|3
DSC|1
MSH|||||||ORU^R01||P|2.2|||1
PID|||||
PV1||||
OBR||||
OBX|1
OBX|2
This works perfectly for me in the past, but now, in the Cerner continuation logic, the message being continued has an ADD segment (that is empty by the way) and then a DSC segment with an ID. I was under the impression The continuation message then contains an MSH:14 with the appropriate ID but they also include an ADD segment which is apparently the last OBX from the previous message, followed by the next sequence OBX segment. Therefore, I receive this:
MSH|||||||ORU^R01||P|2.2|
PID|||
PV1|||
OBR||||
OBX|1
OBX|2
OBX|3
ADD
DSC|1
MSH|||||||ORU^R01||P|2.2|||1
ADD (rest of OBX3)
OBX|4
OBX|5
So the continuation message in this case, fails in cloverleaf because it doesn’t fit the definition of an ORU message (no PID).
Cerner told me that they are right and everyone else is wrong and all the money in the world can not change this, which is good because we don’t have all the money in the world anyway.
THANKS!