using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.ViewModel
{
    public class AddTaskLesionAnswerFromLastTaskInDto
    {
        public Guid VisitTaskId { get; set; }
    }
    public class CalculateTargetLesionStatusInDto
    {
        public Guid VisitTaskId { get; set; }
        public Guid QuestionId { get; set; }
        public decimal RowNumber { get; set; }
    }
    public class GetMeasuredValueTemplateInDto
    {
        public Guid VisitTaskId { get; set; }
    }
    public class GetSplitPPdOutDto
	{
		public Guid RowId { get; set; }
        public string RowIndex { get; set; }
        public decimal AllPPD { get; set; }
        public decimal AllLDi { get; set; }
        public decimal AllSDi { get; set; }
    }
    public class GetSplitPPdInDto
    {
        public Guid VisitTaskId { get; set; }
    }
    public class ReadingTaskQuestionAnswerDto : ReadingTaskQuestionAnswer
    {
        public QuestionType QuestionType { get; set; }
    }
    public class TirggerTaskInfo
    {
        public Guid VisitTaskId { get; set; }
        public decimal VisitNum { get; set; }
        /// 
        /// 靶病灶是否为IUPD或者ICPD
        /// 
        public bool TargetAssessmentIsIUorIC { get; set; }
        /// 
        /// 靶病灶是否为IUPD或者ICPD
        /// 
        public bool NewTargetLesionAssessmentIsIUorIC { get; set; }
    }
    public class TirggerAnswerInfo
    {
        public Guid VisitTaskId { get; set; }
        public QuestionType QuestionType { get; set; }
        public string Answer { get; set; } = string.Empty;
    }
    public class VisitStudyTime
    {
        /// 
        /// 访视Id
        /// 
        public Guid SubjectVisitId { get; set; }
        public DateTime? StudyTime { get; set; }
    }
    public class SiteVisitForTumor
    {
        /// 
        /// 访视Id
        /// 
        public Guid VisitTaskId { get; set; }
        public Guid? SubjectVisitId { get; set; }
        /// 
        /// 任务Num
        /// 
        public decimal VisitTaskNum { get; set; }
        /// 
        /// 检查日期
        /// 
        public DateTime? StudyTime { get; set; }
    }
    public class TableMarkInfo
    {
        public Guid VisitTaskId { get; set; }
        public Guid TrialId { get; set; }
        public Guid QuestionId { get; set; }
        public Guid? FirstAddTaskId { get; set; }
        public QuestionType? QuestionType { get; set; }
        public string OrderMarkName { get; set; } = string.Empty;
        /// 
        /// 表格问题标记
        /// 
        public Guid? RowId { get; set; }
        public Guid? TableQuestionId { get; set; }
        public decimal? RowIndex { get; set; }
      
    }
    public class AddTaskLesionAnswerFromLastTaskOutDto
    {
        public bool IsBaseLine { get; set; }
    }
    public class IRECISTTargetLesionDto
    {
        /// 
        /// 基线未选择任何靶病灶
        /// 
        public bool NotExistsTargetLesion { get; set; }
        /// 
        /// 上一访视评估
        /// 
        public string LastTaskTarget { get; set; }
        /// 
        /// 满足RECISTPD
        /// 
        public bool MeetRECISTPD { get; set; }
        /// 
        /// 本次访视SOD与触发iRECIST访视相比本次访视SOD增加不小于5mm
        /// 
        public bool SODTiggerAddGreaterThan5 { get; set; }
        /// 
        /// 比整体访视期间最低点SOD增加≥20 %
        /// 
        public bool LowSodAddGreaterThan20Percent { get; set; }
        /// 
        ///  比整体访视期间最低点SOD绝对增加值≥5 mm
        /// 
        public bool LowSodAddGreaterThan5 { get; set; }
        /// 
        /// 当前访视至少有一个“存在”状态的靶病灶
        /// 
        public bool HaveExistLesion { get; set; }
        /// 
        /// 有任一靶病灶为NE状态
        /// 
        public bool HaveNeLesion { get; set; }
        /// 
        /// 所有非淋巴结靶病灶消失,径线总和为0
        /// 
        public bool AllLesionVanish { get; set; }
        /// 
        /// 所有淋巴结靶病灶的短径缩小到 < 10 mm
        /// 
        public bool AllMinorAxisLessThan10 { get; set; }
        /// 
        /// 与基线期SOD相比减小≥30 %
        /// 
        public bool BaseLineLessThan30 { get; set; }
        /// 
        /// 非靶病灶中淋巴结病灶全部消失
        /// 
        public bool NoTargetLymphLoss { get; set; }
    }
    /// 
    /// IRECIST 非靶病灶
    /// 
    public class IRECISTNoTargetLesion
    {
        /// 
        /// 基线未选择任何非靶病灶
        /// 
        public bool NotExistsNoTargetLesion { get; set; }
        /// 
        /// 上次非靶病灶评估结果
        /// 
        public string LastNoTargetLesion { get; set; }
        /// 
        /// 任一非靶病灶状态评估为“进一步增大(iCPD)”
        /// 
        public bool ExistiCPD { get; set; }
        /// 
        /// 出现至少1个上一访视未评估为“显著增大(iUPD)”的病灶本次访视评估为“显著增大(iUPD)”
        /// 
        public bool LastNoUPD { get; set; }
        /// 
        ///  任一非靶病灶状态评估为 iUPD
        /// 
        public bool ExistiUPD { get; set; }
        /// 
        /// 满足RECIST1.1PD
        /// 
        public bool RECISTPD { get; set; }
        /// 
        /// 有任一非靶病灶为NE状态
        /// 
        public bool HaveNeLesion { get; set; }
        /// 
        /// 全部为消失
        /// 
        public bool AllVanish { get; set; }
    }
    /// 
    /// 新靶病灶评估Dto
    /// 
    public class IRECISTNewTargetLesionDto
    {
        /// 
        /// 不存在新靶病灶
        /// 
        public bool NotExistsNewTargetLesion { get; set; }
        /// 
        /// 所有状态为消失
        /// 
        public bool AllVanish { get; set; }
        /// 
        /// 上一访视新靶病灶评估
        /// 
        public string LastTaskNewTargetLesion { get; set; }
        /// 
        /// SOD增加5mm以上
        /// 
        public bool ISODAdd5mm { get; set; }
        /// 
        /// 有"存在"状态的新靶病灶
        /// 
        public bool HaveExixtsState { get; set; }
        /// 
        /// 至少有一个新靶病无法评估
        /// 
        public bool ExixtsUnevaluableState { get; set; }
        /// 
        /// 当有“存在”状态的淋巴结新靶病灶
        /// 
        public bool ExixtsLymphTarget { get; set; }
        /// 
        /// 当有“存在”或“太小”状态的非淋巴结新靶病灶
        /// 
        public bool ExixtsOrLessNoLymphTarget { get; set; }
    }
    /// 
    /// 其他既往新病灶
    /// 
    public class IRECISTOtherNewTargetLesionDto
    {
        /// 
        /// 不存在其他既往新病灶
        /// 
        public bool NotExistsOtherNewTargetLesion { get; set; }
        /// 
        /// 所有状态为消失
        /// 
        public bool AllVanish { get; set; }
        /// 
        /// 存在明确状态
        /// 
        public bool ExistsClear { get; set; }
        /// 
        /// 至少有一个病灶无法评估
        /// 
        public bool ExixtsUnevaluableState { get; set; }
        /// 
        /// 至少有一个其它既往新病灶为疑似状态
        /// 
        public bool ExixtsSuspectedState { get; set; }
    }
    ///// 
    ///// 触发iRECIST后新病灶评估
    ///// 
    //public class NewLesionAfterTriggeringiRECSITAssessmentDto
    //{
    //}
    public class IRECISTNewNoTargetLesionDto
    {
        /// 
        /// 不存在新非靶病灶
        /// 
        public bool NotExistsNewNoTargetLesion { get; set; }
        /// 
        /// 所有状态为消失
        /// 
        public bool AllVanish { get; set; }
        /// 
        /// 上一访视新非靶病灶评估
        /// 
        public string LastTaskNewNoTargetLesion { get; set; }
        /// 
        /// 当前访视的新靶病灶评估
        /// 
        public string NewTargetLesion { get; set; }
        /// 
        /// 任一新非靶病灶状态为“增大”
        /// 
        public bool ExixtsEnlargementState { get; set; }
        /// 
        /// 有"存在"状态的病灶
        /// 
        public bool HaveExixtsState { get; set; }
        /// 
        /// 至少有一个病灶无法评估
        /// 
        public bool ExixtsUnevaluableState { get; set; }
    }
    /// 
    /// IRECIST新病灶Dto
    /// 
    public class IRECISTNewLesionAssessmentDto
    {
        /// 
        /// 上一次任务的新病灶评估为iUPD
        /// 
        public bool LastTaskNewLesioniUPD { get; set; }
        /// 
        /// 上一次任务的新病灶评估为iCPD
        /// 
        public bool LastTaskNewLesioniCPD { get; set; }
        /// 
        /// 存在触发iRECIST后新病灶
        /// 
        public bool ExistxIRECISTNewLesion { get; set; }
    }
    /// 
    /// IRECIST整体肿瘤评估
    /// 
    public class IRECISTTargetLesionEvaluateDto
    {
        /// 
        /// 上一次任务的评估为iUPD或者iCPD
        /// 
        public bool LastTaskLesioniUPDOriCPD { get; set; }
    }
}