From 5372023651c945ebf9d1bfb7dcf768e6e9b0abf0 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 11 Dec 2023 14:18:32 +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 --- .../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 31af7b5a4..3430330eb 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -903,7 +903,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate QuestionMark.Organ, QuestionMark.Location, QuestionMark.Part, - + QuestionMark.BodyPartDescription, QuestionMark.LowPPDLDi, QuestionMark.LowPPDSDi, QuestionMark.NadirPPD, From 7f49a437ad9a5287e6fccdb5447113e12b929eab Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 11 Dec 2023 14:55:08 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClinicalData/ClinicalAnswerService.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 6514877f6..32e05f1ab 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -524,6 +524,22 @@ namespace IRaCIS.Core.Application.Service var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync(); inDto.TrialReadingCriterionId = readModule.TrialReadingCriterionId; } + + // 有全局就查全局 有肿瘤学就查肿瘤学 + + var clinicalDataLevelList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm && x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.Structuring).Select(x => x.ClinicalDataLevel).Distinct().ToListAsync(); + + ReadingSetType? readingSetType = null; + if (clinicalDataLevelList.Contains(ClinicalLevel.ImageRead) && !clinicalDataLevelList.Contains(ClinicalLevel.OncologyRead)) + { + readingSetType = ReadingSetType.ImageReading; + } + else if (clinicalDataLevelList.Contains(ClinicalLevel.OncologyRead) && !clinicalDataLevelList.Contains(ClinicalLevel.ImageRead)) + { + readingSetType = ReadingSetType.TumorReading; + } + + var query = _readModuleRepository.Where(x => x.TrialId == inDto.TrialId) .WhereIf(inDto.ReadModuleId != null, x => x.Id == inDto.ReadModuleId) .WhereIf(inDto.IsCRCConfirm != null, x => x.IsCRCConfirm == inDto.IsCRCConfirm) @@ -533,6 +549,7 @@ namespace IRaCIS.Core.Application.Service .WhereIf(inDto.SubjectId != null, x => x.SubjectId == inDto.SubjectId) .WhereIf(inDto.StartTime != null, x => x.SubjectVisit.LatestScanDate >= inDto.StartTime) .WhereIf(inDto.EndTime != null, x => x.SubjectVisit.LatestScanDate <= inDto.EndTime) + .WhereIf(readingSetType != null, x => x.ReadingSetType== readingSetType) .Select(x => new GetCRCConfirmListOutDto() { From 8afeeefc5114fcc1ec80bf893326cbe40e8e863c Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 11 Dec 2023 15:45:33 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/TrialSiteUser/PersonalWorkstation.cs | 2 +- .../ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs | 7 ++++--- IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index ac80c1f00..f264cf67f 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -504,7 +504,7 @@ namespace IRaCIS.Core.Application ToBeDealedCount = t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.SubjectVisit && x.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Subject).Count(), ToBeVisitCount = t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Count(), ToAllCount = t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC).Count(), - ReadModuleCount = t.ReadModuleList.Where(x => !x.IsPMConfirm).Count(), + ReadModuleCount = t.ReadModuleList.Where(x => !x.IsCRCConfirm&&x.ReadModuleCriterionFromList.Count()>0).Count(), }).Where(x => x.ReadModuleCount > 0); var defalutSortArray = new string[] { nameof(ImageClinicalDataToBeDoneDto.UrgentCount) + " desc", nameof(ImageClinicalDataToBeDoneDto.ToBeDealedCount) + " desc" }; diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs index 27a661289..f1b3105ec 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs @@ -15,11 +15,12 @@ namespace IRaCIS.Core.Domain.Models [Table("ReadModuleCriterionFrom")] public class ReadModuleCriterionFrom : Entity, IAuditAdd { - - /// + + /// /// 阅片期Id /// - public Guid ReadModuleId { get; set; } + [ForeignKey("ReadModuleId")] + public Guid ReadModuleId { get; set; } /// /// 受试者Id diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs index e45d82b4b..01f8c8d24 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs @@ -141,6 +141,9 @@ namespace IRaCIS.Core.Domain.Models public Trial Trial { get; set; } + [JsonIgnore] + public List ReadModuleCriterionFromList { get; set; } = new List(); + /// /// 阅片配置的类型 /// From d1d22660c8fa2d1e1481d361ff677bd5c0526850 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 11 Dec 2023 16:04:59 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE?= =?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/TrialSiteUser/PersonalWorkstation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index f264cf67f..0d5e1cd72 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -504,7 +504,7 @@ namespace IRaCIS.Core.Application ToBeDealedCount = t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.SubjectVisit && x.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Subject).Count(), ToBeVisitCount = t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Count(), ToAllCount = t.ReadingClinicalDataList.Where(x => !x.IsSign && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC).Count(), - ReadModuleCount = t.ReadModuleList.Where(x => !x.IsCRCConfirm&&x.ReadModuleCriterionFromList.Count()>0).Count(), + ReadModuleCount = t.ReadModuleList.Where(x => !x.IsCRCConfirm).Count(), }).Where(x => x.ReadModuleCount > 0); var defalutSortArray = new string[] { nameof(ImageClinicalDataToBeDoneDto.UrgentCount) + " desc", nameof(ImageClinicalDataToBeDoneDto.ToBeDealedCount) + " desc" };