修改计算

IRC_NewDev
he 2023-12-19 14:16:03 +08:00
parent 5cd4fde48a
commit 70f682edd6
1 changed files with 10 additions and 14 deletions

View File

@ -1970,7 +1970,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//无需标记,自主选择
else
{
result = PET5PSScore.X;
result = PET5PSScore.One;
}
return result.GetEnumInt();
}
@ -2476,7 +2476,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TargetAssessment result = TargetAssessment.SD;
//1、基线非淋巴结靶病灶不存在或者当前访视非淋巴结靶病灶全部消失;
//或者当前访视非淋巴结靶病灶全部消失;
//并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。
var eqCR = true;
@ -2486,7 +2486,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.No)))
{
// 基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
// 或者当前访视非淋巴结靶病灶全部消失;
eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.Loss));
}
spd += (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.PPD).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0();
@ -2497,7 +2497,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
}
// 1、与基线相比SPD变化的百分比 ≥50%
// 并且 当前访视没有任何一个状态为“疾病进展”的靶病灶
var eqPR = false;
if (inDto.IsBaseLine)
@ -2520,7 +2519,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
if (baseLineSPD > 0)
{
eqPR = (presentSPD - baseLineSPD) / baseLineSPD > 0.5m && !tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.Equals(TargetState.DiseaseProgression));
eqPR = (presentSPD - baseLineSPD) / baseLineSPD > 0.5m;
}
}
@ -2536,22 +2535,20 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
result = TargetAssessment.PD;
}
//当前访视没有任何一个状态为“疾病进展”的靶病灶;
//当前访视存在至少一个状态为“不可评估”的靶病灶。
else if (
!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.DiseaseProgression))&&
tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
{
result = TargetAssessment.NE;
}
//1、基线非淋巴结靶病灶不存在或者当前访视非淋巴结靶病灶全部消失;
//当前访视非淋巴结靶病灶全部消失;
//并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。
else if (eqCR)
{
result = TargetAssessment.CR;
}
// 1、与基线相比SPD变化的百分比 ≥50%
// 并且 当前访视没有任何一个状态为“疾病进展”的靶病灶
// 与基线相比SPD变化的百分比 ≥50%
else if (eqPR)
{
result = TargetAssessment.PR;
@ -2593,10 +2590,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
result = NoTargetAssessment.PD;
}
// 1、随访没有任何一个状态为“显著增大”的非靶病灶
// 2、随访存在至少一个状态为“不可评估”的非靶病灶
else if (!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Increase))
&& tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.UnableEvaluate)))
// 随访存在至少一个状态为“不可评估”的非靶病灶
else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.UnableEvaluate)))
{
result = NoTargetAssessment.NE;
}