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,30 +1360,37 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
result = TargetAssessment.PD; result = TargetAssessment.PD;
} }
} }
else if (resultData.LowPercentBigger20)
{
result = TargetAssessment.PD;
}
else else
{ {
if (resultData.ExixtsNETargetLesion) if (resultData.LowSod != 0 && resultData.LowPercentBigger20 && resultData.LowChangeBigger5)
{ {
result = TargetAssessment.NE; result = TargetAssessment.PD;
} else }
else
{ {
if (resultData.SODPercentBigger30) if (resultData.ExixtsNETargetLesion)
{ {
if (resultData.LowPercentLess20||resultData.LowChangeLess5) result = TargetAssessment.NE;
}
else
{
if (resultData.SODPercentBigger30)
{ {
result = TargetAssessment.PR; if (resultData.LowPercentLess20 || resultData.LowChangeLess5)
} {
result = TargetAssessment.PR;
}
if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10) if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10)
{ {
result = TargetAssessment.CR; result = TargetAssessment.CR;
}
} }
} }
} }
} }
} }