影响筛选逻辑修改
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 string TaskName { get; set; }
public bool IsImageFilter { get; set; }
public string CriterionModalitys { get; set; } public string CriterionModalitys { get; set; }
public Guid? SourceSubjectVisitId { get; set; } public Guid? SourceSubjectVisitId { get; set; }

View File

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

View File

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

View File

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

View File

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