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