From 66095bccb1cb9f4e9c91c5163d2c5097197e87eb Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 26 Aug 2025 13:32:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=8B=89=E5=8F=96=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E6=9B=B4=E6=96=B0=E6=A3=80=E6=9F=A5=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/DicomArchiveService.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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) {