From d154123b71a5750ffe113002f22c4ba439994eb3 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Sat, 4 Mar 2023 22:00:36 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 4 ++--
.../ReadingClinicalDataService.cs | 6 ++++--
.../Reading/Dto/ReadingCalculateViewModel.cs | 4 ++--
.../Reading/Dto/ReadingClinicalDataDto.cs | 2 ++
.../RECIST1Point1CalculateService.cs | 20 ++++++++++---------
5 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index ad48de767..b0e13ad84 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -2020,7 +2020,7 @@
- SOD 百分比 整体访视期间最低点SOD相比增加
+ SOD 百分比 整体访视期间SOD最低点SOD相比增加<20%
@@ -2050,7 +2050,7 @@
- 当前访视点非淋巴结病灶长径>0
+ 当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
index a85d8b4b3..8ac891b4b 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
@@ -630,6 +630,7 @@ namespace IRaCIS.Application.Services
IsSign = x.IsSign,
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList,
+ TrialClinicalDataSetCriteriaList=x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList,
Id = x.Id,
UploadRole = x.ClinicalDataTrialSet.UploadRole,
IsCRCUpload = x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC,
@@ -647,8 +648,9 @@ namespace IRaCIS.Application.Services
// 根据标准
if (inDto.VisitTaskId != null)
{
- var criterionType = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x => x.TrialReadingCriterion).Select(x => x.TrialReadingCriterion.CriterionType).FirstNotNullAsync();
- result = result.Where(x => x.CriterionEnumList.Contains((int)criterionType)).ToList();
+ var visitTaskInfo = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
+
+ result = result.Where(x => x.TrialClinicalDataSetCriteriaList.Any(z=>z.TrialReadingCriterionId==visitTaskInfo.TrialReadingCriterionId)).ToList();
}
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
index 8e854dd3f..3bc943709 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
@@ -55,7 +55,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool SODPercentLess30 { get; set; }
///
- /// SOD 百分比 整体访视期间最低点SOD相比增加
+ /// SOD 百分比 整体访视期间SOD最低点SOD相比增加<20%
///
public bool LowPercentLess20 { get; set; }
@@ -85,7 +85,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string LastTargetLesionEvaluate { get; set; }
///
- /// 当前访视点非淋巴结病灶长径>0
+ /// 当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0
///
public bool CurrentMajoreBigger0 { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs
index 2be2e2e4c..6ec1ee087 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs
@@ -389,6 +389,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public ClinicalDataTable ClinicalTableData { get; set; }
+
+ public List TrialClinicalDataSetCriteriaList { get; set; }
}
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
index 31ef02244..0cd5bc4c5 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
@@ -1479,11 +1479,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//// 上次访视点整体肿瘤评估
LastTargetLesionEvaluate = string.Empty,
- // 当前访视点非淋巴结病灶长径>0
- CurrentMajoreBigger0 = true,
+ // 当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0 mm
+ CurrentMajoreBigger0 = false,
- // 至少一个淋巴结靶病灶短径≥10 mm
- CurrenShortBigger10 = true,
+ // 当前访视点淋巴结病灶, 至少一个淋巴结靶病灶短径≥10 mm
+ CurrenShortBigger10 = false,
//淋巴结非靶病灶状态全部为消失
NonTargetStateIsLoss = true,
@@ -1499,7 +1499,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
{
// 淋巴结非靶病灶状态全部为消失
- resultData.NonTargetStateIsLoss = item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x => x.Answer).FirstOrDefault()== NoTargetState.Loss.GetEnumInt();
+ resultData.NonTargetStateIsLoss = resultData.NonTargetStateIsLoss&& item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x => x.Answer).FirstOrDefault()== NoTargetState.Loss.GetEnumInt();
}
}
@@ -1509,15 +1509,17 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
{
// 淋巴结的短径
- resultData.DiameterLessThan10 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() < 10;
+ resultData.DiameterLessThan10 = resultData.DiameterLessThan10&&(item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() < 10;
+
+ resultData.CurrenShortBigger10= resultData.CurrenShortBigger10|| (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() >= 10;
+
-
}
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && !x.Answer.EqEnum(YesOrNoOrNa.Yes)))
{
- // 当前访视点非淋巴结病灶
- resultData.CurrentMajoreBigger0 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.MajorAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() > 0;
+ // 当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径
+ resultData.CurrentMajoreBigger0 = resultData.CurrentMajoreBigger0|| (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.MajorAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() > 0;
}
}
From dffdaa369c530f7a446a1f80f8bffc81beba2320 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Sat, 4 Mar 2023 22:24:20 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/Reading/Dto/ReadingCalculateViewModel.cs | 2 +-
.../ReadingCalculate/RECIST1Point1CalculateService.cs | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
index 3bc943709..1d18eaa1a 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
@@ -25,7 +25,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public decimal LowSod { get; set; }
///
- /// 是否存在靶病灶
+ /// 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
///
public bool ExistsTargetLesion { get; set; }
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
index 0cd5bc4c5..9ebeb8293 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
@@ -1438,8 +1438,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TargetLesionCalculateDto resultData = new TargetLesionCalculateDto()
{
- // 是否存在靶病灶
- ExistsTargetLesion= tableQuestion.Count()>0,
+ // 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
+ ExistsTargetLesion=false,
// 最低SOD
LowSod=(await GetLowSODVisit(inDto)).Select(x=>x.SOD).FirstOrDefault(),
@@ -1506,6 +1506,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var item in tableQuestion)
{
+ // 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
+ resultData.ExistsTargetLesion = resultData.ExistsTargetLesion || item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x => x.Answer).FirstOrDefault() == NoTargetState.Exist.GetEnumInt();
+
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
{
// 淋巴结的短径
From c4c237f1315f0a85b5a03a56e8d38a2f215df740 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Sat, 4 Mar 2023 22:35:00 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/ReadingCalculate/RECIST1Point1CalculateService.cs | 4 ----
1 file changed, 4 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
index 9ebeb8293..d6be526cf 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
@@ -1532,10 +1532,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
resultData.LastTargetLesionEvaluate = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == questionId)
.Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty;
-
-
-
-
TargetAssessment result = TargetAssessment.SD;
if (!resultData.ExistsTargetLesion)
{
From d6a7e8dc6273537a64d3d002dd1880f6b0aad6c4 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Mon, 6 Mar 2023 11:27:43 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Reading/Dto/ReadingCalculateViewModel.cs | 5 +
.../ReadingImageTaskService.cs | 2 +
.../RECIST1Point1CalculateService.cs | 239 ++++++++++++------
3 files changed, 164 insertions(+), 82 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
index 1d18eaa1a..4fab6332f 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
@@ -24,6 +24,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public decimal LowSod { get; set; }
+ ///
+ /// 当前SOD
+ ///
+ public decimal PresentSod { get; set; }
+
///
/// 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
///
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index c3dd14ba5..e2e65f24b 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -1977,6 +1977,8 @@ namespace IRaCIS.Application.Services
task.IsNeedReadClinicalData = clinicalDataList.Where(x => x.ClinicalDataLevel != ClinicalLevel.Subject).Count() > 0;
}
+ // 如果已经签名 就不需要再读了
+ task.IsNeedReadClinicalData = visitTaskInfo.ReadingTaskState == ReadingTaskState.HaveSigned ? false : task.IsNeedReadClinicalData;
task.DigitPlaces = criterionInfo.DigitPlaces;
task.CriterionType = criterionInfo.CriterionType;
task.IseCRFShowInDicomReading = criterionInfo.IseCRFShowInDicomReading;
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
index d6be526cf..d7fdd40b4 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs
@@ -1377,54 +1377,63 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
///
///
///
- /// 靶病灶疗效评估算法:
- ///if(没有靶病灶)
+ /// 靶病灶疗效评估算法-20230306确认版本:
+ ///if(基线没有靶病灶)
///{
- ///靶病灶疗效为 ND
+ /// 靶病灶疗效为 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)
+ /// 初始化靶病灶疗效为 SD
+ ///
+ /// if (与基线期SOD相比减小≥30 %)
+ /// {
+ /// 靶病灶疗效为 PR
+ ///
+ /// }
+ ///
+ ///if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10且淋巴结非靶病灶全部消失)
+ /// {
+ /// 靶病灶疗效为 CR
+ ///
+ /// }
+ ///
+ ///if (有被评估为NE的单个靶病灶)
+ /// {
+ /// 靶病灶疗效为 NE
+ ///
+ /// }
+ ///
+ ///if (最低点SOD > 0)
///{
+ /// if(比整体访视期间最低点SOD增加≥20 % 且与整个访视期间最低点相比增加的值≥5 mm)
+ /// {
/// 靶病灶疗效为 PD
- ///}else
- /// {
- /// if (有被评估为NE的单个靶病灶)
+ ///
+ /// }
+ ///}
+ ///else
///{
- /// 靶病灶疗效为 NE
- ///}else
- /// {
- /// if (与基线期SOD相比减小≥30 %
- ///{
- /// if (与整体访视期间最低点SOD相比增加<20 % 或者 比整体访视期间最低点SOD绝对增加值<5 mm)
- ///{
- /// 靶病灶疗效为 PR
+ /// //进入该分支最低点SOD=0
+ /// if (当前访视SOD > 0 且与整个访视期间最低点相比增加的值≥5 mm)
+ /// {
+ /// 靶病灶疗效为PD
+ ///
+ /// }
///}
///
- /// if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10)
- ///{
- /// 靶病灶疗效为 CR
- ///}
- /// }
+ ///if(上次访视点评估是CR)
+ /// {
+ /// if (当前访视点淋巴结病灶,至少一个淋巴结靶病灶短径≥10 mm 并且该淋巴结靶病灶短径绝对增加值≥5 mm)
+ /// {
+ /// 靶病灶疗效为 PD
+ ///
/// }
- /// }
+ /// if (当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0 mm。)
+ /// {
+ /// 靶病灶疗效为 PD
+ ///
+ /// }
+ ///}
///}
///
///
@@ -1435,14 +1444,17 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
return TargetAssessment.NA.GetEnumInt();
}
-
+
TargetLesionCalculateDto resultData = new TargetLesionCalculateDto()
{
- // 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
- ExistsTargetLesion=false,
+ // 是否存在靶病灶
+ ExistsTargetLesion = tableQuestion.Count() > 0,
// 最低SOD
- LowSod=(await GetLowSODVisit(inDto)).Select(x=>x.SOD).FirstOrDefault(),
+ LowSod = (await GetLowSODVisit(inDto)).Select(x => x.SOD).FirstOrDefault(),
+
+ // 当前Sod
+ PresentSod = (await GetSODData(inDto)) ?? 0,
//非淋巴结靶病灶长径之和 decimal
SumOfDiameter = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SumOfDiameter).Sum(x => x.Answer.IsNullOrEmptyReturn0()),
@@ -1506,9 +1518,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var item in tableQuestion)
{
- // 是否存在靶病灶 (当前访视 至少一个靶病灶的状态为存在)
- resultData.ExistsTargetLesion = resultData.ExistsTargetLesion || item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x => x.Answer).FirstOrDefault() == NoTargetState.Exist.GetEnumInt();
-
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
{
// 淋巴结的短径
@@ -1533,59 +1542,125 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
.Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty;
TargetAssessment result = TargetAssessment.SD;
+ //if(基线没有靶病灶)
if (!resultData.ExistsTargetLesion)
{
+ // 靶病灶疗效为 ND
result = TargetAssessment.ND;
}
else
{
- if (resultData.LastTargetLesionEvaluate.EqEnum(TargetAssessment.CR))
+ //初始化靶病灶疗效为 SD
+ result = TargetAssessment.SD;
+
+ //if (与基线期SOD相比减小≥30 %)
+ if (resultData.SODPercentBigger30)
{
- if (resultData.ExixtsNETargetLesion)
- {
- result = TargetAssessment.NE;
- }
- if (resultData.CurrenShortBigger10 && resultData.IsAddFive)
- {
- result = TargetAssessment.PD;
- }
- if (resultData.CurrentMajoreBigger0)
+ //靶病灶疗效为 PR
+ result = TargetAssessment.PR;
+ }
+ //if (非淋巴结靶病灶长径之和 == 0 并且所有淋巴结靶病灶的短径 < 10且淋巴结非靶病灶全部消失)
+ if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10 && resultData.NonTargetStateIsLoss)
+ {
+ //靶病灶疗效为 CR
+ result = TargetAssessment.CR;
+ }
+ // if (有被评估为NE的单个靶病灶)
+ if (resultData.ExixtsNETargetLesion)
+ {
+ // 靶病灶疗效为 NE
+ result = TargetAssessment.NE;
+ }
+ //if (最低点SOD > 0)
+ if (resultData.LowSod > 0)
+ {
+ // if(比整体访视期间最低点SOD增加≥20 % 且与整个访视期间最低点相比增加的值≥5 mm)
+ if (resultData.LowPercentBigger20 && resultData.LowChangeBigger5)
{
+ // 靶病灶疗效为 PD
result = TargetAssessment.PD;
}
}
-
else
{
- if (resultData.LowSod != 0 && resultData.LowPercentBigger20 && resultData.LowChangeBigger5)
+ //进入该分支最低点SOD=0
+ // if (当前访视SOD > 0 且与整个访视期间最低点相比增加的值≥5 mm)
+ if (resultData.PresentSod > 0 && resultData.LowChangeBigger5)
{
+ // 靶病灶疗效为PD
result = TargetAssessment.PD;
}
- else
- {
- if (resultData.ExixtsNETargetLesion)
- {
- result = TargetAssessment.NE;
- }
- else
- {
- if (resultData.SODPercentBigger30)
- {
- if (resultData.LowPercentLess20 || resultData.LowChangeLess5)
- {
- result = TargetAssessment.PR;
- }
-
- if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10&&resultData.NonTargetStateIsLoss)
- {
- result = TargetAssessment.CR;
- }
- }
- }
- }
-
-
}
+ //if(上次访视点评估是CR)
+ if (resultData.LastTargetLesionEvaluate.EqEnum(TargetAssessment.CR))
+ {
+ //if (当前访视点淋巴结病灶,至少一个淋巴结靶病灶短径≥10 mm 并且该淋巴结靶病灶短径绝对增加值≥5 mm)
+ if (resultData.CurrenShortBigger10 && resultData.IsAddFive)
+ {
+ //靶病灶疗效为 PD
+ result = TargetAssessment.PD;
+ }
+ //if (当前访视点非淋巴结病灶至少一个非淋巴结靶病灶的长径>0 mm。)
+ if (resultData.CurrentMajoreBigger0)
+ {
+ //靶病灶疗效为 PD
+ result = TargetAssessment.PD;
+ }
+ }
+
+
+
+ #region 之前的逻辑 备注
+ //if (resultData.LastTargetLesionEvaluate.EqEnum(TargetAssessment.CR))
+ //{
+ // if (resultData.ExixtsNETargetLesion)
+ // {
+ // result = TargetAssessment.NE;
+ // }
+ // if (resultData.CurrenShortBigger10 && resultData.IsAddFive)
+ // {
+ // result = TargetAssessment.PD;
+ // }
+ // if (resultData.CurrentMajoreBigger0)
+ // {
+ // result = TargetAssessment.PD;
+ // }
+ //}
+
+ //else
+ //{
+ // if (resultData.LowSod != 0 && resultData.LowPercentBigger20 && resultData.LowChangeBigger5)
+ // {
+ // result = TargetAssessment.PD;
+ // }
+ // else
+ // {
+ // if (resultData.ExixtsNETargetLesion)
+ // {
+ // result = TargetAssessment.NE;
+ // }
+ // else
+ // {
+ // if (resultData.SODPercentBigger30)
+ // {
+ // if (resultData.LowPercentLess20 || resultData.LowChangeLess5)
+ // {
+ // result = TargetAssessment.PR;
+ // }
+
+ // if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10 && resultData.NonTargetStateIsLoss)
+ // {
+ // result = TargetAssessment.CR;
+ // }
+ // }
+ // }
+ // }
+
+
+ //}
+ #endregion
+
+
}
return result.GetEnumInt();