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

177 lines
4.5 KiB
C#

using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models
{
public class ReadModuleView : Entity
{
/// <summary>
/// Id(阅片期Id 或者 访视ID)
/// </summary>
public new Guid Id { get; set; }
/// <summary>
/// 项目ID
/// </summary>
public Guid? TrialId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string? Name { get; set; }
/// <summary>
/// 受试者ID
/// </summary>
public Guid? SubjectId { get; set; }
/// <summary>
/// 模块类型
/// </summary>
public ModuleTypeEnum ModuleType { get; set; }
/// <summary>
/// 是否加急
/// </summary>
public bool? IsUrgent { get; set; }
/// <summary>
/// 是否可改截止访视
/// </summary>
public bool? IsCanChangeCutOffVisit { get; set; }
/// <summary>
/// 访视ID
/// </summary>
public Guid? SubjectVisitId { get; set; }
/// <summary>
/// 访视名称
/// </summary>
public string? SubjectVisitName { get; set; }
/// <summary>
/// 截止访视
/// </summary>
public Guid? CutOffVisitId { get; set; }
/// <summary>
/// 截止访视名称
/// </summary>
public string? CutOffVisitName { get; set; }
/// <summary>
/// 对应阅片期
/// </summary>
public Guid? ReadModuleId { get; set; }
/// <summary>
/// 对应Name
/// </summary>
public string? ReadModuleName { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 受试者Code
/// </summary>
public string? SubjectCode { get; set; }
/// <summary>
/// 项目中心Id
/// </summary>
public string? TrialSiteCode { get; set; }
/// <summary>
/// 是否为末次访视
/// </summary>
public bool? IsFinalVisit { get; set; } = false;
/// <summary>
/// 上一访视
/// </summary>
public Guid? OutPlanPreviousVisitId { get; set; }
/// <summary>
/// 上一访视名称
/// </summary>
public string? OutPlanPreviousVisitName { get; set; }
/// <summary>
/// 中心ID
/// </summary>
public Guid? TrialSiteId { get; set; }
/// <summary>
/// 是否为访视
/// </summary>
public bool? IsVisit { get; set; }
/// <summary>
/// 访视Num
/// </summary>
public decimal? VisitNum { get; set; }
/// <summary>
/// 是否为PD进展
/// </summary>
public PDStateEnum? PDState { get; set; } = PDStateEnum.None;
/// <summary>
/// 入组确认评估
/// </summary>
public bool? IsEnrollmentConfirm { get; set; } = false;
/// <summary>
/// 阅片状态
/// </summary>
public ReadingStatusEnum ReadingStatus { get; set; }
/// <summary>
/// 是否是基线
/// </summary>
public bool? IsBaseLine { get; set; } = false;
/// <summary>
/// 标准Id
/// </summary>
public Guid? TrialReadingCriterionId { get; set; }
/// <summary>
/// 标准名称
/// </summary>
public string? CriterionName { get; set; }
/// <summary>
/// 阅片配置的类型
/// </summary>
public ReadingSetType? ReadingSetType { get; set; }
/// <summary>
/// 需要签名的临床数据数量
/// </summary>
public int NeedSignClinicalDataCount { get; set; }
/// <summary>
/// 已经签名的临床数据数量
/// </summary>
public int SignClinicalDataCount { get; set; }
public CompleteClinicalDataEnum CompleteClinicalData
{
get
{
if (NeedSignClinicalDataCount == 0)
{
return CompleteClinicalDataEnum.NA;
}
else if (NeedSignClinicalDataCount == SignClinicalDataCount)
{
return CompleteClinicalDataEnum.Complete;
}
else
{
return CompleteClinicalDataEnum.NotComplete;
}
}
}
}
}