using IRaCIS.Core.Domain.Share;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
    public class TumorAssessmentView : AddOrUpdateTumorAssessmentInDto
    {
    }
    public class AddOrUpdateTumorAssessmentInDto
    {
        public Guid? Id { get; set; }
        /// 
        /// 标准ID
        /// 
        public Guid CriterionId { get; set; }
        /// 
        /// 靶病灶
        /// 
        public TargetAssessment TargetLesion { get; set; }
        /// 
        /// 非靶病灶
        /// 
        public NoTargetAssessment NonTargetLesions { get; set; }
        /// 
        /// 新病灶
        /// 
        public NewLesionAssessment NewLesion { get; set; }
        /// 
        /// 整体疗效
        /// 
        public OverallAssessment OverallEfficacy { get; set; }
    }
    public class ColumnInfo
    {
        public string ColumnName { get; set; }
        public string ColumnKey { get; set; }
        public string DictionaryKey { get; set; }
    }
    public class GetTumorAssessmentListInDto : PageInput
    {
        //public Guid CriterionId { get; set; }
        public CriterionType CriterionType { get; set; }
        ///// 
        ///// 靶病灶
        ///// 
        //public TargetAssessment? TargetLesion { get; set; }
        ///// 
        ///// 非靶病灶
        ///// 
        //public NoTargetAssessment? NonTargetLesions { get; set; }
        ///// 
        ///// 新病灶
        ///// 
        //public NewLesionAssessment? NewLesion { get; set; }
        ///// 
        ///// 整体疗效
        ///// 
        //public OverallAssessment? OverallEfficacy { get; set; }
    }
    public class CopySystemCriterionDataInDto
    {
        public Guid SourceSystemCriterionId { get; set; }
        public Guid NewSystemCriterionId { get; set; }
        public bool IsCopyQuestion { get; set; }
    }
    public class EditCriterionDictionaryInDto
    {
        public Guid Id { get; set; }
        /// 
        /// 标准字典分组
        /// 
        public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; } = CrterionDictionaryGroup.General;
    }
    public class SetCriterionDictionaryInDto
    {
        [NotDefault]
        public Guid CriterionId { get; set; }
        public string ParentCode { get; set; }
        public List DictionaryIds { get; set; }
    }
    public class SetAssessTypeInDto
    {
        [NotDefault]
        public Guid CriterionId { get; set; }
        public string ParentCode { get; set; }
        public List DictionaryList { get; set; }
    }
    public class SetCriterionDictionaryDto
    {
        public Guid DictionaryId { get; set; }
        /// 
        /// IsBaseLineUse
        /// 
        public bool IsBaseLineUse { get; set; } = false;
        /// 
        /// IsBaseUse
        /// 
        public bool IsFollowVisitUse { get; set; } = false;
    }
    public class SetDictionaryFollowVisitUseInDto
    {
        public Guid Id { get; set; }
        public bool IsFollowVisitUse { get; set; }
    }
    public class SetDictionaryBaseLineUseInDto
    {
        public Guid Id { get; set; }
        public bool IsBaseLineUse { get; set; }
    }
    public class GetAssessTypeInDto
    {
        public Guid? SystemCriterionId { get; set; }
        public Guid? TrialCriterionId { get; set; }
        public string ParentCode { get; set; } = string.Empty;
    }
    public class CriterionDictionaryInfo
    {
        public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; }
        public Guid Id { get; set; }
        public Guid DictionaryId { get; set; }
        public int ShowOrder { get; set; }
        public string Description { get; set; } = string.Empty;
        public string Code { get; set; }
        public string ParentCode { get; set; }
        public string ChildGroup { get; set; }
        /// 
        /// IsBaseUse
        /// 
        public bool IsBaseLineUse { get; set; } = false;
        /// 
        /// IsBaseUse
        /// 
        public bool IsFollowVisitUse { get; set; } = false;
        public string Value { get; set; } = string.Empty;
        public string ValueCN { get; set; } = string.Empty;
    }
    public class GetSystemGlobalInfoOutDto
    {
        /// 
        /// 是否必须全局阅片
        /// 
        public bool IsMustGlobalReading { get; set; } = false;
        public List DictionaryList { get; set; }
    }
    public class GetSystemOncologyInfoOutDto
    {
        public bool IsOncologyReading { get; set; }
        public List DictionaryList { get; set; }
    }
    public class DeleteSystemCriterionDictionaryIndto
    {
        public Guid Id { get; set; }
    }
    public class AddSystemCriterionDictionaryCodeInDto
    {
        public Guid SystemCriterionId { get; set; }
        [NotDefault]
        public List CodeList { get; set; }
    }
    public class ResetAndAsyncCriterionInDto
    {
        public Guid TrialReadingCriterionId { get; set; }
    }
    public class ResetAndAsyncCriterionOutDto
    {
    }
    public class SetSystemGlobalInfoInDto
    {
        [NotDefault]
        public Guid SystemCriterionId { get; set; }
        public bool IsMustGlobalReading { get; set; }
        public List DictionaryList { get; set; }
    }
    public class SystemGlobalInfo
    {
        /// 
        /// DictionaryId
        /// 
        public Guid DictionaryId { get; set; }
        /// 
        /// IsBaseLineUse
        /// 
        public bool IsBaseLineUse { get; set; } = false;
        /// 
        /// IsBaseUse
        /// 
        public bool IsFollowVisitUse { get; set; } = false;
    }
    public class SetSystemOncologyInfoInDto
    {
        [NotDefault]
        public Guid SystemCriterionId { get; set; }
        public bool IsOncologyReading { get; set; }
        public List DictionaryIds { get; set; }
    }
    public class GetSystemOncologyInfoInDto
    {
        [NotDefault]
        public Guid SystemCriterionId { get; set; }
    }
    public class GetSystemCriterionListOutDto
    {
        public Guid CriterionId { get; set; }
        public string CriterionName { get; set; }
    }
    public class ReadingTableQuestionTrialView : ReadingTableQuestionTrial
    {
        public int? DependShowOrder { get; set; }
    }
    public class ReadingTableQuestionSystemView : ReadingTableQuestionSystem
    {
        public int? DependShowOrder { get; set; }
    }
    public class ReadingTableQuestionSystemQuery
    {
        public Guid ReadingQuestionId { get; set; }
        /// 
        /// 表格问题类型
        /// 
        public TableQuestionType? TableQuestionType { get; set; }
    }
    public class ReadingTableQuestionTrialAddOrEdit
    {
        public Guid? ClassifyTableQuestionId { get; set; }
        /// 
        /// 分类问题类型
        /// 
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        /// 
        /// 自定义计算标记
        /// 
        public CustomCalculateMark? CustomCalculateMark { get; set; }
        /// 
        /// TrialId
        /// 
        public Guid TrialId { get; set; }
        /// 
        /// IsDepend
        /// 
        public IsDepend IsDepend { get; set; }
        /// 
        /// 自定义计算标记
        /// 
        public string CalculateQuestions { get; set; } = "[]";
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        /// 
        /// 问题分类
        /// 
        public QuestionClassify? QuestionClassify { get; set; }
        /// 
        /// 分组分类
        /// 
        public GroupClassify? GroupClassify { get; set; }
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 限制编辑
        /// 
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        /// 
        /// 限制显示
        /// 
        public LimitShow LimitShow { get; set; } = LimitShow.AllShow;
        /// 
        /// 最大答案长度
        /// 
        public int? MaxAnswerLength { get; set; }
        /// 
        /// 文件类型
        /// 
        public string FileType { get; set; } = string.Empty;
        /// 
        /// 自定义单位
        /// 
        public string CustomUnit { get; set; } = string.Empty;
        /// 
        /// 数据来源
        /// 
        public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
        public Guid? Id { get; set; }
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        public Guid ReadingQuestionId { get; set; }
        public string Type { get; set; } = string.Empty;
        public Guid? ParentId { get; set; }
        public string ParentTriggerValue { get; set; } = string.Empty;
        public string QuestionName { get; set; } = string.Empty;
        public IsRequired IsRequired { get; set; }
        /// 
        /// 复制病灶的时候 是否复制这个问题
        /// 
        public bool IsCopy { get; set; } = false;
        public int ShowOrder { get; set; }
        public string TypeValue { get; set; } = string.Empty;
        public bool IsEnable { get; set; }
        public DateTime CreateTime { get; set; }
        public Guid CreateUserId { get; set; }
        public string Remark { get; set; }
        public Guid? RelevanceId { get; set; }
        public string RelevanceValue { get; set; } = string.Empty;
        public ShowQuestion ShowQuestion { get; set; }
        public int? MaxRowCount { get; set; }
        public string DataTableName { get; set; } = string.Empty;
        public string DataTableColumn { get; set; } = string.Empty;
        /// 
        /// 表格问题类型
        /// 
        public TableQuestionType? TableQuestionType { get; set; }
        /// 
        /// 依赖父问题
        /// 
        public Guid? DependParentId { get; set; }
        /// 
        /// 项目标准Id
        /// 
        public Guid TrialCriterionId { get; set; }
        /// 
        /// 问题标识
        /// 
        public QuestionMark? QuestionMark { get; set; }
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        /// 
        /// 问题英文名称
        /// 
        public string QuestionEnName { get; set; } = string.Empty;
        public List ParentTriggerValueList { get; set; } = new List();
        public List RelevanceValueList { get; set; } = new List();
        [Comment("导出结果")]
        public string ExportResultStr { get; set; } = "[]";
        public List ExportResult { get; set; }
        [Comment("图片数量")]
        public int? ImageCount { get; set; }
    }
    /// ReadingTableQuestionSystemAddOrEdit  列表查询参数模型
    public class ReadingTableQuestionSystemAddOrEdit
    {
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        public bool IsCopy { get; set; } = false;
        public Guid? ClassifyTableQuestionId { get; set; }
        /// 
        /// 分类问题类型
        /// 
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        /// 
        /// 问题分类
        /// 
        public QuestionClassify? QuestionClassify { get; set; }
        /// 
        /// 分组分类
        /// 
        public GroupClassify? GroupClassify { get; set; }
        /// 
        /// 数据来源
        /// 
        public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 限制编辑
        /// 
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        /// 
        /// 限制显示
        /// 
        public LimitShow LimitShow { get; set; } = LimitShow.AllShow;
        /// 
        /// 最大答案长度
        /// 
        public int? MaxAnswerLength { get; set; }
        /// 
        /// 文件类型
        /// 
        public string FileType { get; set; } = string.Empty;
        public Guid? Id { get; set; }
        public Guid ReadingQuestionId { get; set; }
        public string Type { get; set; } = string.Empty;
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        public Guid? ParentId { get; set; }
        public string ParentTriggerValue { get; set; } = string.Empty;
        public string QuestionName { get; set; } = string.Empty;
        public IsRequired IsRequired { get; set; }
        public int ShowOrder { get; set; }
        public string TypeValue { get; set; } = string.Empty;
        public bool IsEnable { get; set; }
        public DateTime CreateTime { get; set; }
        public Guid CreateUserId { get; set; }
        public string Remark { get; set; }
        public Guid? RelevanceId { get; set; }
        public string RelevanceValue { get; set; } = string.Empty;
        public ShowQuestion ShowQuestion { get; set; }
        public int? MaxRowCount { get; set; }
        public string DataTableName { get; set; } = string.Empty;
        public string DataTableColumn { get; set; } = string.Empty;
        /// 
        /// 表格问题类型
        /// 
        public TableQuestionType? TableQuestionType { get; set; }
        /// 
        /// 依赖父问题
        /// 
        public Guid? DependParentId { get; set; }
        /// 
        /// 系统标准Id
        /// 
        public Guid SystemCriterionId { get; set; }
        /// 
        /// 问题标识
        /// 
        public QuestionMark? QuestionMark { get; set; }
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        /// 
        /// 问题英文名称
        /// 
        public string QuestionEnName { get; set; } = string.Empty;
        [Comment("导出结果")]
        public string ExportResultStr { get; set; } = "[]";
        public List ExportResult { get; set; }
        [Comment("图片数量")]
        public int? ImageCount { get; set; }
        public List ParentTriggerValueList { get; set; } = new List();
        public List RelevanceValueList { get; set; } = new List();
    }
    public class ReadingCriterionPageView
    {
        public Guid Id { get; set; }
        public Guid TrialId { get; set; }
        public string PageName { get; set; }
        public bool IsEnable { get; set; }
    }
    public class ReadingCriterionPageQuery
    {
        /// PageName
        public string PageName { get; set; }
    }
    public class SetTrialJudgyInfoInDto : GetTrialJudgyInfoOutDto
    {
        public Guid TrialReadingCriterionId { get; set; }
    }
    public class GetTrialJudgyInfoOutDto
    {
        public Guid TrialId { get; set; }
        public ReadingOrder IsReadingTaskViewInOrder { get; set; }
        /// 
        /// 仲裁阅片
        /// 
        public bool? IsArbitrationReading { get; set; }
        /// 
        /// 仲裁规则
        /// 
        public ArbitrationRule ArbitrationRule { get; set; }
    }
    public enum NeedSynchronize
    {
        /// 
        /// 需要
        /// 
        Need = 0,
        /// 
        /// 不需要
        /// 
        NotNeed = 1,
        /// 
        /// 裁判不相等
        /// 
        JudgeNotEqual = 2,
    }
    public class ReadingQuestionSystemData : ReadingQuestionSystem
    {
        public Guid OriginalId { get; set; }
    }
    public class ReadingTableQuestionSystemData : ReadingTableQuestionSystem
    {
        public Guid OriginalId { get; set; }
    }
    public class ReadingTrialTableQuestionData : ReadingTableQuestionTrial
    {
        public Guid OriginalId { get; set; }
    }
    public class SynchronizeSystemCriterionInDto
    {
        public Guid FromSystemCriterionId { get; set; }
        public Guid ToSystemCriterionId { get; set; }
    }
    public class SynchronizeCriterionInDto
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }
    }
    public class VerifyeCriterionNeedSynchronizeInDto
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }
    }
    public class GetTrialJudgyInfoInDto
    {
        [NotDefault]
        public Guid TrialId { get; set; }
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }
    }
    public class ReadingCriterionPageAddOrEdit
    {
        public Guid? Id { get; set; }
        public Guid TrialId { get; set; }
        public string PageName { get; set; }
        public bool IsEnable { get; set; }
        public int ShowOrder { get; set; } = 0;
        public Guid ReadingQuestionCriterionTrialId { get; set; }
        /// 
        /// 是否公共分页
        /// 
        public bool IsPublicPage { get; set; }
    }
    public class AddOrUpdateReadingQuestionCriterionTrialInDto
    {
        public Guid? Id { get; set; }
        [NotDefault]
        public Guid TrialId { get; set; }
        /// 
        /// 标准分组
        /// 
        public CriterionGroup CriterionGroup { get; set; }
        /// 
        /// 描述
        /// 
        public string Description { get; set; } = string.Empty;
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; }
        /// 
        /// 标准
        /// 
        public string CriterionName { get; set; }
        /// 
        /// 是否启用
        /// 
        public bool IsEnable { get; set; }
        /// 
        /// 表单类型
        /// 
        public FormType FormType { get; set; } = FormType.SinglePage;
        /// 
        /// 修约小数点
        /// 
        public int? DigitPlaces { get; set; } = 2;
    }
    public class GetPreviewTheQuestionInDto
    {
        [NotDefault]
        public Guid Id { get; set; }
    }
    public class AddOrUpdateReadingQuestionCriterionSystemInDto
    {
        public Guid? Id { get; set; }
        /// 
        /// 标准分组
        /// 
        public CriterionGroup CriterionGroup { get; set; }
        /// 
        ///  eCRF报告是否显示在图像页面
        /// 
        public bool IseCRFShowInDicomReading { get; set; } = false;
        /// 
        /// 标准
        /// 
        public string CriterionName { get; set; }
        /// 
        /// 描述
        /// 
        public string Description { get; set; }
        /// 
        /// 是否启用
        /// 
        public bool IsEnable { get; set; }
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; }
        /// 
        /// 标准类型
        /// 
        public CriterionType CriterionType { get; set; }
        /// 
        /// 是否完成配置
        /// 
        public bool IsCompleteConfig { get; set; } = false;
        /// 
        /// 表单类型
        /// 
        public FormType FormType { get; set; } = FormType.SinglePage;
    }
    /// 
    /// 
    /// 
    public class ReadingQuestionCriterionSystemViewInDto : PageInput
    {
        public string CriterionName { get; set; } = String.Empty;
        public bool? IsCompleteConfig { get; set; }
        public bool? IsEnable { get; set; }
        public CriterionGroup? CriterionGroup { get; set; }
        public CriterionType? CriterionType { get; set; }
     
    }
    public class CriterionList
    {
        public Guid Id { get; set; }
        public string Value { get; set; }
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; }
    }
    public class SetSystemReadingQuestionCriterionIsIsEnable
    {
        [NotDefault]
        public Guid Id { get; set; }
        public bool IsEnable { get; set; }
    }
    public class VerifySystemQuestionIsSetJudgeAnswerInDto
    {
        [NotDefault]
        public Guid Id { get; set; }
    }
    public class SetSystemReadingQuestionCriterionIsIsCompleteConfig
    {
        [NotDefault]
        public Guid Id { get; set; }
        public bool IsCompleteConfig { get; set; }
    }
    /// 
    /// 
    /// 
    public class ReadingQuestionCriterionTrialViewInDto : PageInput
    {
        [NotDefault]
        public Guid TrialId { get; set; }
        public string CriterionName { get; set; } = string.Empty;
    }
    public class ReadingQuestionTrialView
    {
        public Guid Id { get; set; }
        [Comment("导出结果")]
        public string ExportResultStr { get; set; } = "[]";
        [NotMapped]
        public List ExportResult
        {
            get
            {
                try
                {
                    var result = JsonConvert.DeserializeObject>(this.ExportResultStr);
                    return result == null ? new List() : result;
                }
                catch (Exception)
                {
                    return new List();
                }
            }
        }
        /// 
        /// 分组
        /// 
        public string GroupName { get; set; }
        /// 
        /// 分类算法
        /// 
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        /// 
        /// 分类问题Id
        /// 
        public Guid? ClassifyQuestionId { get; set; }
        public Guid? GroupId { get; set; }
        /// 
        /// 全局阅片显示类型
        /// 
        public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
        /// 
        /// 转化显示类型
        /// 
        public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All;
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        /// 
        /// 问题类型
        /// 
        public TableQuestionType? QuestionGenre { get; set; }
        /// 
        /// Parent问题类型
        /// 
        public TableQuestionType? ParentQuestionGenre { get; set; }
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        /// 
        /// Parent字典code
        /// 
        public string ParentDictionaryCode { get; set; } = string.Empty;
        public List HighlightAnswerList { get; set; } = new List();
        /// 
        /// 系统标准Id
        /// 
        public Guid ReadingQuestionCriterionTrialId { get; set; }
        /// 
        /// 是否复制病灶
        /// 
        public bool IsCopyLesions { get; set; } = false;
        public Guid TrialId { get; set; }
        /// 
        /// 类型
        /// 
        public string Type { get; set; }
        /// 
        /// 父问题触发
        /// 
        public string ParentTriggerValue { get; set; }
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; }
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; }
        /// 
        /// 父问题ID
        /// 
        public Guid? ParentId { get; set; }
        /// 
        /// 备注
        /// 
        public string Remark { get; set; }
        /// 
        /// 类型值
        /// 
        public string TypeValue { get; set; }
        public bool IsEnable { get; set; }
        public string ParentQuestionName { get; set; }
        public int? ParentQuestionShowOrder { get; set; }
        /// 
        /// 是否是裁判问题
        /// 
        public bool IsJudgeQuestion { get; set; }
        /// 
        /// 标准分页Id
        /// 
        public Guid? ReadingCriterionPageId { get; set; }
        /// 
        /// 关联ID
        /// 
        public Guid? RelevanceId { get; set; }
        /// 
        /// 关联Value
        /// 
        public string RelevanceValue { get; set; } = string.Empty;
        public int? RelevanceShowOrder { get; set; }
        /// 
        /// Relevance问题类型
        /// 
        public TableQuestionType? RelevanceQuestionGenre { get; set; }
        /// 
        /// Relevance字典code
        /// 
        public string RelevanceDictionaryCode { get; set; } = string.Empty;
        /// 
        /// 图片数量
        /// 
        public int ImageCount { get; set; } = 0;
        /// 
        /// 是否是必须
        /// 
        public IsRequired IsRequired { get; set; }
        /// 
        /// 是否显示
        /// 
        public ShowQuestion ShowQuestion { get; set; }
        /// 
        /// 最大问题数
        /// 
        public int? MaxQuestionCount { get; set; }
        /// 
        /// 病灶类型
        /// 
        public LesionType? LesionType { get; set; }
        /// 
        /// 问题类型
        /// 
        public QuestionType? QuestionType { get; set; }
        /// 
        /// 是否显示在Dicom阅片中
        /// 
        public bool IsShowInDicom { get; set; }
        /// 
        /// 序号标记
        /// 
        public string OrderMark { get; set; } = string.Empty;
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        /// 
        /// 问题分类
        /// 
        public QuestionClassify? QuestionClassify { get; set; }
        /// 
        /// 分组分类
        /// 
        public GroupClassify? GroupClassify { get; set; }
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 自定义单位
        /// 
        public string CustomUnit { get; set; } = string.Empty;
        /// 
        /// 自定义计算标记
        /// 
        public CustomCalculateMark? CustomCalculateMark { get; set; }
        /// 
        /// 自定义计算标记
        /// 
        public string CalculateQuestions { get; set; }
        /// 
        /// 限制编辑
        /// 
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        /// 
        /// 限制显示
        /// 
        public LimitShow LimitShow { get; set; } = LimitShow.AllShow;
        /// 
        /// 最大答案长度
        /// 
        public int? MaxAnswerLength { get; set; }
        /// 
        /// 文件类型
        /// 
        public string FileType { get; set; } = string.Empty;
        /// 
        /// 数据来源
        /// 
        public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
        /// 
        /// 问题英文名称
        /// 
        public string QuestionEnName { get; set; } = string.Empty;
        /// 
        /// 问题英文分组
        /// 
        public string GroupEnName { get; set; } = string.Empty;
        /// 
        /// 分类问题类型
        /// 
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        public List ParentTriggerValueList { get; set; } = new List();
        public List RelevanceValueList { get; set; } = new List();
        public List CalculateQuestionList { get; set; }
    }
    public class ReadingQuestionSystemView
    {
        /// 
        /// 分类问题类型
        /// 
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        /// 
        /// 分类算法
        /// 
        [Comment("分类算法")]
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        /// 
        /// 分类问题Id
        /// 
        [Comment("分类问题Id")]
        public Guid? ClassifyQuestionId { get; set; }
        public string ExportResultStr { get; set; } = "[]";
        public List ExportResult
        {
            get
            {
                try
                {
                    var result = JsonConvert.DeserializeObject>(this.ExportResultStr);
                    return result == null ? new List() : result;
                }
                catch (Exception)
                {
                    return new List();
                }
            }
        }
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        /// 
        /// 问题分类
        /// 
        public QuestionClassify? QuestionClassify { get; set; }
        /// 
        /// 分组分类
        /// 
        public GroupClassify? GroupClassify { get; set; }
        public List ParentTriggerValueList { get; set; } = new List();
        public List RelevanceValueList { get; set; } = new List();
        public List HighlightAnswerList { get; set; } = new List();
        /// 
        /// 备注
        /// 
        public string Remark { get; set; }
        /// 
        /// 数据来源
        /// 
        public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 限制编辑
        /// 
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        /// 
        /// 限制显示
        /// 
        public LimitShow LimitShow { get; set; } = LimitShow.AllShow;
        /// 
        /// 最大答案长度
        /// 
        public int? MaxAnswerLength { get; set; }
        /// 
        /// 文件类型
        /// 
        public string FileType { get; set; } = string.Empty;
        /// 
        /// Id
        /// 
        public Guid Id { get; set; }
        /// 
        /// 分组
        /// 
        public string GroupName { get; set; }
        public Guid? GroupId { get; set; }
        /// 
        /// 问题类型
        /// 
        public TableQuestionType? QuestionGenre { get; set; }
        /// 
        /// Parent问题类型
        /// 
        public TableQuestionType? ParentQuestionGenre { get; set; }
        /// 
        /// 全局阅片显示类型
        /// 
        public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
        /// 
        /// 转化显示类型
        /// 
        public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All;
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        /// 
        /// Parent字典code
        /// 
        public string ParentDictionaryCode { get; set; } = string.Empty;
        /// 
        /// 关联ID
        /// 
        public Guid? RelevanceId { get; set; }
        /// 
        /// 关联Value
        /// 
        public string RelevanceValue { get; set; } = string.Empty;
        /// 
        /// 系统标准Id
        /// 
        public Guid ReadingQuestionCriterionSystemId { get; set; }
        /// 
        /// 类型
        /// 
        public string Type { get; set; }
        /// 
        /// 父问题触发
        /// 
        public string ParentTriggerValue { get; set; }
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; }
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; }
        /// 
        /// 父问题ID
        /// 
        public Guid? ParentId { get; set; }
        public string ParentQuestionName { get; set; }
        public int? ParentQuestionShowOrder { get; set; }
        public int? RelevanceShowOrder { get; set; }
        /// 
        /// Relevance问题类型
        /// 
        public TableQuestionType? RelevanceQuestionGenre { get; set; }
        /// 
        /// Relevance字典code
        /// 
        public string RelevanceDictionaryCode { get; set; } = string.Empty;
        /// 
        /// 类型值
        /// 
        public string TypeValue { get; set; }
        //public bool IsEnable { get; set; }
        /// 
        /// 是否是裁判问题
        /// 
        public bool IsJudgeQuestion { get; set; }
        /// 
        /// 图片数量
        /// 
        public int ImageCount { get; set; }
        /// 
        /// 是否是必须
        /// 
        public IsRequired IsRequired { get; set; }
        /// 
        /// 是否显示
        /// 
        public ShowQuestion ShowQuestion { get; set; }
        /// 
        /// 最大问题数
        /// 
        public int? MaxQuestionCount { get; set; }
        /// 
        /// 病灶类型
        /// 
        public LesionType? LesionType { get; set; }
        /// 
        /// 问题类型
        /// 
        public QuestionType? QuestionType { get; set; }
        /// 
        /// 是否显示在Dicom阅片中
        /// 
        public bool IsShowInDicom { get; set; }
        /// 
        /// 序号标记
        /// 
        public string OrderMark { get; set; } = string.Empty;
        /// 
        /// 问题英文名称
        /// 
        public string QuestionEnName { get; set; } = string.Empty;
        /// 
        /// 问题英文分组
        /// 
        public string GroupEnName { get; set; } = string.Empty;
    }
    public class GetQuestionCalculateRelationInDto
    {
        public Guid? TrialReadingCriterionId { get; set; }
        public Guid? ReadingQuestionId { get; set; }
        public bool IsGetAll { get; set; } = false;
    }
    //public class GetQuestionCalculateRelationOutDto
    //{
    //	public List CalculateRelationList { get; set; }
    //}
    public class CalculateRelationDto
    {
        public Guid QuestionId { get; set; }
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; }
        /// 
        /// 自定义计算标记
        /// 
        public CustomCalculateMark? CustomCalculateMark { get; set; }
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 自定义单位
        /// 
        public string CustomUnit { get; set; } = string.Empty;
        public List CalculateQuestionList { get; set; }
    }
    public class ReadingQuestionTrialViewInDto
    {
        /// 
        /// 系统标准Id
        /// 
        [NotDefault]
        public Guid ReadingQuestionCriterionTrialId { get; set; }
        /// 
        /// 类型
        /// 
        public string Type { get; set; } = string.Empty;
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; } = string.Empty;
        public Guid? ReadingCriterionPageId { get; set; }
    }
    /// 
    /// 获取其他问题返回的Dto
    /// 
    public class CriterionOtherQuestionOutDto
    {
        public Guid QuestionId { get; set; }
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; }
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        /// 
        /// 问题类型
        /// 
        public TableQuestionType? QuestionGenre { get; set; }
        /// 
        /// 类型值
        /// 
        public string TypeValue { get; set; }
        public string GroupName { get; set; }
        public Guid? GroupId { get; set; }
    }
    public class SetTrialQuestionIsIsJudgeQuestionInDto
    {
        [NotDefault]
        public Guid Id { get; set; }
        /// 
        /// 是否是裁判问题
        /// 
        public bool IsJudgeQuestion { get; set; }
    }
    public class GetCalculateQuestionsOutDto: ReadingQuestionSystemView
    {
        public List TableQuestions { get; set; }
    }
    public class GetSystemCalculateQuestionsOutDto : ReadingQuestionSystemView
    {
        public List TableQuestions { get; set; }
    }
    public class CalculateQuestion
    {
        public Guid QuestionId { get; set; }
        public string QuestionName { get; set; }
    }
    public class GetCalculateTableQuestionsOutDto
    {
        public Guid QuestionId { get; set; }
        public string QuestionName { get; set; }
        [NotMapped]
        public List ParentTriggerValueList
        {
            get
            {
                try
                {
                    return this.ParentTriggerValue.Split(',').ToList();
                }
                catch (Exception)
                {
                    return new List();
                }
            }
        }
        [NotMapped]
        public List RelevanceValueList
        {
            get
            {
                try
                {
                    return this.RelevanceValue.Split(',').ToList();
                }
                catch (Exception)
                {
                    return new List();
                }
            }
        }
        [Comment("系统表的问题Id    ReadingQuestionSystem的Id")]
        public Guid ReadingQuestionId { get; set; }
        public string Type { get; set; } = string.Empty;
        public Guid? ParentId { get; set; }
        [Comment("父问题触发值")]
        public string ParentTriggerValue { get; set; } = string.Empty;
        public IsRequired IsRequired { get; set; }
        [Comment("排序号")]
        public int ShowOrder { get; set; }
        [Comment("值")]
        public string TypeValue { get; set; } = string.Empty;
        [Comment("是否启用")]
        public bool IsEnable { get; set; }
        [Comment("备注")]
        public string Remark { get; set; } = string.Empty;
        [Comment("显示父问题")]
        public Guid? RelevanceId { get; set; }
        [Comment("显示父问题的值")]
        public string RelevanceValue { get; set; } = string.Empty;
        [Comment("是否显示")]
        public ShowQuestion ShowQuestion { get; set; }
        [Comment("最大问题数")]
        public int? MaxRowCount { get; set; }
        [Comment("图片数量")]
        public int? ImageCount { get; set; }
        [Comment("数据表名称")]
        public string DataTableName { get; set; } = string.Empty;
        [Comment("数据列")]
        public string DataTableColumn { get; set; } = string.Empty;
        [Comment("关联父问题")]
        public Guid? DependParentId { get; set; }
        [Comment("是否关联")]
        public IsDepend IsDepend { get; set; }
        [Comment("表格问题类型")]
        public TableQuestionType? TableQuestionType { get; set; }
        [Comment("系统标准Id")]
        public Guid SystemCriterionId { get; set; }
        [Comment("问题标识")]
        public QuestionMark? QuestionMark { get; set; }
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        [Comment("字典code")]
        public string DictionaryCode { get; set; } = string.Empty;
        [Comment("数值类型")]
        public ValueOfType? ValueType { get; set; }
        [Comment("单位")]
        public ValueUnit? Unit { get; set; }
        [Comment("问题英文名称")]
        public string QuestionEnName { get; set; } = string.Empty;
        [Comment("数据来源")]
        public DataSources DataSource { get; set; } = DataSources.ManualEntry;
        [Comment("限制编辑")]
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        [Comment("最大答案长度")]
        public int? MaxAnswerLength { get; set; }
        [Comment("文件类型")]
        public string? FileType { get; set; } = string.Empty;
        [Comment("问题分类")]
        public QuestionClassify? QuestionClassify { get; set; }
        [Comment("复制病灶的时候 是否复制这个问题")]
        public bool IsCopy { get; set; } = false;
        [Comment("分类问题表格Id")]
        public Guid? ClassifyTableQuestionId { get; set; }
        [Comment("分类类型")]
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        [Comment("分类算法")]
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        [Comment("导出结果")]
        public string ExportResultStr { get; set; } = "[]";
        [NotMapped]
        public List ExportResult
        {
            get
            {
                try
                {
                    var result = JsonConvert.DeserializeObject>(this.ExportResultStr);
                    return result == null ? new List() : result;
                }
                catch (Exception)
                {
                    return new List();
                }
            }
        }
    }
    public class GetCalculateTableQuestionsInDto
    {
        [NotDefault]
        public Guid QuestionId { get; set; }
        public string Type { get; set; } = string.Empty;
        public List TypeList { get; set; } = new List();
    }
    public class SetTrialQuestionExportResultInDto
    {
        public ExportType ExportType { get; set; }
        public List QuestionList = new List();
        public List TableQuestionList = new List();
    }
    public class SetTrialQuestionExport
    {
        public Guid QuestionId { get; set; }
        public Guid? TableQuestionId { get; set; }
        /// 
        /// 导出的CDISCName
        /// 
        public string CDISCCode { get; set; } = string.Empty;
        public List ExportResult { get; set; }
    }
    public class GetTrialQuestionExportResultInDto
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }
        public ExportType ExportType { get; set; }
    }
    public enum ExportType
    {
        Basic=0,
        CDISC=1,
    }
    public class GetTrialQuestionExportResultOutDto
    {
        public CriterionType CriterionType { get; set; }
        public CriterionGroup CriterionGroup { get; set; }
        public List QuestionList = new List();
        public List DicList = new List();
    }
    public class TrialQuestionExport
    {
        public Guid Id { get; set; } = Guid.NewGuid();
        public Guid QuestionId { get; set; }
        public Guid? TableQuestionId { get; set; }
        public string QuestionName { get; set; }
        public List ExportResult { get; set; }
        public Guid? GroupId { get; set; }
        public bool IsGroup { get; set; } = false;
        /// 
        /// 导出的CDISCName
        /// 
        public string CDISCCode { get; set; } = string.Empty;
        public int ShowOrder { get; set; }
        public bool IsTableQuestion { get; set; }
        public bool HasChildren => Children.Count() > 0;
        public List Children { get; set; } = new List();
    }
    public class TrialQuestionExportDic
    {
        public int Code { get; set; }
        public string Value { get; set; }
        public string ValueCN { get; set; }
    }
    public class GetCustomQuestionPreviewInDto
    {
        [NotDefault]
        public Guid TrialReadingCriterionId { get; set; }
    }
    public class GetSystemCalculateQuestionsInDto
    {
        [NotDefault]
        public Guid SystemCriterionId { get; set; }
        public string Type { get; set; } = string.Empty;
        public List TypeList { get; set; } = new List();
    }
    public class GetCalculateQuestionsInDto
    {
        [NotDefault]
        public Guid TrialCriterionId { get; set; }
        public string Type { get; set; } = string.Empty;
        public List TypeList { get; set; } = new List();
    }
    public class GetTrialGroupNameOutDto
    {
        public Guid GroupId { get; set; }
        public string GroupName { get; set; } = string.Empty;
    }
    public class GetTrialGroupNameListInDto
    {
        /// 
        /// 标准ID
        /// 
        public Guid CriterionId { get; set; }
        public Guid? ReadingCriterionPageId { get; set; }
    }
    public class GetReadingTableOtherQuestionSystemInDto
    {
        /// 
        /// 表格父问题的ID
        /// 
        [NotDefault]
        public Guid ReadingQuestionId { get; set; }
        /// 
        /// 当前ID
        /// 
        public Guid? Id { get; set; }
    }
    public class GetTrialCriterionOtherQuestionInDto
    {
        [NotDefault]
        public Guid ReadingQuestionCriterionTrialId { get; set; }
        /// 
        /// 当前ID
        /// 
        public Guid? Id { get; set; }
        public Guid? ReadingCriterionPageId { get; set; }
    }
    public class GetSystemCriterionOtherQuestionInDto
    {
        [NotDefault]
        public Guid ReadingQuestionCriterionSystemId { get; set; }
        /// 
        /// 当前ID
        /// 
        public Guid? Id { get; set; }
    }
    public class ReadingQuestionSystemViewInDto : PageInput
    {
        /// 
        /// 系统标准Id
        /// 
        [NotDefault]
        public Guid ReadingQuestionCriterionSystemId { get; set; }
        /// 
        /// 类型
        /// 
        public string Type { get; set; } = string.Empty;
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; } = string.Empty;
    }
    public class TrialQuestion
    {
        public Guid Id { get; set; }
        /// 
        /// 父问题ID
        /// 
        public Guid? ParentId { get; set; }
        /// 
        /// 项目标准Id
        /// 
        public Guid ReadingQuestionCriterionTrialId { get; set; }
        /// 
        /// 系统问题ID
        /// 
        public Guid? ReadingQuestionSystemId { get; set; }
        public Guid? ReadingCriterionPageId { get; set; }
        /// 
        /// 系统标准的ParentId
        /// 
        public Guid? SystemParentId { get; set; }
        /// 
        /// 答案分组
        /// 
        public string AnswerGroup { get; set; } = string.Empty;
        /// 
        /// 答案组合
        /// 
        public string AnswerCombination { get; set; } = string.Empty;
        /// 
        /// 裁判类型
        /// 
        public JudgeTypeEnum JudgeType { get; set; }
        /// 
        /// 关联ID
        /// 
        public Guid? RelevanceId { get; set; }
        /// 
        /// 关联Value
        /// 
        public string RelevanceValue { get; set; } = string.Empty;
        /// 
        /// 图片数量
        /// 
        public int ImageCount { get; set; }
    }
    public class AddOrUpdateReadingQuestionSystemInDto
    {
        /// 
        /// 分类问题类型
        /// 
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        /// 
        /// 导出结果
        /// 
        public string ExportResultStr { get; set; } = "[]";
        /// 
        /// 分类算法
        /// 
      
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        /// 
        /// 分类问题Id
        /// 
        public Guid? ClassifyQuestionId { get; set; }
        public List ExportResult { get; set; } = new List();
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        /// 
        /// 问题分类
        /// 
        public QuestionClassify? QuestionClassify { get; set; }
        /// 
        /// 分组分类
        /// 
        public GroupClassify? GroupClassify { get; set; }
        /// 
        /// 限制编辑
        /// 
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        /// 
        /// 限制显示
        /// 
        public LimitShow LimitShow { get; set; } = LimitShow.AllShow;
        public List HighlightAnswerList { get; set; } = new List();
        /// 
        /// 最大答案长度
        /// 
        public int? MaxAnswerLength { get; set; }
        /// 
        /// 文件类型
        /// 
        public string FileType { get; set; } = string.Empty;
        /// 
        /// 数据来源
        /// 
        public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 全局阅片显示类型
        /// 
        public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
        /// 
        /// 转化显示类型
        /// 
        public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All;
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        /// 
        /// 分组
        /// 
        public string GroupName { get; set; }
        public Guid? GroupId { get; set; }
        /// 
        /// Id
        /// 
        public Guid? Id { get; set; }
        /// 
        /// 问题类型
        /// 
        public TableQuestionType? QuestionGenre { get; set; }
        /// 
        /// 系统标准Id
        /// 
        public Guid ReadingQuestionCriterionSystemId { get; set; }
        /// 
        /// 关联ID
        /// 
        public Guid? RelevanceId { get; set; }
        /// 
        /// 关联Value
        /// 
        public string RelevanceValue { get; set; } = string.Empty;
        /// 
        /// 高亮问题的答案
        /// 
        public string HighlightAnswer { get; set; } = "[]";
        /// 
        /// 类型
        /// 
        public string Type { get; set; }
        /// 
        /// 父问题触发
        /// 
        public string ParentTriggerValue { get; set; } = string.Empty;
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; }
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; } = 0;
        /// 
        /// 父问题ID
        /// 
        public Guid? ParentId { get; set; }
        /// 
        /// 是否是裁判问题
        /// 
        public bool IsJudgeQuestion { get; set; } = false;
        /// 
        /// 备注
        /// 
        public string Remark { get; set; } = string.Empty;
        /// 
        /// 类型值
        /// 
        public string TypeValue { get; set; }
        public bool IsEnable { get; set; } = false;
        /// 
        /// 是否是必须
        /// 
        public IsRequired IsRequired { get; set; }
        /// 
        /// 是否显示
        /// 
        public ShowQuestion ShowQuestion { get; set; }
        /// 
        /// 图片数量
        /// 
        public int ImageCount { get; set; } = 1;
        /// 
        /// 最大问题数
        /// 
        public int? MaxQuestionCount { get; set; }
        /// 
        /// 病灶类型
        /// 
        public LesionType? LesionType { get; set; }
        /// 
        /// 问题类型
        /// 
        public QuestionType? QuestionType { get; set; }
        /// 
        /// 是否显示在Dicom阅片中
        /// 
        public bool IsShowInDicom { get; set; } = false;
        /// 
        /// 序号标记
        /// 
        public string OrderMark { get; set; } = string.Empty;
        /// 
        /// 问题英文名称
        /// 
        public string QuestionEnName { get; set; } = string.Empty;
        /// 
        /// 问题英文分组
        /// 
        public string GroupEnName { get; set; } = string.Empty;
        public List ParentTriggerValueList { get; set; } = new List();
        public List RelevanceValueList { get; set; } = new List();
    }
    public class AddOrUpdateReadingQuestionTrialInDto
    {
        /// 
        /// Id
        /// 
        public Guid? Id { get; set; }
        /// 
        /// 分类问题类型
        /// 
        public ClassifyType? ClassifyType { get; set; }
        /// 
        /// 分类编辑类型  是否可编辑
        /// 
        public ClassifyEditType? ClassifyEditType { get; set; }
        /// 
        /// 分类显示类型  是否显示
        /// 
        public ClassifyShowType? ClassifyShowType { get; set; }
        [Comment("导出结果")]
        public string ExportResultStr { get; set; } = "[]";
        public List ExportResult { get; set; } = new List();
    
        public bool IsAdditional { get; set; }
        /// 
        /// 高亮问题的答案
        /// 
        public string HighlightAnswer { get; set; } = "[]";
        public List HighlightAnswerList { get; set; } = new List();
        /// 
        /// 分类算法
        /// 
        public string ClassifyAlgorithms { get; set; } = string.Empty;
        /// 
        /// 分类问题Id
        /// 
        public Guid? ClassifyQuestionId { get; set; }
        public Guid TrialId { get; set; }
        /// 
        /// 是否复制病灶
        /// 
        public bool IsCopyLesions { get; set; } = false;
        /// 
        /// 全局阅片显示类型
        /// 
        public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
        /// 
        /// 转化显示类型
        /// 
        public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All;
        /// 
        /// 默认值
        /// 
        public string DefaultValue { get; set; } = string.Empty;
        /// 
        /// 系统标准Id
        /// 
        public Guid ReadingQuestionCriterionTrialId { get; set; }
        /// 
        /// 问题类型
        /// 
        public TableQuestionType? QuestionGenre { get; set; }
        /// 
        /// 字典code
        /// 
        public string DictionaryCode { get; set; } = string.Empty;
        /// 
        /// 是否是裁判问题
        /// 
        public bool IsJudgeQuestion { get; set; } = false;
        /// 
        /// 备注
        /// 
        public string Remark { get; set; } = string.Empty;
        /// 
        /// 分组
        /// 
        public string GroupName { get; set; }
        public Guid? GroupId { get; set; }
        /// 
        /// 答案分组
        /// 
        public string AnswerGroup { get; set; } = String.Empty;
        /// 
        /// 类型
        /// 
        public string Type { get; set; }
        /// 
        /// 父问题触发
        /// 
        public string ParentTriggerValue { get; set; } = string.Empty;
        /// 
        /// 问题名称
        /// 
        public string QuestionName { get; set; }
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; } = 0;
        /// 
        /// 父问题ID
        /// 
        public Guid? ParentId { get; set; }
        /// 
        /// 类型值
        /// 
        public string TypeValue { get; set; }
        public bool IsEnable { get; set; } = false;
        /// 
        /// 标准分页Id
        /// 
        public Guid? ReadingCriterionPageId { get; set; }
        /// 
        /// 关联ID
        /// 
        public Guid? RelevanceId { get; set; }
        /// 
        /// 关联Value
        /// 
        public string RelevanceValue { get; set; } = string.Empty;
        /// 
        /// 图片数量
        /// 
        public int ImageCount { get; set; } = 0;
        /// 
        /// 是否是必须
        /// 
        public IsRequired IsRequired { get; set; }
        /// 
        /// 是否显示
        /// 
        public ShowQuestion ShowQuestion { get; set; }
        /// 
        /// 最大问题数
        /// 
        public int? MaxQuestionCount { get; set; }
        /// 
        /// 病灶类型
        /// 
        public LesionType? LesionType { get; set; }
        /// 
        /// 问题类型
        /// 
        public QuestionType? QuestionType { get; set; }
        /// 
        /// 是否显示在Dicom阅片中
        /// 
        public bool IsShowInDicom { get; set; } = false;
        /// 
        /// 序号标记
        /// 
        public string OrderMark { get; set; } = string.Empty;
        /// 
        /// 数值类型
        /// 
        public ValueOfType? ValueType { get; set; }
        /// 
        /// 问题分类
        /// 
        public QuestionClassify? QuestionClassify { get; set; }
        /// 
        /// 分组分类
        /// 
        public GroupClassify? GroupClassify { get; set; }
        /// 
        /// 数据来源
        /// 
        public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
        /// 
        /// 单位
        /// 
        public ValueUnit? Unit { get; set; }
        /// 
        /// 限制编辑
        /// 
        public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
        /// 
        /// 限制显示
        /// 
        public LimitShow LimitShow { get; set; } = LimitShow.AllShow;
        /// 
        /// 最大答案长度
        /// 
        public int? MaxAnswerLength { get; set; }
        /// 
        /// 文件类型
        /// 
        public string FileType { get; set; } = string.Empty;
        /// 
        /// 自定义单位
        /// 
        public string CustomUnit { get; set; } = string.Empty;
        /// 
        /// 自定义计算标记
        /// 
        public CustomCalculateMark? CustomCalculateMark { get; set; }
        /// 
        /// 自定义计算标记
        /// 
        public string CalculateQuestions { get; set; } = "[]";
        /// 
        /// 问题英文名称
        /// 
        public string QuestionEnName { get; set; } = string.Empty;
        /// 
        /// 问题英文分组
        /// 
        public string GroupEnName { get; set; } = string.Empty;
        public List ParentTriggerValueList { get; set; } = new List();
        public List RelevanceValueList { get; set; } = new List();
    }
    public class GetSystemCriterionSelectDto
    {
        /// 
        /// 返回的对象
        /// 
        public Guid Id { get; set; }
        /// 
        /// 标准
        /// 
        public string CriterionName { get; set; }
    }
    public class ReadingQuestionCriterionSystemView
    {
        /// 
        /// 返回的对象
        /// 
        public Guid Id { get; set; }
        /// 
        /// 标准分组
        /// 
        public CriterionGroup CriterionGroup { get; set; }
        /// 
        /// 标准ID
        /// 
        public Guid CriterionId { get; set; }
        /// 
        /// 标准
        /// 
        public string CriterionName { get; set; }
        public int ShowOrder { get; set; }
        /// 
        /// 是否启用
        /// 
        public bool IsEnable { get; set; }
        /// 
        ///  eCRF报告是否显示在图像页面
        /// 
        public bool IseCRFShowInDicomReading { get; set; } = false;
        /// 
        /// 标准类型
        /// 
        public CriterionType CriterionType { get; set; }
        /// 
        /// 是否完成配置
        /// 
        public bool IsCompleteConfig { get; set; }
        public int QuestionCount { get; set; }
        /// 
        /// 描述
        /// 
        public string Description { get; set; }
        public bool IsBeUsed { get; set; } = false;
    }
    public class ReadingQuestionCriterionTrialView
    {
        /// 
        /// 返回的对象
        /// 
        public Guid Id { get; set; }
        /// 
        /// 标准分组
        /// 
        public CriterionGroup CriterionGroup { get; set; }
        /// 
        /// 系统标准ID
        /// 
        public Guid? ReadingQuestionCriterionSystemId { get; set; }
        /// 
        /// 标准
        /// 
        public string CriterionName { get; set; }
        /// 
        /// 是否启用
        /// 
        public bool IsEnable { get; set; }
        /// 
        /// 是否完成配置
        /// 
        public bool IsCompleteConfig { get; set; }
        public int QuestionCount { get; set; }
        public bool IsBeUsed { get; set; } = false;
        /// 
        /// 表单类型
        /// 
        public FormType FormType { get; set; }
        /// 
        /// 描述
        /// 
        public string Description { get; set; }
        /// 
        /// 修约小数点
        /// 
        public int? DigitPlaces { get; set; } = 2;
        /// 
        /// 排序
        /// 
        public int ShowOrder { get; set; }
        /// 
        /// 标准类型
        /// 
        public CriterionType CriterionType { get; set; }
        /// 
        /// 是否是系统数据
        /// 
        public bool IsSystemData
        {
            get
            {
                return this.ReadingQuestionCriterionSystemId != null;
            }
        }
    }
}