IRC_NewDev
			
			
		
		
							parent
							
								
									d2aef5df04
								
							
						
					
					
						commit
						a362d5a977
					
				| 
						 | 
				
			
			@ -452,6 +452,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
 | 
			
		||||
            List<ReadingCalculateData> calculateList = new List<ReadingCalculateData>()
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                //垂直径乘积之和(SPD)
 | 
			
		||||
				//new ReadingCalculateData (){QuestionType=QuestionType.sp,GetDecimalNullFun=GetSODData},
 | 
			
		||||
 | 
			
		||||
				////靶病灶径线之和(SOD)
 | 
			
		||||
				//new ReadingCalculateData (){QuestionType=QuestionType.SOD,GetDecimalNullFun=GetSODData},
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1469,6 +1473,31 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
 | 
			
		||||
            TargetAssessment result = TargetAssessment.SD;
 | 
			
		||||
 | 
			
		||||
            //1、基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
 | 
			
		||||
            //并且  2.当前访视淋巴结靶病灶的状态全部变为“消失”。	
 | 
			
		||||
 | 
			
		||||
            var eqCR = true;
 | 
			
		||||
            //当前访视中,靶病灶的Σ PPD;
 | 
			
		||||
            decimal spd = 0;
 | 
			
		||||
            foreach (var item in rowInfo)
 | 
			
		||||
            {
 | 
			
		||||
                if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.No)))
 | 
			
		||||
                {
 | 
			
		||||
                    // 基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
 | 
			
		||||
                    eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.Loss));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                spd += (item.TableQuestionList.Where(x => x.QuestionMark == QuestionMark.PPD).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes)))
 | 
			
		||||
                {
 | 
			
		||||
                    // 当前访视淋巴结靶病灶的状态全部变为“消失”
 | 
			
		||||
                    eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.Loss));
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            //基线未选择靶病灶
 | 
			
		||||
            if (rowInfo.Count() == 0)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -1480,13 +1509,22 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                result = TargetAssessment.PD;
 | 
			
		||||
            }
 | 
			
		||||
            //在排除PD后,有任一靶病灶为NE状态
 | 
			
		||||
             else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
 | 
			
		||||
            else if (tableQuestions.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.UnableEvaluate)))
 | 
			
		||||
            {
 | 
			
		||||
                result = TargetAssessment.PD;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            //1、基线非淋巴结靶病灶不存在,或者当前访视非淋巴结靶病灶全部消失;
 | 
			
		||||
            //并且  2.当前访视淋巴结靶病灶的状态全部变为“消失”。	
 | 
			
		||||
            else if (eqCR)
 | 
			
		||||
            {
 | 
			
		||||
                result = TargetAssessment.CR;
 | 
			
		||||
            }
 | 
			
		||||
            // 1、与基线相比SPD变化的百分比 ≥50%,;
 | 
			
		||||
            // 并且 当前访视没有任何一个状态为“疾病进展”的靶病灶
 | 
			
		||||
            else if (eqCR)
 | 
			
		||||
            {
 | 
			
		||||
                result = TargetAssessment.CR;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            return result.GetEnumInt();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue