Uat_Study
he 2022-11-02 13:28:25 +08:00
parent 9f92a1e3f7
commit 386c6e6f8f
2 changed files with 34 additions and 14 deletions

View File

@ -19,6 +19,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class TargetLesionCalculateDto
{
/// <summary>
/// 最低SOD
/// </summary>
public decimal LowSod { get; set; }
/// <summary>
/// 是否存在靶病灶
/// </summary>

View File

@ -1106,6 +1106,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var taskIds = taskAnswerList.Select(x => x.VisitTaskId).ToList();
// 排除无法评估
var unableEvaluateTaskIds = await _readingTableQuestionAnswerRepository.Where(x => taskIds.Contains(x.VisitTaskId) &&
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State
&& x.ReadingQuestionTrial.LesionType == LesionType.TargetLesion
@ -1258,6 +1259,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// 是否存在靶病灶
ExistsTargetLesion= tableQuestion.Count()>0,
// 最低SOD
LowSod=(await GetLowSODVisit(inDto)).Select(x=>x.SOD).FirstOrDefault(),
//非淋巴结靶病灶长径之和 decimal
SumOfDiameter = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SumOfDiameter).Sum(x => x.Answer.IsNullOrEmptyReturn0()),
@ -1343,6 +1347,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
if (resultData.LastTargetLesionEvaluate.EqEnum(TargetAssessment.CR))
{
if (resultData.ExixtsNETargetLesion)
{
result = TargetAssessment.NE;
}
if (resultData.CurrenShortBigger10 && resultData.IsAddFive)
{
result = TargetAssessment.PD;
@ -1352,7 +1360,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
result = TargetAssessment.PD;
}
}
else if (resultData.LowPercentBigger20)
else
{
if (resultData.LowSod != 0 && resultData.LowPercentBigger20 && resultData.LowChangeBigger5)
{
result = TargetAssessment.PD;
}
@ -1361,7 +1372,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
if (resultData.ExixtsNETargetLesion)
{
result = TargetAssessment.NE;
} else
}
else
{
if (resultData.SODPercentBigger30)
{
@ -1377,6 +1389,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
}
}
}
}
return result.GetEnumInt();