影响筛选逻辑修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
25efb34f1f
commit
62ed1a408d
|
@ -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; }
|
||||||
|
|
|
@ -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;
|
||||||
|
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)
|
// var dicomTag = new DicomTag(Convert.ToUInt16(item.Group, 16), Convert.ToUInt16(item.Element, 16));
|
||||||
{
|
|
||||||
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode);
|
|
||||||
|
|
||||||
}
|
// if (dicomTag == DicomTag.ClinicalTrialProtocolID)
|
||||||
if (dicomTag == DicomTag.ClinicalTrialSiteID)
|
// {
|
||||||
{
|
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode);
|
||||||
//dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialSiteCode);
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
if (dicomTag == DicomTag.ClinicalTrialSubjectID)
|
// if (dicomTag == DicomTag.ClinicalTrialSiteID)
|
||||||
{
|
// {
|
||||||
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.SubjectCode);
|
// //dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialSiteCode);
|
||||||
|
|
||||||
}
|
// }
|
||||||
if (dicomTag == DicomTag.ClinicalTrialTimePointID)
|
// if (dicomTag == DicomTag.ClinicalTrialSubjectID)
|
||||||
{
|
// {
|
||||||
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.VisitNum.ToString());
|
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.SubjectCode);
|
||||||
|
|
||||||
}
|
// }
|
||||||
if (dicomTag == DicomTag.PatientID)
|
// if (dicomTag == DicomTag.ClinicalTrialTimePointID)
|
||||||
{
|
// {
|
||||||
dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode + "_" + subjectAndVisitInfo.SubjectCode);
|
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.VisitNum.ToString());
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
// if (dicomTag == DicomTag.PatientID)
|
||||||
|
// {
|
||||||
|
// dataset.AddOrUpdate(dicomTag, subjectAndVisitInfo.TrialCode + "_" + subjectAndVisitInfo.SubjectCode);
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
//}
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
|
@ -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; }
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue