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

98 lines
3.3 KiB
C#

using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Domain.Share.Reading;
using MassTransit;
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 class AdditionalAssessment
{
public List<CriterionAdditionalAssessment> SystemDefeaultAdditionalAssessmentList { get; set; } = new List<CriterionAdditionalAssessment>();
public AdditionalAssessment()
{
var gropId = NewId.NextGuid();
//Resist1.1 脑转移 默认评估问题
SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment()
{
CriterionType = CriterionType.RECIST1Point1,
AdditionalAssessmentType = AdditionalAssessmentType.BrainMetastasis,
AdditionalQuestionList = new List<ReadingQuestionTrial>(){
new ReadingQuestionTrial()
{
LimitEdit=LimitEdit.OnlyBaseLine,
Id=gropId,
IsJudgeQuestion=false,
IsShowInDicom=false,
GlobalReadingShowType=GlobalReadingShowType.NotShow,
QuestionName="脑转移评估",
QuestionEnName="Brain Metastasis Assessment",
GroupName="脑转移评估",
GroupEnName="Brain Metastasis Assessment",
Type="group",
QuestionGenre=TableQuestionType.Customize,
DataSource=DataSources.ManualEntry,
ShowQuestion=ShowQuestion.Show,
IsAdditional=true
} ,
new ReadingQuestionTrial()
{
GroupId=gropId,
LimitEdit=LimitEdit.OnlyBaseLine,
DictionaryCode="YesOrNoOrNa",
IsJudgeQuestion=false,
IsShowInDicom=false,
GlobalReadingShowType=GlobalReadingShowType.NotShow,
QuestionEnName="Brain metastases present",
QuestionName="存在脑转移",
Type="radio",
QuestionGenre=TableQuestionType.Dictionary,
DataSource=DataSources.ManualEntry,
ShowQuestion=ShowQuestion.Show,
IsAdditional=true
} ,
}
});
}
public List<CriterionAdditionalAssessment> GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null)
{
return SystemDefeaultAdditionalAssessmentList.Where(t => t.CriterionType == criterionType)
.WhereIf(additionalAssessmentType!=null,t=>t.AdditionalAssessmentType==additionalAssessmentType).ToList();
}
}
}