代码修改
This commit is contained in:
@@ -67,6 +67,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||
/// </summary>
|
||||
private decimal? sODData;
|
||||
|
||||
/// <summary>
|
||||
/// 基线任务Id
|
||||
/// </summary>
|
||||
private Guid? BaseLineTaskId;
|
||||
|
||||
private string nAString = "NA";
|
||||
#endregion
|
||||
|
||||
@@ -495,6 +500,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||
//新病灶评估
|
||||
new ReadingCalculateData (){QuestionType=QuestionType.NewLesions,GetStringFun=GetNewLesionEvaluate},
|
||||
|
||||
// //脾脏评估
|
||||
//new ReadingCalculateData (){QuestionType=QuestionType.SplenicEvaluation,GetStringFun=GetNewLesionEvaluate},
|
||||
|
||||
// //整体肿瘤评估
|
||||
// new ReadingCalculateData (){QuestionType=QuestionType.Tumor,GetStringFun=GetTumor},
|
||||
|
||||
@@ -1325,6 +1333,32 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||
#endregion
|
||||
|
||||
|
||||
#region 获取基线任务ID
|
||||
|
||||
/// <summary>
|
||||
/// 获取基线任务的Id
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<Guid> GetBaseLineTaskId(ReadingCalculateDto inDto)
|
||||
{
|
||||
if (this.BaseLineTaskId == null)
|
||||
{
|
||||
this.BaseLineTaskId = await _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.ReadingCategory == ReadingCategory.Visit
|
||||
&& x.TrialReadingCriterionId == inDto.TrialReadingCriterionId &&
|
||||
|
||||
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect &&
|
||||
x.IsAnalysisCreate == inDto.IsAnalysisCreate
|
||||
&& x.DoctorUserId == inDto.DoctorUserId
|
||||
&& x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum)
|
||||
.Select(x => x.Id).FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
return this.BaseLineTaskId.Value;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取基线SOD
|
||||
/// <summary>
|
||||
/// 获取基线SOD
|
||||
@@ -1676,8 +1710,190 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region CTMRI 总体评估
|
||||
|
||||
/// <summary>
|
||||
/// CTMRI 总体评估
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> CTMRIEvaluation(ReadingCalculateDto inDto)
|
||||
{
|
||||
// 靶病灶评估
|
||||
var targetEvaluation = string.Empty;
|
||||
|
||||
// 非靶病灶评估
|
||||
var noTargetEvaluation = string.Empty;
|
||||
|
||||
// 存在新病灶
|
||||
var existsNewTarget = string.Empty;
|
||||
|
||||
// 肝脏评估
|
||||
var liverEvaluation = string.Empty;
|
||||
|
||||
// 脾脏评估
|
||||
var spleenEvaluation = string.Empty;
|
||||
var c = new List<TargetAssessment>() { TargetAssessment.CR };
|
||||
List<CalculationDto> data = new List<CalculationDto>() {
|
||||
|
||||
//ND ND 否/疑似 正常 正常 ND
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
|
||||
//PD 任一结果 任一结果 任一结果 任一结果 PD
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.PD }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.PD }),
|
||||
},
|
||||
//任一结果 PD 任一结果 任一结果 任一结果 PD
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.PD }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() {}),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.PD }),
|
||||
},
|
||||
//PD 任一结果 是 任一结果 任一结果 PD
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.PD }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.Yes }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
//任一结果 任一结果 任一结果 显著增大 任一结果 PD
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Increase }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
//任一结果 任一结果 任一结果 任一结果 显著增大 PD
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() {}),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Increase }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
//CR CR/ND 否 正常 正常 CR
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.CR, NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.CR }),
|
||||
},
|
||||
//ND CR 否 正常 正常 CR
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.ND }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.CR }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.CR }),
|
||||
},
|
||||
//NE 非PD 否/疑似/无法评估 显著增大 显著增大 NE
|
||||
new CalculationDto(){
|
||||
NotEq=new List<int>(){ 2},
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.NE }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.PD }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected,NewLesionAssessment. }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
new CalculationDto(){
|
||||
Column1=EnumToString(new List<TargetAssessment>() { TargetAssessment.CR }),
|
||||
Column2=EnumToString(new List<NoTargetAssessment>() { NoTargetAssessment.ND }),
|
||||
Column3=EnumToString(new List<NewLesionAssessment>() { NewLesionAssessment.No,NewLesionAssessment.Suspected }),
|
||||
Column4=EnumToString(new List<LiverAssessment>() { LiverAssessment.Normal }),
|
||||
Column5=EnumToString(new List<SpleenAssessment>() { SpleenAssessment.Normal }),
|
||||
Column6=EnumToString(new List<CTMRIOverallAssessment>() { CTMRIOverallAssessment.ND }),
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 枚举数组转字符串数组 方法名简短
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="emus"></param>
|
||||
/// <returns></returns>
|
||||
private List<string> EnumToString<T>(List<T> emus) where T : Enum
|
||||
{
|
||||
return emus.Select(x => ((int)(object)x).ToString()).ToList();
|
||||
}
|
||||
|
||||
#region 脾脏评估
|
||||
|
||||
///// <summary>
|
||||
///// 获取脾脏评估
|
||||
///// </summary>
|
||||
///// <param name="inDto"></param>
|
||||
///// <returns></returns>
|
||||
//public async Task<string> GetSplenicEvaluation(ReadingCalculateDto inDto)
|
||||
//{
|
||||
|
||||
//}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user