Test.EIImageViewer
parent
ee7e6d4541
commit
8e29769df4
|
@ -94,6 +94,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public bool CurrenShortBigger10 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 淋巴结非靶病灶状态全部为消失
|
||||
/// </summary>
|
||||
public bool NonTargetStateIsLoss { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 该淋巴结靶病灶短径绝对增加值≥5 mm
|
||||
/// </summary>
|
||||
|
|
|
@ -99,6 +99,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public ValueOfType? ValueType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
|
|
|
@ -299,6 +299,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public ValueUnit? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 数据来源
|
||||
/// </summary>
|
||||
|
@ -834,6 +839,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public ValueUnit? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 自定义计算标记
|
||||
/// </summary>
|
||||
|
@ -1553,6 +1563,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
/// </summary>
|
||||
public ValueUnit? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 自定义计算标记
|
||||
/// </summary>
|
||||
|
|
|
@ -431,6 +431,8 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||
|
||||
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskinfo.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
|
||||
//if (taskinfo.TaskState != TaskState.Effect)
|
||||
//{
|
||||
// throw new BusinessValidationFailedException($"当前任务已失效!");
|
||||
|
@ -448,8 +450,14 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
#region 获取问题及答案
|
||||
|
||||
var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId)
|
||||
.ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider).Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
|
||||
if (!criterionInfo.IseCRFShowInDicomReading)
|
||||
{
|
||||
qusetionList= qusetionList.Where(x => x.IsShowInDicom && (x.Type == ReadingQestionType.Table || x.Type == ReadingQestionType.Group)).OrderBy(x => x.ShowOrder).ToList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
var usedGurops = qusetionList.Where(x => x.Type == ReadingQestionType.Table).Select(x => x.GroupName).ToList();
|
||||
qusetionList = qusetionList.Where(x => usedGurops.Contains(x.GroupName)).ToList();
|
||||
|
|
|
@ -150,6 +150,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
QuestionName = x.QuestionName,
|
||||
ShowOrder = x.ShowOrder,
|
||||
ValueType = x.ValueType,
|
||||
CustomUnit=x.CustomUnit,
|
||||
Unit = x.Unit,
|
||||
ReportLayType=ReportLayType.Group,
|
||||
}).ToList();
|
||||
|
@ -174,6 +175,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
OrderMark = x.OrderMark,
|
||||
ValueType = x.ValueType,
|
||||
Unit = x.Unit,
|
||||
CustomUnit=x.Unit,
|
||||
ReportLayType = ReportLayType.Question,
|
||||
}).ToList();
|
||||
|
||||
|
|
|
@ -128,6 +128,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
ShowOrder = x.ShowOrder,
|
||||
ValueType = x.ValueType,
|
||||
Unit = x.Unit,
|
||||
CustomUnit=x.CustomUnit,
|
||||
ReportLayType= ReportLayType.Group,
|
||||
}).ToList();
|
||||
|
||||
|
@ -150,6 +151,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
OrderMark = x.OrderMark,
|
||||
ValueType = x.ValueType,
|
||||
Unit = x.Unit,
|
||||
CustomUnit=x.CustomUnit,
|
||||
ReportLayType = ReportLayType.Question,
|
||||
}).ToList();
|
||||
|
||||
|
@ -1347,11 +1349,23 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
// 至少一个淋巴结靶病灶短径≥10 mm
|
||||
CurrenShortBigger10 = true,
|
||||
|
||||
//淋巴结非靶病灶状态全部为消失
|
||||
NonTargetStateIsLoss = true,
|
||||
|
||||
// 该淋巴结靶病灶短径绝对增加值≥5 mm
|
||||
IsAddFive = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.IsAddFive && x.Answer.EqEnum(YesOrNoOrNa.Yes)).Count() > 0,
|
||||
};
|
||||
|
||||
var nonTargetTableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.NonTargetLesions).SelectMany(x => x.TableRowInfoList).ToList();
|
||||
|
||||
foreach (var item in nonTargetTableQuestion)
|
||||
{
|
||||
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
|
||||
{
|
||||
// 淋巴结非靶病灶状态全部为消失
|
||||
resultData.NonTargetStateIsLoss = item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.State).Select(x => x.Answer).FirstOrDefault()== NoTargetState.Loss.GetEnumInt();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach (var item in tableQuestion)
|
||||
|
@ -1361,8 +1375,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
// 淋巴结的短径
|
||||
resultData.DiameterLessThan10 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() < 10;
|
||||
|
||||
// 至少一个淋巴结靶病灶短径≥10 mm
|
||||
resultData.CurrenShortBigger10 = (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.ShortAxis).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0() >= 10;
|
||||
|
||||
}
|
||||
|
||||
if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && !x.Answer.EqEnum(YesOrNoOrNa.Yes)))
|
||||
|
@ -1426,7 +1439,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
result = TargetAssessment.PR;
|
||||
}
|
||||
|
||||
if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10)
|
||||
if (resultData.SumOfDiameter == 0 && resultData.DiameterLessThan10&&resultData.NonTargetStateIsLoss)
|
||||
{
|
||||
result = TargetAssessment.CR;
|
||||
}
|
||||
|
|
|
@ -128,6 +128,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
ShowOrder = x.ShowOrder,
|
||||
ValueType = x.ValueType,
|
||||
Unit = x.Unit,
|
||||
CustomUnit=x.CustomUnit,
|
||||
ReportLayType = ReportLayType.Group,
|
||||
}).ToList();
|
||||
|
||||
|
@ -150,6 +151,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
OrderMark = x.OrderMark,
|
||||
ValueType = x.ValueType,
|
||||
Unit = x.Unit,
|
||||
CustomUnit=x.CustomUnit,
|
||||
ReportLayType = ReportLayType.Question,
|
||||
}).ToList();
|
||||
|
||||
|
|
|
@ -555,6 +555,16 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// </summary>
|
||||
public string TypeValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public ValueUnit? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
|
@ -723,6 +733,11 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// </summary>
|
||||
public int? DigitPlaces { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// eCRF报告是否显示在图像页面
|
||||
/// </summary>
|
||||
public bool IseCRFShowInDicomReading { get; set; } = false;
|
||||
|
||||
|
||||
public bool IsFromSystem { get; set; } = false;
|
||||
|
||||
|
@ -895,6 +910,11 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
/// </summary>
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// eCRF报告是否显示在图像页面
|
||||
/// </summary>
|
||||
public bool IseCRFShowInDicomReading { get; set; }
|
||||
|
||||
|
||||
public string GlobalUpdateType { get; set; } = string.Empty;
|
||||
|
||||
|
|
|
@ -386,15 +386,14 @@ namespace IRaCIS.Core.Application
|
|||
result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo<ReadingCriterionPageDto>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id==inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||
result.ReadingInfoSignTime = trialCriterion.ReadingInfoSignTime;
|
||||
if (trialCriterion != null)
|
||||
{
|
||||
result.DigitPlaces = trialCriterion.DigitPlaces;
|
||||
result.TrialCriterionId = trialCriterion.Id;
|
||||
result.FormType = trialCriterion.FormType;
|
||||
result.IsFromSystem = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
||||
result.IsMustGlobalReading = trialCriterion.IsMustGlobalReading;
|
||||
result.IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
||||
};
|
||||
|
||||
result.DigitPlaces = trialCriterion.DigitPlaces;
|
||||
result.TrialCriterionId = trialCriterion.Id;
|
||||
result.FormType = trialCriterion.FormType;
|
||||
result.IsFromSystem = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
||||
result.IsMustGlobalReading = trialCriterion.IsMustGlobalReading;
|
||||
result.IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null;
|
||||
|
||||
|
||||
result.TrialQuestionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrial.IsConfirm && x.TrialId == inDto.TrialId&&x.ReadingQuestionCriterionTrialId == result.TrialCriterionId
|
||||
&&x.ReadingCriterionPageId==null)
|
||||
|
@ -466,6 +465,7 @@ namespace IRaCIS.Core.Application
|
|||
IsReadingShowPreviousResults = inDto.IsReadingShowPreviousResults,
|
||||
GlobalUpdateType=inDto.GlobalUpdateType,
|
||||
ImagePlatform=inDto.ImagePlatform,
|
||||
IseCRFShowInDicomReading=inDto.IseCRFShowInDicomReading,
|
||||
ArbitrationRule= arbitration,
|
||||
ReadingType = inDto.ReadingType,
|
||||
IsGlobalReading = inDto.IsGlobalReading,
|
||||
|
|
|
@ -101,7 +101,17 @@ namespace IRaCIS.Core.Domain.Share
|
|||
/// <summary>
|
||||
/// CM
|
||||
/// </summary>
|
||||
CM = 2
|
||||
CM = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 个
|
||||
/// </summary>
|
||||
Individual = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 自定义
|
||||
/// </summary>
|
||||
Custom = 4,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -115,6 +115,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public CriterionType CriterionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// eCRF报告是否显示在图像页面
|
||||
/// </summary>
|
||||
public bool IseCRFShowInDicomReading { get; set; } = false;
|
||||
|
||||
#region 阅片单元配置 新加
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -193,6 +193,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public ValueUnit? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 自定义计算标记
|
||||
|
|
|
@ -152,6 +152,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public ValueUnit? Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自定义单位
|
||||
/// </summary>
|
||||
public string CustomUnit { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 自定义计算标记
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue