using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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 GetTumorAssessmentListInDto:PageInput
	{
		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 CopySystemCriterionDataInDto
	{
		public Guid SourceSystemCriterionId { get; set; }
		public Guid NewSystemCriterionId { get; set; }
		public bool IsCopyQuestion { get; set; }
	}
	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
    {
		[NotDefault]
		public Guid CriterionId { get; set; }
		public string ParentCode { get; set; } = string.Empty;
	}
	public class CriterionDictionaryInfo
	{
		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 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 CustomCalculateMark? CustomCalculateMark { get; set; }
		/// 
		/// IsDepend
		/// 
		public IsDepend IsDepend { get; set; }
		/// 
		/// 自定义计算标记
		/// 
		public string CalculateQuestions { get; set; } = "[]";
		/// 
		/// 限制编辑
		/// 
		public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
		/// 
		/// 数值类型
		/// 
		public ValueOfType? ValueType { get; set; }
		/// 
		/// 单位
		/// 
		public ValueUnit? Unit { get; set; }
		/// 
		/// 自定义单位
		/// 
		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 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 int 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 QuestionEnName { get; set; } = string.Empty;
	
		public List ParentTriggerValueList { get; set; }
		public List RelevanceValueList { get; set; }
		
	}
	/// ReadingTableQuestionSystemAddOrEdit  列表查询参数模型
	public class ReadingTableQuestionSystemAddOrEdit
	{
		/// 
		/// 数值类型
		/// 
		public ValueOfType? ValueType { get; set; }
		/// 
		/// 数据来源
		/// 
		public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
		/// 
		/// 单位
		/// 
		public ValueUnit? Unit { get; set; }
		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 int 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 QuestionEnName { get; set; } = string.Empty;
		
	}
	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 bool 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 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 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; }
		/// 
		///  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 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; }
		/// 
		/// 分组
		/// 
		public string GroupName { get; set; }
		/// 
		/// 全局阅片显示类型
		/// 
		public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
		/// 
		/// 默认值
		/// 
		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;
		/// 
		/// 系统标准Id
		/// 
		public Guid ReadingQuestionCriterionTrialId { get; set; }
		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; }
		/// 
		/// 图片数量
		/// 
		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 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 DataSources? DataSource { get; set; } = DataSources.ManualEntry;
		/// 
		/// 问题英文名称
		/// 
		public string QuestionEnName { get; set; } = string.Empty;
		/// 
		/// 问题英文分组
		/// 
		public string GroupEnName { get; set; } = string.Empty;
		public List ParentTriggerValueList { get; set; }
		public List RelevanceValueList { get; set; }
		public List CalculateQuestionList { get; set; }
	}
	public class ReadingQuestionSystemView
	{
		/// 
		/// 数值类型
		/// 
		public ValueOfType? ValueType { get; set; }
		/// 
		/// 数据来源
		/// 
		public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
		/// 
		/// 单位
		/// 
		public ValueUnit? Unit { get; set; }
		/// 
		/// Id
		/// 
		public Guid Id { get; set; }
		/// 
		/// 分组
		/// 
		public string GroupName { get; set; }
		/// 
		/// 问题类型
		/// 
		public TableQuestionType? QuestionGenre { get; set; }
		/// 
		/// Parent问题类型
		/// 
		public TableQuestionType? ParentQuestionGenre { get; set; }
		/// 
		/// 全局阅片显示类型
		/// 
		public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
		/// 
		/// 默认值
		/// 
		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;
		/// 
		/// 备注
		/// 
		public string Remark { get; set; }
		/// 
		/// 系统标准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; }
		/// 
		/// 类型值
		/// 
		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 class GetQuestionCalculateRelationOutDto
	//{
	//	public List CalculateRelationList { get; set; }
	//}
	public class CalculateRelationDto
	{
		public Guid QuestionId { 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 class SetTrialQuestionIsIsJudgeQuestionInDto
	{
		[NotDefault]
		public Guid Id { get; set; }
		/// 
		/// 是否是裁判问题
		/// 
		public bool IsJudgeQuestion { get; set; }
	}
	public class GetCalculateQuestionsOutDto
	{
		public Guid QuestionId { get; set; }
		public string QuestionName{ get; set; }
		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; }
	}
	public class GetCalculateTableQuestionsInDto
	{
		[NotDefault]
		public Guid QuestionId { get; set; }
		public string Type { get; set; }
	}
	public class GetCustomQuestionPreviewInDto
	{
		[NotDefault]
		public Guid TrialReadingCriterionId { get; set; }
	}
	public class GetCalculateQuestionsInDto
	{
		[NotDefault]
		public Guid TrialCriterionId { get; set; }
		public string Type { get; set; }
	}
	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 ValueOfType? ValueType { get; set; }
		/// 
		/// 数据来源
		/// 
		public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
		/// 
		/// 单位
		/// 
		public ValueUnit? Unit { get; set; }
		/// 
		/// 全局阅片显示类型
		/// 
		public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
		/// 
		/// 默认值
		/// 
		public string DefaultValue { get; set; } = string.Empty;
		/// 
		/// 分组
		/// 
		public string GroupName { 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 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 class AddOrUpdateReadingQuestionTrialInDto
	{
		/// 
		/// Id
		/// 
		public Guid? Id { get; set; }
		public Guid TrialId { get; set; }
		/// 
		/// 全局阅片显示类型
		/// 
		public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
			/// 
		/// 默认值
		/// 
		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 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 DataSources? DataSource { get; set; } = DataSources.ManualEntry;
		/// 
		/// 单位
		/// 
		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 string QuestionEnName { get; set; } = string.Empty;
		/// 
		/// 问题英文分组
		/// 
		public string GroupEnName { get; set; } = string.Empty;
		public List ParentTriggerValueList { get; set; }
		public List RelevanceValueList { get; set; }
	
	}
	public class GetSystemCriterionSelectDto
	{
		/// 
		/// 返回的对象
		/// 
		public Guid Id { get; set; }
		/// 
		/// 标准
		/// 
		public string CriterionName { get; set; }
	}
	public class ReadingQuestionCriterionSystemView
	{
		/// 
		/// 返回的对象
		/// 
		public Guid Id { 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; }
		/// 
		/// 系统标准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 bool IsSystemData 
		{
			get 
			{
				return this.ReadingQuestionCriterionSystemId != null;
			}
		}
	}
}