From ccb7d5edc0604ae281a99b76784a5ed0cc66f1d2 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 12 Jan 2026 13:08:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9HIR=20=E5=8C=BF=E5=90=8D?= =?UTF-8?q?=E5=8C=96=E9=80=BB=E8=BE=912?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/CStoreSCPService.cs | 102 +++++++++++---------- IRC.Core.SCP/appsettings.Test_HIR_SCP.json | 3 +- 2 files changed, 56 insertions(+), 49 deletions(-) diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index 879e0a223..15245847e 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -41,7 +41,7 @@ namespace IRaCIS.Core.SCP.Service public bool IsForwardImageMultiThread { get; set; } - + public bool IsUploadImageAnonymization { get; set; } public List CalledAEList { get; set; } @@ -469,57 +469,63 @@ namespace IRaCIS.Core.SCP.Service #region 匿名化 - - var anonymizeList = await _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_systemAnonymizationRepository), TimeSpan.FromDays(7)); - - - var fixedFiledList = anonymizeList.Where(t => t.IsFixed).ToList(); - - var ircFiledList = anonymizeList.Where(t => t.IsFixed == false).ToList(); - - foreach (var item in fixedFiledList) + if (DicomSCPServiceConfig.IsUploadImageAnonymization) { - var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16)); - dataset.AddOrUpdate(dicomTag, item.ReplaceValue); + var anonymizeList = await _fusionCache.GetOrSetAsync(CacheKeys.SystemAnonymization, _ => CacheHelper.GetSystemAnonymizationListAsync(_systemAnonymizationRepository), TimeSpan.FromDays(7)); + + + var fixedFiledList = anonymizeList.Where(t => t.IsFixed).ToList(); + + var ircFiledList = anonymizeList.Where(t => t.IsFixed == false).ToList(); + + foreach (var item in fixedFiledList) + { + + var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16)); + + dataset.AddOrUpdate(dicomTag, item.ReplaceValue); + } + + foreach (var item in ircFiledList) + { + + var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16)); + + if (dicomTag == DicomTag.ClinicalTrialProtocolID) + { + dataset.AddOrUpdate(DicomTag.ClinicalTrialProtocolID, ""); + + } + if (dicomTag == DicomTag.ClinicalTrialSiteID) + { + dataset.AddOrUpdate(DicomTag.ClinicalTrialSiteID, ""); + + } + + if (dicomTag == DicomTag.ClinicalTrialSubjectID) + { + dataset.AddOrUpdate(DicomTag.ClinicalTrialSubjectID, ""); + + } + if (dicomTag == DicomTag.ClinicalTrialTimePointID) + { + dataset.AddOrUpdate(DicomTag.ClinicalTrialTimePointID, ""); + } + + //if (dicomTag == DicomTag.PatientID) + //{ + // var pid = dataset.GetSingleValueOrDefault(DicomTag.PatientID, string.Empty); + + // dataset.AddOrUpdate(DicomTag.PatientID, trialSiteInfo.TrialCode + "_" + pid); + + //} + + } + } - foreach (var item in ircFiledList) - { - - var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16)); - - if (dicomTag == DicomTag.ClinicalTrialProtocolID) - { - dataset.AddOrUpdate(DicomTag.ClinicalTrialProtocolID, ""); - - } - if (dicomTag == DicomTag.ClinicalTrialSiteID) - { - dataset.AddOrUpdate(DicomTag.ClinicalTrialSiteID, ""); - - } - - if (dicomTag == DicomTag.ClinicalTrialSubjectID) - { - dataset.AddOrUpdate(DicomTag.ClinicalTrialSubjectID, ""); - - } - if (dicomTag == DicomTag.ClinicalTrialTimePointID) - { - dataset.AddOrUpdate(DicomTag.ClinicalTrialTimePointID, ""); - } - - //if (dicomTag == DicomTag.PatientID) - //{ - // var pid = dataset.GetSingleValueOrDefault(DicomTag.PatientID, string.Empty); - - // dataset.AddOrUpdate(DicomTag.PatientID, trialSiteInfo.TrialCode + "_" + pid); - - //} - - } #endregion @@ -877,7 +883,7 @@ namespace IRaCIS.Core.SCP.Service _upload.FileSize = _upload.FileSize + fileSize; } - + Log.Logger.Information($"CallingAE:{Association.CallingAE} CalledAE:{Association.CalledAE} {request.SOPInstanceUID} 上传完成 "); } diff --git a/IRC.Core.SCP/appsettings.Test_HIR_SCP.json b/IRC.Core.SCP/appsettings.Test_HIR_SCP.json index 5dcf97a76..815b2610d 100644 --- a/IRC.Core.SCP/appsettings.Test_HIR_SCP.json +++ b/IRC.Core.SCP/appsettings.Test_HIR_SCP.json @@ -24,9 +24,10 @@ "Hangfire": "Server=106.14.89.110,1435;Database=Test_HIR_Hangfire;User ID=sa;Password=xc@123456;TrustServerCertificate=true" }, "DicomSCPServiceConfig": { + "IsUploadImageAnonymization": false, "IsSupportThirdService": true, "IsForwardImageMultiThread": true, - "MultiThreadCount":10, + "MultiThreadCount": 10, "CalledAEList": [ "HIRAE", "STORESCP"