public string GetStoragePath(DicomRequestAttrs dicomAttrs) { var folderPath = this._coreSettings.BasePath + "\\" + dicomAttrs.CalledAE + "\\" + dicomAttrs.StudyInstanceUID + "\\" + dicomAttrs.SeriesInstanceUID; isFolderExistsElseCreate(folderPath); return(folderPath + "\\" + dicomAttrs.SOPInstanceUID + ".dcm"); }
public Task <bool> AddNewStudy(DicomRequestAttrs dAttrs, bool isLinkReceive) { bool isNewStudy = false; bool isNewSeries = false; bool isNewImage = false; Series series = null; Instance instance = null; var studyFound = this.getStudy(dAttrs.StudyInstanceUID).GetAwaiter().GetResult(); if (studyFound == null) { isNewStudy = true; isNewSeries = true; isNewImage = true; studyFound = buildStudy(dAttrs); series = buildSeries(dAttrs, studyFound); instance = buildInstance(dAttrs, series, isLinkReceive); } else { series = this.getSeries(studyFound.StudyId, dAttrs.SeriesInstanceUID).GetAwaiter().GetResult(); if (series == null) { isNewSeries = true; isNewImage = true; series = buildSeries(dAttrs, studyFound); instance = buildInstance(dAttrs, series, isLinkReceive); } else { instance = this.getInstance(series.SeriesId, dAttrs.SOPInstanceUID).GetAwaiter().GetResult(); if (instance == null) { isNewImage = true; instance = buildInstance(dAttrs, series, isLinkReceive); } else { instance.CalledAE = dAttrs.CalledAE; instance.StudyInstanceUID = dAttrs.StudyInstanceUID; instance.SeriesInstanceUID = dAttrs.SeriesInstanceUID; instance.isEncrypted = false; instance.isLinkedTransmitted = false; instance.isLinkTramitFail = false; instance.isDicomPushed = false; instance.isDecrypted = false; instance.isLinkRecieved = isLinkReceive; } } } return(this.AddNewStudy(studyFound, series, instance, isNewStudy, isNewSeries, isNewImage)); }
private Series buildSeries(DicomRequestAttrs dAttrs, Study study) { return(new Series() { InstanceCount = dAttrs.ImageCount, Modality = dAttrs.Modality, SeriesId = Guid.NewGuid(), SeriesInstanceUID = dAttrs.SeriesInstanceUID, StudyId = study.StudyId }); }
private Study buildStudy(DicomRequestAttrs dAttrs) { return(new Study() { AcquisitionDateTime = dAttrs.AcquisitionDateTime, CalledAE = dAttrs.CalledAE, PatientName = dAttrs.PatientName, Priority = dAttrs.Priority, RecievedTime = dAttrs.RecievedTime, RemoteHostIP = dAttrs.RemoteHostIP, StudyDescription = dAttrs.StudyDescription, StudyId = Guid.NewGuid(), StudyInstanceUID = dAttrs.StudyInstanceUID, SeriesCount = dAttrs.SeriesCount, isEncrypted = false }); }
private Instance buildInstance(DicomRequestAttrs dAttrs, Series series, bool isLinkReceive) { return(new Instance() { InstanceId = Guid.NewGuid(), SeriesId = series.SeriesId, SOPInstanceUID = dAttrs.SOPInstanceUID, CalledAE = dAttrs.CalledAE, StudyInstanceUID = dAttrs.StudyInstanceUID, SeriesInstanceUID = dAttrs.SeriesInstanceUID, isEncrypted = false, isLinkedTransmitted = false, isLinkTramitFail = false, isDicomPushed = false, isDecrypted = false, isLinkRecieved = isLinkReceive }); }
public string GetStoragePath(DicomRequestAttrs dicomAttrs) { return(this._pathFinder.GetStoragePath(dicomAttrs)); }