irc-netcore-api/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialViewModel.cs

285 lines
8.1 KiB
C#

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 int IndicationEnum { get; set; }
//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 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 int? AttendedReviewerType { get; set; }
public Guid IndicationTypeId { get; set; }
public Guid? PhaseId { get; set; }
public List<DeclarationType> DeclarationTypeEnumList { get; set; }
public List<AttendedReviewerType> AttendedReviewerTypeEnumList { get; set; }
public string DeclarationTypes { get; set; } = string.Empty;
public string AttendedReviewerTypes { get; set; } = string.Empty;
}
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 Guid TrialId => Id;
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 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 string DeclarationType { get; set; } = string.Empty;
//public int? SubjectCount { get; set; }
//public int? StudyCount { get; set; } = 0;
//public int? SiteCount { get; set; } = 0;
public int? UserFeedBackUnDealedCount { get; set; }
}
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 List<DeclarationType> DeclarationTypeEnumList { get; set; } = new List<DeclarationType>();
public List<AttendedReviewerType> AttendedReviewerTypeEnumList { get; set; } = new List<AttendedReviewerType>();
public Guid? IndicationTypeId { get; set; }
public Guid? SponsorId { get; set; }
public Guid? CROId { get; set; }
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; }
}
public class TrialExtraConfig
{
#region QC 影像下载
//QC质控
public bool IsSupportQCDownloadImage { get; set; } = false;
#endregion
#region 中心调研
public List<string> NotShowFieldList { get; set; } = new List<string>();
public List<SiteSurveyModifyFiled> ModifyFiledList { get; set; } = new List<SiteSurveyModifyFiled>();
#endregion
#region 项目术语配置
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
#endregion
}
public class TrialPacsInfo
{
public int Port { get; set; }
public string Ip { get; set; }
public string TrialCalledAE { get; set; }
}
public class SiteSurveyModifyFiled
{
public string NeedModifyFiled { get; set; }
public string ReplaceContent { get; set; }
public string ReplaceContentCN { get; set; }
}
}