diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 1df159e43..b144be19e 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -301,7 +301,7 @@ namespace IRaCIS.Application.Services var readingId = await _readingClinicalDataRepository.Where(x => x.Id == inDto.ReadingClinicalDataId).Select(x => x.ReadingId).FirstOrDefaultAsync(); - await this.iServiceProvider.GetService().AddOncologyTask(readingId); + //await this.iServiceProvider.GetService().AddOncologyTask(readingId); await DealVisiTaskClinicalDataSignedAsync(data.TrialId, data.SubjectId, data.ReadingId, data.IsVisit, inDto.TrialReadingCriterionId); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index c281fcdc8..9008dd605 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -909,13 +909,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (stateQuestion != null) { - // 找到主病灶的状态 - var state = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == (int)Math.Floor(inDto.RowNumber) && x.TableQuestionId == stateQuestion.Id).Select(x => x.Answer).FirstOrDefaultAsync(); + //// 找到主病灶的状态 + //var state = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == (int)Math.Floor(inDto.RowNumber) && x.TableQuestionId == stateQuestion.Id).Select(x => x.Answer).FirstOrDefaultAsync(); // 长径 var majorAxis = (await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && - x.RowIndex == (int)Math.Floor(inDto.RowNumber) && + x.RowIndex == inDto.RowNumber && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis && x.QuestionId == targetQuestion.Id ).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); @@ -923,7 +923,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 短径 var shortAxis = (await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && - x.RowIndex == (int)Math.Floor(inDto.RowNumber) && + x.RowIndex == inDto.RowNumber && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis && x.QuestionId == targetQuestion.Id ).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); @@ -946,7 +946,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var lowPPDInfo = await GetLowPPDInfo(new GetPPDInfoInDto() { - RowIndex = (int)Math.Floor(inDto.RowNumber), + RowIndex = inDto.RowNumber, VisitTaskId = inDto.VisitTaskId, QuestionId = inDto.QuestionId, }); @@ -977,18 +977,18 @@ 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() - } - ); - } + //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() + // // } + // // ); + //} } @@ -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; }