From 70f682edd6d282470ffa91cf7b7046c55b01dd70 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 19 Dec 2023 14:16:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LuganoCalculateService.cs | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index 1dc18122a..23c189962 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -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; }