Uat_Study
parent
ee7e6d4541
commit
8e29769df4
|
@ -94,6 +94,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool CurrenShortBigger10 { get; set; }
|
public bool CurrenShortBigger10 { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 淋巴结非靶病灶状态全部为消失
|
||||||
|
/// </summary>
|
||||||
|
public bool NonTargetStateIsLoss { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 该淋巴结靶病灶短径绝对增加值≥5 mm
|
/// 该淋巴结靶病灶短径绝对增加值≥5 mm
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -99,6 +99,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单位
|
/// 单位
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -299,6 +299,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueUnit? Unit { get; set; }
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据来源
|
/// 数据来源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -834,6 +839,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueUnit? Unit { get; set; }
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1553,6 +1563,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueUnit? Unit { get; set; }
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -431,6 +431,8 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||||
|
|
||||||
|
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskinfo.TrialReadingCriterionId).FirstNotNullAsync();
|
||||||
|
|
||||||
//if (taskinfo.TaskState != TaskState.Effect)
|
//if (taskinfo.TaskState != TaskState.Effect)
|
||||||
//{
|
//{
|
||||||
// throw new BusinessValidationFailedException($"当前任务已失效!");
|
// throw new BusinessValidationFailedException($"当前任务已失效!");
|
||||||
|
@ -448,8 +450,14 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
#region 获取问题及答案
|
#region 获取问题及答案
|
||||||
|
|
||||||
var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId)
|
var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||||
.ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider).Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToListAsync();
|
|
||||||
|
if (!criterionInfo.IseCRFShowInDicomReading)
|
||||||
|
{
|
||||||
|
qusetionList= qusetionList.Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var usedGurops = qusetionList.Where(x => x.Type == ReadingQestionType.Table).Select(x => x.GroupName).ToList();
|
var usedGurops = qusetionList.Where(x => x.Type == ReadingQestionType.Table).Select(x => x.GroupName).ToList();
|
||||||
qusetionList = qusetionList.Where(x => usedGurops.Contains(x.GroupName)).ToList();
|
qusetionList = qusetionList.Where(x => usedGurops.Contains(x.GroupName)).ToList();
|
||||||
|
|
|
@ -150,6 +150,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
QuestionName = x.QuestionName,
|
QuestionName = x.QuestionName,
|
||||||
ShowOrder = x.ShowOrder,
|
ShowOrder = x.ShowOrder,
|
||||||
ValueType = x.ValueType,
|
ValueType = x.ValueType,
|
||||||
|
CustomUnit=x.CustomUnit,
|
||||||
Unit = x.Unit,
|
Unit = x.Unit,
|
||||||
ReportLayType=ReportLayType.Group,
|
ReportLayType=ReportLayType.Group,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
@ -174,6 +175,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
OrderMark = x.OrderMark,
|
OrderMark = x.OrderMark,
|
||||||
ValueType = x.ValueType,
|
ValueType = x.ValueType,
|
||||||
Unit = x.Unit,
|
Unit = x.Unit,
|
||||||
|
CustomUnit=x.Unit,
|
||||||
ReportLayType = ReportLayType.Question,
|
ReportLayType = ReportLayType.Question,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
ShowOrder = x.ShowOrder,
|
ShowOrder = x.ShowOrder,
|
||||||
ValueType = x.ValueType,
|
ValueType = x.ValueType,
|
||||||
Unit = x.Unit,
|
Unit = x.Unit,
|
||||||
|
CustomUnit=x.CustomUnit,
|
||||||
ReportLayType= ReportLayType.Group,
|
ReportLayType= ReportLayType.Group,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
@ -150,6 +151,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
OrderMark = x.OrderMark,
|
OrderMark = x.OrderMark,
|
||||||
ValueType = x.ValueType,
|
ValueType = x.ValueType,
|
||||||
Unit = x.Unit,
|
Unit = x.Unit,
|
||||||
|
CustomUnit=x.CustomUnit,
|
||||||
ReportLayType = ReportLayType.Question,
|
ReportLayType = ReportLayType.Question,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
@ -1347,11 +1349,23 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
// 至少一个淋巴结靶病灶短径≥10 mm
|
// 至少一个淋巴结靶病灶短径≥10 mm
|
||||||
CurrenShortBigger10 = true,
|
CurrenShortBigger10 = true,
|
||||||
|
|
||||||
|
//淋巴结非靶病灶状态全部为消失
|
||||||
|
NonTargetStateIsLoss = true,
|
||||||
|
|
||||||
// 该淋巴结靶病灶短径绝对增加值≥5 mm
|
// 该淋巴结靶病灶短径绝对增加值≥5 mm
|
||||||
IsAddFive = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.IsAddFive && x.Answer.EqEnum(YesOrNoOrNa.Yes)).Count() > 0,
|
IsAddFive = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.IsAddFive && x.Answer.EqEnum(YesOrNoOrNa.Yes)).Count() > 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var nonTargetTableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NonTargetLesions).SelectMany(x => x.TableRowInfoList).ToList();
|
||||||
|
|
||||||
|
foreach (var item in nonTargetTableQuestion)
|
||||||
|
{
|
||||||
|
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
|
||||||
|
{
|
||||||
|
// 淋巴结非靶病灶状态全部为消失
|
||||||
|
resultData.NonTargetStateIsLoss = item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x => x.Answer).FirstOrDefault()== NoTargetState.Loss.GetEnumInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach (var item in tableQuestion)
|
foreach (var item in tableQuestion)
|
||||||
|
@ -1361,8 +1375,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
// 淋巴结的短径
|
// 淋巴结的短径
|
||||||
resultData.DiameterLessThan10 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() < 10;
|
resultData.DiameterLessThan10 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() < 10;
|
||||||
|
|
||||||
// 至少一个淋巴结靶病灶短径≥10 mm
|
|
||||||
resultData.CurrenShortBigger10 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() >= 10;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && !x.Answer.EqEnum(YesOrNoOrNa.Yes)))
|
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && !x.Answer.EqEnum(YesOrNoOrNa.Yes)))
|
||||||
|
@ -1426,7 +1439,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
result = TargetAssessment.PR;
|
result = TargetAssessment.PR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10)
|
if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10&&resultData.NonTargetStateIsLoss)
|
||||||
{
|
{
|
||||||
result = TargetAssessment.CR;
|
result = TargetAssessment.CR;
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,6 +128,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
ShowOrder = x.ShowOrder,
|
ShowOrder = x.ShowOrder,
|
||||||
ValueType = x.ValueType,
|
ValueType = x.ValueType,
|
||||||
Unit = x.Unit,
|
Unit = x.Unit,
|
||||||
|
CustomUnit=x.CustomUnit,
|
||||||
ReportLayType = ReportLayType.Group,
|
ReportLayType = ReportLayType.Group,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
@ -150,6 +151,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
OrderMark = x.OrderMark,
|
OrderMark = x.OrderMark,
|
||||||
ValueType = x.ValueType,
|
ValueType = x.ValueType,
|
||||||
Unit = x.Unit,
|
Unit = x.Unit,
|
||||||
|
CustomUnit=x.CustomUnit,
|
||||||
ReportLayType = ReportLayType.Question,
|
ReportLayType = ReportLayType.Question,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
|
@ -555,6 +555,16 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TypeValue { get; set; }
|
public string TypeValue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 单位
|
||||||
|
/// </summary>
|
||||||
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否启用
|
/// 是否启用
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -723,6 +733,11 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? DigitPlaces { get; set; }
|
public int? DigitPlaces { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// eCRF报告是否显示在图像页面
|
||||||
|
/// </summary>
|
||||||
|
public bool IseCRFShowInDicomReading { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
public bool IsFromSystem { get; set; } = false;
|
public bool IsFromSystem { get; set; } = false;
|
||||||
|
|
||||||
|
@ -895,6 +910,11 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid TrialReadingCriterionId { get; set; }
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// eCRF报告是否显示在图像页面
|
||||||
|
/// </summary>
|
||||||
|
public bool IseCRFShowInDicomReading { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string GlobalUpdateType { get; set; } = string.Empty;
|
public string GlobalUpdateType { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
|
@ -386,15 +386,14 @@ namespace IRaCIS.Core.Application
|
||||||
result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo<ReadingCriterionPageDto>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
|
result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo<ReadingCriterionPageDto>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
|
||||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id==inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id==inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||||
result.ReadingInfoSignTime = trialCriterion.ReadingInfoSignTime;
|
result.ReadingInfoSignTime = trialCriterion.ReadingInfoSignTime;
|
||||||
if (trialCriterion != null)
|
|
||||||
{
|
|
||||||
result.DigitPlaces = trialCriterion.DigitPlaces;
|
result.DigitPlaces = trialCriterion.DigitPlaces;
|
||||||
result.TrialCriterionId = trialCriterion.Id;
|
result.TrialCriterionId = trialCriterion.Id;
|
||||||
result.FormType = trialCriterion.FormType;
|
result.FormType = trialCriterion.FormType;
|
||||||
result.IsFromSystem = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
result.IsFromSystem = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
||||||
result.IsMustGlobalReading = trialCriterion.IsMustGlobalReading;
|
result.IsMustGlobalReading = trialCriterion.IsMustGlobalReading;
|
||||||
result.IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
result.IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
||||||
};
|
|
||||||
|
|
||||||
result.TrialQuestionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrial.IsConfirm && x.TrialId == inDto.TrialId&&x.ReadingQuestionCriterionTrialId == result.TrialCriterionId
|
result.TrialQuestionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrial.IsConfirm && x.TrialId == inDto.TrialId&&x.ReadingQuestionCriterionTrialId == result.TrialCriterionId
|
||||||
&&x.ReadingCriterionPageId==null)
|
&&x.ReadingCriterionPageId==null)
|
||||||
|
@ -466,6 +465,7 @@ namespace IRaCIS.Core.Application
|
||||||
IsReadingShowPreviousResults = inDto.IsReadingShowPreviousResults,
|
IsReadingShowPreviousResults = inDto.IsReadingShowPreviousResults,
|
||||||
GlobalUpdateType=inDto.GlobalUpdateType,
|
GlobalUpdateType=inDto.GlobalUpdateType,
|
||||||
ImagePlatform=inDto.ImagePlatform,
|
ImagePlatform=inDto.ImagePlatform,
|
||||||
|
IseCRFShowInDicomReading=inDto.IseCRFShowInDicomReading,
|
||||||
ArbitrationRule= arbitration,
|
ArbitrationRule= arbitration,
|
||||||
ReadingType = inDto.ReadingType,
|
ReadingType = inDto.ReadingType,
|
||||||
IsGlobalReading = inDto.IsGlobalReading,
|
IsGlobalReading = inDto.IsGlobalReading,
|
||||||
|
|
|
@ -101,7 +101,17 @@ namespace IRaCIS.Core.Domain.Share
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CM
|
/// CM
|
||||||
/// </summary>
|
/// </summary>
|
||||||
CM = 2
|
CM = 2,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 个
|
||||||
|
/// </summary>
|
||||||
|
Individual = 3,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义
|
||||||
|
/// </summary>
|
||||||
|
Custom = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -115,6 +115,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public CriterionType CriterionType { get; set; }
|
public CriterionType CriterionType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// eCRF报告是否显示在图像页面
|
||||||
|
/// </summary>
|
||||||
|
public bool IseCRFShowInDicomReading { get; set; } = false;
|
||||||
|
|
||||||
#region 阅片单元配置 新加
|
#region 阅片单元配置 新加
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -193,6 +193,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueUnit? Unit { get; set; }
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
|
|
|
@ -152,6 +152,11 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueUnit? Unit { get; set; }
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 自定义单位
|
||||||
|
/// </summary>
|
||||||
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue