Uat_Study
parent
9e2d1289c9
commit
57c860a643
|
@ -281,6 +281,11 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
/// 上一次任务的新病灶评估为iCPD
|
||||
/// </summary>
|
||||
public bool LastTaskNewLesioniCPD { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 存在触发iRECIST后新病灶
|
||||
/// </summary>
|
||||
public bool ExistxIRECISTNewLesion { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -2352,13 +2352,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
//上一次任务的新病灶评估为iCPD
|
||||
LastTaskNewLesioniCPD = lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewLesionEvaluation && x.Answer.EqEnum(NewLesionAssessment.iCPD)),
|
||||
|
||||
// 存在触发iRECIST后新病灶
|
||||
ExistxIRECISTNewLesion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TriggeringIRECSIT).SelectMany(x => x.TableRowInfoList).SelectMany(x=>x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITState.Exist)),
|
||||
};
|
||||
|
||||
// if(新靶病灶为ND&&新非靶病灶为ND&&其它既往新病灶为ND&&不存在触发iRECIST后新病灶)
|
||||
if(inDto.QuestionInfo.Any(x=>x.QuestionType==QuestionType.NewTargetLesion&&x.Answer.EqEnum(NewTargetLesionAssessment.ND))
|
||||
&& inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewNoTargetLesion && x.Answer.EqEnum(NewNoTargetLesionAssessment.ND))
|
||||
&& inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.OtherNewTargetLesion && x.Answer.EqEnum(OtherPreviousNewLesionAssessment.ND))
|
||||
&& inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TriggeringIRECSIT).SelectMany(x => x.TableRowInfoList).Count()==0)
|
||||
&& !data.ExistxIRECISTNewLesion)
|
||||
{
|
||||
// 疗效为 ND
|
||||
result = NewLesionAssessment.ND;
|
||||
|
@ -2372,10 +2375,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
}
|
||||
// else if (前一访视新病灶评估为iCPD && (新靶病灶有存在病灶 || 新非靶病灶有存在状态病灶 || 其它既往新病灶有存在的病灶 || 触发iRECIST后新病灶有存在病灶))
|
||||
else if(data.LastTaskNewLesioniCPD &&
|
||||
(inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewTargetLesion).SelectMany(x => x.TableRowInfoList).Count() > 0
|
||||
|| inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewNonTargetLesion).SelectMany(x => x.TableRowInfoList).Count() > 0
|
||||
|| inDto.QuestionInfo.Where(x => x.LesionType == LesionType.OtherPreviousNewLesion).SelectMany(x => x.TableRowInfoList).Count() > 0
|
||||
|| inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TriggeringIRECSIT).SelectMany(x => x.TableRowInfoList).Count() > 0
|
||||
(inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewTargetLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist))
|
||||
|| inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewNonTargetLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.Exist))
|
||||
|| inDto.QuestionInfo.Where(x => x.LesionType == LesionType.OtherPreviousNewLesion).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(OtherPreviousNewLesionState.Exist))
|
||||
|| data.ExistxIRECISTNewLesion
|
||||
)
|
||||
)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue