diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index ad48de76..b0e13ad8 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 a85d8b4b..8ac891b4 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 8e854dd3..3bc94370 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 2be2e2e4..6ec1ee08 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 31ef0224..0cd5bc4c 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;
}
}