This topic contains 1 reply, has 2 voices, and was last updated by lev 6 years, 11 months ago.
Looping issue.
-
This segment may not be present in every message and if it is present, may contain more than 1 NTE within the ObrGrp. The NTE segment is included in the vmd as an optional repeating segment under the group ‘ObrGrp’.
for i=1,#msgIn.ObrGrp do
msgOut.ObrGrp[1].OBR:mapTree(msgIn.ObrGrp[i].OBR)
–NTE segments may repeat, so Loop through them
for j=1,#msgIn.ObrGrp[i].NTE do
msgOut.ObrGrp[1].NTE[j]:mapTree(msgIn.ObrGrp[i].NTE[j])
— DG1 segments may repeat, so loop through them
for j=1,#msgIn.ObrGrp[i].DG1 do
msgOut.ObrGrp[1].DG1[j]:mapTree(msgIn.ObrGrp[i].DG1[j])
end
queue.push{data=msgOut:S()}
msgOut:remove(“ObrGrp”) — reset the structure for the next iteration
end
end
end2 Issues with it:
1. If there is no NTE segment, the message is ignored.
2. The message translates if the NTE segment is present, but if there is more than one NTE – the first message includes all the segments and OBR|1 and leaves out NTE|2. The second outbound message, it leaves out OBR|2 and NTE|1. Basically a repeat of 1 and 2 in messages 3 and 4, except it is for OBR|2 and NTE|2.Example for issue 2:
Inbound:
MSH|^~\&|TESTSYSTEM|TESTSYSTEM|TOTESTSYSTEM|Imaging|20160415203730||ORM^O01|201604152037462|T|2.3
PID|1|d7980233-39f6|||Duck^Daffy||19420402|M|||52 West Unit Drive^^Sneads^FL^32460-4165|||||||123456789
PV1|1|O|FL0XX1^55^^APAL&FL00001
ORC|NW|2016041501001|||||||20160416023631|Electronic||1891929857^ABANO^JOHN||^^^^^^8507180577|20160416000000
OBR|1|2016041501001||3117^FOOT LT 3V*|R||201604160000|||||||||1891929857^ABANO^JOHN|||||||||||||||^Non-Ambulatory – Fall Risk/Fell|||||||||||||73630
NTE|1||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER.
NTE|2||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER TEST TEST TEST.
DG1|1|||Pain in Ankle
DG1|2|||Pain in Foot
OBR|2|2016041501001||3063^ANKLE LT 3V*|R||201604160000|||||||||1891929857^ABANO^JOHN|||||||||||||||^Non-Ambulatory – Fall Risk/Fell|||||||||||||73610
NTE|1||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER.
NTE|2||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER TEST TEST TEST.
DG1|1|||Pain in Ankle
DG1|2|||Pain in FootOutbound:
Mesage 1:
MSH|^~\&|TESTSYSTEM|TESTSYSTEM|TOTESTSYSTEM|Imaging|20160415203730||ORM^O01|201604152037462|T|2.3|
PID|1|d7980233-39f6|||Duck^Daffy||19420402|M|||52 West Unit Drive^^Sneads^FL^32460-4165|
PV1|1|O|FL0XX1^55^^APAL&FL00001|Schryver Medical FL Corrections|
IN1|1||CENTURION MASTER|||||||||||||Duck~Daffy~||19420402||||||||||||||||||DIRECT BILL|
ORC|NW|2016041501001|||||||20160416023631|Electronic||1891929857^ABANO^JOHN||^^^^^^8507180577|20160416000000|
OBR|1|2016041501001||3117^FOOT LT 3V*|R||201604160000|||||||||1891929857^ABANO^JOHN|||||||||||||||^Non-Ambulatory – Fall Risk/Fell|||||||||||||73630|
NTE|1||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER.|
DG1|1|||Pain in Ankle|
DG1|2|||Pain in Foot|Mesage 2:
MSH|^~\&|TESTSYSTEM|TESTSYSTEM|TOTESTSYSTEM|Imaging|20160415203730||ORM^O01|201604152037462|T|2.3|
PID|1|d7980233-39f6|||Duck^Daffy||19420402|M|||52 West Unit Drive^^Sneads^FL^32460-4165|
PV1|1|O|FL0XX1^55^^APAL&FL00001|Schryver Medical FL Corrections|
IN1|1||CENTURION MASTER|||||||||||||Duck~Daffy~||19420402||||||||||||||||||DIRECT BILL|
ORC|NW|2016041501001|||||||20160416023631|Electronic||1891929857^ABANO^JOHN||^^^^^^8507180577|20160416000000|
NTE|2||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER TEST TEST TEST.|
DG1|1|||Pain in Ankle|
DG1|2|||Pain in Foot|Message 3:
MSH|^~\&|TESTSYSTEM|TESTSYSTEM|TOTESTSYSTEM|Imaging|20160415203730||ORM^O01|201604152037462|T|2.3|
PID|1|d7980233-39f6|||Duck^Daffy||19420402|M|||52 West Unit Drive^^Sneads^FL^32460-4165|
PV1|1|O|FL0XX1^55^^APAL&FL00001|Schryver Medical FL Corrections|
IN1|1||CENTURION MASTER|||||||||||||Duck~Daffy~||19420402||||||||||||||||||DIRECT BILL|
ORC|NW|2016041501001|||||||20160416023631|Electronic||1891929857^ABANO^JOHN||^^^^^^8507180577|20160416000000|
OBR|2|2016041501001||3063^ANKLE LT 3V*|R||201604160000|||||||||1891929857^ABANO^JOHN|||||||||||||||^Non-Ambulatory – Fall Risk/Fell|||||||||||||73610|
NTE|1||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER.|
DG1|1|||Pain in Ankle|
DG1|2|||Pain in Foot|Message 4:
MSH|^~\&|TESTSYSTEM|TESTSYSTEM|TOTESTSYSTEM|Imaging|20160415203730||ORM^O01|201604152037462|T|2.3|
PID|1|d7980233-39f6|||Duck^Daffy||19420402|M|||52 West Unit Drive^^Sneads^FL^32460-4165|
PV1|1|O|FL0XX1^55^^APAL&FL00001|Schryver Medical FL Corrections|
IN1|1||CENTURION MASTER|||||||||||||Duck~Daffy~||19420402||||||||||||||||||DIRECT BILL|
ORC|NW|2016041501001|||||||20160416023631|Electronic||1891929857^ABANO^JOHN||^^^^^^8507180577|20160416000000|
NTE|2||THIS IS A TEST ORDER.\X0A\THIS IS A TEST ORDER TEST TEST TEST.|
DG1|1|||Pain in Ankle|
DG1|2|||Pain in Foot|Hello Tony. Did you have a chance to check reference articles in our online Wiki? In particular, to resolve current question, Segment Grammar need to be declared in vmd file taking advantage of ‘Groups’, ‘Optional’, and ‘Repeating’ properties. Respective properties will be selected for these Segments to indicate whether they can be missing (‘optional’) and/or multiple (‘repeating’). Please feel free to use Support channel for detailed answer.
You must be logged in to reply to this topic.