From c469b5e50655880db9de39c50eeb613ec4e9b938 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Wed, 18 Oct 2023 14:40:55 +0800
Subject: [PATCH 01/16] =?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/ReadingCalculate/LuganoCalculateService.cs | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 9de580fbe..d3ed2678d 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2414,10 +2414,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
result = TargetAssessment.PD;
}
- //在排除PD后,有任一靶病灶为NE状态
- else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
+ //当前访视没有任何一个状态为“疾病进展”的靶病灶;
+ //当前访视存在至少一个状态为“不可评估”的靶病灶。
+ else if (
+ !tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.DiseaseProgression))&&
+ tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
{
- result = TargetAssessment.PD;
+ result = TargetAssessment.NE;
}
//1、基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
//并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。
From 91bd2ac69f7d53d676bc6216cb6373090339ba13 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Wed, 18 Oct 2023 16:23:30 +0800
Subject: [PATCH 02/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../LuganoCalculateService.cs | 40 +++++++++++++++++--
IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs | 10 ++---
2 files changed, 41 insertions(+), 9 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index d3ed2678d..95b18b621 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -520,6 +520,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//获取肝脏评估
new ReadingCalculateData (){QuestionType=QuestionType.LiverAssessment,GetStringFun=GetLiverAssessment},
+
+ // 骨髓中是否存在局灶性 FDG亲和病灶的证据
+ new ReadingCalculateData (){QuestionType=QuestionType.EvidenceFocalFDG,GetStringFun=GetEvidenceFocalFDG},
////靶病灶径线之和(SOD)
//new ReadingCalculateData (){QuestionType=QuestionType.SOD,GetDecimalNullFun=GetSODData},
@@ -1622,7 +1625,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SPD).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0();
if (baseLineSpd != 0)
{
- return (presentSpd - baseLineSpd) / baseLineSpd;
+ return (presentSpd - baseLineSpd)*100 / baseLineSpd;
}
else
{
@@ -1913,10 +1916,18 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
///
public async Task GetPET5PS(ReadingCalculateDto inDto)
{
- if (inDto.IsBaseLine)
+ //if (inDto.IsBaseLine)
+ //{
+ // return SpleenAssessment.Stabilization.GetEnumInt();
+ //}
+
+ if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
{
- return SpleenAssessment.Stabilization.GetEnumInt();
+ return PET5PSScore.NE.GetEnumInt();
}
+
+
+
PET5PSScore result = PET5PSScore.X;
// 最大Suvmax
@@ -1978,6 +1989,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
return SUVChangeVSBaseline.NotEvaluable.GetEnumInt();
}
+ if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
+ {
+ return SUVChangeVSBaseline.NotEvaluable.GetEnumInt();
+ }
+
var result = SUVChangeVSBaseline.NotEvaluable;
var baseLineTaskId = await GetBaseLineTaskId(inDto);
@@ -2105,7 +2121,25 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
#endregion
+ #region 骨髓中是否存在局灶性 FDG亲和病灶的证据
+ ///
+ /// 骨髓中是否存在局灶性 FDG亲和病灶的证据
+ ///
+ ///
+ ///
+ public async Task GetEvidenceFocalFDG(ReadingCalculateDto inDto)
+ {
+ if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
+ {
+ return FDGAffinityFociInBM.NE.GetEnumInt();
+ }
+ else
+ {
+ return inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.EvidenceFocalFDG).Select(x => x.Answer).FirstOrDefault();
+ }
+ }
+ #endregion
#region 肝脏评估
///
diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
index e2ac99422..8ace74a1f 100644
--- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
@@ -2230,12 +2230,10 @@ public enum SUVChangeVSBaseline
-
-
- ///
- /// PET 5PS 评分
- ///
- public enum PET5PSScore
+///
+/// PET 5PS 评分
+///
+public enum PET5PSScore
{
///
/// 5分
From e5f10d052a1372b0f0ee55b6487675a2aa9ed8cb Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Wed, 18 Oct 2023 16:28:25 +0800
Subject: [PATCH 03/16] =?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/LuganoCalculateService.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 95b18b621..87320cdee 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -493,7 +493,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new ReadingCalculateData (){QuestionType=QuestionType.NoTargetLesion,GetStringFun=GetNoTargetLesionEvaluate},
//新病灶评估
- new ReadingCalculateData (){QuestionType=QuestionType.NewLesions,GetStringFun=GetNewLesionEvaluate},
+ new ReadingCalculateData (){QuestionType=QuestionType.NewLesionEvaluation,GetStringFun=GetNewLesionEvaluate},
//CT/MRI
new ReadingCalculateData (){QuestionType=QuestionType.CTandMRI,GetStringFun=CTMRIEvaluation},
From 682a5d1c44587353bf6e1eb2513e4907d389ad47 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Wed, 18 Oct 2023 17:57:37 +0800
Subject: [PATCH 04/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../LuganoCalculateService.cs | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 87320cdee..b5476d799 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2379,11 +2379,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
///
public async Task GetTargetLesionEvaluate(ReadingCalculateDto inDto)
{
+
+
+
var rowInfo = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).SelectMany(x => x.TableRowInfoList).ToList();
- //if (inDto.IsBaseLine)
- //{
- // return TargetAssessment.NA.GetEnumInt();
- //}
+ if (inDto.IsBaseLine)
+ {
+ return TargetAssessment.NA.GetEnumInt();
+ }
var tableQuestions = rowInfo.SelectMany(x => x.TableQuestionList).ToList();
TargetAssessment result = TargetAssessment.SD;
@@ -2486,10 +2489,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
NoTargetAssessment result = NoTargetAssessment.PD;
- //if (inDto.IsBaseLine)
- //{
- // return NoTargetAssessment.NA.GetEnumInt();
- //}
+ if (inDto.IsBaseLine)
+ {
+ return NoTargetAssessment.NA.GetEnumInt();
+ }
var tableRows = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NonTargetLesions).SelectMany(x => x.TableRowInfoList).ToList();
From 3d92fac1d68af9a9d4b114092b823de8261000eb Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 09:16:43 +0800
Subject: [PATCH 05/16] =?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/ReadingCalculate/LuganoCalculateService.cs | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index b5476d799..72131fd0d 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2590,6 +2590,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
///
public async Task CTMRIEvaluation(ReadingCalculateDto inDto)
{
+ if (inDto.IsBaseLine)
+ {
+ return CTMRIOverallAssessment.NA.GetEnumInt();
+ }
// 靶病灶评估
var targetEvaluation = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.TargetLesion).Select(x => x.Answer).FirstOrDefault();
From 1f1500c66172cefc0aba40b860d3dae31a105685 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 10:50:07 +0800
Subject: [PATCH 06/16] =?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/LuganoCalculateService.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 72131fd0d..c042f076a 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2598,10 +2598,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var targetEvaluation = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.TargetLesion).Select(x => x.Answer).FirstOrDefault();
// 非靶病灶评估
- var noTargetEvaluation = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NETarget).Select(x => x.Answer).FirstOrDefault();
+ var noTargetEvaluation = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NoTargetLesion).Select(x => x.Answer).FirstOrDefault();
// 存在新病灶
- var existsNewTarget = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewTargetLesion).Select(x => x.Answer).FirstOrDefault();
+ var existsNewTarget = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewLesionEvaluation).Select(x => x.Answer).FirstOrDefault();
// 肝脏评估
var liverEvaluation = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.LiverAssessment).Select(x => x.Answer).FirstOrDefault();
@@ -2615,7 +2615,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new CalculationDto(){
Column1=ReadingCommon.EnumToString(new List() { TargetAssessment.ND }),
Column2=ReadingCommon.EnumToString(new List() { NoTargetAssessment.ND }),
- Column3=ReadingCommon.EnumToString(new List() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
+ Column3=ReadingCommon.EnumToString(new List() { NewLesionAssessment.No, NewLesionAssessment.Suspected }),
Column4=ReadingCommon.EnumToString(new List() { LiverAssessment.Normal }),
Column5=ReadingCommon.EnumToString(new List() { SpleenAssessment.Normal }),
Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.ND }),
From baaf5af664d62dd365259e185cdff451f3bfe61f Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 13:17:26 +0800
Subject: [PATCH 07/16] =?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/LuganoCalculateService.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index c042f076a..fe7294f38 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2646,7 +2646,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
Column3=ReadingCommon.EnumToString(new List() { NewLesionAssessment.Yes }),
Column4=ReadingCommon.EnumToString(new List() { }),
Column5=ReadingCommon.EnumToString(new List() { }),
- Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.ND }),
+ Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.PD }),
},
//任一结果 任一结果 任一结果 显著增大 任一结果 PD
new CalculationDto(){
@@ -2655,7 +2655,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
Column3=ReadingCommon.EnumToString(new List() { }),
Column4=ReadingCommon.EnumToString(new List() { LiverAssessment.Increase }),
Column5=ReadingCommon.EnumToString(new List() { }),
- Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.ND }),
+ Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.PD }),
},
//任一结果 任一结果 任一结果 任一结果 显著增大 PD
new CalculationDto(){
@@ -2664,7 +2664,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
Column3=ReadingCommon.EnumToString(new List() {}),
Column4=ReadingCommon.EnumToString(new List() { }),
Column5=ReadingCommon.EnumToString(new List() { SpleenAssessment.Increase }),
- Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.ND }),
+ Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.PD }),
},
//CR CR/ND 否 正常 正常 CR
new CalculationDto(){
From a1bd7b4815ae8aa663cb8cafe66fdce6451073be Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 13:34:21 +0800
Subject: [PATCH 08/16] =?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.Domain.Share/Reading/ReadEnum.cs | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
index 8ace74a1f..9e3878336 100644
--- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
@@ -894,17 +894,22 @@ namespace IRaCIS.Core.Domain.Share
///
/// 稳定
///
- Stabilization = 2,
+ Tumefaction = 2,
+
+ ///
+ /// 稳定
+ ///
+ Stabilization = 3,
///
/// 显著增大
///
- Increase = 3,
+ Increase = 4,
///
/// 无法评估
///
- NotEvaluable = 4,
+ NotEvaluable = 5,
}
///
From e43b28969e79fab0c0a125ed1ef021ca4f53b7ea Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 13:49:38 +0800
Subject: [PATCH 09/16] =?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/LuganoCalculateService.cs | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index fe7294f38..8fe86623b 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2716,7 +2716,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
},
//ND ND 否/疑似 无法评估 正常/稳定/无法评估/部分缓解(非显著增大) NE
new CalculationDto(){
- NotEq=new List(){ 4},
+ NotEq=new List(){ 5},
Column1=ReadingCommon.EnumToString(new List() { TargetAssessment.ND }),
Column2=ReadingCommon.EnumToString(new List() { NoTargetAssessment.ND }),
Column3=ReadingCommon.EnumToString(new List() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
@@ -2783,6 +2783,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
},
};
+ var index= data.FindIndex(x =>
+ (x.NotEq.Contains(1) ? !x.Column1.Contains(targetEvaluation) : x.Column1.Contains(targetEvaluation) || x.Column1.Count() == 0) &&
+ (x.NotEq.Contains(2) ? !x.Column2.Contains(noTargetEvaluation) : x.Column2.Contains(noTargetEvaluation) || x.Column2.Count() == 0) &&
+ (x.NotEq.Contains(3) ? !x.Column3.Contains(existsNewTarget) : x.Column3.Contains(existsNewTarget) || x.Column3.Count() == 0) &&
+ (x.NotEq.Contains(4) ? !x.Column4.Contains(liverEvaluation) : x.Column4.Contains(liverEvaluation) || x.Column4.Count() == 0) &&
+ (x.NotEq.Contains(5) ? !x.Column5.Contains(spleenEvaluation) : x.Column5.Contains(spleenEvaluation) || x.Column5.Count() == 0))
+ ;
+ Console.WriteLine(index);
var result = data.Where(x =>
(x.NotEq.Contains(1) ? !x.Column1.Contains(targetEvaluation) : x.Column1.Contains(targetEvaluation) || x.Column1.Count() == 0) &&
(x.NotEq.Contains(2) ? !x.Column2.Contains(noTargetEvaluation) : x.Column2.Contains(noTargetEvaluation) || x.Column2.Count() == 0) &&
From 5934178a5fd9d927a85006477a9fcb7a50dcec17 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 14:15:13 +0800
Subject: [PATCH 10/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ReadingCalculate/LuganoCalculateService.cs | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 8fe86623b..c20d4dfe4 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -495,6 +495,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
//新病灶评估
new ReadingCalculateData (){QuestionType=QuestionType.NewLesionEvaluation,GetStringFun=GetNewLesionEvaluate},
+ //获取肝脏评估
+ new ReadingCalculateData (){QuestionType=QuestionType.LiverAssessment,GetStringFun=GetLiverAssessment},
+
+ // 骨髓中是否存在局灶性 FDG亲和病灶的证据
+ new ReadingCalculateData (){QuestionType=QuestionType.EvidenceFocalFDG,GetStringFun=GetEvidenceFocalFDG},
+
//CT/MRI
new ReadingCalculateData (){QuestionType=QuestionType.CTandMRI,GetStringFun=CTMRIEvaluation},
@@ -518,11 +524,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// SUVmax所在病灶
new ReadingCalculateData (){QuestionType=QuestionType.SUVmaxLesion,GetStringFun=GetSuvMaxFocus},
- //获取肝脏评估
- new ReadingCalculateData (){QuestionType=QuestionType.LiverAssessment,GetStringFun=GetLiverAssessment},
+
- // 骨髓中是否存在局灶性 FDG亲和病灶的证据
- new ReadingCalculateData (){QuestionType=QuestionType.EvidenceFocalFDG,GetStringFun=GetEvidenceFocalFDG},
+
////靶病灶径线之和(SOD)
//new ReadingCalculateData (){QuestionType=QuestionType.SOD,GetDecimalNullFun=GetSODData},
From 04a702fb0e5f171b304c92d25478eef406549380 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 15:21:38 +0800
Subject: [PATCH 11/16] =?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/LuganoCalculateService.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index c20d4dfe4..cc5cff723 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2643,9 +2643,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
Column5=ReadingCommon.EnumToString(new List() { }),
Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.PD }),
},
- //PD 任一结果 是 任一结果 任一结果 PD
+ //任一结果 任一结果 是 任一结果 任一结果 PD
new CalculationDto(){
- Column1=ReadingCommon.EnumToString(new List() { TargetAssessment.PD }),
+ Column1=ReadingCommon.EnumToString(new List() { }),
Column2=ReadingCommon.EnumToString(new List() { }),
Column3=ReadingCommon.EnumToString(new List() { NewLesionAssessment.Yes }),
Column4=ReadingCommon.EnumToString(new List() { }),
From 65ae0e06f5c70346aa38d93aa51cb83d283b92b7 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 16:04:38 +0800
Subject: [PATCH 12/16] =?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/LuganoCalculateService.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index cc5cff723..7e16561e0 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2688,9 +2688,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
Column5=ReadingCommon.EnumToString(new List() { SpleenAssessment.Normal }),
Column6=ReadingCommon.EnumToString(new List() { CTMRIOverallAssessment.CR }),
},
- //NE 非PD 否/疑似/无法评估 显著增大 显著增大 NE
+ //NE 非PD 否/疑似/无法评估 非显著增大 非显著增大 NE
new CalculationDto(){
- NotEq=new List(){ 2},
+ NotEq=new List(){ 2,4,5},
Column1=ReadingCommon.EnumToString(new List() { TargetAssessment.NE }),
Column2=ReadingCommon.EnumToString(new List() { NoTargetAssessment.PD }),
Column3=ReadingCommon.EnumToString(new List() { NewLesionAssessment.No,NewLesionAssessment.Suspected, NewLesionAssessment.NE}),
From e6cd24065c6b789484edebf1f50d9674f0de302a Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 17:10:31 +0800
Subject: [PATCH 13/16] =?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
---
.../Reading/Dto/ReadingCalculateViewModel.cs | 9 ++++++++-
.../ReadingImageTask/ReadingImageTaskService.cs | 2 ++
.../General/ReadingCalculateService.cs | 2 +-
.../ReadingCalculate/LuganoCalculateService.cs | 5 ++++-
IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs | 16 ++++++++++++++++
5 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
index a8c54a077..dab5f2a05 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs
@@ -50,6 +50,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsChangeOtherTask { get; set; }
+
+ public ComputationTrigger ComputationTrigger { get; set; }
}
public class TargetLesionCalculateDto
@@ -218,7 +220,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid SubjectVisitId { get; set; }
- public Arm ArmEnum { get; set; }
+ public Arm ArmEnum { get; set; }
+
+ public ComputationTrigger ComputationTrigger { get; set; } = ComputationTrigger.Lesion;
///
/// 是否修改其他任务
@@ -348,6 +352,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public QuestionType QuestionType { get; set; }
+
+ public ComputationTrigger? ComputationTrigger { get; set; }
+
public Func> GetDecimalFun { get; set; }
public Func> GetIntFun { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index 495dbc433..dcf3282cb 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -1741,6 +1741,7 @@ namespace IRaCIS.Application.Services
{
IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId,
+ ComputationTrigger=ComputationTrigger.Lesion,
});
return ResponseOutput.Ok(true);
}
@@ -2141,6 +2142,7 @@ namespace IRaCIS.Application.Services
{
IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId,
+ ComputationTrigger = ComputationTrigger.Lesion,
});
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
index ff966babf..49509412d 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
@@ -196,7 +196,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
await service.CalculateTask(new CalculateTaskInDto()
{
-
+ ComputationTrigger= ComputationTrigger.Report,
VisitTaskId = inDto.VisitTaskId
});
}
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 7e16561e0..ac4a418cb 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -429,6 +429,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
ReadingCalculateDto readingData = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId);
readingData.IsChangeOtherTask = inDto.IsChangeOtherTask;
+ readingData.ComputationTrigger = inDto.ComputationTrigger;
await ReadingCalculate(readingData);
}
@@ -505,7 +506,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new ReadingCalculateData (){QuestionType=QuestionType.CTandMRI,GetStringFun=CTMRIEvaluation},
// PET 5PS评分
- new ReadingCalculateData (){QuestionType=QuestionType.PET5PS,GetStringFun=GetPET5PS},
+ new ReadingCalculateData (){QuestionType=QuestionType.PET5PS,GetStringFun=GetPET5PS,ComputationTrigger=ComputationTrigger.Lesion},
//与基线相比摄取值变化
new ReadingCalculateData (){QuestionType=QuestionType.UptakeChange,GetStringFun=GetUptakeChange},
@@ -609,6 +610,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
calculateList = calculateList.Where(x => calculateType.Contains(x.QuestionType)).ToList();
}
+
+ calculateList = calculateList.Where(x => x.ComputationTrigger == null || x.ComputationTrigger == inDto.ComputationTrigger).ToList();
var typeNAList = new List
{
QuestionType.SODChange,
diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
index 9e3878336..2d562f219 100644
--- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
@@ -2277,6 +2277,22 @@ public enum PET5PSScore
}
+ ///
+ /// 计算触发
+ ///
+ public enum ComputationTrigger
+ {
+ ///
+ /// 病灶
+ ///
+ Lesion=0,
+
+ ///
+ /// 报告
+ ///
+ Report=1,
+ }
+
///
/// 新靶病灶评估
///
From e8e9105f5c231d01b5b68689091aa342e4ae8f75 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 19 Oct 2023 17:22:21 +0800
Subject: [PATCH 14/16] =?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/LuganoCalculateService.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index ac4a418cb..7b08dd0c4 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -500,7 +500,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new ReadingCalculateData (){QuestionType=QuestionType.LiverAssessment,GetStringFun=GetLiverAssessment},
// 骨髓中是否存在局灶性 FDG亲和病灶的证据
- new ReadingCalculateData (){QuestionType=QuestionType.EvidenceFocalFDG,GetStringFun=GetEvidenceFocalFDG},
+ new ReadingCalculateData (){QuestionType=QuestionType.EvidenceFocalFDG,GetStringFun=GetEvidenceFocalFDG,ComputationTrigger=ComputationTrigger.Lesion},
//CT/MRI
new ReadingCalculateData (){QuestionType=QuestionType.CTandMRI,GetStringFun=CTMRIEvaluation},
@@ -509,7 +509,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new ReadingCalculateData (){QuestionType=QuestionType.PET5PS,GetStringFun=GetPET5PS,ComputationTrigger=ComputationTrigger.Lesion},
//与基线相比摄取值变化
- new ReadingCalculateData (){QuestionType=QuestionType.UptakeChange,GetStringFun=GetUptakeChange},
+ new ReadingCalculateData (){QuestionType=QuestionType.UptakeChange,GetStringFun=GetUptakeChange,ComputationTrigger=ComputationTrigger.Lesion},
// FDG-PET 评估结果
new ReadingCalculateData (){QuestionType=QuestionType.FDGPET,GetStringFun=GetFDGPETOverallAssessment},
From 7fc93a667d86b02f70c3726d5b5eb372d529fcf2 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Fri, 20 Oct 2023 15:26:42 +0800
Subject: [PATCH 15/16] =?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.Domain.Share/Reading/ReadEnum.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
index 2d562f219..5cb3743d9 100644
--- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
+++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs
@@ -2258,7 +2258,7 @@ public enum PET5PSScore
///
/// 2分
///
- Two = 5,
+ Two = 2,
///
/// 1分
From 46980e6b50b7ef18ff613b7a36cf71d76be8a647 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Fri, 20 Oct 2023 15:36:42 +0800
Subject: [PATCH 16/16] =?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/LuganoCalculateService.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index 7b08dd0c4..2308d2d46 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -2104,7 +2104,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new CalculationDto(){
Column1=ReadingCommon.EnumToString(new List() { PET5PSScore.Five,PET5PSScore.Four }),
Column2=ReadingCommon.EnumToString(new List() { SUVChangeVSBaseline.Decrease }),
- Column3=ReadingCommon.EnumToString(new List() { FDGAffinityFociInBM.YesSustain}),
+ Column3=ReadingCommon.EnumToString(new List() { FDGAffinityFociInBM.No, FDGAffinityFociInBM.YesSustain}),
Column4=ReadingCommon.EnumToString(new List() { FDGPETOverallAssessment.PMR }),
},
@@ -2112,7 +2112,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new CalculationDto(){
Column1=ReadingCommon.EnumToString(new List() { PET5PSScore.Five,PET5PSScore.Four }),
Column2=ReadingCommon.EnumToString(new List() { SUVChangeVSBaseline.DidNotChange }),
- Column3=ReadingCommon.EnumToString(new List() { FDGAffinityFociInBM.YesSustain}),
+ Column3=ReadingCommon.EnumToString(new List() { FDGAffinityFociInBM.No, FDGAffinityFociInBM.YesSustain}),
Column4=ReadingCommon.EnumToString(new List() { FDGPETOverallAssessment.NMR }),
},
};