using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models; [Comment("受试者 - 阅片模块")] [Table("ReadModule")] public class ReadModule : BaseFullDeleteAuditEntity { #region 导航属性 [JsonIgnore] /// /// 受试者 /// [ForeignKey("SubjectId")] public Subject Subject { get; set; } [JsonIgnore] /// /// 阅片期配置 /// [ForeignKey("ReadingPeriodSetId")] public ReadingPeriodSet ReadingPeriodSet { get; set; } [JsonIgnore] /// /// 访视 /// [ForeignKey("SubjectVisitId")] public SubjectVisit SubjectVisit { get; set; } [JsonIgnore] [ForeignKey("TrialId")] public Trial Trial { get; set; } [JsonIgnore] public List ReadModuleCriterionFromList { get; set; } = new List(); [JsonIgnore] public List ModuleTaskList { get; set; } [JsonIgnore] public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } [JsonIgnore] public List ReadingClinicalDataList { get; set; } #endregion public bool? IsClinicalDataBlind { get; set; } [Comment("临床数据是否完整")] public bool? IsClinicalDataComplete { get; set; } [Comment("CRC是否正在申请撤回")] public bool IsCRCApplicationRevoke { get; set; } public bool IsCRCConfirm { get; set; } public bool IsNotNeedPMConfirm { get; set; } public bool IsPMConfirm { get; set; } [Comment(" 是否加急")] public bool? IsUrgent { get; set; } public Guid? LastVisitIdSetId { get; set; } [Comment(" 模块名称")] public string ModuleName { get; set; } = null!; [Comment(" 模块类型")] public ModuleTypeEnum ModuleType { get; set; } public Guid? ReadingPeriodSetId { get; set; } public ReadingSetType ReadingSetType { get; set; } public ReadingStatusEnum ReadingStatus { get; set; } = ReadingStatusEnum.TaskAllocate; public Guid? ReadModuleId { get; set; } [Comment(" 状态")] public int Status { get; set; } [Comment(" 受试者ID")] public Guid SubjectId { get; set; } [Comment(" 访视ID")] public Guid SubjectVisitId { get; set; } public Guid TrialId { get; set; } public Guid TrialReadingCriterionId { get; set; } }