diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index eb96e4bd7..9ea1eec57 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -476,6 +476,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 脾肿垂直径最低点访视 new ReadingCalculateData (){QuestionType=QuestionType.LowestSplenoncusVisit,GetStringFun=GetLowestSplenoncusVisit}, + + new ReadingCalculateData (){QuestionType=QuestionType.SplenicEvaluation,GetStringFun=GetLowestSplenoncusVisit}, + ////靶病灶径线之和(SOD) //new ReadingCalculateData (){QuestionType=QuestionType.SOD,GetDecimalNullFun=GetSODData}, @@ -1542,9 +1545,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { return 0; } - var baseLineTaskId = await GetBaseLineTaskId(inDto); + - var baseLineSpleenLength = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); + var baseLineSpleenLength = await GetBaseLineSpleenLength(inDto); var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); if (baseLineSpleenLength - 130 != 0) @@ -1597,14 +1600,56 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate return string.Empty; } - + var lowSplenoncus = taskAnswer.OrderBy(x => x.SpleenLength).FirstOrDefault(); - return lowSplenoncus.VisitTaskNum; + return lowSplenoncus.BlindName; } #endregion + #region 获取脾脏评估 + + ///// + ///// 获取脾脏评估 + ///// + ///// + ///// + //public async Task GetSplenicEvaluation(ReadingCalculateDto inDto) + //{ + // if (inDto.IsBaseLine) + // { + // return SpleenAssessment.Stabilization.GetEnumInt(); + // } + + + + + // var baseLineSpleenLength =await GetBaseLineSpleenLength(inDto); + + // // 1、基线 垂直径> 130 mm + // //2、与基线相比脾垂直径变化值≥10 mm + // //与基线相比脾肿大增加的百分比 > 50% + //} + #endregion + + #region 获取基线脾脏长度 + /// + /// 获取基线脾脏长度 + /// + /// + /// + public async Task GetBaseLineSpleenLength(ReadingCalculateDto inDto) + { + var baseLineTaskId = await GetBaseLineTaskId(inDto); + + var baseLineSpleenLength = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); + return baseLineSpleenLength; + } + + + #endregion + #region 与最低点相比脾脏垂直径长度的增加值 /// /// 与最低点相比脾脏垂直径长度的增加值