影响筛选逻辑修改
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-06-12 09:13:59 +08:00
parent 25efb34f1f
commit 62ed1a408d
5 changed files with 54 additions and 34 deletions

View File

@ -21,6 +21,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc.DTO
public string TaskName { get; set; }
public bool IsImageFilter { get; set; }
public string CriterionModalitys { get; set; }
public Guid? SourceSubjectVisitId { get; set; }

View File

@ -12,6 +12,7 @@ using Medallion.Threading;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO.Compression;
using System.Linq;
using System.Text;
@ -63,6 +64,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
TrialSiteId = u.Subject.TrialSiteId,
IsImageFilter=u.TrialReadingCriterion.IsImageFilter,
CriterionModalitys= u.TrialReadingCriterion.CriterionModalitys,
SubjectCode = u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code ,
@ -535,50 +538,59 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
if (isAnonymize)
{
//受试者随机阅片,需要匿名化检查时间
DicomFile dicomFile = await DicomFile.OpenAsync(destinationPath, Encoding.Default);
DicomDataset dataset = dicomFile.Dataset;
dataset.AddOrUpdate(DicomTag.StudyDate, string.Empty);
dataset.AddOrUpdate(DicomTag.StudyTime, string.Empty);
DicomDataset dataset = dicomFile.Dataset;
#region 前端已经匿名化不需要做相关tag匿名化
//DicomFile dicomFile = await DicomFile.OpenAsync(destinationPath, Encoding.Default);
foreach (var item in addOrUpdateFixedFieldList)
{
//DicomDataset dataset = dicomFile.Dataset;
var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16));
//foreach (var item in addOrUpdateFixedFieldList)
//{
dataset.AddOrUpdate(dicomTag, item.ReplaceValue);
}
// var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16));
foreach (var item in ircFieldList)
{
// dataset.AddOrUpdate(dicomTag, item.ReplaceValue);
//}
var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16));
//foreach (var item in ircFieldList)
//{
if (dicomTag == DicomTag.ClinicalTrialProtocolID)
{
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode);
// var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16));
}
if (dicomTag == DicomTag.ClinicalTrialSiteID)
{
//dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialSiteCode);
// if (dicomTag == DicomTag.ClinicalTrialProtocolID)
// {
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode);
}
if (dicomTag == DicomTag.ClinicalTrialSubjectID)
{
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.SubjectCode);
// }
// if (dicomTag == DicomTag.ClinicalTrialSiteID)
// {
// //dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialSiteCode);
}
if (dicomTag == DicomTag.ClinicalTrialTimePointID)
{
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.VisitNum.ToString());
// }
// if (dicomTag == DicomTag.ClinicalTrialSubjectID)
// {
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.SubjectCode);
}
if (dicomTag == DicomTag.PatientID)
{
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode + "_" + subjectAndVisitInfo.SubjectCode);
// }
// if (dicomTag == DicomTag.ClinicalTrialTimePointID)
// {
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.VisitNum.ToString());
}
// }
// if (dicomTag == DicomTag.PatientID)
// {
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode + "_" + subjectAndVisitInfo.SubjectCode);
// }
//}
#endregion
}
}
#endregion
}

View File

@ -344,6 +344,8 @@ namespace IRaCIS.Core.Application.Contracts
{
public string TrialModalitys { get; set;}
public bool IsImageFilter { get; set; }
/// <summary>
/// 项目ID
@ -864,6 +866,7 @@ namespace IRaCIS.Core.Application.Contracts
public class SetCriterionReadingInfoInDto
{
public bool IsImageFilter { get; set; }
public string CriterionModalitys { get; set; }
public ReadingImageDownload? ImageDownloadEnum { get; set; }

View File

@ -317,12 +317,12 @@ namespace IRaCIS.Core.Application
#endregion
var trialModalitys = _readingQuestionCriterionTrialRepository.Where(t => t.Id == inDto.TrialReadingCriterionId).Select(t => t.Trial.Modalitys).FirstOrDefault();
//var trialModalitys = _readingQuestionCriterionTrialRepository.Where(t => t.Id == inDto.TrialReadingCriterionId).Select(t => t.Trial.Modalitys).FirstOrDefault();
var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == trialCriterion.ReadingQuestionCriterionSystemId).FirstNotNullAsync();
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
{
CriterionModalitys= trialModalitys,
//CriterionModalitys= trialModalitys,
IsOncologyReading = systemCriterion.IsOncologyReading,
IsSystemSetOncology = systemCriterion.IsOncologyReading,
IseCRFShowInDicomReading = systemCriterion.IseCRFShowInDicomReading,
@ -604,6 +604,7 @@ namespace IRaCIS.Core.Application
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
{
IsImageFilter=inDto.IsImageFilter,
ImageDownloadEnum = inDto.ImageDownloadEnum,
ImageUploadEnum = inDto.ImageUploadEnum,
CriterionModalitys = inDto.CriterionModalitys,
@ -953,7 +954,7 @@ namespace IRaCIS.Core.Application
trialInfo.UpdateTime = DateTime.Now;
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });
//await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(t => t.TrialId == trialConfig.TrialId && t.IsSigned == false, u => new ReadingQuestionCriterionTrial() { CriterionModalitys = trialConfig.Modalitys });
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
}
@ -1039,7 +1040,8 @@ namespace IRaCIS.Core.Application
if (trialConfig.TrialCriterionIds.Contains(item.Id))
{
item.IsConfirm = true;
item.CriterionModalitys = trialInfo.Modalitys;
//item.CriterionModalitys = trialInfo.Modalitys;
}
else
{

View File

@ -279,6 +279,8 @@ namespace IRaCIS.Core.Domain.Models
public ReadingImageDownload? ImageDownloadEnum { get; set; }
public ReadingImageUpload? ImageUploadEnum { get; set; }
public bool IsImageFilter { get; set; }
}
public enum ReadingImageDownload