裁判一致率
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
1417277cb1
commit
86692d220a
|
@ -1554,6 +1554,11 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
if (subjectJudgeList.Count > 0)
|
if (subjectJudgeList.Count > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//访视的标记先都默认为null
|
||||||
|
visitItem.IsTrigerJudge = null;
|
||||||
|
visitItem.IsJudgeSelect = null;
|
||||||
|
|
||||||
|
|
||||||
var maxFinishedJudge = subjectJudgeList.Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault();
|
var maxFinishedJudge = subjectJudgeList.Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault();
|
||||||
|
|
||||||
var maxNotFinishedJudge = subjectJudgeList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault();
|
var maxNotFinishedJudge = subjectJudgeList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault();
|
||||||
|
@ -1567,16 +1572,31 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
{
|
{
|
||||||
if (visitItem.VisitTaskNum < maxNotFinishedJudge.VisitTaskNum)
|
if (visitItem.VisitTaskNum < maxNotFinishedJudge.VisitTaskNum)
|
||||||
{
|
{
|
||||||
|
visitItem.IsTrigerJudge = false;
|
||||||
visitItem.IsJudgeSelect = null;
|
visitItem.IsJudgeSelect = null;
|
||||||
}
|
}
|
||||||
|
//大于当前未完成的全局裁判 后续可能有已完成的未产生裁判的全局 设置默认选择R1
|
||||||
|
else if (visitItem.VisitTaskNum <= latestFinishedReadingPeriodTaskNum)
|
||||||
|
{
|
||||||
|
//不存在裁判 将R1设置
|
||||||
|
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
||||||
|
{
|
||||||
|
visitItem.IsJudgeSelect = true;
|
||||||
|
visitItem.IsTrigerJudge = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
visitItem.IsJudgeSelect = false;
|
||||||
|
visitItem.IsTrigerJudge = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//大于当前未完成的全局裁判 后续 肯定是未知的
|
|
||||||
visitItem.IsTrigerJudge = null;
|
visitItem.IsTrigerJudge = null;
|
||||||
visitItem.IsJudgeSelect = null;
|
visitItem.IsJudgeSelect = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//n个全局裁判都完成了,那么以最后一次裁判选择的为准
|
//n个全局裁判都完成了,那么以最后一次裁判选择的为准
|
||||||
else if (maxFinishedJudge != null && maxNotFinishedJudge == null)
|
else if (maxFinishedJudge != null && maxNotFinishedJudge == null)
|
||||||
|
@ -1592,7 +1612,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
visitItem.IsJudgeSelect = false;
|
visitItem.IsJudgeSelect = false;
|
||||||
}
|
}
|
||||||
//裁判都完成的后续 可能有已完成全局,但是没有产生裁判
|
//裁判都完成的后续 可能有已完成全局,但是没有产生裁判
|
||||||
else if(visitItem.VisitTaskNum <= latestFinishedReadingPeriodTaskNum)
|
else if (visitItem.VisitTaskNum <= latestFinishedReadingPeriodTaskNum)
|
||||||
{
|
{
|
||||||
//不存在裁判 将R1设置
|
//不存在裁判 将R1设置
|
||||||
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
||||||
|
@ -1653,7 +1673,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
visitItem.IsTrigerJudge = null;
|
visitItem.IsTrigerJudge = null;
|
||||||
|
|
||||||
|
|
||||||
if (subjectReadingPeriondVisitNumList != null && subjectReadingPeriondVisitNumList.Count()>0)
|
if (subjectReadingPeriondVisitNumList != null && subjectReadingPeriondVisitNumList.Count() > 0)
|
||||||
{
|
{
|
||||||
var minReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Min() + addReadingPeriodNum;
|
var minReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Min() + addReadingPeriodNum;
|
||||||
|
|
||||||
|
@ -2410,7 +2430,8 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
//2、总样本量N:R1,R2均完成阅片(至少一个阅片期)的受试者数量;
|
//2、总样本量N:R1,R2均完成阅片(至少一个阅片期)的受试者数量;
|
||||||
|
|
||||||
exportInfo.SubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t =>
|
exportInfo.SubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t =>
|
||||||
t.SubjectVisitTaskList.AsQueryable().Where(comonTaskFilter).Any(t => t.ReadingCategory == ReadingCategory.Global && t.ReadingTaskState == ReadingTaskState.HaveSigned)
|
t.SubjectVisitTaskList.AsQueryable().Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Global && t.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
.GroupBy(t => new { t.SubjectId, t.SouceReadModuleId }).Where(g => g.Count() == 2).Any()
|
||||||
).Count();
|
).Count();
|
||||||
|
|
||||||
exportInfo.judgeSubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t =>
|
exportInfo.judgeSubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t =>
|
||||||
|
@ -2429,7 +2450,10 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
//触发裁判的受试者数量
|
//触发裁判的受试者数量
|
||||||
TotalJudgeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null).Select(t => t.SubjectId).Distinct().Count(),
|
TotalJudgeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null).Select(t => t.SubjectId).Distinct().Count(),
|
||||||
|
|
||||||
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.JudgeResultTaskId == t.Id).Select(t => t.SubjectId).Distinct().Count(),
|
// G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准
|
||||||
|
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null
|
||||||
|
&& t.JudgeVisitTask.JudgeResultTaskId == t.Id && t.VisitTaskNum== g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null).Max(t => t.VisitTaskNum))
|
||||||
|
.Select(t => t.SubjectId).Distinct().Count(),
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue