diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 5b5d1d667..ce7fb263e 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1934,6 +1934,13 @@
+
+
+ 是否存在PET
+
+
+
+
影像学整体肿瘤评估
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
index af8f88bf5..5e816b314 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs
@@ -29,6 +29,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository _organInfoRepository;
private readonly IRepository _subjectVisitRepository;
private readonly IRepository _tumorAssessmentRepository;
+ private readonly ISubjectVisitService _subjectVisitService;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository _readingTaskQuestionAnswerRepository;
@@ -43,6 +44,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository organInfoRepository,
IRepository subjectVisitRepository,
IRepository tumorAssessmentRepository,
+ ISubjectVisitService subjectVisitService,
IGeneralCalculateService generalCalculateService,
IRepository readingTaskQuestionAnswerRepository
)
@@ -57,6 +59,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
this._organInfoRepository = organInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
+ this._subjectVisitService = subjectVisitService;
this._generalCalculateService = generalCalculateService;
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
}
@@ -502,12 +505,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
new ReadingCalculateData (){QuestionType=QuestionType.UptakeChange,GetStringFun=GetUptakeChange},
// FDG-PET 评估结果
- new ReadingCalculateData (){QuestionType=QuestionType.UptakeChange,GetStringFun=GetFDGPETOverallAssessment},
+ new ReadingCalculateData (){QuestionType=QuestionType.FDGPET,GetStringFun=GetFDGPETOverallAssessment},
// 影像学整体肿瘤评估
new ReadingCalculateData (){QuestionType=QuestionType.ImgOncology,GetStringFun=GetImgOncology},
-
+ // 是否存在Pet
+ new ReadingCalculateData (){QuestionType=QuestionType.ExistPET,GetStringFun=GetExistPET},
//SUVmax
new ReadingCalculateData (){QuestionType=QuestionType.SUVmax,GetDecimalFun=GetSuvMax},
@@ -835,6 +839,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var baseLineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == taskinfo.SubjectId && x.IsBaseLine).Select(x => x.Id).FirstOrDefaultAsync();
+
+ ReadingCalculateDto readingData = await _generalCalculateService.GetReadingCalculateDto(visitTaskId);
+ await ReadingCalculate(readingData, new List() { QuestionType.ExistPET });
+
+
// 判断当前任务是否是基线
if (taskinfo.SourceSubjectVisitId != baseLineVisitId)
{
@@ -2020,6 +2029,23 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
#endregion
+ ///
+ /// 是否存在PET
+ ///
+ ///
+ ///
+ public async Task GetExistPET(ReadingCalculateDto inDto)
+ {
+ var studyList = await this._subjectVisitService.GetReadingVisitStudyList(new Contracts.GetReadingVisitStudyListIndto()
+ {
+ TrialId = inDto.TrialId,
+ SujectVisitId = inDto.SubjectVisitId,
+ VisitTaskId=inDto.VisitTaskId,
+ });
+
+ return studyList.Any(x => x.Modalities.Contains("CT")) ? ReadingYesOrNo.Yes.GetEnumInt() : ReadingYesOrNo.No.GetEnumInt();
+ }
+
#region 影像学整体肿瘤评估
///
/// 影像学整体肿瘤评估
diff --git a/IRaCIS.Core.Application/Service/Visit/Interface/ISubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/Interface/ISubjectVisitService.cs
index 67be25a04..91e782963 100644
--- a/IRaCIS.Core.Application/Service/Visit/Interface/ISubjectVisitService.cs
+++ b/IRaCIS.Core.Application/Service/Visit/Interface/ISubjectVisitService.cs
@@ -10,5 +10,7 @@ namespace IRaCIS.Core.Application.Interfaces
Task SetSVExecuted(Guid subjectVisitId);
Task SetSubjectVisitUrgent(Guid subjectVisitId, bool isUrgent);
+
+ Task> GetReadingVisitStudyList(GetReadingVisitStudyListIndto indto);
}
}
\ No newline at end of file