diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 4e55ad05..e204524f 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -2293,6 +2293,11 @@
第一层的Question
+
+
+ 器官Id
+
+
VisitTaskId
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
index 5ca7dd75..5978d8ea 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs
@@ -323,13 +323,13 @@ namespace IRaCIS.Application.Services
.WhereIf(inDto.UploadRole != null, x => x.UploadRole == inDto.UploadRole)
.Where(x => !usedIdsQuery.Contains(x.Id))
- //.WhereIf(inDto.TrialReadingCriterionId != null, t => t.TrialClinicalDataCriterionList.Any(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
+
.WhereIf(inDto.IsVisit && inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit)
.WhereIf(!inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead)
.WhereIf(readModule != null, x => x.ClinicalDataLevel == keyValuePairs[readModule.ModuleType])
- .WhereIf(criterion!=null,x=>x.CriterionEnumList.Contains((int)criterion.CriterionType))
+ //.WhereIf(criterion!=null,x=>x.CriterionEnumList.Contains((int)criterion.CriterionType))
.Select(x => new GetTrialClinicalDataSelectOutDto()
{
ClinicalDataLevel = x.ClinicalDataLevel,
@@ -337,8 +337,10 @@ namespace IRaCIS.Application.Services
ClinicalUploadType = x.ClinicalUploadType,
FileName = x.FileName,
Path = x.Path,
- Id = x.Id
+ Id = x.Id,
+ CriterionEnumList=x.CriterionEnumList,
}).ToListAsync();
+ clinicalList = clinicalList.WhereIf(criterion != null, x => x.CriterionEnumList.Contains((int)criterion.CriterionType)).ToList();
return clinicalList;
}
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs
index e983afb4..9d9a3893 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs
@@ -500,6 +500,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public string Path { get; set; }
+ public List CriterionEnumList { get; set; }
+
}
diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs
index 94ebfc63..f288d0aa 100644
--- a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs
+++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs
@@ -87,7 +87,6 @@ namespace IRaCIS.Core.Domain.Models
public string CriterionEnumListStr { get; set; } = String.Empty;
- [NotMapped]
public List CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
}