diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 910afcf53..5198fee82 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -4246,6 +4246,13 @@ + + + 获取脂肪肝分级 + + + + 计算平均值 diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs index b7cd58922..543d25cad 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/MRIPDFFCalculateService.cs @@ -498,6 +498,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { // 脂肪平均 new ReadingCalculateData (){QuestionType=QuestionType.TotalMeanFraction,GetStringFun=GetFatFractionAvg}, + + // 脂肪分级 + new ReadingCalculateData (){QuestionType=QuestionType.FattyLiverGrading,GetStringFun=GetFattyLiverGrading}, }; @@ -608,6 +611,33 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } + /// + /// 获取脂肪肝分级 + /// + /// + /// + public async Task GetFattyLiverGrading(ReadingCalculateDto inDto) + { + var answer = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.TotalMeanFraction).Select(x => x.Answer).FirstIsNullReturnEmpty(); + if (answer == "NE" || answer == string.Empty) + { + return FattyLiverClassification.NE.GetEnumInt(); + } + + if (decimal.TryParse(answer, out var value)) + { + return value switch + { + < 5 => FattyLiverClassification.Level0.GetEnumInt(), + < 10 => FattyLiverClassification.Level1.GetEnumInt(), + < 25 => FattyLiverClassification.Level2.GetEnumInt(), + _ => FattyLiverClassification.Level3.GetEnumInt() + }; + } + + return FattyLiverClassification.NE.GetEnumInt(); + } + /// /// 计算平均值 /// diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index 3ff827e07..d7336fbee 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -2309,10 +2309,43 @@ public enum SUVChangeVSBaseline } - /// - /// 影像质量问题 - /// - public enum ImageQualityIssues + /// + /// 脂肪肝分级 + /// + public enum FattyLiverClassification + { + /// + /// NE + /// + NE = 0, + + /// + /// 0级 + /// + Level0=1, + + /// + /// 1级 + /// + Level1=2, + + /// + /// 2级 + /// + Level2=3, + + /// + /// 3级 + /// + Level3=4, + + } + + + /// + /// 影像质量问题 + /// + public enum ImageQualityIssues { /// /// 解剖不完整 @@ -2701,6 +2734,11 @@ public enum SUVChangeVSBaseline /// 脂肪分数总平均值 /// TotalMeanFraction = 1101, + + /// + /// 脂肪肝分级 + /// + FattyLiverGrading = 1102, }