public static DicomStudy CreateFromDicom(DicomDataset dicom) { string studyUID = dicom.GetSingleValue <string>(DicomTag.StudyInstanceUID); string studyId = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyID, null); string studyDate = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyDate, null); string studyTime = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyTime, null); string accessionNumber = dicom.GetSingleValueOrDefault <string>(DicomTag.AccessionNumber, null); string description = dicom.GetSingleValueOrDefault <string>(DicomTag.StudyDescription, null); PatientRecord patient = DicomRecord.ToPatient(dicom); var result = new DicomStudy(studyUID, studyId, studyDate, studyTime, accessionNumber, patient, description); SeriesRecord series = DicomRecord.ToSeries(dicom); ImageRecord image = new ImageRecord(); image.SOPInstanceUID = dicom.GetSingleValue <string>(DicomTag.SOPInstanceUID); image.ImageNumber = dicom.GetSingleValueOrDefault <string>(DicomTag.InstanceNumber, null); series.AddImage(image); result._seriesItems.Add(series); // Notice the event. AddNewStudyEvent(result); return(result); }
private void AddNewSeriesEvent(DicomStudy study) { StudyUpdatedEventHandler handler = new StudyUpdatedEventHandler(new MongoStudyRepository(DbSettings.StudySettings)); handler.Handle(new StudyUpdatedEvent() { Study = study }); }
private static void AddNewStudyEvent(DicomStudy result) { // This is only for test. StudyCreatedEventHandler handler = new StudyCreatedEventHandler(new MongoStudyRepository(DbSettings.StudySettings)); handler.Handle(new StudyCreatedEvent() { Study = result }); }
public static void WriteStudy(this DicomDataset dataset, DicomStudy study) { dataset.AddOrUpdate(DicomTag.PatientName, study.Paitent.PatientName); dataset.AddOrUpdate(DicomTag.PatientID, study.Paitent.PatientID); dataset.AddOrUpdate(DicomTag.PatientSex, study.Paitent.PatientSex); dataset.AddOrUpdate(DicomTag.StudyInstanceUID, study.StudyUID); dataset.AddOrUpdate(DicomTag.StudyID, study.StudyID); dataset.AddOrUpdate(DicomTag.StudyDate, study.StudyDate); dataset.AddOrUpdate(DicomTag.StudyTime, study.StudyTime); dataset.AddOrUpdate(DicomTag.NumberOfStudyRelatedInstances, study.SeriesCollection.Count.ToString()); }