using IRaCIS.Core.Domain.Share;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
#region 获取计算问题
public class GetTrialClinicalQuestionCalculateRelationInDto
{
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
}
public class GetTrialClinicalQuestionCalculateRelationOutDto
{
public Guid QuestionId { get; set; }
///
/// 问题名称
///
public string QuestionName { get; set; }
///
/// 自定义计算标记
///
public ClinicalCalculateMark? 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 GetClinicalCalculateQuestionsOutDto
{
public Guid QuestionId { get; set; }
public string QuestionName { get; set; }
public List TableQuestions { get; set; }
}
public class GetClinicalCalculateQuestionsInDto
{
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
///
/// 临床问题类型(分组,单选。)
///
public string ClinicalQuestionType { get; set; } = string.Empty;
}
#endregion
#region 预览
public class GetSystemClinicalQuestionPreviewDto
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
}
public class GetTrialClinicalQuestionPreviewDto
{
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
}
///
/// 项目预览问题Dto
///
public class ClinicalQuestionPreviewDto : TrialClinicalQuestionDto
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
public string Answer { get; set; } = string.Empty;
///
/// 子问题
///
public List Childrens { get; set; } = new List();
///
/// 关联问题
///
public List RelationQuestions { get; set; } = new List();
///
/// 表格问题
///
public List TableQuestions { get; set; } = new List();
public List> TableAnswer { get; set; }
}
///
/// 项目临床数据问题
///
public class ClinicalTablePreviewDto : TrialClinicalTableQuestionDto
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
}
#endregion
#region 外层问题
///
/// 临床问题基本信息
///
public class ClinicalQuestionBase
{
///
/// Id
///
public Guid? Id { get; set; }
///
/// 问题名称
///
public string QuestionName { get; set; } = string.Empty;
///
/// 问题英文名称
///
public string QuestionEnName { get; set; } = string.Empty;
///
/// 临床问题类型(分组,单选。)
///
public string ClinicalQuestionType { get; set; }
///
/// 问题标识
///
public ClinicalQuestionMark? ClinicalQuestionMarkEnum { get; set; }
///
/// 最大长度
///
public int? MaxAnswerLength { get; set; }
///
/// 最大行数
///
public int? MaxQuestionCount { get; set; }
///
/// 临床数据选项类型(无,自定义)
///
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
///
/// 分组Id
///
public Guid? GroupId { get; set; }
///
/// 自定义选项
///
public string TypeValue { get; set; } = string.Empty;
///
/// 字典Code
///
public string DictionaryCode { get; set; } = string.Empty;
///
/// 排序
///
public int ShowOrder { get; set; } = 0;
///
/// 是否必填
///
public IsRequired IsRequired { get; set; }
///
/// 关联Value
///
public string RelevanceValue { get; set; } = string.Empty;
///
/// 关联ID
///
public Guid? RelevanceId { get; set; }
///
/// 父问题Id
///
public Guid? ParentId { get; set; }
///
/// 父问题触发值
///
public string ParentTriggerValue { get; set; } = string.Empty;
///
/// 显示类型
///
public ClinicalQuestionShow ClinicalQuestionShowEnum { get; set; } = ClinicalQuestionShow.Show;
///
/// 是否是检查日期
///
public bool IsCheckDate { get; set; }
///
/// 小数点位数
///
public int? DigitPlaces { get; set; }
///
/// 单位
///
public string Unit { get; set; } = string.Empty;
///
/// 自定义计算标记
///
public ClinicalCalculateMark? CustomCalculateMark { get; set; }
///
/// 自定义计算问题
///
public string CalculateQuestions { get; set; } = "[]";
[NotMapped]
public List CalculateQuestionList
{
get
{
try
{
var result = JsonConvert.DeserializeObject>(this.CalculateQuestions);
return result == null ? new List() : result;
}
catch (Exception)
{
return new List();
}
}
}
}
///
/// 查询临床数据基类
///
public class ClinicalQuestionQueryBase : PageInput
{
///
/// 问题名称
///
public string QuestionName { get; set; } = string.Empty;
}
///
/// 获取项目临床数据
///
public class TrialClinicalQuestionQuery : ClinicalQuestionQueryBase
{
public Guid TrialClinicalId { get; set; }
}
///
/// 获取项目分组
///
public class GetTrialGroupDto
{
public Guid TrialClinicalId { get; set; }
}
///
/// 项目临床数据问题
///
public class TrialClinicalQuestionDto : ClinicalQuestionBase
{
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
}
///
/// 获取系统临床数据
///
public class SystemClinicalQuestionQuery : ClinicalQuestionQueryBase
{
public Guid SystemClinicalId { get; set; }
}
///
/// 系统临床数据问题
///
public class SystemClinicalQuestionDto : ClinicalQuestionBase
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
}
///
/// 获取系统分组
///
public class GetSystemGroupDto
{
public Guid SystemClinicalId { get; set; }
}
#endregion
#region 表格问题
public class ClinicalTableQuestionBase
{
public Guid? Id { get; set; }
///
/// 问题名称
///
public string QuestionName { get; set; } = string.Empty;
///
/// 问题英文名称
///
public string QuestionEnName { get; set; } = string.Empty;
///
/// 临床问题类型(分组,单选。)
///
public string ClinicalTableQuestionType { get; set; }
///
/// 问题标识
///
public ClinicalTableQuestionMark? ClinicalTableQuestionMarkEnum { get; set; }
///
/// 最大长度
///
public int? MaxAnswerLength { get; set; }
///
/// 临床数据选项类型(无,自定义)
///
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
///
/// 自定义选项
///
public string TypeValue { get; set; }
///
/// 字典Code
///
public string DictionaryCode { get; set; } = string.Empty;
///
/// 排序
///
public int ShowOrder { get; set; }
///
/// 是否必填
///
public IsRequired IsRequired { get; set; }
///
/// 创建时间
///
public DateTime CreateTime { get; set; }
///
/// 创建人
///
public Guid CreateUserId { get; set; }
///
/// 外层问题Id
///
public Guid QuestionId { get; set; }
///
/// 小数点位数
///
public int? DigitPlaces { get; set; }
///
/// 单位
///
public string Unit { get; set; } = string.Empty;
}
///
/// 项目临床数据问题
///
public class TrialClinicalTableQuestionDto : ClinicalTableQuestionBase
{
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
///
/// 自定义计算标记
///
public ClinicalCalculateMark? ClinicalCalculateMarkEnum { get; set; }
///
/// 自定义计算问题
///
public string CalculateQuestions { get; set; } = "[]";
}
///
/// 系统临床数据问题
///
public class SystemClinicalTableQuestionDto : ClinicalTableQuestionBase
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
}
///
/// 查询临床数据基类
///
public class ClinicalTableQuestionQueryBase : PageInput
{
///
/// 问题名称
///
public string QuestionName { get; set; } = string.Empty;
///
/// 外层问题Id
///
public Guid QuestionId { get; set; }
}
///
/// 获取项目临床数据
///
public class TrialClinicalTableQuestionQuery : ClinicalTableQuestionQueryBase
{
}
///
/// 获取系统临床数据
///
public class SystemClinicalTableQuestionQuery : ClinicalTableQuestionQueryBase
{
}
#endregion
#region 同步临床数据
public class TrialClinicalTableQuestionSynchronize : TrialClinicalTableQuestion
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
}
public class TrialClinicalQuestionSynchronize : TrialClinicalQuestion
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
}
public class SynchronizationQuestionDto
{
///
/// 系统临床数据Id
///
public Guid SystemClinicalId { get; set; }
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
}
public class QuestionDic
{
public Guid SystemQuestionId { get; set; }
public Guid TrialQuestionId { get; set; }
///
/// 项目临床数据Id
///
public Guid TrialClinicalId { get; set; }
}
#endregion
}