using IRaCIS.Core.Domain.Share; namespace IRaCIS.Core.Domain.Models; [Comment("项目 - 受试者")] [Table("Subject")] public class Subject : BaseFullDeleteAuditEntity { #region 导航属性 [JsonIgnore] public List TaskStudyList { get; set; } = new List(); [JsonIgnore] public List SubjectVisitList { get; set; } = new List(); [JsonIgnore] public List SubjectDoctorList { get; set; } = new List(); [JsonIgnore] public List SubjectVisitTaskList { get; set; } = new List(); [JsonIgnore] public List ReadModuleList { get; set; } [JsonIgnore] public List SubjectCanceDoctorList { get; set; } [JsonIgnore] public List ClinicalDataList { get; set; } [JsonIgnore] public List SubjectCriteriaEvaluationList { get; set; } [JsonIgnore] public List SubjectCriteriaEvaluationVisitFilterList { get; set; } [JsonIgnore] public List SubjectAdditionalEvaluationResult { get; set; } [JsonIgnore] public List ReadingTaskQuestionAnswerList { get; set; } [JsonIgnore] [ForeignKey("FinalSubjectVisitId")] public SubjectVisit FinalSubjectVisit { get; set; } [JsonIgnore] [ForeignKey("TrialId")] public Trial Trial { get; set; } [JsonIgnore] public TrialSite TrialSite { get; set; } [JsonIgnore] public List StudyList { get; set; } = new List(); [JsonIgnore] [ForeignKey("LatestSubjectVisitId")] public SubjectVisit LatestSubjectVisit { get; set; } [JsonIgnore] public List ClinicalFormList { get; set; } #endregion public Guid TrialId { get; set; } public Guid TrialSiteId { get; set; } public string Code { get; set; } = string.Empty; public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public int? Age { get; set; } public string Sex { get; set; } = string.Empty; public Guid? LatestSubjectVisitId { get; set; } public Guid? FinalSubjectVisitId { get; set; } public string MedicalNo { get; set; } = string.Empty; [Comment("1 访视中,2 出组 3 访视结束")] public SubjectStatus Status { get; set; } = SubjectStatus.OnVisit; public string Reason { get; set; } = string.Empty; public bool IsEnrollment { get; set; } public DateTime? OutEnrollmentTime { get; set; } public DateTime? VisitOverTime { get; set; } public string ShortName { get; set; } = String.Empty; public string Height { get; set; } = String.Empty; public string Weight { get; set; } = String.Empty; public DateTime? BirthDate { get; set; } [Comment("知情同意书签署日期")] public DateTime? SignDate { get; set; } public DateTime? FirstGiveMedicineTime { get; set; } public bool IsUrgent { get; set; } [Comment("重阅或者退回影响一致性分析")] public bool IsReReadingOrBackInfluenceAnalysis { get; set; } }