This commit is contained in:
he
2022-11-02 11:39:19 +08:00
parent a198a6fc3e
commit 9f92a1e3f7
@@ -1192,46 +1192,54 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// <param name="inDto"></param>
/// <remarks>
/// 靶病灶疗效评估算法:
/// If(没有靶病灶)
/// {
/// 靶病灶疗效为 ND
/// }else
/// {
/// 初始化靶病灶疗效为 SD
/// If(上次访视点评估是CR
/// {
/// If(当前访视点淋巴结病灶, 至少一个淋巴结靶病灶短径≥10 mm 并且该淋巴结靶病灶短径绝对增加值≥5 mm)
/// {
/// 靶病灶疗效为 PD
/// }
/// If(当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0 mm。)
/// {
/// 靶病灶疗效为 PD
/// }
/// } else if(比整体访视期间最低点SOD增加≥20 %)
/// {
/// 靶病灶疗效为 PD
/// }else
/// {
/// If (有被评估为NE的单个靶病灶)
/// {
/// 靶病灶疗效为 NE
/// }else
/// {
/// If(与基线期SOD相比减小≥30 %
/// {
/// If(与整体访视期间最低点SOD相比增加<20 % 或者 比整体访视期间最低点SOD绝对增加值<5 mm)
/// {
/// 靶病灶疗效为 PR
/// }
/// }
/// if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10)
/// {
/// 靶病灶疗效为 CR
/// }
/// }
/// }
/// }
///if(没有靶病灶)
///{
///靶病灶疗效为 ND
///}else
///{
///初始化靶病灶疗效为 SD
///If(上次访视点评估是CR
///{
///修改靶病灶疗效为 CR
///If (有被评估为NE的单个靶病灶)
///{
///靶病灶疗效为 NE
///}
///If(当前访视点淋巴结病灶, 至少一个淋巴结靶病灶短径≥10 mm 并且该淋巴结靶病灶短径绝对增加值≥5 mm)
///{
/// 靶病灶疗效为 PD
///}
///If(当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0 mm。)
///{
/// 靶病灶疗效为 PD
///}
///} else
///{
/// if(最低点SOD不为0,比整体访视期间最低点SOD增加≥20 % 且与整个访视期间最低点相比增加的值(mm)≥5 mm)
///{
/// 靶病灶疗效为 PD
///}else
/// {
/// if (有被评估为NE的单个靶病灶)
///{
/// 靶病灶疗效为 NE
///}else
/// {
/// if (与基线期SOD相比减小≥30 %
///{
/// if (与整体访视期间最低点SOD相比增加<20 % 或者 比整体访视期间最低点SOD绝对增加值<5 mm)
///{
/// 靶病灶疗效为 PR
///}
///
/// if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10)
///{
/// 靶病灶疗效为 CR
///}
/// }
/// }
/// }
///}
/// </remarks>
/// <returns></returns>
public async Task<string> GetTargetLesionEvaluate(ReadingCalculateDto inDto)
@@ -1385,11 +1393,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
public async Task<string> GetNoTargetLesionEvaluate(ReadingCalculateDto inDto)
{
NoTargetAssessment result = NoTargetAssessment.NA;
NoTargetAssessment result = NoTargetAssessment.NN;
if (inDto.IsBaseLine)
{
return result.GetEnumInt();
return NoTargetAssessment.NA.GetEnumInt();
}
var tableRows = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NonTargetLesions).SelectMany(x => x.TableRowInfoList).ToList();
@@ -1448,10 +1456,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
public async Task<string> GetNewLesionEvaluate(ReadingCalculateDto inDto)
{
NewLesionAssessment result = NewLesionAssessment.NA;
NewLesionAssessment result = NewLesionAssessment.No;
if (inDto.IsBaseLine)
{
return result.GetEnumInt();
return NewLesionAssessment.NA.GetEnumInt();
}
var tableRows = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewLesions).SelectMany(x => x.TableRowInfoList).ToList();