irc-netcore-api/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessme...

69 lines
2.4 KiB
C#

using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Domain.Share.Reading;
using NPOI.POIFS.NIO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service
{
public class CriterionAdditionalAssessment
{
public CriterionType CriterionType { get; set; }
public AdditionalAssessmentType AdditionalAssessmentType { get; set; }
//附加评估问题
public List<ReadingQuestionTrial> AdditionalQuestionList { get; set; }=new List<ReadingQuestionTrial>();
}
public static class AdditionalAssessment
{
public static List<CriterionAdditionalAssessment> SystemDefeaultAdditionalAssessmentList { get; set; } = new List<CriterionAdditionalAssessment>();
static AdditionalAssessment()
{
//Resist1.1 脑转移 默认评估问题
SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment()
{
CriterionType = CriterionType.RECIST1Point1,
AdditionalAssessmentType = AdditionalAssessmentType.BrainMetastasis,
AdditionalQuestionList = new List<ReadingQuestionTrial>(){ new ReadingQuestionTrial()
{
LimitEdit=LimitEdit.OnlyBaseLine,
DictionaryCode="ReadingYesOrNo",
IsJudgeQuestion=false,
IsShowInDicom=false,
GlobalReadingShowType=GlobalReadingShowType.NotShow,
QuestionEnName="存在脑转移",
QuestionName="Brain metastases present",
Type="radio",
QuestionGenre=TableQuestionType.Dictionary,
DataSource=DataSources.ManualEntry,
ShowQuestion=ShowQuestion.Show,
IsAdditional=true
} }
});
}
public static List<CriterionAdditionalAssessment> GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null)
{
return SystemDefeaultAdditionalAssessmentList.Where(t => t.CriterionType == criterionType)
.WhereIf(additionalAssessmentType!=null,t=>t.AdditionalAssessmentType==additionalAssessmentType).ToList();
}
}
}