comparison OrthancServer/ServerIndex.cpp @ 2090:1824a02e0951

improved robustness for files with no PatientID
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 23 Sep 2016 11:09:59 +0200
parents fabf7820d1f1
children 4b02ec79728a
comparison
equal deleted inserted replaced
2089:7a969f235adf 2090:1824a02e0951
1212 db_.GetMainDicomTags(map, currentId); 1212 db_.GetMainDicomTags(map, currentId);
1213 1213
1214 switch (currentType) 1214 switch (currentType)
1215 { 1215 {
1216 case ResourceType_Patient: 1216 case ResourceType_Patient:
1217 patientId = map.GetValue(DICOM_TAG_PATIENT_ID).GetContent(); 1217 if (map.HasTag(DICOM_TAG_PATIENT_ID))
1218 {
1219 patientId = map.GetValue(DICOM_TAG_PATIENT_ID).GetContent();
1220 }
1218 done = true; 1221 done = true;
1219 break; 1222 break;
1220 1223
1221 case ResourceType_Study: 1224 case ResourceType_Study:
1222 studyInstanceUid = map.GetValue(DICOM_TAG_STUDY_INSTANCE_UID).GetContent(); 1225 if (map.HasTag(DICOM_TAG_STUDY_INSTANCE_UID))
1226 {
1227 studyInstanceUid = map.GetValue(DICOM_TAG_STUDY_INSTANCE_UID).GetContent();
1228 }
1223 currentType = ResourceType_Patient; 1229 currentType = ResourceType_Patient;
1224 break; 1230 break;
1225 1231
1226 case ResourceType_Series: 1232 case ResourceType_Series:
1227 seriesInstanceUid = map.GetValue(DICOM_TAG_SERIES_INSTANCE_UID).GetContent(); 1233 if (map.HasTag(DICOM_TAG_SERIES_INSTANCE_UID))
1234 {
1235 seriesInstanceUid = map.GetValue(DICOM_TAG_SERIES_INSTANCE_UID).GetContent();
1236 }
1228 currentType = ResourceType_Study; 1237 currentType = ResourceType_Study;
1229 break; 1238 break;
1230 1239
1231 case ResourceType_Instance: 1240 case ResourceType_Instance:
1232 sopInstanceUid = map.GetValue(DICOM_TAG_SOP_INSTANCE_UID).GetContent(); 1241 if (map.HasTag(DICOM_TAG_SOP_INSTANCE_UID))
1242 {
1243 sopInstanceUid = map.GetValue(DICOM_TAG_SOP_INSTANCE_UID).GetContent();
1244 }
1233 currentType = ResourceType_Series; 1245 currentType = ResourceType_Series;
1234 break; 1246 break;
1235 1247
1236 default: 1248 default:
1237 throw OrthancException(ErrorCode_InternalError); 1249 throw OrthancException(ErrorCode_InternalError);