S-004 临床数据

Uat_Study
he 2023-07-05 10:30:37 +08:00
parent 9265147e12
commit 650d1e9647
4 changed files with 56 additions and 16 deletions

View File

@ -466,25 +466,39 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataTrialSetId= x.ClinicalDataTrialSet.Id,
ClinicalDataSetName =x.ClinicalDataTrialSet.ClinicalDataSetName,
ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName,
IsHaveTableQuestion=x.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y=>y.ClinicalQuestionType== ReadingQestionType.Table),
}).ToListAsync();
var confirmList = await _readModuleCriterionFromRepository.Where(x => x.TrialId == inDto.TrialId).Include(x=>x.ClinicalForm).Include(x=>x.ClinicalForm.ClinicalDataTrialSet).ToListAsync();
var confirmList = await _readModuleCriterionFromRepository.Where(x => x.TrialId == inDto.TrialId)
.Select(x => new GetCRCBeConfirm
{
CheckDate = x.ClinicalForm.CheckDate ?? default(DateTime),
ClinicalDataSetName = x.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetName,
ClinicalDataSetEnName = x.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetEnName,
ClinicalFormId = x.ClinicalFormId,
ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSet.Id,
ReadModuleId=x.ReadModuleId,
IsHaveTableQuestion=x.ClinicalForm.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y => y.ClinicalQuestionType == ReadingQestionType.Table)
}).ToListAsync();
result.CurrentPageData.ForEach(x =>
{
if (x.IsCRCConfirm)
{
x.ClinicalFormIdList = confirmList.Where(y => y.ReadModuleId == x.ReadModuleId).Select(y=>new GetCRCBeConfirmListOutDto() {
CheckDate = y.ClinicalForm.CheckDate??default(DateTime),
ClinicalDataSetName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetName,
ClinicalDataSetEnName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetEnName,
x.ClinicalFormList = confirmList.Where(y => y.ReadModuleId == x.ReadModuleId).Select(y=>new GetCRCBeConfirmListOutDto() {
CheckDate = y.CheckDate,
ClinicalDataSetName= y.ClinicalDataSetName,
ClinicalDataSetEnName= y.ClinicalDataSetEnName,
ClinicalFormId=y.ClinicalFormId,
ClinicalDataTrialSetId=y.ClinicalForm.ClinicalDataTrialSet.Id,
ClinicalDataTrialSetId=y.ClinicalDataTrialSetId,
IsHaveTableQuestion=y.IsHaveTableQuestion,
}).ToList();
}
else
{
if (x.ReadingSetType == ReadingSetType.ImageReading)
{
x.ClinicalFormIdList = formList.Where(y => y.ClinicalDataLevel == ClinicalLevel.ImageRead&&y.CheckDate <= x.LatestScanDate)
x.ClinicalFormList = formList.Where(y => y.ClinicalDataLevel == ClinicalLevel.ImageRead&&y.CheckDate <= x.LatestScanDate)
.Select(y => new GetCRCBeConfirmListOutDto()
{
CheckDate = y.CheckDate ?? default(DateTime),
@ -492,11 +506,12 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetEnName = y.ClinicalDataSetEnName,
ClinicalFormId = y.ClinicalFormId,
ClinicalDataTrialSetId = y.ClinicalDataTrialSetId,
IsHaveTableQuestion = y.IsHaveTableQuestion,
}).ToList();
}
else
{
x.ClinicalFormIdList = formList.Where(y => y.ClinicalDataLevel == ClinicalLevel.OncologyRead&&y.CheckDate <= x.LatestScanDate)
x.ClinicalFormList = formList.Where(y => y.ClinicalDataLevel == ClinicalLevel.OncologyRead&&y.CheckDate <= x.LatestScanDate)
.Select(y => new GetCRCBeConfirmListOutDto()
{
CheckDate = y.CheckDate ?? default(DateTime),
@ -504,6 +519,7 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetEnName = y.ClinicalDataSetEnName,
ClinicalFormId = y.ClinicalFormId,
ClinicalDataTrialSetId = y.ClinicalDataTrialSetId,
IsHaveTableQuestion = y.IsHaveTableQuestion,
}).ToList();
}
}
@ -526,7 +542,7 @@ namespace IRaCIS.Core.Application.Service
PageIndex=1,
PageSize=9999,
})).CurrentPageData.SelectMany(x => x.ClinicalFormIdList).ToList();
})).CurrentPageData.SelectMany(x => x.ClinicalFormList).ToList();
result.ForEach(x => {
@ -569,7 +585,7 @@ namespace IRaCIS.Core.Application.Service
};
confirmlist.ForEach(x =>
{
x.ClinicalFormIdList.ForEach(y =>
x.ClinicalFormList.ForEach(y =>
{
needAddList.Add(new ReadModuleCriterionFrom()
{

View File

@ -125,8 +125,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid ReadModuleId { get; set; }
}
public class GetCRCBeConfirm: GetCRCBeConfirmListOutDto
{
public Guid ReadModuleId { get; set; }
}
public class GetCRCBeConfirmListOutDto
public class GetCRCBeConfirmListOutDto
{
public Guid ClinicalDataTrialSetId { get; set; }
@ -137,6 +142,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string ClinicalDataSetEnName { get; set; }
public DateTime CheckDate { get; set; }
public bool IsHaveTableQuestion { get; set; }
}
public class CRCConfirmClinicalInDto
@ -165,6 +172,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string ClinicalDataSetName { get; set; }
public bool IsHaveTableQuestion { get; set; }
public string ClinicalDataSetEnName { get; set; }
}
@ -185,19 +194,27 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsCRCConfirm { get; set; } = false;
public string SubjectCode { get; set; }
public bool IsHaveTableQuestion
{
get
{
return ClinicalFormList.Any(x => x.IsHaveTableQuestion);
}
}
/// <summary>
/// 最晚拍片日期
/// </summary>
public DateTime? LatestScanDate { get; set; }
public List<GetCRCBeConfirmListOutDto> ClinicalFormIdList { get; set; }
public List<GetCRCBeConfirmListOutDto> ClinicalFormList { get; set; }
public int FormCount
{
get
{
return this.ClinicalFormIdList.Count();
return this.ClinicalFormList.Count();
}
}
}

View File

@ -100,8 +100,11 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore]
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriteriaList { get; set; }
[JsonIgnore]
public List<TrialClinicalQuestion> TrialClinicalQuestionList { get; set; }
public string CriterionEnumListStr { get; set; } = String.Empty;
public string CriterionEnumListStr { get; set; } = String.Empty;
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();

View File

@ -162,7 +162,11 @@ namespace IRaCIS.Core.Domain.Models
/// 单位
/// </summary>
public string Unit { get; set; } = string.Empty;
}
[JsonIgnore]
[ForeignKey("TrialClinicalId")]
public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; }
}
}