Uat_Study
he 2023-05-15 10:47:02 +08:00
parent 1df06fc0ee
commit 18d4ee0dfa
4 changed files with 100 additions and 81 deletions

View File

@ -1406,10 +1406,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsFirstChangeTask { get; set; } = false; public bool IsFirstChangeTask { get; set; } = false;
/// <summary> public ReadingTaskState ReadingTaskState { get; set; }
/// 是否是转变的任务(转为IRECIST)
/// </summary> /// <summary>
public bool IsConvertedTask { get; set; } = false; /// 是否是转变的任务(转为IRECIST)
/// </summary>
public bool IsConvertedTask { get; set; } = false;
} }

View File

@ -2364,7 +2364,7 @@ namespace IRaCIS.Application.Services
var blindSubjectCode = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).Select(x => x.BlindSubjectCode).FirstNotNullAsync(); var blindSubjectCode = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).Select(x => x.BlindSubjectCode).FirstNotNullAsync();
task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode; task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode;
task.ExistsManual = (await GetManualList(new GetManualListInDto() { TrialId = visitTaskInfo.TrialId })).Count() > 0; task.ExistsManual = (await GetManualList(new GetManualListInDto() { TrialId = visitTaskInfo.TrialId })).Count() > 0;
task.ReadingTaskState = visitTaskInfo.ReadingTaskState;
return task; return task;
} }

View File

@ -2342,7 +2342,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRECISTNewLesionAssessmentDto data = new IRECISTNewLesionAssessmentDto() IRECISTNewLesionAssessmentDto data = new IRECISTNewLesionAssessmentDto()
{ {
//上一次任务的新病灶评估为iUPD //上一次任务的新病灶评估为iUPD
LastTaskNewLesioniUPD = lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewLesionEvaluation && x.Answer.EqEnum(NewLesionAssessment.iCPD)), LastTaskNewLesioniUPD = lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewLesionEvaluation && x.Answer.EqEnum(NewLesionAssessment.iUPD)),
}; };
// if(新靶病灶为ND&&新非靶病灶为ND&&其它既往新病灶为ND&&不存在触发iRECIST后新病灶 // if(新靶病灶为ND&&新非靶病灶为ND&&其它既往新病灶为ND&&不存在触发iRECIST后新病灶
@ -2507,74 +2507,74 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
return result.GetEnumInt(); return result.GetEnumInt();
} }
#endregion #endregion
#region iRECSIT整体肿瘤评估 #region iRECSIT整体肿瘤评估
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// if上一访视评估为iUPD或iCPD&&靶病灶评估、非靶病灶评估或新病灶评估任一项为iCPD /// if上一访视评估为iUPD或iCPD&&靶病灶评估、非靶病灶评估或新病灶评估任一项为iCPD
/// { /// {
/// 疗效为 iCPD /// 疗效为 iCPD
/// } /// }
/// else if (上一访视评估为iUPD或iCPD&&靶病灶评估、非靶病灶评估或新病灶评估任一项从前一访视非iUPD结果评估为当前访视iUPD) /// else if (上一访视评估为iUPD或iCPD&&靶病灶评估、非靶病灶评估或新病灶评估任一项从前一访视非iUPD结果评估为当前访视iUPD)
/// { /// {
/// 疗效为 iCPD /// 疗效为 iCPD
/// } /// }
/// else if (靶病灶评估为iUPD || 非靶病灶评估为iUPD || 新病灶评估为iUPD) /// else if (靶病灶评估为iUPD || 非靶病灶评估为iUPD || 新病灶评估为iUPD)
/// { /// {
/// 疗效为 iUPD /// 疗效为 iUPD
/// } /// }
/// else if ((靶病灶评估为iCR || 非靶病灶评估为iCR) && 新病灶评估为ND) /// else if ((靶病灶评估为iCR || 非靶病灶评估为iCR) && 新病灶评估为ND)
/// { /// {
/// 疗效为 iCR /// 疗效为 iCR
/// } /// }
/// else if (靶病灶评估为iPR && 非靶病灶评估为iCRiNNNE或ND && 新病灶评估为ND或疑似或NE) /// else if (靶病灶评估为iPR && 非靶病灶评估为iCRiNNNE或ND && 新病灶评估为ND或疑似或NE)
/// { /// {
/// 疗效为 iPR /// 疗效为 iPR
/// } /// }
/// else if (靶病灶评估为iPR && 非靶病灶评估为iNN或NE && 新病灶评估为否或疑似或NE) /// else if (靶病灶评估为iPR && 非靶病灶评估为iNN或NE && 新病灶评估为否或疑似或NE)
/// { /// {
/// 疗效为 iPR /// 疗效为 iPR
/// } /// }
/// else if (靶病灶评估为iPR && 非靶病灶评估为iCR或ND && 新病灶评估为疑似或NE) /// else if (靶病灶评估为iPR && 非靶病灶评估为iCR或ND && 新病灶评估为疑似或NE)
/// { /// {
/// 疗效为 iPR /// 疗效为 iPR
/// } /// }
/// else if (靶病灶评估为ND && 非靶病灶评估为iCR && 新病灶评估为疑似或NE) /// else if (靶病灶评估为ND && 非靶病灶评估为iCR && 新病灶评估为疑似或NE)
/// { /// {
/// 疗效为 iPR /// 疗效为 iPR
/// } /// }
/// else if (靶病灶评估为iSD && 非靶病灶评估为iCRiNNNE或ND && 新病灶评估为ND或疑似或NE) /// else if (靶病灶评估为iSD && 非靶病灶评估为iCRiNNNE或ND && 新病灶评估为ND或疑似或NE)
/// { /// {
/// 疗效为 iSD /// 疗效为 iSD
/// } /// }
/// else if (靶病灶评估为ND && 非靶病灶评估为iNN && 新病灶评估为ND或疑似或NE) /// else if (靶病灶评估为ND && 非靶病灶评估为iNN && 新病灶评估为ND或疑似或NE)
/// { /// {
/// 疗效为 iNN /// 疗效为 iNN
/// } /// }
/// else if (靶病灶评估为ND && 非靶病灶评估为ND && 新病灶评估为ND或疑似) /// else if (靶病灶评估为ND && 非靶病灶评估为ND && 新病灶评估为ND或疑似)
/// { /// {
/// 疗效为 ND /// 疗效为 ND
/// } /// }
/// else if (靶病灶评估为NE && 非靶病灶评估为iCRiNNNE或ND && 新病灶评估为ND或疑似或NE) /// else if (靶病灶评估为NE && 非靶病灶评估为iCRiNNNE或ND && 新病灶评估为ND或疑似或NE)
/// { /// {
/// 疗效为 NE /// 疗效为 NE
/// } /// }
/// else if (靶病灶评估为ND && 非靶病灶评估为NE && 新病灶评估为否或疑似或NE) /// else if (靶病灶评估为ND && 非靶病灶评估为NE && 新病灶评估为否或疑似或NE)
/// { /// {
/// 疗效为 NE /// 疗效为 NE
/// } /// }
/// else if (靶病灶评估为ND && 非靶病灶评估为ND && 新病灶评估为NE) /// else if (靶病灶评估为ND && 非靶病灶评估为ND && 新病灶评估为NE)
/// { /// {
/// 疗效为 NE /// 疗效为 NE
/// } /// }
/// </remarks> /// </remarks>
/// <param name="inDto"></param> /// <param name="inDto"></param>
/// <returns></returns> /// <returns></returns>
public async Task<string> GetIRECSITTargetLesionEvaluate(ReadingCalculateDto inDto) public async Task<string> GetIRECSITTargetLesionEvaluate(ReadingCalculateDto inDto)
{ {
var lastVisitTaskId = await GetLastVisitTaskId(inDto); var lastVisitTaskId = await GetLastVisitTaskId(inDto);
@ -2597,13 +2597,23 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
// else if (上一访视评估为iUPD或iCPD&&靶病灶评估、非靶病灶评估或新病灶评估任一项从前一访视非iUPD结果评估为当前访视iUPD) // else if (上一访视评估为iUPD或iCPD&&靶病灶评估、非靶病灶评估或新病灶评估任一项从前一访视非iUPD结果评估为当前访视iUPD)
if (data.LastTaskLesioniUPDOriCPD if (data.LastTaskLesioniUPDOriCPD
&& (lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.TargetLesion && !x.Answer.EqEnum(TargetAssessment.iUPD)) && (
|| lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && !x.Answer.EqEnum(NoTargetAssessment.iUPD)) (
|| lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewTargetLesion && !x.Answer.EqEnum(NewTargetLesionAssessment.iUPD))) lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.TargetLesion && !x.Answer.EqEnum(TargetAssessment.iUPD))
&& (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.TargetLesion && x.Answer.EqEnum(TargetAssessment.iUPD)) && inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.TargetLesion && x.Answer.EqEnum(TargetAssessment.iUPD))
|| inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && x.Answer.EqEnum(NoTargetAssessment.iUPD)) )
|| inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewTargetLesion && x.Answer.EqEnum(NewLesionAssessment.iUPD))) ||
(
lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && !x.Answer.EqEnum(NoTargetAssessment.iUPD))
&& inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NoTargetLesion && x.Answer.EqEnum(NoTargetAssessment.iUPD))
)
||
(
lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewLesionEvaluation && !x.Answer.EqEnum(NewLesionAssessment.iUPD)))
&& inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewLesionEvaluation && x.Answer.EqEnum(NewLesionAssessment.iUPD))
)
) )
{ {
// 疗效为 iCPD // 疗效为 iCPD
result = OverallAssessment.iCPD; result = OverallAssessment.iCPD;

View File

@ -296,13 +296,20 @@ namespace IRaCIS.Core.Domain.Share
//阅片状态 //阅片状态
public enum ReadingTaskState public enum ReadingTaskState
{ {
/// <summary>
/// 待阅
/// </summary>
WaitReading = 0, WaitReading = 0,
/// <summary>
/// 阅片中
/// </summary>
Reading = 1, Reading = 1,
HaveSigned = 2, /// <summary>
/// 已签名
/// </summary>
HaveSigned = 2,
} }
/// <summary> /// <summary>