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] =?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 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;
}
}