From 7a61b4fb9c95d087d2bbfa320e5e280b665dad30 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 15 Mar 2023 14:48:58 +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 | 284 +++++++++++++++--- .../Service/Common/ExcelExportService.cs | 12 +- .../Document/TrialEmailNoticeConfigService.cs | 2 +- .../Service/QC/DTO/QCListViewModel.cs | 10 +- .../Service/QC/_MapConfig.cs | 2 +- .../Reading/Dto/ReadingQuestionViewModel.cs | 46 +-- .../ReadingQuestionService.cs | 4 +- .../TumorAssessmentService.cs | 129 ++++---- .../ReadingImageTaskService.cs | 8 +- .../Service/Reading/_MapConfig.cs | 4 +- .../GeneralCalculateService.cs | 4 +- .../ReadingCalculate/PCWG3CalculateService.cs | 4 +- .../RECIST1Point1CalculateService.cs | 4 +- .../RECIST1Point1_BMCalculateService.cs | 6 +- .../ReadingCalculateService.cs | 2 +- .../SelfDefineCalculateService.cs | 4 +- IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs | 9 +- .../TumorAssessment_RECIST1Point1.cs} | 16 +- .../TumorAssessment_RECIST1Point1BM.cs | 40 +++ .../Common/AuditingData.cs | 8 +- .../Context/IRaCISDBContext.cs | 3 +- 21 files changed, 441 insertions(+), 160 deletions(-) rename IRaCIS.Core.Domain/Reading/{ReadingCriterion/TumorAssessment.cs => TumorAssessment/TumorAssessment_RECIST1Point1.cs} (80%) create mode 100644 IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1BM.cs diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index f30170f59..c52280d2d 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1498,6 +1498,250 @@ + + + 获取Sod的值 + + + + + 删除病灶获取起始病灶序号(RECIST1Point1 固定是1) + + + + + + 获取阅片报告 + + + + + + + 测试计算 + + + + + + + + 计算任务 + + + + + + + 获取报告验证的信息(这里每个标准可能不一样 返回用object) + + + + + + + 自动计算 + + + + + + + + 获取报告整体整体评估 + + + + + + + 获取报告是否存在疾病 + + + + + + + 验证访视提交 + + + + + + + 将上一次的访视病灶添加到这一次 + + + + + + + 获取SOD + + + 靶病灶径线之和(SOD) + 非淋巴结的长径 和淋巴结的短径 + + + + + + 非淋巴结靶病灶长径之和 + + + + + + + 与基线SOD相比变化量(mm) + + + + + + + 与基线访视相比SOD变化百分比 + + + + + + + 与整个访视期间SOD最低点相比增加的值(mm) + + + + 要更新之前的 + + + + + + 与整个访视期间SOD最低点相比增加的百分比 + + + + 要更新之前的 + + + + + + 整个访视期间SOD最低点访视名称 + + + + 要更新之前的 + + + + + + 是否存在非淋巴结靶病灶 + + + + + + + 是否存在淋巴结靶病灶且该病灶比上一访视短径增加5MM以上 + + + + + + + 获取存在淋巴结靶病灶且该病灶比上一访视短径增加5MM以上的病灶 + + + + + + + 被评估为NE的单个靶病灶 + + + + + + + 整体肿瘤评估 + + + + + + + 是否存在疾病 + + + + + + + 修改与整个访视期间SOD最低点相比增加的值(mm) + + + + + + + 修改最低方式点名称 + + + + + + + 修改所有访视任务的答案 + + + + + + + + + 获取基线SOD + + + + + + + 获取最低方式 + + + + + + + 获取访视任务信息 + + + + + + + 获取上一个访视任务Id + + + + + + + 获取非靶病灶评估 + + + + + + + 获取新病灶评估 + + + + 删除病灶获取起始病灶序号 @@ -4107,26 +4351,6 @@ 整体疗效 - - - 靶病灶 - - - - - 非靶病灶 - - - - - 新病灶 - - - - - 整体疗效 - - IsBaseLineUse @@ -5892,32 +6116,12 @@ - - - 获取疗效对照 - - - 获取疗效对照 - - - 新增修改疗效对照 - - - - - - - 删除疗效对照 - - - - 快捷键服务 diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 167d08412..cc35e0c0b 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -726,7 +726,7 @@ namespace IRaCIS.Core.Application.Service.Common var criterion = await _repository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync(); - if (criterion.CriterionType != CriterionType.RECIST1Pointt1) + if (criterion.CriterionType != CriterionType.RECIST1Point1) { throw new Exception("当前标准导出还未支持"); } @@ -807,7 +807,7 @@ namespace IRaCIS.Core.Application.Service.Common { var criterion = await _repository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync(); - if (criterion.CriterionType != CriterionType.RECIST1Pointt1) + if (criterion.CriterionType != CriterionType.RECIST1Point1) { throw new Exception("当前标准导出还未支持"); } @@ -927,7 +927,7 @@ namespace IRaCIS.Core.Application.Service.Common var list = new List(); var criterion = await _repository.Where(t => t.Id == trialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync(); - if (criterion.CriterionType == CriterionType.RECIST1Pointt1) + if (criterion.CriterionType == CriterionType.RECIST1Point1) { list.Add(new ExportDocumentDes() { Code = StaticData.Export.OverallTumorEvaluation_Export, ExportCatogory = ExportCatogory.OverallTumorEvaluation }); list.Add(new ExportDocumentDes() { Code = StaticData.Export.RECIST1Point1EvaluationOfTumorEfficacy_Export, ExportCatogory = ExportCatogory.EvaluationOfTumorEfficacy }); @@ -974,7 +974,7 @@ namespace IRaCIS.Core.Application.Service.Common //每次查询必须是单标准的 var criterion = await _repository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstNotNullAsync(); - if (criterion.CriterionType != CriterionType.RECIST1Pointt1 && criterion.CriterionType != CriterionType.PCWG3) + if (criterion.CriterionType != CriterionType.RECIST1Point1 && criterion.CriterionType != CriterionType.PCWG3) { throw new Exception("当前标准导出还未支持"); } @@ -1055,7 +1055,7 @@ namespace IRaCIS.Core.Application.Service.Common var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException(); exportInfo.CriterionName = criterion.CriterionName; - if (criterion.CriterionType == CriterionType.RECIST1Pointt1) + if (criterion.CriterionType == CriterionType.RECIST1Point1) { var list = await query.ProjectTo(_mapper.ConfigurationProvider, new { criterionType = criterion.CriterionType }).ToListAsync(); @@ -1115,7 +1115,7 @@ namespace IRaCIS.Core.Application.Service.Common var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException(); exportInfo.CriterionName = criterion.CriterionName; - if (criterion.CriterionType == CriterionType.RECIST1Pointt1) + if (criterion.CriterionType == CriterionType.RECIST1Point1) { var list = await query.ProjectTo(_mapper.ConfigurationProvider, new { criterionType = criterion.CriterionType, isEn_Us = _userInfo.IsEn_Us }).ToListAsync(); diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 26c7ac389..cd3052765 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -1165,7 +1165,7 @@ namespace IRaCIS.Core.Application.Service { - case CriterionType.RECIST1Pointt1: + case CriterionType.RECIST1Point1: if (readingCategory == ReadingCategory.Visit) { diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index cea16a571..2482f739b 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -837,8 +837,8 @@ namespace IRaCIS.Core.Application.Contracts public string UserName { get; set; } - [DictionaryTranslateAttribute("ExistDisease", CriterionType.RECIST1Pointt1, nameof(OverallTumorEvaluationExport.IsBaseline), "true")] - [DictionaryTranslateAttribute("OverallAssessment", CriterionType.RECIST1Pointt1, nameof(OverallTumorEvaluationExport.IsBaseline), "false")] + [DictionaryTranslateAttribute("ExistDisease", CriterionType.RECIST1Point1, nameof(OverallTumorEvaluationExport.IsBaseline), "true")] + [DictionaryTranslateAttribute("OverallAssessment", CriterionType.RECIST1Point1, nameof(OverallTumorEvaluationExport.IsBaseline), "false")] [DictionaryTranslateAttribute("VisitTumorEvaluation", CriterionType.PCWG3)] //整体肿瘤评估结果 需要翻译 @@ -857,16 +857,16 @@ namespace IRaCIS.Core.Application.Contracts public class RECIST1Point1EvaluationOfTumorEfficacyExport : OverallTumorEvaluationExport { - [DictionaryTranslateAttribute("TargetAssessment", CriterionType.RECIST1Pointt1)] + [DictionaryTranslateAttribute("TargetAssessment", CriterionType.RECIST1Point1)] // 靶病灶评估 public string TargetlesionEvaluationResult { get; set; } - [DictionaryTranslateAttribute("NoTargetAssessment", CriterionType.RECIST1Pointt1)] + [DictionaryTranslateAttribute("NoTargetAssessment", CriterionType.RECIST1Point1)] // 非靶病灶评估 public string NoneTargetlesionEvaluationResult { get; set; } // 是否存在新病灶 - [DictionaryTranslateAttribute("NewLesionAssessment", CriterionType.RECIST1Pointt1)] + [DictionaryTranslateAttribute("NewLesionAssessment", CriterionType.RECIST1Point1)] public string IsExistNewlesionEvaluationResult { get; set; } diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index 928e72df3..add417a27 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -173,7 +173,7 @@ namespace IRaCIS.Core.Application.Service .ForMember(o => o.IsBaseline, t => t.MapFrom(u => u.SourceSubjectVisit.IsBaseLine)) .ForMember(o => o.OverallTumorEvaluationResult, t => t.MapFrom(u => - criterionType == CriterionType.RECIST1Pointt1 ?( u.SourceSubjectVisit.IsBaseLine==true ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.ExistDisease).FirstOrDefault().Answer: + criterionType == CriterionType.RECIST1Point1 ?( u.SourceSubjectVisit.IsBaseLine==true ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.ExistDisease).FirstOrDefault().Answer: u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstOrDefault().Answer) : criterionType == CriterionType.PCWG3 ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstOrDefault().Answer : String.Empty )) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 2ca6c12b9..27817f084 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -47,29 +47,41 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } + + public class ColumnInfo + { + public string ColumnName { get; set; } + + public string ColumnKey { get; set; } + + public string DictionaryKey { get; set; } + } + public class GetTumorAssessmentListInDto:PageInput { - public Guid CriterionId { get; set; } + //public Guid CriterionId { get; set; } - /// - /// 靶病灶 - /// - public TargetAssessment? TargetLesion { get; set; } + public CriterionType CriterionType { get; set; } - /// - /// 非靶病灶 - /// - public NoTargetAssessment? NonTargetLesions { get; set; } + ///// + ///// 靶病灶 + ///// + //public TargetAssessment? TargetLesion { get; set; } - /// - /// 新病灶 - /// - public NewLesionAssessment? NewLesion { get; set; } + ///// + ///// 非靶病灶 + ///// + //public NoTargetAssessment? NonTargetLesions { get; set; } - /// - /// 整体疗效 - /// - public OverallAssessment? OverallEfficacy { get; set; } + ///// + ///// 新病灶 + ///// + //public NewLesionAssessment? NewLesion { get; set; } + + ///// + ///// 整体疗效 + ///// + //public OverallAssessment? OverallEfficacy { get; set; } } public class CopySystemCriterionDataInDto { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs index 52d8c1e5e..cddc85ef2 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs @@ -30,7 +30,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _readingTableQuestionTrialRepository; private readonly IRepository _readingCriterionPageRepository; private readonly IRepository _trialRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IRepository _organInfoRepository; private readonly IRepository _readingTableQuestionSystemRepository; private readonly IRepository _readingTaskQuestionAnswer; @@ -50,7 +50,7 @@ namespace IRaCIS.Application.Services IRepository readingTableQuestionTrialRepository, IRepository readingCriterionPageRepository, IRepository trialRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IRepository organInfoRepository, IRepository readingTableQuestionSystemRepository, IRepository readingTaskQuestionAnswer, diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/TumorAssessmentService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/TumorAssessmentService.cs index 596d025bf..8c9b147c4 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/TumorAssessmentService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/TumorAssessmentService.cs @@ -15,77 +15,102 @@ namespace IRaCIS.Core.Application.Service.TA [ApiExplorerSettings(GroupName = "Reading")] public class ReadingQuestionService : BaseService { - private readonly IRepository _tumorAssessmentRepository; - - public ReadingQuestionService( IRepository tumorAssessmentRepository ) + private readonly IRepository _tumorAssessmentRepository1Point1; + private readonly IRepository _tumorAssessmentRepository1Point1BM; + + public ReadingQuestionService( IRepository tumorAssessmentRepository1Point1, + IRepository tumorAssessmentRepository1Point1BM + ) { - this._tumorAssessmentRepository = tumorAssessmentRepository; + this._tumorAssessmentRepository1Point1 = tumorAssessmentRepository1Point1; + this._tumorAssessmentRepository1Point1BM = tumorAssessmentRepository1Point1BM; } + ///// + ///// 获取疗效对照 + ///// + ///// + //[HttpPost] + //public async Task> GetTumorAssessmentList(GetTumorAssessmentListInDto inDto) + //{ + // var result = await _tumorAssessmentRepository + // .Where(x => x.CriterionId == inDto.CriterionId) + // .WhereIf(inDto.OverallEfficacy != null, x => x.OverallEfficacy == inDto.OverallEfficacy) + // .WhereIf(inDto.TargetLesion != null, x => x.TargetLesion == inDto.TargetLesion) + // .WhereIf(inDto.NonTargetLesions != null, x => x.NonTargetLesions == inDto.NonTargetLesions) + // .WhereIf(inDto.NewLesion != null, x => x.NewLesion == inDto.NewLesion) + // .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + // return result; + //} + /// /// 获取疗效对照 /// /// [HttpPost] - public async Task> GetTumorAssessmentList(GetTumorAssessmentListInDto inDto) + public async Task<(object,List)> GetTumorAssessmentPageList(GetTumorAssessmentListInDto inQuery) { - var result = await _tumorAssessmentRepository - .Where(x => x.CriterionId == inDto.CriterionId) - .WhereIf(inDto.OverallEfficacy != null, x => x.OverallEfficacy == inDto.OverallEfficacy) - .WhereIf(inDto.TargetLesion != null, x => x.TargetLesion == inDto.TargetLesion) - .WhereIf(inDto.NonTargetLesions != null, x => x.NonTargetLesions == inDto.NonTargetLesions) - .WhereIf(inDto.NewLesion != null, x => x.NewLesion == inDto.NewLesion) - .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - return result; - } + var result = new object(); + List columnList = new List(); + switch (inQuery.CriterionType) + { + case CriterionType.RECIST1Point1: + result= await _tumorAssessmentRepository1Point1.AsQueryable().ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc); + columnList = new List() + { + new ColumnInfo(){ ColumnName="靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.TargetLesion),DictionaryKey=typeof(TargetAssessment).Name }, + new ColumnInfo(){ ColumnName="非靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NonTargetLesions),DictionaryKey=typeof(NoTargetAssessment).Name }, + new ColumnInfo(){ ColumnName="新病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NewLesion),DictionaryKey=typeof(NewLesionAssessment).Name }, + new ColumnInfo(){ ColumnName="整体疗效",ColumnKey=nameof(TumorAssessment_RECIST1Point1.OverallEfficacy),DictionaryKey=typeof(OverallAssessment).Name }, + }; + + break; + case CriterionType.RECIST1Pointt1_MB: + result = await _tumorAssessmentRepository1Point1BM.AsQueryable().ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc); + columnList = new List() + { + new ColumnInfo(){ ColumnName="靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.TargetLesion),DictionaryKey=typeof(TargetAssessment).Name }, + new ColumnInfo(){ ColumnName="非靶病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NonTargetLesions),DictionaryKey=typeof(NoTargetAssessment).Name }, + new ColumnInfo(){ ColumnName="新病灶",ColumnKey=nameof(TumorAssessment_RECIST1Point1.NewLesion),DictionaryKey=typeof(NewLesionAssessment).Name }, + new ColumnInfo(){ ColumnName="整体疗效",ColumnKey=nameof(TumorAssessment_RECIST1Point1.OverallEfficacy),DictionaryKey=typeof(OverallAssessment).Name }, + }; - /// - /// 获取疗效对照 - /// - /// - [HttpPost] - public async Task> GetTumorAssessmentPageList(GetTumorAssessmentListInDto inQuery) - { - var query = _tumorAssessmentRepository - .Where(x => x.CriterionId == inQuery.CriterionId) - .WhereIf(inQuery.OverallEfficacy != null, x => x.OverallEfficacy == inQuery.OverallEfficacy) - .WhereIf(inQuery.TargetLesion != null, x => x.TargetLesion == inQuery.TargetLesion) - .WhereIf(inQuery.NonTargetLesions != null, x => x.NonTargetLesions == inQuery.NonTargetLesions) - .WhereIf(inQuery.NewLesion != null, x => x.NewLesion == inQuery.NewLesion) - .ProjectTo(_mapper.ConfigurationProvider); + break; + } + + return (result, columnList); - return await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc); } - /// - /// 新增修改疗效对照 - /// - /// - /// - [HttpPost] - public async Task AddOrUpdateTumorAssessment(AddOrUpdateTumorAssessmentInDto indto) - { + ///// + ///// 新增修改疗效对照 + ///// + ///// + ///// + //[HttpPost] + //public async Task AddOrUpdateTumorAssessment(AddOrUpdateTumorAssessmentInDto indto) + //{ - var entity = await _tumorAssessmentRepository.InsertOrUpdateAsync(indto, true); + // var entity = await _tumorAssessmentRepository.InsertOrUpdateAsync(indto, true); - return ResponseOutput.Ok(entity.Id.ToString()); + // return ResponseOutput.Ok(entity.Id.ToString()); - } + //} - /// - /// 删除疗效对照 - /// - /// - /// - [HttpDelete("{Id:guid}")] - public async Task DeleteTumorAssessment(Guid Id) - { - await _tumorAssessmentRepository.DeleteFromQueryAsync(t => t.Id == Id); - var success = await _tumorAssessmentRepository.SaveChangesAsync(); - return ResponseOutput.Result(success); - } + ///// + ///// 删除疗效对照 + ///// + ///// + ///// + //[HttpDelete("{Id:guid}")] + //public async Task DeleteTumorAssessment(Guid Id) + //{ + // await _tumorAssessmentRepository.DeleteFromQueryAsync(t => t.Id == Id); + // var success = await _tumorAssessmentRepository.SaveChangesAsync(); + // return ResponseOutput.Result(success); + //} } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 9b3669e3b..0c87de9d5 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -43,7 +43,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _dicomInstanceRepository; private readonly IRepository _organInfoRepository; private readonly IRepository _readingCriterionDictionaryRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IRepository _readingTableAnswerRowInfoRepository; private readonly IRepository _readingTableQuestionSystemRepository; private readonly IRepository _readingTableQuestionTrialRepository; @@ -80,7 +80,7 @@ namespace IRaCIS.Application.Services IRepository organInfoRepository, IMemoryCache cache, IRepository readingCriterionDictionaryRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IRepository readingTableAnswerRowInfoRepository, IRepository readingTableQuestionSystemRepository, IRepository readingTableQuestionTrialRepository, @@ -1381,7 +1381,7 @@ namespace IRaCIS.Application.Services // 2) 对于淋巴结病灶,验证当前访视该病灶的短径 > 上一访视该病灶的短径。 // 约束条件:两次访视该病灶的短径有测量值。 // 提示语:当前访视该淋巴结病灶的短径小于上一访视的值,不能设置为显著增大。 - case CriterionType.RECIST1Pointt1: + case CriterionType.RECIST1Point1: var lastTaskinfo = await _visitTaskRepository .Where(x => x.IsAnalysisCreate == taskinfo.IsAnalysisCreate && x.SubjectId==taskinfo.SubjectId&& @@ -1551,7 +1551,7 @@ namespace IRaCIS.Application.Services { Dictionary errorMsgDic = new Dictionary() { - {CriterionType.RECIST1Pointt1, _localizer["ReadingImage_Maxlesion", item.MaxRowCount.Value]}, + {CriterionType.RECIST1Point1, _localizer["ReadingImage_Maxlesion", item.MaxRowCount.Value]}, {CriterionType.PCWG3, _localizer["ReadingImage_PCWGMaximum", item.MaxRowCount.Value]}, }; diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index d954b9f32..e6fd7af30 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -20,7 +20,7 @@ namespace IRaCIS.Core.Application.Service CreateMap(); - CreateMap(); + CreateMap(); CreateMap() .ForMember(d => d.SubjectVisitName, u => u.MapFrom(s => s.VisitStage==null?string.Empty: s.VisitStage.VisitName)) @@ -73,7 +73,7 @@ namespace IRaCIS.Core.Application.Service CreateMap(); - CreateMap(); + CreateMap(); CreateMap(); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/GeneralCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/GeneralCalculateService.cs index e51c3e270..09e656644 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/GeneralCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/GeneralCalculateService.cs @@ -19,7 +19,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate private readonly IRepository _readingTableAnswerRowInfoRepository; private readonly IRepository _readingQuestionTrialRepository; private readonly IRepository _subjectVisitRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IRepository _readingTaskQuestionAnswerRepository; public GeneralCalculateService( @@ -30,7 +30,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository readingTableAnswerRowInfoRepository, IRepository readingQuestionTrialRepository, IRepository subjectVisitRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IRepository readingTaskQuestionAnswerRepository ) { diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs index 3a3bd28bb..9de54e128 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs @@ -27,7 +27,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate private readonly IRepository _organInfoRepository; private readonly IRepository _dicomStudyRepository; private readonly IRepository _noneDicomStudyRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IGeneralCalculateService _generalCalculateService; private readonly IRepository _readingTaskQuestionAnswerRepository; @@ -42,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository organInfoRepository, IRepository dicomStudyRepository, IRepository noneDicomStudyRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IGeneralCalculateService generalCalculateService, IRepository readingTaskQuestionAnswerRepository ) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index 5d43af8a5..e029b5a19 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -26,7 +26,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate private readonly IRepository _readingQuestionTrialRepository; private readonly IRepository _organInfoRepository; private readonly IRepository _subjectVisitRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IGeneralCalculateService _generalCalculateService; private readonly IRepository _readingTaskQuestionAnswerRepository; @@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository readingQuestionTrialRepository, IRepository organInfoRepository, IRepository subjectVisitRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IGeneralCalculateService generalCalculateService, IRepository readingTaskQuestionAnswerRepository ) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs index 23fd1a1e3..9ebd7c356 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs @@ -26,11 +26,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate private readonly IRepository _readingQuestionTrialRepository; private readonly IRepository _organInfoRepository; private readonly IRepository _subjectVisitRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IGeneralCalculateService _generalCalculateService; private readonly IRepository _readingTaskQuestionAnswerRepository; - public RECIST1Point1CalculateService( + public RECIST1Point1_BMCalculateService( IRepository readingTableQuestionAnswerRepository, IRepository visitTaskRepository, IRepository readingQuestionCriterionTrialRepository, @@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository readingQuestionTrialRepository, IRepository organInfoRepository, IRepository subjectVisitRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IGeneralCalculateService generalCalculateService, IRepository readingTaskQuestionAnswerRepository ) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs index 6331b4015..2452b52a3 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs @@ -16,7 +16,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate /// Dictionary CalculateServiceDic = new Dictionary() { - {CriterionType.RECIST1Pointt1,typeof(RECIST1Point1CalculateService) }, //RECIST1.1 + {CriterionType.RECIST1Point1,typeof(RECIST1Point1CalculateService) }, //RECIST1.1 {CriterionType.PCWG3,typeof(PCWG3CalculateService) }, {CriterionType.SelfDefine,typeof(SelfDefineCalculateService) } }; diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/SelfDefineCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/SelfDefineCalculateService.cs index 7b8c8a8f3..45e7fd709 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/SelfDefineCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/SelfDefineCalculateService.cs @@ -27,7 +27,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate private readonly IRepository _organInfoRepository; private readonly IRepository _dicomStudyRepository; private readonly IRepository _noneDicomStudyRepository; - private readonly IRepository _tumorAssessmentRepository; + private readonly IRepository _tumorAssessmentRepository; private readonly IGeneralCalculateService _generalCalculateService; private readonly IRepository _readingTaskQuestionAnswerRepository; @@ -42,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository organInfoRepository, IRepository dicomStudyRepository, IRepository noneDicomStudyRepository, - IRepository tumorAssessmentRepository, + IRepository tumorAssessmentRepository, IGeneralCalculateService generalCalculateService, IRepository readingTaskQuestionAnswerRepository ) diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index 00384e057..48531f76b 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -224,7 +224,7 @@ namespace IRaCIS.Core.Domain.Share /// /// RECIST 1.1 /// - RECIST1Pointt1 = 1, + RECIST1Point1 = 1, /// /// PCWG3 @@ -299,7 +299,12 @@ namespace IRaCIS.Core.Domain.Share /// /// IMWG 2016 /// - IMWG2016 = 9 + IMWG2016 = 9, + + /// + /// RECIST 1.1-BM + /// + RECIST1Pointt1_MB = 17 } diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/TumorAssessment.cs b/IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1.cs similarity index 80% rename from IRaCIS.Core.Domain/Reading/ReadingCriterion/TumorAssessment.cs rename to IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1.cs index 21189dfa5..56a7fccd9 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/TumorAssessment.cs +++ b/IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1.cs @@ -9,11 +9,11 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace IRaCIS.Core.Domain.Models { - /// - ///肿瘤评估(系统标准) - /// - [Table("TumorAssessment")] - public class TumorAssessment : Entity + /// + ///RECIST1Point1肿瘤评估(系统标准) + /// + [Table("TumorAssessment_RECIST1Point1")] + public class TumorAssessment_RECIST1Point1 : Entity { /// @@ -35,12 +35,6 @@ namespace IRaCIS.Core.Domain.Models /// 整体疗效 /// public OverallAssessment OverallEfficacy { get; set; } - - /// - /// 标准ID(系统标准Id) - /// - public Guid CriterionId { get; set; } - } } diff --git a/IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1BM.cs b/IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1BM.cs new file mode 100644 index 000000000..f49421233 --- /dev/null +++ b/IRaCIS.Core.Domain/Reading/TumorAssessment/TumorAssessment_RECIST1Point1BM.cs @@ -0,0 +1,40 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2022-08-22 10:06:13 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///RECIST1Point1BM肿瘤评估(系统标准) + /// + [Table("TumorAssessment_RECIST1Point1BM")] + public class TumorAssessment_RECIST1Point1BM : Entity + { + + /// + /// 靶病灶 + /// + public TargetAssessment TargetLesion { get; set; } + + /// + /// 非靶病灶 + /// + public NoTargetAssessment NonTargetLesions { get; set; } + + /// + /// 新病灶 + /// + public NewLesionAssessment NewLesion { get; set; } + + /// + /// 整体疗效 + /// + public OverallAssessment OverallEfficacy { get; set; } + } + +} diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 05ea90c17..6d730007f 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -599,18 +599,18 @@ namespace IRaCIS.Core.Infra.EFCore.Common //疗效评估 - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TumorAssessment))) + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TumorAssessment_RECIST1Point1))) { var type = GetEntityAuditOpt(item); - var entity = item.Entity as TumorAssessment; + var entity = item.Entity as TumorAssessment_RECIST1Point1; - await InsertInspection(entity, type, x => new InspectionConvertDTO() + await InsertInspection(entity, type, x => new InspectionConvertDTO() { IsDistinctionInterface = false, - ObjectRelationParentId = entity.CriterionId + //ObjectRelationParentId = entity.CriterionId }); } diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index a1c877d09..c09d76e2d 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -262,7 +262,8 @@ namespace IRaCIS.Core.Infra.EFCore public virtual DbSet ReadingTableQuestionTrial { get; set; } - public virtual DbSet TumorAssessment { get; set; } + public virtual DbSet TumorAssessment_RECIST1Point1BM { get; set; } + public virtual DbSet TumorAssessment_RECIST1Point1 { get; set; } public virtual DbSet TrialClinicalDataSetCriterion { get; set; }