225 lines
6.6 KiB
C#
225 lines
6.6 KiB
C#
using IRaCIS.Core.Infrastructure.Extention;
|
|
using IRaCIS.Core.Domain.Share;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace IRaCIS.Application.Contracts
|
|
{
|
|
|
|
|
|
public class TrialBaseModel
|
|
{
|
|
public int? PlanSiteCount { get; set; }
|
|
public int? PlanVisitCount { get; set; }
|
|
public TrialType TrialType { get; set; }
|
|
public Guid? Id { get; set; }
|
|
public string TrialCode { get; set; } = string.Empty;
|
|
public string Indication { get; set; } = string.Empty;
|
|
|
|
//public Guid? ReviewTypeId { get; set; } = Guid.Empty;
|
|
|
|
//public Guid? CriterionId { get; set; } = Guid.Empty;
|
|
public Guid? CROId { get; set; } = Guid.Empty;
|
|
public Guid? SponsorId { get; set; } = Guid.Empty;
|
|
public Guid? ReviewModeId { get; set; } = Guid.Empty;
|
|
public string Note { get; set; } = string.Empty;
|
|
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; }
|
|
public int? Expedited { get; set; }
|
|
public int? AttendedReviewerType { get; set; }
|
|
|
|
//研究方案号
|
|
public string ResearchProgramNo { get; set; } = string.Empty;
|
|
|
|
//实验名称
|
|
public string ExperimentName { get; set; } = string.Empty;
|
|
|
|
//主研单位
|
|
public string MainResearchUnit { get; set; } = string.Empty;
|
|
|
|
// 负责人PI
|
|
public string HeadPI { get; set; } = string.Empty;
|
|
|
|
public Guid DeclarationTypeId { get; set; }
|
|
|
|
public Guid IndicationTypeId { get; set; }
|
|
public Guid? PhaseId { get; set; }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
public class QuestionTypeDto
|
|
{
|
|
public Guid DictionaryId { get; set; }
|
|
|
|
public string Value { get; set; } = string.Empty;
|
|
|
|
public string ValueCN { get; set; } = string.Empty;
|
|
|
|
public bool IsSelect { get; set; }
|
|
}
|
|
|
|
public class TrialSelectDTO
|
|
{
|
|
public Guid Id { get; set; }
|
|
|
|
public string ExperimentName { get; set; } = string.Empty;
|
|
|
|
public string TrialCode { get; set; } = string.Empty;
|
|
|
|
public string Indication { get; set; } = string.Empty;
|
|
|
|
public string ResearchProgramNo { get; set; } = string.Empty;
|
|
|
|
public string CriterionName { get; set;} = string.Empty;
|
|
|
|
|
|
}
|
|
|
|
public class TrialModalitySelectDto
|
|
{
|
|
public Guid ModalityId { get; set; }
|
|
public string Modality { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class TrialDetailDTO : TrialBaseModel
|
|
{
|
|
|
|
[JsonIgnore]
|
|
public List<DicView> DictionaryList { get; set; } = new List<DicView>();
|
|
|
|
public List<string> ModalityList => DictionaryList.Where(t => t.ParentCode == StaticData.Modality).OrderBy(t => t.ShowOrder).Select(t => t.Value).ToList();
|
|
public List<Guid> ModalityIds => DictionaryList.Where(t => t.ParentCode == StaticData.Modality).OrderBy(t => t.ShowOrder).Select(t => t.Id).ToList();
|
|
|
|
public List<string> CriterionList { get; set; }
|
|
|
|
|
|
public string Modalitys { get; set; }
|
|
|
|
|
|
//public List<Guid> CriterionIds => DictionaryList.Where(t => t.ParentCode == StaticData.ReadingStandard).OrderBy(t => t.ShowOrder).Select(t => t.Id).ToList();
|
|
|
|
public List<Guid> ReviewTypeIds => DictionaryList.Where(t => t.ParentCode == StaticData.ReviewType).OrderBy(t => t.ShowOrder).Select(t => t.Id).ToList();
|
|
|
|
public List<string> ReviewTypeList => DictionaryList.Where(t => t.ParentCode == StaticData.ReviewType).OrderBy(t => t.ShowOrder).Select(t => t.Value).ToList();
|
|
|
|
//public string ReviewType { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
//统计字段
|
|
public string Phase { get; set; } = string.Empty;
|
|
|
|
public string DeclarationType { get; set; } = string.Empty;
|
|
|
|
public string IndicationType { get; set; } = string.Empty;
|
|
|
|
|
|
public int EnrollStatus { get; set; }
|
|
|
|
|
|
|
|
public string ReviewMode { get; set; } = string.Empty;
|
|
|
|
|
|
public int ReadingType { get; set; }
|
|
|
|
|
|
public string CRO { get; set; } = string.Empty;
|
|
public string Sponsor { get; set; } = string.Empty;
|
|
public int TrialEnrollStatus { get; set; }
|
|
public string TrialStatusStr { get; set; } = string.Empty;
|
|
|
|
public DateTime? CreateTime { get; set; }
|
|
public bool IsDeleted { get; set; }
|
|
|
|
public bool IsLocked { get; set; }
|
|
//public int? SubjectCount { get; set; }
|
|
|
|
//public int? StudyCount { get; set; } = 0;
|
|
//public int? SiteCount { get; set; } = 0;
|
|
|
|
|
|
}
|
|
|
|
public class TrialAndTrialStateVieModel
|
|
{
|
|
public TrialDetailDTO TrialView { get; set; } = new TrialDetailDTO();
|
|
|
|
public int TrialMaxState { get; set; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public class TrialCommand : TrialBaseModel
|
|
{
|
|
|
|
public List<Guid> ModalityIds { get; set; } = new List<Guid>();
|
|
|
|
public List<Guid> CriterionIds { get; set; } = new List<Guid>();
|
|
|
|
public List<Guid> ReviewTypeIds { get; set; } = new List<Guid>();
|
|
|
|
}
|
|
|
|
|
|
|
|
public class TrialQueryDTO : PageInput
|
|
{
|
|
public Guid? DeclarationTypeId { get; set; }
|
|
|
|
public Guid? IndicationTypeId { get; set; }
|
|
public Guid? SponsorId { get; set; }
|
|
public Guid? CROId { get; set; }
|
|
|
|
|
|
public string HeadPI { get; set; } = String.Empty;
|
|
public string ResearchProgramNo { get; set; } = String.Empty;
|
|
|
|
public string ExperimentName { get; set; } = String.Empty;
|
|
public List<Guid> ModalityIds { get; set; }=new List<Guid>();
|
|
public List<Guid> CriterionIds { get; set; } = new List<Guid>();
|
|
|
|
public List<Guid> ReviewTypeIds { get; set; } = new List<Guid>();
|
|
//public Guid? ReviewTypeId { get; set; }
|
|
|
|
public string Code { get; set; } = String.Empty;
|
|
|
|
public string Indication { get; set; } = String.Empty;
|
|
public Guid? PhaseId { get; set; }
|
|
public string TrialStatusStr { get; set; } = String.Empty;
|
|
|
|
public DateTime? BeginDate { get; set; }
|
|
public DateTime? EndDate { get; set; }
|
|
public int? Expedited { get; set; }
|
|
public AttendedReviewerType? AttendedReviewerType { get; set; }
|
|
}
|
|
|
|
public class ReviewerTrialQueryDTO : PageInput
|
|
{
|
|
public string Code { get; set; } = string.Empty;
|
|
public string Indication { get; set; } = string.Empty;
|
|
public EnrollStatus? EnrollStatus { get; set; }
|
|
public int? Expedited { get; set; }
|
|
}
|
|
|
|
|
|
public class TrialByStatusQueryDTO : PageInput
|
|
{
|
|
public Guid DoctorId { get; set; }
|
|
public int Status { get; set; }
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |