Test.EIImageViewer
parent
b6940b562b
commit
cc84b203a7
|
@ -881,6 +881,14 @@
|
|||
获取Sod的值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1CalculateService.TestCalculate(System.Guid,IRaCIS.Core.Domain.Share.QuestionType)">
|
||||
<summary>
|
||||
测试计算
|
||||
</summary>
|
||||
<param name="visitTaskId"></param>
|
||||
<param name="type"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1CalculateService.CalculateTask(IRaCIS.Core.Application.Service.Reading.Dto.CalculateTaskInDto)">
|
||||
<summary>
|
||||
计算任务
|
||||
|
@ -895,11 +903,12 @@
|
|||
<param name="inDto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1CalculateService.ReadingCalculate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1CalculateService.ReadingCalculate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto,System.Collections.Generic.List{IRaCIS.Core.Domain.Share.QuestionType})">
|
||||
<summary>
|
||||
自动计算
|
||||
</summary>
|
||||
<param name="inDto"></param>
|
||||
<param name="calculateType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.RECIST1Point1CalculateService.GetReportTumor(System.Guid)">
|
||||
|
|
|
@ -15,6 +15,7 @@ using MassTransit;
|
|||
namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||
{
|
||||
|
||||
[ApiExplorerSettings(GroupName = "Reading")]
|
||||
public class RECIST1Point1CalculateService : BaseService, ICriterionCalculateService
|
||||
{
|
||||
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
|
||||
|
@ -60,6 +61,20 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
private decimal? sODData;
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 测试计算
|
||||
/// </summary>
|
||||
/// <param name="visitTaskId"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task TestCalculate(Guid visitTaskId, QuestionType type)
|
||||
{
|
||||
ReadingCalculateDto readingData = await GetReadingCalculateDto(visitTaskId);
|
||||
await ReadingCalculate(readingData,new List<QuestionType>() { type});
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 计算任务
|
||||
/// </summary>
|
||||
|
@ -93,8 +108,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
/// 自动计算
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <param name="calculateType"></param>
|
||||
/// <returns></returns>
|
||||
public async Task ReadingCalculate(ReadingCalculateDto inDto)
|
||||
public async Task ReadingCalculate(ReadingCalculateDto inDto,List<QuestionType> calculateType=null)
|
||||
{
|
||||
|
||||
#region 计算 这里顺序非常重要 后面计算的值要依赖前面计算的结果
|
||||
|
@ -150,6 +166,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
};
|
||||
|
||||
if (calculateType != null)
|
||||
{
|
||||
calculateList = calculateList.Where(x => calculateType.Contains(x.QuestionType)).ToList();
|
||||
}
|
||||
|
||||
var typeNAList = new List<QuestionType>
|
||||
{
|
||||
|
@ -1248,13 +1268,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
result = NoTargetAssessment.PD;
|
||||
}
|
||||
//所有单个病灶/病灶组状态评估状态为“消失”
|
||||
else if (!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Loss)))
|
||||
else if (tableQuestions.Count(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Loss))== tableQuestions.Count(x=> x.QuestionMark == QuestionMark.State))
|
||||
{
|
||||
result = NoTargetAssessment.PD;
|
||||
}
|
||||
// 任意单个病灶/病灶组评估为“无法评估”并且没有“显著增大”
|
||||
else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Increase)) &&
|
||||
!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && !x.Answer.EqEnum(NoTargetState.Increase))
|
||||
else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.UnableEvaluate)) &&
|
||||
!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Increase))
|
||||
)
|
||||
{
|
||||
result = NoTargetAssessment.NE;
|
||||
|
@ -1267,8 +1287,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
// 所有单个病灶/病灶组评估为”存在”或者有些评估为“消失”有些评估为“存在”,且没有“显著增大”和“无法评估”的病灶
|
||||
|
||||
else if (!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && !x.Answer.EqEnum(NoTargetState.Exist))
|
||||
|| (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Exist) || x.Answer.EqEnum(NoTargetState.Loss)) && !tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && (x.Answer != "显著增大" || x.Answer != "无法评估")))
|
||||
else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NoTargetState.Exist))
|
||||
&& !tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && (x.Answer.EqEnum(NoTargetState.Increase) || x.Answer.EqEnum(NoTargetState.UnableEvaluate)))
|
||||
|
||||
)
|
||||
{
|
||||
|
@ -1312,7 +1332,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
result = NewLesionAssessment.Yes;
|
||||
}
|
||||
//当前访视不存在明确新病灶且存在至少一个疑似新病灶
|
||||
else if (!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && !x.Answer.EqEnum(NewLesionState.Exist)) ||
|
||||
else if (!tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionState.Exist)) &&
|
||||
tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewLesionState.Suspected))
|
||||
)
|
||||
{
|
||||
|
|
|
@ -673,7 +673,7 @@ namespace IRaCIS.Core.Domain.Share
|
|||
/// <summary>
|
||||
/// 新病灶
|
||||
/// </summary>
|
||||
NewLesions = 1,
|
||||
NewLesions = 2,
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue