using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using IRaCIS.Core.Domain.Share; namespace IRaCIS.Core.Domain.Models { /// /// 受试者 /// [Table("Subject")] public class Subject : Entity, IAuditAdd, IAuditUpdate, ISoftDelete { public List SubjectVisitList { get; set; } = new List(); public List SubjectDoctorList { get; set; } = new List(); public List SubjectVisitTaskList { get; set; } = new List(); [ForeignKey("FinalSubjectVisitId")] public SubjectVisit FinalSubjectVisit { get; set; } public Guid? FinalSubjectVisitId { get; set; } //需要配置是两个键连接 public TrialSite TrialSite { get; set; } [ForeignKey("TrialId")] public Trial Trial { get; set; } [ForeignKey("SiteId")] public Site Site { get; set; } public List StudyList { get; set; } = new List(); public string Code { get; set; } 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 SiteId { get; set; } = Guid.Empty; [ForeignKey("LatestSubjectVisitId")] public SubjectVisit LatestSubjectVisit { get; set; } public Guid? LatestSubjectVisitId { get; set; } //public bool IsMissingImages { get; set; } = false; public Guid TrialId { get; set; } = Guid.Empty; public string MedicalNo { get; set; } = string.Empty; public SubjectStatus Status { get; set; } = SubjectStatus.OnVisit;//1 访视中,2 出组 3 访视结束 public string Reason { get; set; } = string.Empty; public bool IsEnrollment { get; set; } public DateTime? OutEnrollmentTime { get; set; } public DateTime? VisitOverTime { get; set; } public DateTime CreateTime { get; set; } public Guid CreateUserId { get; set; } public DateTime UpdateTime { get; set; } public Guid UpdateUserId { 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; } public DateTime? SignDate { get; set; } public int StudyCount { get; set; } = 0; public string Modalities { get; set; } = string.Empty; public DateTime? FirstGiveMedicineTime { get; set; } public bool IsUrgent { get; set; } public List ReadModuleList { get; set; } public bool IsDeleted { get; set; } public DateTime? DeletedTime { get; set; } public Guid? DeleteUserId { get; set; } public bool IsReReadingOrBackInfluenceAnalysis { get; set; } //是否分配了读片医生 //public bool IsAssignDoctorUser{get;set;} } }