diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs index 155bc42ad..159da3d4e 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DicomSeriesModel.cs @@ -81,6 +81,8 @@ namespace IRaCIS.Core.Application.Contracts.Dicom.DTO public Guid? StudyId { get; set; } + public List KeyFramesList{ get; set; }=new List { }; + public Guid? SeriesId { get; set; } [JsonIgnore] diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs index d7e41ff55..d97d57b1d 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs @@ -365,6 +365,8 @@ namespace IRaCIS.Core.Application.Contracts.DTO public Guid StudyId { get; set; } + public Guid SubjectVisitId { get; set; } + public int StudyStatus { get; set; } public string StudyCode { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 945c150ba..7d2d5a84e 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -216,7 +216,7 @@ namespace IRaCIS.Application.Services var query = _readingClinicalDataRepository.AsQueryable(); if (inDto.StudyId != null) { - query = query.Where(x => x.StudyId == inDto.StudyId.Value && x.TrialId == inDto.TrialId && x.SubjectId == inDto.SubjectId); + query = query.Where(x => x.StudyId == inDto.StudyId.Value && x.ReadingId == inDto.SubjectVisitId); } else { diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index edf51866c..d9e1ae23e 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -172,11 +172,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid SubjectVisitId { get; set; } - public Guid TrialId { get; set; } + public Guid TrialId { get; set; } - public Guid SubjectId { get; set; } + //public Guid TrialId { get; set; } - public bool IsBaseline { get; set; } + public Guid SubjectId { get; set; } + + + public bool IsBaseline { get; set; } public Guid? StudyId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 8672695b0..86a8721da 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -586,7 +586,7 @@ namespace IRaCIS.Core.Application.Services var markInstanceIdList = rowInfoList.Where(y => y.InstanceId != null).OrderBy(x => x.ShowOrder).ThenBy(x => x.RowIndex).Select(y => y.InstanceId!.Value).Distinct().ToList(); - item.InstanceInfoList = await _dicomInstanceRepository.Where(t => markInstanceIdList.Contains(t.Id)).OrderBy(t => t.InstanceNumber).Select(k => + item.InstanceInfoList = await _dicomInstanceRepository.Where(t => markInstanceIdList.Contains(t.Id)).Select(k => new InstanceBasicInfo() { Id = k.Id, @@ -601,6 +601,7 @@ namespace IRaCIS.Core.Application.Services item.InstanceInfoList.ForEach(x => { + x.KeyFramesList = rowInfoList.Where(y => y.InstanceId == x.Id).Select(y => y.NumberOfFrames).Distinct().ToList(); var item = rowInfoList.FirstOrDefault(y => y.InstanceId == x.Id); if (item != null) {