HL7 message update order XO won't update empty parts

649 views
Skip to first unread message

ehrenbe...@gmail.com

unread,
Jun 22, 2015, 6:13:35 AM6/22/15
to dcm...@googlegroups.com
I guess I've found a bug or maybe I'm doing someting wrong.

Following situation: I create a worlist item with a HL7 message. If I decided to make an update where are some fields blank/empty
which not have been blank/emty while I've created the message, the fields still have the old values not the new one.

I noticed this on the ZDS fields but it should be the same on all other in the HL7 message.

My dcm4chee is dcm4chee-2.18.0.


Would be nice if someone could confirm this.

Frank




Ivo

unread,
Jun 22, 2015, 6:39:45 AM6/22/15
to dcm...@googlegroups.com
Hello Frank,

how does your HL7 message look like? Do you change the HL7 Common Order (ORC) from New Order = "NW" to Change Order = "XO"?

I cannot confirm this behaviour, I am able to update start date, modality, ...

ehrenbe...@gmail.com

unread,
Jun 22, 2015, 7:36:52 PM6/22/15
to dcm...@googlegroups.com
Hallo Ivo,

What did you get if you send "" (empty) string in the modality? Will this be updatet to "" or leave it as the original value?

Frank

Ivo

unread,
Jun 23, 2015, 3:23:54 AM6/23/15
to dcm...@googlegroups.com
Hello Frank,

never tried to send an empty string for the modality. You should check the server.log. Not sure if you are on linux but if so you could watch it while you send the message with command

tail -f /opt/dcm4chee/dcm4chee-2.18.0-mysql/server/default/log/server.log

just need to change the path accordingly.

The server.log will contain any error message that might be caused by your order message.

cheers
ivo

fleetwoodfc

unread,
Jun 23, 2015, 6:28:02 AM6/23/15
to dcm...@googlegroups.com, ehrenbe...@gmail.com
As far as I remember if you send an empty string then it uses the Modality default value configured in the jmx-console.

ehrenbe...@gmail.com

unread,
Jun 23, 2015, 7:34:22 AM6/23/15
to dcm...@googlegroups.com, ehrenbe...@gmail.com

The modality was ONLY an example.
Ivo, if you would read my first post again I refered to the ZDS line/part of the HL7 message.
In my message I transfer  information for veterinary like 'chip no', sex neutered, responsible person and so on and so on.

First theeeeese fields had values (ORC|NW) and after edting this values in my RIS and transfering again (with ORC|XO) there shouldn't be in dcm4chee but they are not emtpy. 
There are still the old values.

Ivo, please don't answer to this post. You can't imagine that modality was an example.

All other please try to delete a part of your HL7 message and transfer it again. I think there is a bug which doesn't delete empty fields.
Some fields shoulnd't be empty because of dcm4chee will not accept the message but there are many more fields. ohhh. 

Thanks.

Frank


Ivo

unread,
Jun 23, 2015, 11:18:19 AM6/23/15
to dcm...@googlegroups.com

Dear Frank,


I was just suggesting that you should have a look at the log file, which might give us some more information.


Anyway, just sent HL7 ORM^O01 messages to dcm4chee


first creating a new order with message:


MSH|^~\&|OpenMRSRadiologyModule|OpenMRS|||20150623130512||ORM^O01|1|P|2.3.1

PID|||100-8||Patient^John^D||19750101000000|M

ORC|NW|1|||||^^^20150623000000^^R

OBR|||||||||||||||||||1|1||||XA

ZDS|1.2.826.0.1.3680043.8.2186.1.1^^Application^DICOM


second trying to remove the modality "XA" (just as an example of removing a set field) from the order in dcm4chee with message:


MSH|^~\&|OpenMRSRadiologyModule|OpenMRS|||20150623130512||ORM^O01|1|P|2.3.1

PID|||100-8||Patient^John^D||19750101000000|M

ORC|XO|1|||||^^^20150623000000^^R

OBR|||||||||||||||||||1|1||||

ZDS|1.2.826.0.1.3680043.8.2186.1.1^^Application^DICOM


Now I can confirm that I see the same behavior as you do, the modality is not cleared by sending another ORM with "XO" and the modality field left empty. The modality remains with "XA" in the dcm4chee mwl.

Also tried to remove the Scheduled Procedure Step Start Date and the Requested Procedure Priority from the dcm4chee MWL by sending another ORM with "XO" and leaving the field empty but this had no effect.


Sending an empty string "" for the Requested Procedure Priority, like so:

 

MSH|^~\&|OpenMRSRadiologyModule|OpenMRS|||20150623130512||ORM^O01|2|P|2.3.1

PID|||100-8||Patient^John^D||19750101000000|M

ORC|XO|2|||||^^^20150623000000^^""

OBR|||||||||||||||||||2|2||||

ZDS|1.2.826.0.1.3680043.8.2186.1.2^^Application^DICOM


did clear the Requested Procedure Priority in dcm4chee's MWL.


Unfortunately, this approach leads to exceptions for modality and start_date


see /opt/dcm4chee/dcm4chee-2.18.0-mysql/server/default/log/server.log when sending ORM with "XO" and Scheduled Procedure Step Start Date = ""


com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'start_datetime' cannot be null

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)



I am not sure that this is a bug (at least not for all fields, some just have to be not null in an order)


I think for some fields you just have to send a ORM with "CA" to delete the order and create a new order with "NW" again.


I read something about that kind of workflow in the

http://www.ihe.net/Technical_Frameworks/#radiology


Hope I could help a bit,

Cheers

ivo

Reply all
Reply to author
Forward
0 new messages