靶病灶计算修改

疾病进展计算修改
IRC_NewDev
he 2024-03-08 09:58:47 +08:00
parent c935599fcf
commit f9006be79b
1 changed files with 16 additions and 17 deletions

View File

@ -979,15 +979,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
else if (state == TargetState.DiseaseProgression.GetEnumInt())
{
await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x =>
x.VisitTaskId == inDto.VisitTaskId &&
x.RowIndex == inDto.RowNumber &&
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State &&
x.QuestionId == targetQuestion.Id, x => new ReadingTableQuestionAnswer()
{
Answer = TargetState.Exist.GetEnumInt()
}
);
//await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x =>
// x.VisitTaskId == inDto.VisitTaskId &&
// x.RowIndex == inDto.RowNumber &&
// x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State &&
// x.QuestionId == targetQuestion.Id, x => new ReadingTableQuestionAnswer()
// {
// Answer = TargetState.Exist.GetEnumInt()
// }
// );
}
@ -1022,16 +1022,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// 长径
var majorAxis = (await _readingTableQuestionAnswerRepository.Where(x =>
x.VisitTaskId == inDto.VisitTaskId &&
x.RowIndex == (int)Math.Floor(inDto.RowNumber) &&
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis &&
x.VisitTaskId == inDto.VisitTaskId &&
x.RowIndex >= (int)Math.Floor(inDto.RowNumber) && x.RowIndex < ((int)Math.Floor(inDto.RowNumber) + 1) &&
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis &&
x.QuestionId== targetQuestion.Id
).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
// 短径
var shortAxis = (await _readingTableQuestionAnswerRepository.Where(x =>
x.VisitTaskId == inDto.VisitTaskId &&
x.RowIndex == (int)Math.Floor(inDto.RowNumber) &&
x.RowIndex >= (int)Math.Floor(inDto.RowNumber) && x.RowIndex < ((int)Math.Floor(inDto.RowNumber) + 1) &&
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis &&
x.QuestionId == targetQuestion.Id
).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
@ -2949,7 +2949,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
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));
eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && (x.Answer.EqEnum(TargetState.Loss)|| x.Answer.EqEnum(TargetState.TooSmall)));
}
}
// 1、与基线相比SPD变化的百分比 ≥50%
@ -2998,9 +2998,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
result = TargetAssessment.NE;
}
//当前访视非淋巴结靶病灶全部消失;
//并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。
else if (eqCR)
//当前访视非淋巴结靶病灶全部消失 && (当前访视淋巴结靶病灶的状态全部变为“消失” 或者 "太小"
else if (eqCR)
{
result = TargetAssessment.CR;
}