Uat_Study
he 2022-09-08 17:45:33 +08:00
parent abca2d730c
commit 946b5ab961
4 changed files with 223 additions and 97 deletions

View File

@ -1225,6 +1225,106 @@
排序字段 排序字段
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.SumOfDiameter">
<summary>
非淋巴结靶病灶长径之和 decimal
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.DiameterLessThan10">
<summary>
所有淋巴结靶病灶的短径小于10mm
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.SODPercentBigger30">
<summary>
SOD 百分比与基线期SOD相比减小≥30%
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.SODPercentLess30">
<summary>
SOD 百分比 与基线期SOD相比减小30%
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.LowPercentLess20">
<summary>
SOD 百分比 整体访视期间最低点SOD相比增加
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.LowPercentBigger20">
<summary>
SOD 百分比 比整体访视期间最低点SOD增加≥20%
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.LowChangeLess5">
<summary>
SOD 变化值 比整体访视期间最低点SOD绝对增加值5 mm
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.LowChangeBigger5">
<summary>
比整体访视期间最低点SOD绝对增加值≥5 mm
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.ExixtsNETargetLesion">
<summary>
被评估为NE的单个靶病灶 是否存在状态为不可评估的靶病灶
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.LastTargetLesionEvaluate">
<summary>
上次访视点整体肿瘤评估
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.CurrentMajoreBigger0">
<summary>
当前访视点非淋巴结病灶长径>0
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.CurrenShortBigger10">
<summary>
至少一个淋巴结靶病灶短径≥10 mm
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TargetLesionCalculateDto.IsAddFive">
<summary>
该淋巴结靶病灶短径绝对增加值≥5 mm
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto">
<summary>
阅片计算Dto
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionInfo.Answer">
<summary>
答案
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionInfo.QuesionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.QuestionInfo.LesionType">
<summary>
病灶类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TableQuestionInfo.Answer">
<summary>
答案
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TableQuestionInfo.TableQuestionId">
<summary>
问题Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TableQuestionInfo.QuestionMark">
<summary>
问题标识
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataDto.TrialId"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingClinicalDataDto.TrialId">
<summary> <summary>
项目ID 项目ID
@ -3610,7 +3710,7 @@
阅片计算 阅片计算
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.CalculateTask(IRaCIS.Core.Application.ViewModel.CalculateTaskInDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.CalculateTask(IRaCIS.Core.Application.Service.Reading.Dto.CalculateTaskInDto)">
<summary> <summary>
计算任务 计算任务
</summary> </summary>
@ -3631,14 +3731,14 @@
<param name="visitTaskId"></param> <param name="visitTaskId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ReadingCalculate(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ReadingCalculate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
自动计算 自动计算
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODData(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODData(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取SOD 获取SOD
</summary> </summary>
@ -3648,28 +3748,28 @@
</remarks> </remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSumOfDiameter(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSumOfDiameter(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
非淋巴结靶病灶长径之和 非淋巴结靶病灶长径之和
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODChange(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODChange(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
与基线SOD相比变化量mm 与基线SOD相比变化量mm
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODPercent(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODPercent(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
与整个访视期间最低点相比增加的百分比 与整个访视期间最低点相比增加的百分比
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLowestIncrease(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLowestIncrease(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
与整个访视期间最低点相比增加的值mm 与整个访视期间最低点相比增加的值mm
</summary> </summary>
@ -3679,7 +3779,7 @@
</remarks> </remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLowPercent(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLowPercent(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
与整个访视期间最低点相比增加的百分比 与整个访视期间最低点相比增加的百分比
</summary> </summary>
@ -3689,7 +3789,7 @@
</remarks> </remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLowVisit(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLowVisit(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
整个访视期间最低点访视名称 整个访视期间最低点访视名称
</summary> </summary>
@ -3699,35 +3799,35 @@
</remarks> </remarks>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetIsLymphTarget(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetIsLymphTarget(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
是否存在非淋巴结靶病灶 是否存在非淋巴结靶病灶
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetIsAddFive(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetIsAddFive(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
是否存在淋巴结靶病灶且该病灶比上一访视短径增加5MM以上 是否存在淋巴结靶病灶且该病灶比上一访视短径增加5MM以上
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetNETarget(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetNETarget(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
被评估为NE的单个靶病灶 被评估为NE的单个靶病灶
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetTumor(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetTumor(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
整体肿瘤评估 整体肿瘤评估
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ChangeAllLowestIncrease(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto,System.Guid)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ChangeAllLowestIncrease(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto,System.Guid)">
<summary> <summary>
修改与整个访视期间最低点相比增加的值mm 修改与整个访视期间最低点相比增加的值mm
</summary> </summary>
@ -3735,7 +3835,7 @@
<param name="questionId"></param> <param name="questionId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ChangeAllLowPercent(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto,System.Guid)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ChangeAllLowPercent(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto,System.Guid)">
<summary> <summary>
修改整个访视期间最低点相比增加的百分比 修改整个访视期间最低点相比增加的百分比
</summary> </summary>
@ -3752,41 +3852,41 @@
<param name="answer"></param> <param name="answer"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetBaseLineSOD(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetBaseLineSOD(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取基线SOD 获取基线SOD
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetVisitTaskAnswerList(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetVisitTaskAnswerList(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取访视任务信息 获取访视任务信息
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLastVisitTaskId(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetLastVisitTaskId(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取上一个访视任务Id 获取上一个访视任务Id
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取靶病灶评估 获取靶病灶评估
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取非靶病灶评估 获取非靶病灶评估
</summary> </summary>
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetNewLesionEvaluate(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetNewLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary> <summary>
获取新病灶评估 获取新病灶评估
</summary> </summary>
@ -4422,41 +4522,6 @@
标准 病灶类型 标准 病灶类型
</summary> </summary>
</member> </member>
<member name="T:IRaCIS.Core.Application.ViewModel.ReadingCalculateDto">
<summary>
阅片计算Dto
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.QuestionInfo.Answer">
<summary>
答案
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.QuestionInfo.QuesionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.QuestionInfo.LesionType">
<summary>
病灶类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.TableQuestionInfo.Answer">
<summary>
答案
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.TableQuestionInfo.TableQuestionId">
<summary>
问题Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.TableQuestionInfo.QuestionMark">
<summary>
问题标识
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.Type"> <member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.Type">
<summary> <summary>
类型 类型

View File

@ -6,7 +6,7 @@
using System; using System;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using System.Collections.Generic; using System.Collections.Generic;
namespace IRaCIS.Core.Application.ViewModel namespace IRaCIS.Core.Application.Service.Reading.Dto
{ {
public class CalculateTaskInDto public class CalculateTaskInDto
@ -16,6 +16,75 @@ namespace IRaCIS.Core.Application.ViewModel
public bool IsChangeOtherTask { get; set; } public bool IsChangeOtherTask { get; set; }
} }
public class TargetLesionCalculateDto
{
/// <summary>
/// 非淋巴结靶病灶长径之和 decimal
/// </summary>
public decimal SumOfDiameter { get; set; }
/// <summary>
/// 所有淋巴结靶病灶的短径小于10mm
/// </summary>
public bool DiameterLessThan10 { get; set; }
/// <summary>
/// SOD 百分比与基线期SOD相比减小≥30%
/// </summary>
public bool SODPercentBigger30 { get; set; }
/// <summary>
/// SOD 百分比 与基线期SOD相比减小30%
/// </summary>
public bool SODPercentLess30 { get; set; }
/// <summary>
/// SOD 百分比 整体访视期间最低点SOD相比增加
/// </summary>
public bool LowPercentLess20 { get; set; }
/// <summary>
/// SOD 百分比 比整体访视期间最低点SOD增加≥20%
/// </summary>
public bool LowPercentBigger20 { get; set; }
/// <summary>
/// SOD 变化值 比整体访视期间最低点SOD绝对增加值5 mm
/// </summary>
public bool LowChangeLess5 { get; set; }
/// <summary>
/// 比整体访视期间最低点SOD绝对增加值≥5 mm
/// </summary>
public bool LowChangeBigger5 { get; set; }
/// <summary>
/// 被评估为NE的单个靶病灶 是否存在状态为不可评估的靶病灶
/// </summary>
public bool ExixtsNETargetLesion { get; set; }
/// <summary>
/// 上次访视点整体肿瘤评估
/// </summary>
public string LastTargetLesionEvaluate { get; set; }
/// <summary>
/// 当前访视点非淋巴结病灶长径>0
/// </summary>
public bool CurrentMajoreBigger0 { get; set; }
/// <summary>
/// 至少一个淋巴结靶病灶短径≥10 mm
/// </summary>
public bool CurrenShortBigger10 { get; set; }
/// <summary>
/// 该淋巴结靶病灶短径绝对增加值≥5 mm
/// </summary>
public bool IsAddFive { get; set; }
}
/// <summary> /// <summary>
/// 阅片计算Dto /// 阅片计算Dto
/// </summary> /// </summary>

View File

@ -889,6 +889,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
} }
public class VerifyVisitTaskDto
{
public QuestionType QuestionType { get; set; }
public Func<ReadingCalculateDto, Task<string>> Fun { get; set; }
}
public class VerifyVisitTaskQuestionsOutDto public class VerifyVisitTaskQuestionsOutDto
{ {
public bool IsVerified { get; set; } public bool IsVerified { get; set; }

View File

@ -90,41 +90,26 @@ namespace IRaCIS.Core.Application.Service
ErrorMessage=string.Empty, ErrorMessage=string.Empty,
}; };
foreach (var item in data.QuestionInfo.Where(x => x.QuestionType != null)) List<VerifyVisitTaskDto> types = new List<VerifyVisitTaskDto>() {
{ new VerifyVisitTaskDto (){ QuestionType=QuestionType.TargetLesion,Fun=this.GetTargetLesionEvaluate },
switch (item.QuestionType) new VerifyVisitTaskDto (){ QuestionType=QuestionType.NoTargetLesion,Fun=this.GetNoTargetLesionEvaluate },
{ new VerifyVisitTaskDto (){ QuestionType=QuestionType.NewLesions,Fun=this.GetNewLesionEvaluate }
case QuestionType.TargetLesion: };
var targetLesionAnswer = await GetTargetLesionEvaluate(data);
if (item.Answer != targetLesionAnswer)
{
result.IsVerified = false;
var msg = $"问题【{item.QuesionName}】的答案为【{item.Answer}】但是计算答案为【{targetLesionAnswer}】";
result.ErrorMessage += result.ErrorMessage == string.Empty ? msg : "," + msg;
}
break;
case QuestionType.NoTargetLesion: foreach (var type in types)
var noTargetLesionAnswer = await GetNoTargetLesionEvaluate(data); {
if (item.Answer != noTargetLesionAnswer) var question=data.QuestionInfo.Where(x => x.QuestionType == type.QuestionType).FirstOrDefault();
if (question != null)
{
var calculateAnswer = await type.Fun(data);
if (question.Answer != calculateAnswer)
{ {
result.IsVerified = false; result.IsVerified = false;
var msg = $"问题【{item.QuesionName}】的答案为【{item.Answer}】但是计算答案为【{noTargetLesionAnswer}】"; var msg = $"问题【{question.QuesionName}】的答案为【{question.Answer}】但是计算答案为【{calculateAnswer}】";
result.ErrorMessage += result.ErrorMessage == string.Empty ? msg : "," + msg; result.ErrorMessage += result.ErrorMessage == string.Empty ? msg : "," + msg;
} }
break;
case QuestionType.NewLesions:
var newTargetLesionAnswer = await GetNewLesionEvaluate(data);
if (item.Answer != newTargetLesionAnswer)
{
result.IsVerified = false;
var msg = $"问题【{item.QuesionName}】的答案为【{item.Answer}】但是计算答案为【{newTargetLesionAnswer}】";
result.ErrorMessage += result.ErrorMessage == string.Empty ? msg : "," + msg;
}
break;
} }
} }
return result; return result;
} }
@ -798,18 +783,18 @@ namespace IRaCIS.Core.Application.Service
public async Task<string> GetTargetLesionEvaluate(ReadingCalculateDto inDto) public async Task<string> GetTargetLesionEvaluate(ReadingCalculateDto inDto)
{ {
var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).SelectMany(x => x.TableRowInfoList).ToList(); var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).SelectMany(x => x.TableRowInfoList).ToList();
dynamic resultData = new TargetLesionCalculateDto resultData = new TargetLesionCalculateDto()
{ {
//非淋巴结靶病灶长径之和 //非淋巴结靶病灶长径之和 decimal
SumOfDiameter = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SumOfDiameter).Sum(x => x.Answer.IsNullOrEmptyReturn0()), SumOfDiameter = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SumOfDiameter).Sum(x => x.Answer.IsNullOrEmptyReturn0()),
//所有淋巴结靶病灶的短径小于10mm //所有淋巴结靶病灶的短径小于10mm bool
DiameterLessThan10 = true, DiameterLessThan10 = true,
// SOD 百分比与基线期SOD相比减小≥30% // SOD 百分比与基线期SOD相比减小≥30% bool
SODPercentBigger30 = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SODPercent).Sum(x => x.Answer.IsNullOrEmptyReturn0()) >= (decimal)0.3, SODPercentBigger30 = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SODPercent).Sum(x => x.Answer.IsNullOrEmptyReturn0()) >= (decimal)0.3,
// SOD 百分比 与基线期SOD相比减小30% // SOD 百分比 与基线期SOD相比减小30% bool
SODPercentLess30 = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SODPercent).Sum(x => x.Answer.IsNullOrEmptyReturn0()) < (decimal)0.3, SODPercentLess30 = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SODPercent).Sum(x => x.Answer.IsNullOrEmptyReturn0()) < (decimal)0.3,
// SOD 百分比 整体访视期间最低点SOD相比增加20% // SOD 百分比 整体访视期间最低点SOD相比增加20%
@ -872,7 +857,7 @@ namespace IRaCIS.Core.Application.Service
string result = string.Empty; string result = string.Empty;
if (resultData.calculateData == 0 && resultData.DiameterLessThan10 && !resultData.ExixtsNETargetLesion) if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10 && !resultData.ExixtsNETargetLesion)
{ {
result = "CR"; result = "CR";
} }