This commit is contained in:
he
2023-10-18 16:23:30 +08:00
parent e7ec55eb61
commit 91bd2ac69f
2 changed files with 41 additions and 9 deletions
@@ -520,6 +520,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//获取肝脏评估
new ReadingCalculateData (){QuestionType=QuestionType.LiverAssessment,GetStringFun=GetLiverAssessment},
// 骨髓中是否存在局灶性 FDG亲和病灶的证据
new ReadingCalculateData (){QuestionType=QuestionType.EvidenceFocalFDG,GetStringFun=GetEvidenceFocalFDG},
////靶病灶径线之和(SOD
//new ReadingCalculateData (){QuestionType=QuestionType.SOD,GetDecimalNullFun=GetSODData},
@@ -1622,7 +1625,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SPD).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0();
if (baseLineSpd != 0)
{
return (presentSpd - baseLineSpd) / baseLineSpd;
return (presentSpd - baseLineSpd)*100 / baseLineSpd;
}
else
{
@@ -1913,10 +1916,18 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// <returns></returns>
public async Task<string> GetPET5PS(ReadingCalculateDto inDto)
{
if (inDto.IsBaseLine)
//if (inDto.IsBaseLine)
//{
// return SpleenAssessment.Stabilization.GetEnumInt();
//}
if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
{
return SpleenAssessment.Stabilization.GetEnumInt();
return PET5PSScore.NE.GetEnumInt();
}
PET5PSScore result = PET5PSScore.X;
// 最大Suvmax
@@ -1978,6 +1989,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
return SUVChangeVSBaseline.NotEvaluable.GetEnumInt();
}
if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
{
return SUVChangeVSBaseline.NotEvaluable.GetEnumInt();
}
var result = SUVChangeVSBaseline.NotEvaluable;
var baseLineTaskId = await GetBaseLineTaskId(inDto);
@@ -2105,7 +2121,25 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
#endregion
#region FDG亲和病灶的证据
/// <summary>
/// 骨髓中是否存在局灶性 FDG亲和病灶的证据
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<string> GetEvidenceFocalFDG(ReadingCalculateDto inDto)
{
if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
{
return FDGAffinityFociInBM.NE.GetEnumInt();
}
else
{
return inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.EvidenceFocalFDG).Select(x => x.Answer).FirstOrDefault();
}
}
#endregion
#region
/// <summary>