Uat_Study
hang 2023-05-30 09:40:38 +08:00
commit c6b7902eca
2 changed files with 10 additions and 9 deletions

View File

@ -1375,7 +1375,7 @@
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetComparedTriggeringSODChange(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
前一访视SOD相比变化量
触发iRECIST访视相比SOD变化量
</summary>
<param name="inDto"></param>
<returns></returns>

View File

@ -1321,16 +1321,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
#endregion
#region 与前一访视SOD相比变化量
#region 与触发iRECIST访视相比SOD变化量
/// <summary>
/// 与前一访视SOD相比变化量
/// 与触发iRECIST访视相比SOD变化量
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<decimal?> GetComparedTriggeringSODChange(ReadingCalculateDto inDto)
{
var lastTaskId = await this.GetLastVisitTaskId(inDto);
var lastSOD = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
var firstChangeTaskId = await this.GetFirstChangeTaskId(inDto);
var firstChangeSOD = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == firstChangeTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
var value = await GetSODData(inDto);
@ -1338,7 +1338,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
return null;
}
return value.NullChange0() - lastSOD;
return value.NullChange0() - firstChangeSOD;
}
#endregion
@ -2076,7 +2076,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes))
);
data.ExixtsOrLessNoLymphTarget = data.ExixtsLymphTarget ||
data.ExixtsOrLessNoLymphTarget = data.ExixtsOrLessNoLymphTarget ||
(
(
@ -2090,7 +2090,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
NewTargetLesionAssessment? result = null;
NewTargetLesionAssessment? result = NewTargetLesionAssessment.ND;
// if所有新靶病灶消失或一直不存在任何新靶病灶
if(data.NotExistsNewTargetLesion||data.AllVanish)
@ -2105,7 +2105,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
result = NewTargetLesionAssessment.iCPD;
}
// else if (上一访视新靶病灶评估为“iCPD”&& (当有“存在”状态的淋巴结新靶病灶||当有“存在”或“太小”状态的非淋巴结新靶病灶))
else if (data.LastTaskNewTargetLesion.EqEnum(NewTargetLesionAssessment.iCPD) && data.ExixtsLymphTarget && data.ExixtsOrLessNoLymphTarget)
else if (data.LastTaskNewTargetLesion.EqEnum(NewTargetLesionAssessment.iCPD) &&( data.ExixtsLymphTarget || data.ExixtsOrLessNoLymphTarget))
{
// 疗效为 iCPD
result = NewTargetLesionAssessment.iCPD;
@ -2827,6 +2827,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
&& (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && x.Answer.EqEnum(NoTargetAssessment.iCR))
|| inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && x.Answer.EqEnum(NoTargetAssessment.iNN))
|| inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && x.Answer.EqEnum(NoTargetAssessment.NE))
|| inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && x.Answer.EqEnum(NoTargetAssessment.ND))
) && (
inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewLesionEvaluation && x.Answer.EqEnum(NewLesionAssessment.ND))