diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index fb75f93ac..a1b3bbd29 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -965,8 +965,16 @@ namespace IRaCIS.Core.Application return ResponseOutput.NotOk(_localizer["TrialConfig_ProjectNotInitialized"]); } + var clinicalDataTrialSetDataList = await _clinicalDataTrialSetRepository.Where(x => trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Include(x => x.TrialClinicalDataSetCriteriaList).ToListAsync(); + foreach (var item in clinicalDataTrialSetDataList) + { + var clinicalids = item.TrialClinicalDataSetCriteriaList.Select(x => x.TrialReadingCriterionId).ToList(); + if (clinicalids.Intersect(trialConfig.TrialCriterionIds).ToList().Count() == 0) + { + throw new BusinessValidationFailedException(_localizer["TrialConfig_NoCriteriaClinicalData"]); + } - + } var trialInfo = await _trialRepository.Where(t => t.Id == trialConfig.TrialId, true).Include(t => t.TrialDicList.Where(u => u.KeyName == StaticData.Criterion)).FirstOrDefaultAsync(); if (trialInfo == null) return Null404NotFound(trialInfo);