Steps to reproduce this issue:
-
Need two DICOM files (sample attached) with these specifications:
-
PatientID is blank. (PatientID is a type 2 DICOM tag).
-
PatientName, Sex and BirthDate are clearly from two different patients.
-
Files have different StudyUID’s, SeriesUID’s and SOPUIDs.
-
In my example I have names of “Flintstone^Fred” and “Rubble^Betty”: Here is a summary of the tags:
dcmdump (1/2): CT_1234.1.1.2.1.1.1.dcm
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0010) PN [Flintstone^Fred] # 16, 1 PatientName
(0010,0030) DA [19490605] # 8, 1 PatientBirthDate
(0010,0040) CS [M] # 2, 1 PatientSex
dcmdump (2/2): CT_1234.2.2.1.1.1.dcm
(0010,0020) LO (no value available) # 0, 0 PatientID
(0010,0010) PN [Rubble^Betty] # 12, 1 PatientName
(0010,0030) DA [19531002] # 8, 1 PatientBirthDate
(0010,0040) CS [F] # 2, 1 PatientSex
- Use and Orthanc server with no current patients (makes it simpler to see problem)
- Send the DICOM files to the Orthanc server: “storescu --call ORTHANC 192.168.1.65 4242 CT* -v”
- Display the list of patients in Orthanc – there is just one patient:
curl http://192.168.1.65:8042/patients
[ “da39a3ee-5e6b4b0d-3255bfef-95601890-afd80709” ]
- Display the properties of this patient: (matches what you see in the explorer in browser GUI):
curl http://192.168.1.65:8042/patients/da39a3ee-5e6b4b0d-3255bfef-95601890-afd80709
{
“ID” : “da39a3ee-5e6b4b0d-3255bfef-95601890-afd80709”,
“IsStable” : true,
“LastUpdate” : “20200622T123419”,
“MainDicomTags” : {
“PatientBirthDate” : “19490605”,
“PatientID” : “”,
“PatientName” : “Flintstone^Fred”,
“PatientSex” : “M”
},
“Studies” : [
“038e34f6-4ca9d397-fc3c67f2-0f0d3099-71be36ad”,
“2129dfc0-4ddd101c-e01d7f91-d40ee8b1-1aab1503”
],
“Type” : “Patient”
}
- Do a DICOM query to see list of patients – you only see one patient but it does not match what you see in the Explorer:
findscu -S -k QueryRetrieveLevel=PATIENT -k PatientID= -k PatientName= --call ORTHANC 192.168.1.65 4242
I: ---------------------------
I: Find Response: 1 (Pending)
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
I: (0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
I: (0010,0010) PN [Rubble^Betty] # 12, 1 PatientName
I: (0010,0020) LO (no value available) # 0, 0 PatientID
I think the main issue I am concerned about here is the fact that Orthanc considers these two DICOM files to belong to the same patient when importing this data. These patients have nothing in common at all. I have seen sites that regularly have blank PatientID’s and this is allowed per DICOM standard as far as I know.
I know of no guidance from the DICOM standard as far as how to decide if incoming data belongs to an existing patient or should be assigned to a new patient. I once asked about this to a guy who regularly attended DICOM meetings and got a blank stare. Different vendors do it different ways. But I believe using PatientID alone for this logic is not correct. Even if it is not blank….it is possible that data from a new patient (maybe a scan arriving to a site from a third party scanner on CD for example) may have a matching PatientID. And there are patient safety concerns if DICOM images are used somehow for the diagnosis and treatment of the wrong patient.
Thanks for your consideration in advance.
Stacy Loesch
OrthancBugReport.7z (1.2 KB)