修改HIR 匿名化逻辑2
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
hang 2026-01-12 13:08:46 +08:00
parent 972b18e4df
commit ccb7d5edc0
2 changed files with 56 additions and 49 deletions

View File

@ -41,7 +41,7 @@ namespace IRaCIS.Core.SCP.Service
public bool IsForwardImageMultiThread { get; set; } public bool IsForwardImageMultiThread { get; set; }
public bool IsUploadImageAnonymization { get; set; }
public List<string> CalledAEList { get; set; } public List<string> CalledAEList { get; set; }
@ -469,57 +469,63 @@ namespace IRaCIS.Core.SCP.Service
#region 匿名化 #region 匿名化
if (DicomSCPServiceConfig.IsUploadImageAnonymization)
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); 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 #endregion
@ -877,7 +883,7 @@ namespace IRaCIS.Core.SCP.Service
_upload.FileSize = _upload.FileSize + fileSize; _upload.FileSize = _upload.FileSize + fileSize;
} }
Log.Logger.Information($"CallingAE:{Association.CallingAE} CalledAE:{Association.CalledAE} {request.SOPInstanceUID} 上传完成 "); Log.Logger.Information($"CallingAE:{Association.CallingAE} CalledAE:{Association.CalledAE} {request.SOPInstanceUID} 上传完成 ");
} }

View File

@ -24,9 +24,10 @@
"Hangfire": "Server=106.14.89.110,1435;Database=Test_HIR_Hangfire;User ID=sa;Password=xc@123456;TrustServerCertificate=true" "Hangfire": "Server=106.14.89.110,1435;Database=Test_HIR_Hangfire;User ID=sa;Password=xc@123456;TrustServerCertificate=true"
}, },
"DicomSCPServiceConfig": { "DicomSCPServiceConfig": {
"IsUploadImageAnonymization": false,
"IsSupportThirdService": true, "IsSupportThirdService": true,
"IsForwardImageMultiThread": true, "IsForwardImageMultiThread": true,
"MultiThreadCount":10, "MultiThreadCount": 10,
"CalledAEList": [ "CalledAEList": [
"HIRAE", "HIRAE",
"STORESCP" "STORESCP"