In one hospital we were deployed dcm4chee-arc-light 5.23.2 on Debian 10 Linux server. DICOM parts works as expected without problems.
We use dcm4chee-arc-light 5.23.2 binary distribution from source forge.
LDAP server is ApacheDS.
Database is PostgreSQL14.
Physicians want to send MWL lists to dcm4chee-arc-light from their current HIS. But then we encountered issues...
currently this test message does not pass, no matter what tool we use to send it:
MSH|^~\&|BIS|HOSPITAL|ASTREOS|PACS|20220211092649.772+0100||ORM^001^ORM_O01|74b29345-dcd0-4c1c-a5fe-15b5252139c8|P|2.4||||||UNICODE UTF-8
PID||72402|72402||CYZić^INAMe||19420830|F
PV1||O|||||^Mr sci med. dr Ime Šprezime|^Mr sci med. dr Ime Šprezime
ORC|NW|101119|||||^^^20220211092649.78+0100
OBR|1|101119|101119|||||||||||||||||||||CR
ZDS|1.2.40.0.13.1.1.1.192.168.20.201.20220211085138535.32771^TEST^CR
We got answer:
MSH|^~\&|ASTREOS|PACS|BIS|HOSPITAL|20220217121055.022||ACK^001^ACK|154829536|P|2.4||||||UNICODE UTF-8
MSA|AR|74b29345-dcd0-4c1c-a5fe-15b5252139c8|Message Type not supported
ERR|||201|E||||Message Type not supported
tcpdump of this message exchange does not indicate any communication error.
researching further we sensed that most likely the first useful byte of the message (letter M) was lost during parsing of the message and thus the whole message was moved by that 1 byte which leads to the fields in the message being moved by 1 field and thus the message id came in the message type field.
I've been looking for the cause of the problem for a couple of days now and I can't find it. When sending, I can get test programs to add a 1 letter in front of the message being sent and then I don't get an error message. But that is not the solution because I cannot get such a message from their existing HIS.
The worst part is that the dcm4chee answer is strictly by standard.
What can we do to establish proper communication between hl7 tools and servers on the one hand and dcm4chee-arc on the other?