diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 902957aa5..84d052758 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -437,8 +437,11 @@ namespace IRaCIS.Core.Application.Service { var query = _readModuleRepository.Where(x => x.TrialId == inDto.TrialId) .WhereIf(inDto.ReadModuleId != null, x => x.Id == inDto.ReadModuleId) - .Select(x => new GetCRCConfirmListOutDto() + .WhereIf(inDto.TrialReadingCriterionId != null, x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId) + .WhereIf(inDto.SubjectId != null, x => x.SubjectId == inDto.SubjectId) + .Select(x => new GetCRCConfirmListOutDto() { + SubjectId = x.SubjectId, IsCRCConfirm = x.IsCRCConfirm, LatestScanDate = x.SubjectVisit.LatestScanDate, @@ -544,10 +547,17 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task CRCConfirmClinical(CRCConfirmClinicalInDto inDto) { - var dataList =await this.GetCRCConfirmList(new GetCRCConfirmListInDto() + + var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync(); + + var dataList =(await this.GetCRCConfirmList(new GetCRCConfirmListInDto() { - TrialId = inDto.TrialId - }); + TrialId = inDto.TrialId, + SubjectId= readModule.SubjectId, + TrialReadingCriterionId= readModule.TrialReadingCriterionId, + PageIndex=1, + PageSize=9999, + })).CurrentPageData; var presentData = dataList.Where(x => x.ReadModuleId == inDto.ReadModuleId).First(); var confirmlist= dataList.Where(x =>(x.LatestScanDate < presentData.LatestScanDate && x.ReadingSetType == presentData.ReadingSetType) @@ -591,10 +601,16 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task CRCCancelConfirmClinical(CRCCancelConfirmClinicalInDto inDto) { - var dataList = await this.GetCRCConfirmList(new GetCRCConfirmListInDto() + + var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadModuleId).FirstNotNullAsync(); + var dataList = (await this.GetCRCConfirmList(new GetCRCConfirmListInDto() { - TrialId = inDto.TrialId - }); + TrialId = inDto.TrialId, + SubjectId = readModule.SubjectId, + TrialReadingCriterionId = readModule.TrialReadingCriterionId, + PageIndex = 1, + PageSize = 9999, + })).CurrentPageData; var presentData = dataList.Where(x => x.ReadModuleId == inDto.ReadModuleId).First(); diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index 9609043fd..8eab4e74f 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -101,6 +101,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class GetCRCConfirmListInDto:PageInput { + + public Guid? TrialReadingCriterionId { get; set; } + + public Guid? SubjectId { get; set; } + public Guid TrialId { get; set; } public Guid? ReadModuleId { get; set; } @@ -123,6 +128,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class GetCRCBeConfirmListOutDto { + public Guid ClinicalDataTrialSetId { get; set; } + public Guid ClinicalFormId { get; set; } public string ClinicalDataSetName { get; set; } @@ -136,6 +143,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid TrialId { get; set; } + public Guid SubjectId { get; set; } + public Guid ReadModuleId { get; set; } } @@ -151,6 +160,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ClinicalLevel ClinicalDataLevel { get; set; } + + public Guid ClinicalDataTrialSetId { get; set; } + public string ClinicalDataSetName { get; set; } public string ClinicalDataSetEnName { get; set; } @@ -190,6 +202,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } } + public class DeleteClinicalFormInDto + { + public Guid ClinicalFormId { get; set; } + } public class SubmitClinicalFormInDto { ///