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, ClinicalDataTrialSetId= x.ClinicalDataTrialSet.Id,
ClinicalDataSetName =x.ClinicalDataTrialSet.ClinicalDataSetName, ClinicalDataSetName =x.ClinicalDataTrialSet.ClinicalDataSetName,
ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName,
IsHaveTableQuestion=x.ClinicalDataTrialSet.TrialClinicalQuestionList.Any(y=>y.ClinicalQuestionType== ReadingQestionType.Table),
}).ToListAsync(); }).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 => result.CurrentPageData.ForEach(x =>
{ {
if (x.IsCRCConfirm) if (x.IsCRCConfirm)
{ {
x.ClinicalFormIdList = confirmList.Where(y => y.ReadModuleId == x.ReadModuleId).Select(y=>new GetCRCBeConfirmListOutDto() { x.ClinicalFormList = confirmList.Where(y => y.ReadModuleId == x.ReadModuleId).Select(y=>new GetCRCBeConfirmListOutDto() {
CheckDate = y.ClinicalForm.CheckDate??default(DateTime), CheckDate = y.CheckDate,
ClinicalDataSetName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetName, ClinicalDataSetName= y.ClinicalDataSetName,
ClinicalDataSetEnName= y.ClinicalForm.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataSetEnName= y.ClinicalDataSetEnName,
ClinicalFormId=y.ClinicalFormId, ClinicalFormId=y.ClinicalFormId,
ClinicalDataTrialSetId=y.ClinicalForm.ClinicalDataTrialSet.Id, ClinicalDataTrialSetId=y.ClinicalDataTrialSetId,
IsHaveTableQuestion=y.IsHaveTableQuestion,
}).ToList(); }).ToList();
} }
else else
{ {
if (x.ReadingSetType == ReadingSetType.ImageReading) 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() .Select(y => new GetCRCBeConfirmListOutDto()
{ {
CheckDate = y.CheckDate ?? default(DateTime), CheckDate = y.CheckDate ?? default(DateTime),
@ -492,11 +506,12 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetEnName = y.ClinicalDataSetEnName, ClinicalDataSetEnName = y.ClinicalDataSetEnName,
ClinicalFormId = y.ClinicalFormId, ClinicalFormId = y.ClinicalFormId,
ClinicalDataTrialSetId = y.ClinicalDataTrialSetId, ClinicalDataTrialSetId = y.ClinicalDataTrialSetId,
IsHaveTableQuestion = y.IsHaveTableQuestion,
}).ToList(); }).ToList();
} }
else 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() .Select(y => new GetCRCBeConfirmListOutDto()
{ {
CheckDate = y.CheckDate ?? default(DateTime), CheckDate = y.CheckDate ?? default(DateTime),
@ -504,6 +519,7 @@ namespace IRaCIS.Core.Application.Service
ClinicalDataSetEnName = y.ClinicalDataSetEnName, ClinicalDataSetEnName = y.ClinicalDataSetEnName,
ClinicalFormId = y.ClinicalFormId, ClinicalFormId = y.ClinicalFormId,
ClinicalDataTrialSetId = y.ClinicalDataTrialSetId, ClinicalDataTrialSetId = y.ClinicalDataTrialSetId,
IsHaveTableQuestion = y.IsHaveTableQuestion,
}).ToList(); }).ToList();
} }
} }
@ -526,7 +542,7 @@ namespace IRaCIS.Core.Application.Service
PageIndex=1, PageIndex=1,
PageSize=9999, PageSize=9999,
})).CurrentPageData.SelectMany(x => x.ClinicalFormIdList).ToList(); })).CurrentPageData.SelectMany(x => x.ClinicalFormList).ToList();
result.ForEach(x => { result.ForEach(x => {
@ -569,7 +585,7 @@ namespace IRaCIS.Core.Application.Service
}; };
confirmlist.ForEach(x => confirmlist.ForEach(x =>
{ {
x.ClinicalFormIdList.ForEach(y => x.ClinicalFormList.ForEach(y =>
{ {
needAddList.Add(new ReadModuleCriterionFrom() needAddList.Add(new ReadModuleCriterionFrom()
{ {

View File

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

View File

@ -100,8 +100,11 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore] [JsonIgnore]
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriteriaList { get; set; } 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(); 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> /// </summary>
public string Unit { get; set; } = string.Empty; public string Unit { get; set; } = string.Empty;
}
[JsonIgnore]
[ForeignKey("TrialClinicalId")]
public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; }
}
} }