irc-netcore-api/IRaCIS.Core.Domain/Trial/Trial.cs

401 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models
{
[Table("Trial")]
public partial class Trial : Entity, IAuditUpdate, IAuditAdd, ISoftDelete
{
public Trial()
{
ClinicalTrialProjectDetails = new HashSet<TrialStatusDetail>();
TrialDicList = new List<TrialDictionary>();
}
public List<TaskConsistentRule> TaskConsistentRuleList { get; set; }
public List<SubjectUser> SubjectDoctorUserList { get; set; } = new List<SubjectUser>();
public List<VisitTask> VisitTaskList { get; set; } = new List<VisitTask>() { };
public List<TrialSiteSurvey> TrialSiteSurveyList { get; set; } = new List<TrialSiteSurvey>();
public List<TrialDocument> TrialDocumentList { get; set; }
public List<Enroll> EnrollList { get; set; } = new List<Enroll>();
public List<Workload> WorkloadList { get; set; } = new List<Workload>();
public List<TrialUser> TrialUserList { get; set; } = new List<TrialUser>();
public List<ReadingQuestionCriterionTrial> ReadingQuestionCriterionTrialList { get; set; } = new List<ReadingQuestionCriterionTrial>();
public List<Subject> SubjectList { get; set; } = new List<Subject>();
public List<DicomStudy> StudyList { get; set; } = new List<DicomStudy>();
public List<TrialSite> TrialSiteList { get; set; } = new List<TrialSite>();
public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
[ForeignKey("DeclarationTypeId")]
public Dictionary DeclarationType { get; set; }
public Guid DeclarationTypeId { get; set; } = Guid.Empty;
public Guid IndicationTypeId { get; set; } = Guid.Empty;
public Guid? PhaseId { get; set; } = Guid.Empty;
[ForeignKey("IndicationTypeId")]
public Dictionary IndicationType { get; set; }
[ForeignKey("PhaseId")]
public Dictionary Phase { get; set; }
[ForeignKey("SponsorId")]
public Sponsor Sponsor { get; set; }
[ForeignKey("CROId")]
public CRO CRO { get; set; }
[ForeignKey("ReviewModeId")]
public Dictionary ReviewMode { get; set; }
public List<ClinicalDataTrialSet> clinicalDataTrialSets { get; set; } = new List<ClinicalDataTrialSet> { };
public virtual ICollection<TrialStatusDetail> ClinicalTrialProjectDetails { get; set; }
public virtual ICollection<TrialDictionary> TrialDicList { get; set; }
[StringLength(100)]
public string TrialCode { get; set; } = string.Empty;
public int Code { get; set; }
[StringLength(512)]
public string Indication { get; set; } = string.Empty;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>״̬
//[ConcurrencyCheck]
public int TrialEnrollStatus { get; set; }
//<2F><><EFBFBD><EFBFBD>״̬
[StringLength(500)]
public string TrialStatusStr { get; set; } = StaticData.TrialState.TrialInitializing;
public List<TrialStateChange> TrialStateChangeList { get; set; } = new List<TrialStateChange>();
public Guid? CROId { get; set; } = Guid.Empty;
public Guid? SponsorId { get; set; } = Guid.Empty;
public Guid? ReviewModeId { get; set; } = Guid.Empty;
[StringLength(500)]
public string ProjectCycle { get; set; } = string.Empty;
public int ExpectedPatients { get; set; }
public decimal TimePointsPerPatient { get; set; }
public int GRRReviewers { get; set; }
public int TotalReviewers { get; set; }
[StringLength(500)]
public string ReviewProtocol { get; set; } = string.Empty;
[StringLength(500)]
public string MessageFromClient { get; set; } = string.Empty;
public string Note { get; set; } = string.Empty;
public string ReviewProtocolName { get; set; } = string.Empty;
public string MessageFromClientName { get; set; } = string.Empty;
public int Expedited { get; set; }
public DateTime CreateTime { get; set; }
public Guid CreateUserId { get; set; }
public DateTime UpdateTime { get; set; }
public Guid UpdateUserId { get; set; }
public AttendedReviewerType AttendedReviewerType { get; set; } = AttendedReviewerType.CN;//0ȫ<30><C8AB><EFBFBD>й<EFBFBD>ҽ<EFBFBD><D2BD> 1<><31><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD> 2<><32><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><D2BD>
public bool VisitPlanConfirmed { get; set; }
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD><DFB1>ž<EFBFBD><C5BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public string SubjectCodeRule { get; set; } = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><35><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>ǰ2λΪ<CEBB><CEAA><EFBFBD>ı<EFBFBD><C4B1>ţ<EFBFBD><C5A3><EFBFBD>3λΪ˳<CEAA><CBB3><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>EDC¼<43><C2BC><EFBFBD>ı<EFBFBD><C4B1>ű<EFBFBD><C5B1><EFBFBD>һ<EFBFBD><D2BB>";
/// <summary>
/// <20>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD><DFB1>Ź<EFBFBD><C5B9><EFBFBD>
/// </summary>
public bool IsNoticeSubjectCodeRule { get; set; } = true;
/// <summary>
/// <20>Ƿ<EFBFBD> <20>л<EFBFBD>׼ʱ<D7BC><EFBFBD>״θ<D7B4>ҩʱ<D2A9>
/// </summary>
public bool IsHaveFirstGiveMedicineDate { get; set; } = true;
/// <summary>
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public bool IsHaveSubjectAge { get; set; } = false;
/// <summary>
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>
/// </summary>
public bool IsEnrollementQualificationConfirm { get; set; } = false;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public string OutEnrollmentVisitName { get; set; } = "EOT";
/// <summary>
/// <20>Ƿ<EFBFBD> <20><>֤<EFBFBD><D6A4>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD>
/// </summary>
public bool IsVerifyVisitImageDate { get; set; } = true;
/// <summary>
/// <20>ٴ<EFBFBD><D9B4><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> 1<><31>ϵͳ¼<CDB3><C2BC> 2<><32>ϵͳ¼<CDB3><C2BC>+PDF 0<><30><EFBFBD><EFBFBD>
/// </summary>
public int ClinicalInformationTransmissionEnum { get; set; } = 1;
/// <summary>
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> <20>ٴ<EFBFBD><D9B4><EFBFBD>Ϣ
/// </summary>
public bool IsCRAAuditClinicalInformation { get; set; } = false;
/// <summary>
/// QC<51><43><EFBFBD><EFBFBD> 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><32><CBAB>
/// </summary>
public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.DoubleAudit;
/// <summary>
/// Ӱ<><D3B0>һ<EFBFBD><D2BB><EFBFBD>Ժ˲<D4BA>
/// </summary>
public bool IsImageConsistencyVerification { get; set; } = true;
/// <summary>
/// Ӱ<>񵼳<EFBFBD>
/// </summary>
public bool IsImageExport { get; set; } = false;
public bool IsSubjectSecondCodeView { get; set; }
/// <summary>
/// 1 Mint<6E><74>2 PACS
/// </summary>
public int ImagePlatform { get; set; } = 1;
//<2F><>Ƭ<EFBFBD><C6AC>ʽ
public int ReadingMode { get; set; } = 1;
//<2F><>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD>
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
public bool IsGlobalReading { get; set; } = true;
/// <summary>
/// <20>ٲ<EFBFBD><D9B2><EFBFBD>Ƭ
/// </summary>
public bool? IsArbitrationReading { get; set; } = true;
public bool IsClinicalReading { get; set; }
/// <summary>
/// <20>ٲù<D9B2><C3B9><EFBFBD>
/// </summary>
public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.None;
public int ChangeDefalutDays { get; set; } = 5;
/// <summary>
/// <20><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
/// </summary>
public bool IsImageReplicationAcrossTrial { get; set; } = false;
public string BodyPartTypes { get; set; } = "<22><><EFBFBD>ʲ<EFBFBD>|<7C>Բ<EFBFBD>|<7C><><EFBFBD><EFBFBD>|<7C>ز<EFBFBD>|<7C><>/<2F>¸<EFBFBD><C2B8><EFBFBD>|<7C><>ǻ|ȫ<><C8AB>|<7C><><EFBFBD><EFBFBD>";
public string Modalitys { get; set; } = "CT|MR|BoneScan|Photograph|PET|X-ray|US";
public string PreliminaryAuditReuploadText { get; set; } = string.Empty;
public string ReviewAuditReuploadText { get; set; } = string.Empty;
//PD <20><>չ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD> <20>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ PD<50><44>չ (<28>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬)
public bool IsPDProgressView { get; set; }
//<2F>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public string ResearchProgramNo { get; set; }
//ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public string ExperimentName { get; set; }
//<2F><><EFBFBD>е<EFBFBD>λ
public string MainResearchUnit { get; set; }
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PI
public string HeadPI { get; set; }
public bool IsUrgent { get; set; }
/// <summary>
/// <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> 1 <20><>ʽ<EFBFBD><CABD>Ŀ<EFBFBD><C4BF>0 <20><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ŀ 2<><32><EFBFBD><EFBFBD>ѵ<EFBFBD><D1B5>Ŀ
/// </summary>time
public TrialType TrialType { get; set; }
//public string TempCode { get; set; }
public int PlanSiteCount { get; set; }
public int PlanVisitCount { get; set; }
public DateTime? TrialFinishedTime { get; set; }
public bool IsSubjectSexView { get; set; } = false;
//<2F><><EFBFBD><EFBFBD>Suject Editҳ<74><D2B3> <20>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ <20>Ӽ<EFBFBD>
public bool IsSubjectExpeditedView { get; set; } = false;
public bool IsTrialStart { get; set; } = false;
public bool IsDeleted { get; set; }
//QC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public User QCQuestionConfirmedUser { get; set; }
public Guid? QCQuestionConfirmedUserId { get; set; }
public DateTime? QCQuestionConfirmedTime { get; set; }
/// <summary>
/// <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
/// </summary>
public DateTime? TrialFinishTime { get; set; }
public int? DigitPlaces { get; set; } = 2;
public bool IsTrialProcessConfirmed { get; set; }
public bool IsTrialBasicLogicConfirmed { get; set; }
public bool IsTrialUrgentConfirmed { get; set; }
public bool IsQCQuestionConfirmed { get; set; }
public DateTime? DeletedTime { get; set; }
public Guid? DeleteUserId { get; set; }
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public TaskAllocateObj TaskAllocateObjEnum { get; set; }
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
public bool IsFollowVisitAutoAssign { get; set; } = true;
//<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>״̬
public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>״̬
public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//<2F><>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
//<2F><>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ƿ<EFBFBD>˳<EFBFBD><CBB3>
public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <summary>
/// <20><>Ƭ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// <20><>Ƭ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// ͬ<><CDAC><EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
/// </summary>
public DateTime? SyncClinicalDataTime { get; set; }
/// <summary>
/// <20><>ȷ<EFBFBD><C8B7>ҽѧ<D2BD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public bool IsConfirmMedicineQuestion { get; set; } = false;
/// <summary>
/// ͼ<><CDBC><EFBFBD>Ƿ<EFBFBD><C7B7>б<EFBFBD>ע
/// </summary>
public bool IsImageIabeled { get; set; }
/// <summary>
/// <20><>Ƭ<EFBFBD><C6AC>Ϣǩ<CFA2><C7A9>ʱ<EFBFBD><CAB1>
/// </summary>
public DateTime? ReadingInfoSignTime { get; set; }
//public Guid? ReviewTypeId { get; set; } = Guid.Empty;
//[ForeignKey("ReviewTypeId")]
//public Dictionary ReviewType { get; set; }
//public Guid? QCSecondConfirmedUserId { get; set; }
//public DateTime? QCSecondConfirmedTime { get; set; }
//public int QCQuestionConfirmState { get; set; }
}
}