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; } } } } }