Uat_Study
he 2022-11-02 11:39:19 +08:00
parent a198a6fc3e
commit 9f92a1e3f7
1 changed files with 52 additions and 44 deletions

View File

@ -1192,14 +1192,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// <param name="inDto"></param> /// <param name="inDto"></param>
/// <remarks> /// <remarks>
/// 靶病灶疗效评估算法: /// 靶病灶疗效评估算法:
/// If没有靶病灶 ///if没有靶病灶
///{ ///{
/// 靶病灶疗效为 ND ///靶病灶疗效为 ND
///}else ///}else
///{ ///{
///初始化靶病灶疗效为 SD ///初始化靶病灶疗效为 SD
///If上次访视点评估是CR ///If上次访视点评估是CR
///{ ///{
///修改靶病灶疗效为 CR
///If 有被评估为NE的单个靶病灶
///{
///靶病灶疗效为 NE
///}
///If(当前访视点淋巴结病灶, 至少一个淋巴结靶病灶短径≥10 mm 并且该淋巴结靶病灶短径绝对增加值≥5 mm) ///If(当前访视点淋巴结病灶, 至少一个淋巴结靶病灶短径≥10 mm 并且该淋巴结靶病灶短径绝对增加值≥5 mm)
///{ ///{
/// 靶病灶疗效为 PD /// 靶病灶疗效为 PD
@ -1208,23 +1213,25 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
///{ ///{
/// 靶病灶疗效为 PD /// 靶病灶疗效为 PD
///} ///}
/// } else if比整体访视期间最低点SOD增加≥20 % ///} else
///{
/// if最低点SOD不为0比整体访视期间最低点SOD增加≥20 % 且与整个访视期间最低点相比增加的值mm≥5 mm
///{ ///{
/// 靶病灶疗效为 PD /// 靶病灶疗效为 PD
///}else ///}else
/// { /// {
/// If 有被评估为NE的单个靶病灶 /// if 有被评估为NE的单个靶病灶
///{ ///{
/// 靶病灶疗效为 NE /// 靶病灶疗效为 NE
///}else ///}else
/// { /// {
/// If(与基线期SOD相比减小≥30 % /// if (与基线期SOD相比减小≥30 %
///{ ///{
/// If(与整体访视期间最低点SOD相比增加20 % 或者 比整体访视期间最低点SOD绝对增加值5 mm) /// if (与整体访视期间最低点SOD相比增加20 % 或者 比整体访视期间最低点SOD绝对增加值5 mm)
///{ ///{
/// 靶病灶疗效为 PR /// 靶病灶疗效为 PR
///} ///}
/// } ///
/// if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10) /// if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10)
///{ ///{
/// 靶病灶疗效为 CR /// 靶病灶疗效为 CR
@ -1232,6 +1239,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// } /// }
/// } /// }
/// } /// }
///}
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
public async Task<string> GetTargetLesionEvaluate(ReadingCalculateDto inDto) public async Task<string> GetTargetLesionEvaluate(ReadingCalculateDto inDto)
@ -1385,11 +1393,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
public async Task<string> GetNoTargetLesionEvaluate(ReadingCalculateDto inDto) public async Task<string> GetNoTargetLesionEvaluate(ReadingCalculateDto inDto)
{ {
NoTargetAssessment result = NoTargetAssessment.NA; NoTargetAssessment result = NoTargetAssessment.NN;
if (inDto.IsBaseLine) 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(); 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) public async Task<string> GetNewLesionEvaluate(ReadingCalculateDto inDto)
{ {
NewLesionAssessment result = NewLesionAssessment.NA; NewLesionAssessment result = NewLesionAssessment.No;
if (inDto.IsBaseLine) 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(); var tableRows = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NewLesions).SelectMany(x => x.TableRowInfoList).ToList();