IRC_NewDev
parent
d2aef5df04
commit
a362d5a977
|
@ -452,6 +452,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
List<ReadingCalculateData> calculateList = new List<ReadingCalculateData>()
|
||||
{
|
||||
|
||||
//垂直径乘积之和(SPD)
|
||||
//new ReadingCalculateData (){QuestionType=QuestionType.sp,GetDecimalNullFun=GetSODData},
|
||||
|
||||
////靶病灶径线之和(SOD)
|
||||
//new ReadingCalculateData (){QuestionType=QuestionType.SOD,GetDecimalNullFun=GetSODData},
|
||||
|
||||
|
@ -1469,6 +1473,31 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
TargetAssessment result = TargetAssessment.SD;
|
||||
|
||||
//1、基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
|
||||
//并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。
|
||||
|
||||
var eqCR = true;
|
||||
//当前访视中,靶病灶的Σ PPD;
|
||||
decimal spd = 0;
|
||||
foreach (var item in rowInfo)
|
||||
{
|
||||
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();
|
||||
|
||||
|
||||
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
|
||||
{
|
||||
// 当前访视淋巴结靶病灶的状态全部变为“消失”
|
||||
eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.Loss));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//基线未选择靶病灶
|
||||
if (rowInfo.Count() == 0)
|
||||
{
|
||||
|
@ -1480,13 +1509,22 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
result = TargetAssessment.PD;
|
||||
}
|
||||
//在排除PD后,有任一靶病灶为NE状态
|
||||
else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
|
||||
else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
|
||||
{
|
||||
result = TargetAssessment.PD;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//1、基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
|
||||
//并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。
|
||||
else if (eqCR)
|
||||
{
|
||||
result = TargetAssessment.CR;
|
||||
}
|
||||
// 1、与基线相比SPD变化的百分比 ≥50%,;
|
||||
// 并且 当前访视没有任何一个状态为“疾病进展”的靶病灶
|
||||
else if (eqCR)
|
||||
{
|
||||
result = TargetAssessment.CR;
|
||||
}
|
||||
|
||||
|
||||
return result.GetEnumInt();
|
||||
|
|
Loading…
Reference in New Issue