Wondering if anyone can explain how this may be happening?
On Monday we upload into Orthanc a chest x-ray (study 3, series 4, instance5) from another clinic for patient John Doe, dob 19800101. His PatientID from the orther clinic is 1234. He has not yet been assigned a patientID number at our clinic.
On Tuesday John Doe shows up at our clinic. We assign him PatientID 5678 and take a chest x-ray (study 1, series 2, instance 3 ) that we store on Orthanc.
Then we do a lookup on the Orthanc Explorer webpage for patient name Doe^John and get the following result:
Doe^John
PatientID 1234
Study 3
Series 4
Instance 5 ( prior chest x-ray )
Study 1
Series 2
Instance 3 ( new chest x-ray )
PatientID:1234
OtherID:5678
Doe^John
PatientID 5678
Study 1
Series 2
Instance 3 ( new chest x-ray )
PatientID:5678
I have not been able to repeat behaviour when study is sent from other sources to Orthanc so I am thinking there must be some coercion by either Orthanc or the sending x-ray unit (GE) to try to match an existing patient by name and/or date of birth.
Also, we are not using a worklist and patienID is entered by the xray technician.
Hello,
I think the following FAQ should answer your question:
https://book.orthanc-server.com/faq/orthanc-ids.html
“Because the DICOM standard guarantees the StudyInstanceUID, SeriesInstanceUID and SOPInstanceUID tags to be globally unique, the Orthanc identifiers for studies, series and instances are also globally unique. The patient-level identifiers are not guaranteed to be globally unique, and might collide between different hospitals.”
Consequently, when importing DICOM from another hospital, you should apply the process of reconciliation by modifying the remote PatientID by your local PatientID. Or, as advised in the FAQ, you should rely on the “Study” level instead of the “Patient” level.
Sébastien-
I have read that reference about a dozen times and I don’t think the answer is there. The issue is that when the images are sent from the modality to Orthanc each image has a PatientID, PatientName, Date-of-birth, and sometimes gender which are attached to the dicom file by the modality (x-ray machine or mammo machine for example). In my example above the patient id sent to Orthanc is “5678”. At some point, I don’t know how, the images are duplicated with an image or set of images winding up with the correct PatientID (“5678”) and an image or set of images being assigned the PatientID that matches the patient that was previously uploaded (“1234”).
I guess my main question is how to find out what process is including the “OtherPatientIDs” tag (0010,1000) into the dicom image? And who/what is responsible for creating two instances for each uploaded image; one with “PatientID”:“1234”,“OtherPatientID”:“5678” and the other with “PatientID”:“5678”,“OtherPatientID”:null?
Orthanc does not modify incoming data so, the only reason why you have the study split over 2 patient IDs is very likely that the modality generates it this way (and never forget about human errors especially if some data are actually attached to the previous patient).
To validate that, you may just implement this small lua script that will print the PatientID for every instance received in Orthanc.
function OnStoredInstance(instanceId, tags, metadata) print(tags[‘StudyInstanceUID’] … ', ’ … tags[‘PatientID’])end
HTH,
Alain