靶病灶计算修改

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