Mercurial > hg > orthanc
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); |