diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index eaca7424d..7263e8e18 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -1664,7 +1664,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); if (baseLineSpleenLength - 130 != 0) { - return (presentSpleenLength - 130 - (baseLineSpleenLength - 130)) / (baseLineSpleenLength - 130); + return (presentSpleenLength - 130 - (baseLineSpleenLength - 130))*100 / (baseLineSpleenLength - 130); } else { @@ -2269,6 +2269,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate return ImagingOverallAssessment_Lugano.NA.GetEnumInt(); } + var imageQualityEvaluation = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ImageQualityAssessment&&x.Answer.EqEnum(ImageQualityEvaluation.Abnormal)).FirstOrDefault(); + if (imageQualityEvaluation != null) + { + return ImagingOverallAssessment_Lugano.NE.GetEnumInt(); + } + // CTandMRI var CTandMRIData = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.CTandMRI).Select(x => x.Answer).FirstOrDefault(); @@ -2277,7 +2283,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var baseLineTaskId = await GetBaseLineTaskId(inDto); // lastFDGPET - var lastFDGPETData = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.EvidenceFocalFDG).Select(x => x.Answer).FirstOrDefaultAsync(); + var lastFDGPETData = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.LastFDGPET).Select(x => x.Answer).FirstOrDefault(); List data = new List() { @@ -2295,10 +2301,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate Column3=ReadingCommon.EnumToString(new List() {FDGPETOverallAssessment.PMD, FDGPETOverallAssessment.CMR,FDGPETOverallAssessment.PMR, FDGPETOverallAssessment.NMR, FDGPETOverallAssessment.NE, FDGPETOverallAssessment.NA }), Column4=ReadingCommon.EnumToString(new List() { ImagingOverallAssessment_Lugano.PMDPD }), }, - //ND/PD/CR/NE/PR/SD PMD/CMR/PMR/NMR/NE PMD PMD/PD + //ND/PD/CR/NE/PR/SD NE PMD PMD/PD new CalculationDto(){ Column1=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.ND, CTMRIOverallAssessment.PD,CTMRIOverallAssessment.CR,CTMRIOverallAssessment.NE,CTMRIOverallAssessment.PR,CTMRIOverallAssessment.SD}), - Column2=ReadingCommon.EnumToString(new List() {FDGPETOverallAssessment.PMD, FDGPETOverallAssessment.CMR,FDGPETOverallAssessment.PMR, FDGPETOverallAssessment.NMR, FDGPETOverallAssessment.NE }), + Column2=ReadingCommon.EnumToString(new List() {FDGPETOverallAssessment.NE }), Column3=ReadingCommon.EnumToString(new List() { FDGPETOverallAssessment.PMD, }), Column4=ReadingCommon.EnumToString(new List() { ImagingOverallAssessment_Lugano.PMDPD }), }, @@ -2321,7 +2327,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate new CalculationDto(){ Column1=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.CR,CTMRIOverallAssessment.PR,CTMRIOverallAssessment.SD,CTMRIOverallAssessment.NE,CTMRIOverallAssessment.ND,CTMRIOverallAssessment.PD }), Column2=ReadingCommon.EnumToString(new List() { FDGPETOverallAssessment.CMR }), - Column3=ReadingCommon.EnumToString(new List() { FDGPETOverallAssessment.CMR, FDGPETOverallAssessment.PMR, FDGPETOverallAssessment.NMR, FDGPETOverallAssessment.PMD, FDGPETOverallAssessment.NE, FDGPETOverallAssessment.NA}), + Column3=ReadingCommon.EnumToString(new List() { FDGPETOverallAssessment.CMR,FDGPETOverallAssessment.PMR, FDGPETOverallAssessment.NMR, FDGPETOverallAssessment.PMD, FDGPETOverallAssessment.NE, FDGPETOverallAssessment.NA }), Column4=ReadingCommon.EnumToString(new List() { ImagingOverallAssessment_Lugano.CMRCR }), }, //CR NE NE/NA CMR/CR