306 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			306 lines
		
	
	
		
			8.7 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 List<TrialObjectNameConfig> TrialObjectNameList { get; set; } = new List<TrialObjectNameConfig>();
 | |
|     }
 | |
| 
 | |
|     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 UpdateTrialStudyNameListInDto
 | |
|     {
 | |
|         public Guid TrialId { get; set; }
 | |
| 
 | |
|         public List<StudyName> StudyNameList { get; set; } = new List<StudyName>();
 | |
|     }
 | |
|     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
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 打开失访可读
 | |
|         /// </summary>
 | |
|         public bool IsOpenLostVistRead { get; set; } = false;
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public class TrialConfigInfo: TrialExtraConfig
 | |
|     {
 | |
|         #region  视图模型返回 项目术语配置 ,实际数据库没有配置
 | |
|         public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
 | |
|         public CollectImagesType CollectImagesEnum { get; set; }
 | |
| 
 | |
|         public bool IsIQCAutoNextTask { 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; }
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| } |