irc-netcore-api/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs

357 lines
8.3 KiB
C#

using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
#region 外层问题
/// <summary>
/// 临床问题基本信息
/// </summary>
public class ClinicalQuestionBase
{
/// <summary>
/// Id
/// </summary>
public Guid? Id { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public string ClinicalQuestionType { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public ClinicalQuestionMark? ClinicalQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 分组Id
/// </summary>
public Guid? GroupId { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; } = 0;
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; } = false;
/// <summary>
/// 父问题Id
/// </summary>
public Guid? ParentId { get; set; }
/// <summary>
/// 父问题触发值
/// </summary>
public string ParentTriggerValue { get; set; } = string.Empty;
/// <summary>
/// 显示类型
/// </summary>
public ClinicalQuestionShow ClinicalQuestionShowEnum { get; set; } = ClinicalQuestionShow.Show;
/// <summary>
/// 是否是检查日期
/// </summary>
public bool IsCheckDate { get; set; }
}
/// <summary>
/// 查询临床数据基类
/// </summary>
public class ClinicalQuestionQueryBase : PageInput
{
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
}
/// <summary>
/// 获取项目临床数据
/// </summary>
public class TrialClinicalQuestionQuery : ClinicalQuestionQueryBase
{
public Guid TrialClinicalId { get; set; }
}
/// <summary>
/// 获取项目分组
/// </summary>
public class GetTrialGroupDto
{
public Guid TrialClinicalId { get; set; }
}
/// <summary>
/// 项目临床数据问题
/// </summary>
public class TrialClinicalQuestionDto : ClinicalQuestionBase
{
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
/// <summary>
/// 自定义计算标记
/// </summary>
public ClinicalCalculateMark? ClinicalCalculateMarkEnum { get; set; }
/// <summary>
/// 自定义计算问题
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
}
/// <summary>
/// 获取系统临床数据
/// </summary>
public class SystemClinicalQuestionQuery : ClinicalQuestionQueryBase
{
public Guid SystemClinicalId { get; set; }
}
/// <summary>
/// 系统临床数据问题
/// </summary>
public class SystemClinicalQuestionDto : ClinicalQuestionBase
{
/// <summary>
/// 系统临床数据Id
/// </summary>
public Guid SystemClinicalId { get; set; }
}
/// <summary>
/// 获取系统分组
/// </summary>
public class GetSystemGroupDto
{
public Guid SystemClinicalId { get; set; }
}
#endregion
#region 表格问题
public class ClinicalTableQuestionBase
{
public Guid? Id { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public string ClinicalTableQuestionType { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public ClinicalTableQuestionMark? ClinicalTableQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; }
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
/// <summary>
/// 外层问题Id
/// </summary>
public Guid QuestionId { get; set; }
}
/// <summary>
/// 项目临床数据问题
/// </summary>
public class TrialClinicalTableQuestionDto : ClinicalTableQuestionBase
{
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
/// <summary>
/// 自定义计算标记
/// </summary>
public ClinicalCalculateMark? ClinicalCalculateMarkEnum { get; set; }
/// <summary>
/// 自定义计算问题
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
}
/// <summary>
/// 系统临床数据问题
/// </summary>
public class SystemClinicalTableQuestionDto : ClinicalTableQuestionBase
{
/// <summary>
/// 系统临床数据Id
/// </summary>
public Guid SystemClinicalId { get; set; }
}
/// <summary>
/// 查询临床数据基类
/// </summary>
public class ClinicalTableQuestionQueryBase : PageInput
{
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 外层问题Id
/// </summary>
public Guid QuestionId { get; set; }
}
/// <summary>
/// 获取项目临床数据
/// </summary>
public class TrialClinicalTableQuestionQuery : ClinicalTableQuestionQueryBase
{
}
/// <summary>
/// 获取系统临床数据
/// </summary>
public class SystemClinicalTableQuestionQuery : ClinicalTableQuestionQueryBase
{
}
#endregion
#region 同步临床数据
public class SynchronizationQuestionDto
{
/// <summary>
/// 系统临床数据Id
/// </summary>
public Guid SystemClinicalId { get; set; }
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
}
public class QuestionDic
{
public Guid SystemQuestionId { get; set; }
public Guid TrialQuestionId { get; set; }
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
}
#endregion
}