Discussion of open issues, suggestions and bugs regarding to (known as Delphi HL7) HL7 Components
lucas.amiune
Posts: 25 Joined: Mon Oct 29, 2012 7:41 pm
Post
by lucas.amiune » Mon Oct 29, 2012 7:47 pm
Hi there,
I´m having some problems when recieving more than one OBR segment on ORM-O01 messages.
I´d like to know if there is a way to get the PlacerField1 information
At this moment I´m using
Code: Select all
obj.Os := msg.ORDER[0].ORDER_DETAIL.OBR.PlacerField1.AsString;
but i´m figuring out if there is something like:
Code: Select all
obj.Os := msg.ORDER[0].ORDER_DETAIL[index].OBR.PlacerField1.AsString;
but this is not working, can you please tell me
how do i get the PlacerField1 when the ORM-O01 have more than one OBR segment?
UPDATE
I forgot to tell, the version that i´m using is the 2.3.1
Best Regards,
admin
Site Admin
Posts: 256 Joined: Sun Jun 05, 2011 8:06 pm
Post
by admin » Tue Oct 30, 2012 9:35 am
Can you share your ORM-O01 message?
lucas.amiune
Posts: 25 Joined: Mon Oct 29, 2012 7:41 pm
Post
by lucas.amiune » Tue Oct 30, 2012 10:19 am
No problem, here the ORM-O01 message:
Code: Select all
MSH|^~\&|MV2000i|MVSISTEMAS|MEDLAB|MEDLAB|20121026142002||ORM^O01|65|P|2.3.1|65||||||
PID||1339981|1339981||OLIVEIRA^CRISTINA^LOPES DE|SOUZA^ELISA^LOPES DE|19890429|F|||CORONEL ARQUIBALDO JORDAO^SAO PAULO^SP^03561080^BRASIL||1127411263||||||||||||||||
PV1|1|I|13505-02 CLINICA MEDICA||5816604||SILVEIRA^MARCELO^AUGUSTO DUARTE|||||||||||||||||||||||||||||||||||||20120620173000||||||||
ORC|NW|2154927|||||||20121027000000|4|||419 UI CLINICA CIRURGICA 3 A|||||||
OBR|1|2154927||106|||||||||||RX ABDOMEN - AP - LAT OU LOCALIZADA|SILVEIRA^MARCELO^AUGUSTO DUARTE||2650269|106|6953||||CR|||||||||||||||||||||||
OBR|2|2154927||107|||||||||||RX ABDOMEN AGUDO (02 POSIÇÕES)|SILVEIRA^MARCELO^AUGUSTO DUARTE||2650270|107|6953||||CR|||||||||||||||||||||||
Last edited by
lucas.amiune on Wed Oct 31, 2012 12:39 pm, edited 1 time in total.
admin
Site Admin
Posts: 256 Joined: Sun Jun 05, 2011 8:06 pm
Post
by admin » Tue Oct 30, 2012 1:05 pm
Hello,
Thank you for the information.
We've reproduced the problem.
We will notify you as soon as we have any results.
admin
Site Admin
Posts: 256 Joined: Sun Jun 05, 2011 8:06 pm
Post
by admin » Tue Oct 30, 2012 3:09 pm
Hi,
Thank you for your feedback !
Fixed a bug.
Please download lastest release, then try again.
sample code :
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
var
msgstr : AnsiString;
i:integer;
msg : TdiORM_O01_231;
begin
msgstr:='MSH|^~\&|MV2000i|MVSISTEMAS|MEDLAB|MEDLAB|20121026142002||ORM^O01|65|P|2.3.1|65||||||'+#13+
'PID||1339981|1339981||OLIVEIRA^CRISTINA^LOPES DE|SOUZA^ELISA^LOPES DE|19890429|F|||CORONEL ARQUIBALDO JORDAO^SAO PAULO^SP^03561080^BRASIL||1127411263||||||||||||||||'+#13+
'PV1|1|I|13505-02 CLINICA MEDICA||5816604||SILVEIRA^MARCELO^AUGUSTO DUARTE|||||||||||||||||||||||||||||||||||||20120620173000||||||||'+#13+
'ORC|NW|2154927|||||||20121027000000|4|||419 UI CLINICA CIRURGICA 3 A|||||||'+#13+
'OBR|1|2154927||106|||||||||||RX ABDOMEN - AP - LAT OU LOCALIZADA|SILVEIRA^MARCELO^AUGUSTO DUARTE||2650269|106|6953||||CR|||||||||||||||||||||||'+#13+
'OBR|2|2154927||107|||||||||||RX ABDOMEN AGUDO (02 POSIÇÕES)|SILVEIRA^MARCELO^AUGUSTO DUARTE||2650270|107|6953||||CR|||||||||||||||||||||||'+#13;
msg := TdiORM_O01_231.Create;
msg.AsString:=msgstr;
for i:=0 to msg.ORDERRepCount-1 do
begin
Memo1.Lines.Add(msg.ORDER[i].ORDER_DETAIL.OBR.PlacerField1.AsString)
end;
msg.Free;
end;
Best regards.
lucas.amiune
Posts: 25 Joined: Mon Oct 29, 2012 7:41 pm
Post
by lucas.amiune » Tue Oct 30, 2012 5:21 pm
Hi there,
First of all thanks for your very fast answer.
I've downloaded the new component but even if I try with the code that you posted above, I´m still don´t getting the expected results.
The results that I´m expecting are: 2650269 and 2650270.
But i´m only getting the first one.
Best Regards
admin
Site Admin
Posts: 256 Joined: Sun Jun 05, 2011 8:06 pm
Post
by admin » Tue Oct 30, 2012 7:44 pm
Hi,
Please download again.
Best regards.
lucas.amiune
Posts: 25 Joined: Mon Oct 29, 2012 7:41 pm
Post
by lucas.amiune » Wed Oct 31, 2012 12:38 pm
Hi,
Sorry but i´m still not getting the OBR-18 (PlacerField1) from the second OBR segment on this message and I´m using the code that you posted above.
As I said i was expecting something like:
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
var
msgstr : AnsiString;
i:integer;
msg : TdiORM_O01_231;
begin
msgstr:='MSH|^~\&|MV2000i|MVSISTEMAS|MEDLAB|MEDLAB|20121026142002||ORM^O01|65|P|2.3.1|65||||||'+#13+
'PID||1339981|1339981||OLIVEIRA^CRISTINA^LOPES DE|SOUZA^ELISA^LOPES DE|19890429|F|||CORONEL ARQUIBALDO JORDAO^SAO PAULO^SP^03561080^BRASIL||1127411263||||||||||||||||'+#13+
'PV1|1|I|13505-02 CLINICA MEDICA||5816604||SILVEIRA^MARCELO^AUGUSTO DUARTE|||||||||||||||||||||||||||||||||||||20120620173000||||||||'+#13+
'ORC|NW|2154927|||||||20121027000000|4|||419 UI CLINICA CIRURGICA 3 A|||||||'+#13+
'OBR|1|2154927||106|||||||||||RX ABDOMEN - AP - LAT OU LOCALIZADA|SILVEIRA^MARCELO^AUGUSTO DUARTE||2650269|106|6953||||CR|||||||||||||||||||||||'+#13+
'OBR|2|2154927||107|||||||||||RX ABDOMEN AGUDO (02 POSIÇÕES)|SILVEIRA^MARCELO^AUGUSTO DUARTE||2650270|107|6953||||CR|||||||||||||||||||||||'+#13;
msg := TdiORM_O01_231.Create;
msg.AsString:=msgstr;
for i:=0 to msg.ORDERRepCount-1 do
begin
Memo1.Lines.Add(msg.ORDER.ORDER_DETAIL[i].OBR.PlacerField1.AsString)
end;
msg.Free;
end;
Can you please double-check it?
Best Regards.
admin
Site Admin
Posts: 256 Joined: Sun Jun 05, 2011 8:06 pm
Post
by admin » Wed Oct 31, 2012 1:51 pm
Hi,
Installed new computer with XP + Delphi7.
Its running.
your code must be
Memo1.Lines.Add(msg.ORDER
.ORDER_DETAIL.OBR.PlacerField1.AsString)
instead of :
Memo1.Lines.Add(msg.ORDER.ORDER_DETAIL.OBR.PlacerField1.AsString)
Each ORDER_DETAIL group can have only one OBR segment.
OBR segment is not repeating.
ORDER_DETAIL group is not repeating.
You must check each ORDER group for access OBR segment.
For more information :
http://www.delphihl7.com/doc/html/diHL7 ... 1_231.html
Best regards.
lucas.amiune
Posts: 25 Joined: Mon Oct 29, 2012 7:41 pm
Post
by lucas.amiune » Wed Oct 31, 2012 2:22 pm
Hi,
I´m using the code that you provided above
Memo1.Lines.Add(msg.ORDER.ORDER_DETAIL.OBR.PlacerField1.AsString)
but i still can not acccess the second OBR segment on this message.
The Order[0].order_detail.obr.placerfiedl1.asstring brings me the right value of: 2650269
But when
Order[1].order_detail.obr.placerfield1.asstring brings me nothing (inacessible value).
Could you please send me a printscreen with your result?
Users browsing this forum: No registered users and 1 guest