diff --git a/IRC.Core.SCP/Service/DicomArchiveService.cs b/IRC.Core.SCP/Service/DicomArchiveService.cs index 9a7fec20b..33dc4d612 100644 --- a/IRC.Core.SCP/Service/DicomArchiveService.cs +++ b/IRC.Core.SCP/Service/DicomArchiveService.cs @@ -188,6 +188,11 @@ namespace IRaCIS.Core.SCP.Service findStudy.PatientBirthDate = $"{findStudy.PatientBirthDate[0]}{findStudy.PatientBirthDate[1]}{findStudy.PatientBirthDate[2]}{findStudy.PatientBirthDate[3]}-{findStudy.PatientBirthDate[4]}{findStudy.PatientBirthDate[5]}-{findStudy.PatientBirthDate[6]}{findStudy.PatientBirthDate[7]}"; } } + else + { + findStudy.DicomStudyDate = dataset.GetSingleValueOrDefault(DicomTag.StudyDate, string.Empty); + findStudy.DicomStudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyTime, string.Empty); + } if (findSerice == null) @@ -229,6 +234,11 @@ namespace IRaCIS.Core.SCP.Service ++findStudy.SeriesCount; } + else + { + findSerice.DicomSeriesDate = dataset.GetSingleValueOrDefault(DicomTag.SeriesDate, string.Empty); + findSerice.DicomSeriesTime = dataset.GetSingleValueOrDefault(DicomTag.SeriesTime, string.Empty); + } var transferSyntaxUID = dataset.GetSingleValueOrDefault(DicomTag.TransferSyntaxUID, string.Empty); @@ -250,7 +260,7 @@ namespace IRaCIS.Core.SCP.Service SeriesInstanceUid = findSerice.SeriesInstanceUid, SopInstanceUid = sopInstanceUid, - SOPClassUID= dataset.GetSingleValueOrDefault(DicomTag.SOPClassUID, string.Empty), + SOPClassUID = dataset.GetSingleValueOrDefault(DicomTag.SOPClassUID, string.Empty), MediaStorageSOPClassUID = dataset.GetSingleValueOrDefault(DicomTag.MediaStorageSOPClassUID, string.Empty), TransferSyntaxUID = transferSyntaxUID, MediaStorageSOPInstanceUID = dataset.GetSingleValueOrDefault(DicomTag.MediaStorageSOPInstanceUID, string.Empty), @@ -282,6 +292,14 @@ namespace IRaCIS.Core.SCP.Service ++findStudy.InstanceCount; ++findSerice.InstanceCount; } + else + { + findInstance.SOPClassUID = dataset.GetSingleValueOrDefault(DicomTag.SOPClassUID, string.Empty); + findInstance.MediaStorageSOPClassUID = dataset.GetSingleValueOrDefault(DicomTag.MediaStorageSOPClassUID, string.Empty); + findInstance.TransferSyntaxUID = transferSyntaxUID; + findInstance.MediaStorageSOPInstanceUID = dataset.GetSingleValueOrDefault(DicomTag.MediaStorageSOPInstanceUID, string.Empty); + findInstance.IsEncapsulated = DicomTransferSyntax.Lookup(DicomUID.Parse(dataset.GetSingleValueOrDefault(DicomTag.TransferSyntaxUID, string.Empty))).IsEncapsulated; + } if (isPatientNeedAdd) {