# HG changeset patch # User Sebastien Jodogne # Date 1475677762 -7200 # Node ID 9e0712846be63402b3f214a7ccf0f3e6ac8d2976 # Parent 50dd3249732ebd501d71ce6031f62a53f71b3c8e# Parent a51014b3251cd0fe1aafc79107f75daac0489c93 merge diff -r 50dd3249732e -r 9e0712846be6 NEWS --- a/NEWS Wed Oct 05 16:29:00 2016 +0200 +++ b/NEWS Wed Oct 05 16:29:22 2016 +0200 @@ -19,6 +19,7 @@ * Fix serious performance issue with C-FIND * Fix extraction of the symbolic name of the private tags * Performance warning if runtime debug assertions are turned on +* Improved robustness against files with no PatientID Version 1.1.0 (2016/06/27) diff -r 50dd3249732e -r 9e0712846be6 OrthancServer/ServerIndex.cpp --- a/OrthancServer/ServerIndex.cpp Wed Oct 05 16:29:00 2016 +0200 +++ b/OrthancServer/ServerIndex.cpp Wed Oct 05 16:29:22 2016 +0200 @@ -1214,22 +1214,34 @@ switch (currentType) { case ResourceType_Patient: - patientId = map.GetValue(DICOM_TAG_PATIENT_ID).GetContent(); + if (map.HasTag(DICOM_TAG_PATIENT_ID)) + { + patientId = map.GetValue(DICOM_TAG_PATIENT_ID).GetContent(); + } done = true; break; case ResourceType_Study: - studyInstanceUid = map.GetValue(DICOM_TAG_STUDY_INSTANCE_UID).GetContent(); + if (map.HasTag(DICOM_TAG_STUDY_INSTANCE_UID)) + { + studyInstanceUid = map.GetValue(DICOM_TAG_STUDY_INSTANCE_UID).GetContent(); + } currentType = ResourceType_Patient; break; case ResourceType_Series: - seriesInstanceUid = map.GetValue(DICOM_TAG_SERIES_INSTANCE_UID).GetContent(); + if (map.HasTag(DICOM_TAG_SERIES_INSTANCE_UID)) + { + seriesInstanceUid = map.GetValue(DICOM_TAG_SERIES_INSTANCE_UID).GetContent(); + } currentType = ResourceType_Study; break; case ResourceType_Instance: - sopInstanceUid = map.GetValue(DICOM_TAG_SOP_INSTANCE_UID).GetContent(); + if (map.HasTag(DICOM_TAG_SOP_INSTANCE_UID)) + { + sopInstanceUid = map.GetValue(DICOM_TAG_SOP_INSTANCE_UID).GetContent(); + } currentType = ResourceType_Series; break;