362 lines
7.5 KiB
C#
362 lines
7.5 KiB
C#
|
|
|
|
using System;
|
|
using IRaCIS.Core.Domain.Share;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using IRaCIS.Core.Domain.Share.Reading;
|
|
|
|
namespace IRaCIS.Core.Domain.Models
|
|
{
|
|
///<summary>
|
|
/// 项目阅片问题
|
|
///</summary>
|
|
[Table("ReadingQuestionTrial")]
|
|
public class ReadingQuestionTrial : Entity, IAuditAdd
|
|
{
|
|
|
|
public bool IsAdditional { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 项目标准Id
|
|
/// </summary>
|
|
public Guid ReadingQuestionCriterionTrialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 项目Id
|
|
/// </summary>
|
|
public Guid TrialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 类型
|
|
/// </summary>
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 父问题触发
|
|
/// </summary>
|
|
public string ParentTriggerValue { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 问题名称
|
|
/// </summary>
|
|
public string QuestionName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 是否是必须
|
|
/// </summary>
|
|
public IsRequired IsRequired { get; set; }
|
|
|
|
/// <summary>
|
|
/// 排序
|
|
/// </summary>
|
|
public int ShowOrder { get; set; }
|
|
|
|
/// <summary>
|
|
/// 父问题ID
|
|
/// </summary>
|
|
public Guid? ParentId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 类型值
|
|
/// </summary>
|
|
public string TypeValue { get; set; } = string.Empty;
|
|
|
|
public bool IsEnable { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否是裁判问题
|
|
/// </summary>
|
|
public bool IsJudgeQuestion { get; set; }
|
|
|
|
/// <summary>
|
|
/// 病灶类型
|
|
/// </summary>
|
|
public LesionType? LesionType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 问题类型
|
|
/// </summary>
|
|
public QuestionType? QuestionType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 全局阅片显示类型
|
|
/// </summary>
|
|
public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow;
|
|
|
|
|
|
/// <summary>
|
|
/// 转化显示类型
|
|
/// </summary>
|
|
public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All;
|
|
|
|
/// <summary>
|
|
/// 备注
|
|
/// </summary>
|
|
public string Remark { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 分组
|
|
/// </summary>
|
|
public string GroupName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 创建时间
|
|
/// </summary>
|
|
public DateTime CreateTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 系统问题ID
|
|
/// </summary>
|
|
public Guid? ReadingQuestionSystemId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 系统标准的ParentId
|
|
/// </summary>
|
|
public Guid? SystemParentId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 答案分组
|
|
/// </summary>
|
|
public string AnswerGroup { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 答案组合
|
|
/// </summary>
|
|
public string AnswerCombination { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 裁判类型
|
|
/// </summary>
|
|
public JudgeTypeEnum JudgeType { get; set; } = JudgeTypeEnum.AnswerDisaffinity;
|
|
|
|
/// <summary>
|
|
/// 创建人
|
|
/// </summary>
|
|
public Guid CreateUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 标准分页Id
|
|
/// </summary>
|
|
public Guid? ReadingCriterionPageId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 关联ID
|
|
/// </summary>
|
|
public Guid? RelevanceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 关联Value
|
|
/// </summary>
|
|
public string RelevanceValue { get; set; }=string.Empty;
|
|
|
|
/// <summary>
|
|
/// 图片数量
|
|
/// </summary>
|
|
public int ImageCount { get; set; } = 1;
|
|
|
|
/// <summary>
|
|
/// 是否显示
|
|
/// </summary>
|
|
public ShowQuestion ShowQuestion { get; set; } = ShowQuestion.Show;
|
|
|
|
/// <summary>
|
|
/// 默认值
|
|
/// </summary>
|
|
public string DefaultValue { get; set; } =string.Empty;
|
|
|
|
/// <summary>
|
|
/// 最大问题数
|
|
/// </summary>
|
|
public int? MaxQuestionCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最大答案长度
|
|
/// </summary>
|
|
public int? MaxAnswerLength { get; set; }
|
|
|
|
/// <summary>
|
|
/// 文件类型
|
|
/// </summary>
|
|
public string? FileType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否显示在Dicom阅片中
|
|
/// </summary>
|
|
public bool IsShowInDicom { get; set; } = false;
|
|
|
|
|
|
/// <summary>
|
|
/// 序号标记
|
|
/// </summary>
|
|
public string OrderMark { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 字典code
|
|
/// </summary>
|
|
public string DictionaryCode { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 问题类型
|
|
/// </summary>
|
|
public TableQuestionType? QuestionGenre { get; set; }
|
|
|
|
/// <summary>
|
|
/// 数值类型
|
|
/// </summary>
|
|
public ValueOfType? ValueType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 单位
|
|
/// </summary>
|
|
public ValueUnit? Unit { get; set; }
|
|
|
|
/// <summary>
|
|
/// 自定义单位
|
|
/// </summary>
|
|
public string CustomUnit { get; set; } = string.Empty;
|
|
|
|
|
|
/// <summary>
|
|
/// 自定义计算标记
|
|
/// </summary>
|
|
public CustomCalculateMark? CustomCalculateMark { get; set; }
|
|
|
|
/// <summary>
|
|
/// 限制编辑
|
|
/// </summary>
|
|
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
|
|
|
|
/// <summary>
|
|
/// 自定义计算标记
|
|
/// </summary>
|
|
public string CalculateQuestions { get; set; } = "[]";
|
|
|
|
/// <summary>
|
|
/// 数据来源
|
|
/// </summary>
|
|
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
|
|
|
|
/// <summary>
|
|
/// 问题英文名称
|
|
/// </summary>
|
|
public string QuestionEnName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 问题英文分组
|
|
/// </summary>
|
|
public string GroupEnName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 是否复制病灶
|
|
/// </summary>
|
|
public bool IsCopyLesions { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 分组ID
|
|
/// </summary>
|
|
public Guid? GroupId { get; set; }
|
|
|
|
[JsonIgnore]
|
|
[ForeignKey("GroupId")]
|
|
public ReadingQuestionTrial GroupInfo { get; set; }
|
|
|
|
/// <summary>
|
|
/// 分页标准
|
|
/// </summary>
|
|
[ForeignKey("ReadingCriterionPageId")]
|
|
[JsonIgnore]
|
|
public ReadingCriterionPage ReadingCriterionPage { get; set; }
|
|
[JsonIgnore]
|
|
[ForeignKey("ParentId")]
|
|
public ReadingQuestionTrial ParentReadingQuestionTrial { get; set; }
|
|
[JsonIgnore]
|
|
[ForeignKey("RelevanceId")]
|
|
public ReadingQuestionTrial RelevanceReadingQuestionTrial { get; set; }
|
|
[JsonIgnore]
|
|
[ForeignKey("ReadingQuestionCriterionTrialId")]
|
|
public ReadingQuestionCriterionTrial ReadingQuestionCriterionTrial { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public List<ReadingTableQuestionTrial> ReadingTableQuestionTrialList { get; set; }
|
|
|
|
|
|
[NotMapped]
|
|
public List<string> ParentTriggerValueList
|
|
{
|
|
get
|
|
{
|
|
try
|
|
{
|
|
return this.ParentTriggerValue.Split(',').ToList();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return new List<string>();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
[NotMapped]
|
|
public List<string> RelevanceValueList
|
|
{
|
|
get
|
|
{
|
|
try
|
|
{
|
|
return this.RelevanceValue.Split(',').ToList();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return new List<string>();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
[NotMapped]
|
|
public List<CalculateInfo> CalculateQuestionList
|
|
{
|
|
get
|
|
{
|
|
|
|
try
|
|
{
|
|
var result = JsonConvert.DeserializeObject<List<CalculateInfo>>(this.CalculateQuestions);
|
|
return result == null ? new List<CalculateInfo>() : result;
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return new List<CalculateInfo>();
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public class CalculateInfo
|
|
{
|
|
public bool IsTable { get; set; }
|
|
|
|
public Guid? QuestionId { get; set; }
|
|
|
|
public Guid? TableQuestionId { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|