comparison Core/DicomFormat/DicomInstanceHasher.cpp @ 1228:e0f7014d39a4

Instances without PatientID are now allowed
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 21 Nov 2014 09:12:38 +0100
parents a811bdf8b8eb
children 6e7e5ed91c2d
comparison
equal deleted inserted replaced
1227:7266c37d0354 1228:e0f7014d39a4
46 patientId_ = patientId; 46 patientId_ = patientId;
47 studyUid_ = studyUid; 47 studyUid_ = studyUid;
48 seriesUid_ = seriesUid; 48 seriesUid_ = seriesUid;
49 instanceUid_ = instanceUid; 49 instanceUid_ = instanceUid;
50 50
51 if (patientId_.size() == 0 || 51 if (studyUid_.size() == 0 ||
52 studyUid_.size() == 0 ||
53 seriesUid_.size() == 0 || 52 seriesUid_.size() == 0 ||
54 instanceUid_.size() == 0) 53 instanceUid_.size() == 0)
55 { 54 {
56 throw OrthancException(ErrorCode_BadFileFormat); 55 throw OrthancException(ErrorCode_BadFileFormat);
57 } 56 }
58 } 57 }
59 58
60 DicomInstanceHasher::DicomInstanceHasher(const DicomMap& instance) 59 DicomInstanceHasher::DicomInstanceHasher(const DicomMap& instance)
61 { 60 {
62 Setup(instance.GetValue(DICOM_TAG_PATIENT_ID).AsString(), 61 const DicomValue* patientId = instance.TestAndGetValue(DICOM_TAG_PATIENT_ID);
62
63 Setup(patientId == NULL ? "" : patientId->AsString(),
63 instance.GetValue(DICOM_TAG_STUDY_INSTANCE_UID).AsString(), 64 instance.GetValue(DICOM_TAG_STUDY_INSTANCE_UID).AsString(),
64 instance.GetValue(DICOM_TAG_SERIES_INSTANCE_UID).AsString(), 65 instance.GetValue(DICOM_TAG_SERIES_INSTANCE_UID).AsString(),
65 instance.GetValue(DICOM_TAG_SOP_INSTANCE_UID).AsString()); 66 instance.GetValue(DICOM_TAG_SOP_INSTANCE_UID).AsString());
66 } 67 }
67 68