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

View File

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