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 public class TargetLesionCalculateDto
{ {
/// <summary>
/// 最低SOD
/// </summary>
public decimal LowSod { get; set; }
/// <summary> /// <summary>
/// 是否存在靶病灶 /// 是否存在靶病灶
/// </summary> /// </summary>

View File

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