1142 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			1142 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			C#
		
	
	
| using IRaCIS.Core.Application.Service.Reading.Dto;
 | ||
| using IRaCIS.Core.Domain.Share;
 | ||
| using IRaCIS.Core.Domain.Share.Reading;
 | ||
| using Newtonsoft.Json;
 | ||
| using System.ComponentModel.DataAnnotations;
 | ||
| using System.ComponentModel.DataAnnotations.Schema;
 | ||
| 
 | ||
| namespace IRaCIS.Core.Application.Contracts
 | ||
| {
 | ||
| 
 | ||
|     public class BasicTrialConfig
 | ||
|     {
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 受试者编号具体规则
 | ||
|         /// </summary>
 | ||
|         public string SubjectCodeRule { get; set; } = string.Empty;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         public bool IsSubjectSecondCodeView { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否 验证拍片日期  
 | ||
|         /// </summary>
 | ||
|         public bool IsVerifyVisitImageDate { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  是否 提醒受试者编号规则  
 | ||
|         /// </summary>
 | ||
|         public bool IsNoticeSubjectCodeRule { get; set; } = true;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否 有基准时间(首次给药时间)
 | ||
|         /// </summary>
 | ||
|         public bool IsHaveFirstGiveMedicineDate { get; set; } = true;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否有  受试者年龄
 | ||
|         /// </summary>
 | ||
|         public bool IsHaveSubjectAge { get; set; } = false;
 | ||
| 
 | ||
|         public bool IsTrialBasicLogicConfirmed { get; set; } = false;
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 出组后计划外访视名称
 | ||
|         /// </summary>
 | ||
|         public string OutEnrollmentVisitName { get; set; } = "EOT";
 | ||
| 
 | ||
|         public bool IsSubjectSexView { get; set; } = false;
 | ||
| 
 | ||
| 
 | ||
|         public int ChangeDefalutDays { get; set; } = 5;
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 跨项目复制
 | ||
|         /// </summary>
 | ||
|         public bool IsImageReplicationAcrossTrial { get; set; } = false;
 | ||
| 
 | ||
|         [MaxLength]
 | ||
|         public string BodyPartTypes { get; set; } = string.Empty;
 | ||
| 
 | ||
| 
 | ||
|         public string Modalitys { get; set; } = string.Empty;
 | ||
| 
 | ||
|         public List<string> ModalityList { get; set; } = new List<string>();
 | ||
| 
 | ||
| 
 | ||
|         public List<TrialObjectNameConfig> TrialObjectNameList { get; set; } 
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class ConfigTrialProcessInfoVerificationInDto
 | ||
|     {
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
|         public List<Guid> ClinicalDataTrialSetIds { get; set; } = new List<Guid>();
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class TrialProcessConfig
 | ||
|     {
 | ||
| 
 | ||
|         public List<Guid> CriterionIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
|         public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
| 
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 临床信息传输 1:系统录入2:系统录入+PDF 0:无
 | ||
|         /// </summary>
 | ||
|         public int ClinicalInformationTransmissionEnum { get; set; } = 1;
 | ||
| 
 | ||
| 
 | ||
|         public List<Guid> ClinicalDataTrialSetIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// QC流程  0 不审,1 单审,2双审  
 | ||
|         /// </summary>
 | ||
|         public TrialQCProcess QCProcessEnum { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 影像一致性核查
 | ||
|         /// </summary>
 | ||
|         public bool IsImageConsistencyVerification { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 流程是否确认
 | ||
|         /// </summary>
 | ||
|         public bool IsTrialProcessConfirmed { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 1 Mint、2 PACS  
 | ||
|         /// </summary>
 | ||
| 
 | ||
|         public int ImagePlatform { get; set; } = 1;
 | ||
| 
 | ||
|         //阅片方式
 | ||
|         public int ReadingMode { get; set; }
 | ||
| 
 | ||
|         ////阅片类型 
 | ||
|         //public int ReadingType { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         //public bool IsGlobalReading { get; set; } = true;
 | ||
| 
 | ||
|         public bool? IsArbitrationReading { get; set; }
 | ||
| 
 | ||
|         public bool? IsClinicalReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         public int? DigitPlaces { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 仲裁规则
 | ||
|         /// </summary>
 | ||
|         public ArbitrationRule ArbitrationRule { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片是否显示受试者信息
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowSubjectInfo { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片是否显示既往结果
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowPreviousResults { get; set; }
 | ||
| 
 | ||
|         public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class TrialTaskConfig
 | ||
|     {
 | ||
|         public Guid TrialId { get; set; }
 | ||
|         public TaskAllocateObj TaskAllocateObjEnum { get; set; }
 | ||
| 
 | ||
|         public bool IsFollowVisitAutoAssign { get; set; } = true;
 | ||
| 
 | ||
|         public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
 | ||
| 
 | ||
|         public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
 | ||
| 
 | ||
| 
 | ||
|         public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
 | ||
| 
 | ||
|         public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
 | ||
| 
 | ||
| 
 | ||
|         public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialBasicConfigView : TrialTaskConfigView
 | ||
|     {
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 流程是否确认
 | ||
|         /// </summary>
 | ||
|         public bool IsTrialProcessConfirmed { get; set; } = false;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         //阅片方式
 | ||
|         public int ReadingMode { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         //public bool IsGlobalReading { get; set; } = true;
 | ||
| 
 | ||
|         public bool? IsArbitrationReading { get; set; }
 | ||
| 
 | ||
|         public bool? IsClinicalReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public ArbitrationRule ArbitrationRule { get; set; }
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class TrialProcessConfigDTO
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// QC流程  0 不审,1 单审,2双审  
 | ||
|         /// </summary>
 | ||
|         public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.DoubleAudit;
 | ||
| 
 | ||
|         public bool IsImageConsistencyVerification { get; set; } = true;
 | ||
| 
 | ||
|         public bool IsPACSConnect { get; set; }
 | ||
| 
 | ||
|         public bool IsTrialPACSConfirmed { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialTaskConfigView : TrialTaskConfig
 | ||
|     {
 | ||
|         public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
 | ||
| 
 | ||
|         public ReadingOrder IsReadingTaskViewInOrder { get; set; }
 | ||
| 
 | ||
|         //public ReadingMethod ReadingType { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片是否显示受试者信息
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowSubjectInfo { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片是否显示既往结果
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowPreviousResults { get; set; }
 | ||
| 
 | ||
|         public ReadingTool ReadingTool { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// QC流程  0 不审,1 单审,2双审  
 | ||
|         /// </summary>
 | ||
|         public TrialQCProcess QCProcessEnum { get; set; } = TrialQCProcess.DoubleAudit;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 影像一致性核查
 | ||
|         /// </summary>
 | ||
|         public bool IsImageConsistencyVerification { get; set; } = true;
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialReadingTaskViewConfig
 | ||
|     {
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
 | ||
| 
 | ||
|         public ReadingOrder IsReadingTaskViewInOrder { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片是否显示受试者信息
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowSubjectInfo { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片是否显示既往结果
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowPreviousResults { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialJudgeTaskConfig
 | ||
|     {
 | ||
| 
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         public bool IsFollowJudgeTaskAutoAssign { get; set; }
 | ||
| 
 | ||
|         public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialUrgentConfig
 | ||
|     {
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         public bool IsSubjectExpeditedView { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否有 入组评估确认
 | ||
|         /// </summary>
 | ||
|         public bool IsEnrollementQualificationConfirm { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 流程配置是否确认
 | ||
|         /// </summary>
 | ||
|         public bool IsTrialUrgentConfirmed { get; set; } = false;
 | ||
| 
 | ||
|         public bool IsUrgent { get; set; }
 | ||
| 
 | ||
|         public bool IsPDProgressView { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialPACSConfig
 | ||
|     {
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         public bool IsPACSConnect { get; set; }
 | ||
| 
 | ||
|         public bool IsTrialPACSConfirmed { get; set; } = true;
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialStateChangeDTO
 | ||
|     {
 | ||
|         public Guid Id { get; set; }
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public string OriginState { get; set; } = String.Empty;
 | ||
| 
 | ||
| 
 | ||
|         public string NowState { get; set; } = String.Empty;
 | ||
| 
 | ||
| 
 | ||
|         public string Reason { get; set; } = String.Empty;
 | ||
| 
 | ||
| 
 | ||
|         public DateTime CreateTime { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public Guid CreateUserId { get; set; }
 | ||
| 
 | ||
|         public string UserName { get; set; } = String.Empty;
 | ||
| 
 | ||
|         public string UserRealName { get; set; } = String.Empty;
 | ||
| 
 | ||
|         public string SignCode { get; set; } = string.Empty;
 | ||
|     }
 | ||
| 
 | ||
|     public class GetTrialReadingInfoOutDto
 | ||
|     {
 | ||
|         public string TrialModalitys { get; set; }
 | ||
| 
 | ||
|         public bool IsImageFilter { get; set; }
 | ||
| 
 | ||
|         public string TrialReadingCriterionName { get; set; }
 | ||
|         /// <summary>
 | ||
|         /// 项目ID
 | ||
|         /// </summary>
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public CriterionType CriterionType { get; set; }
 | ||
|         /// <summary>
 | ||
| 		/// 是否有阅片期
 | ||
| 		/// </summary>
 | ||
| 		public bool IsReadingPeriod { get; set; } = true;
 | ||
| 
 | ||
|         public bool IsSystemCriterion
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return this.ReadingQuestionCriterionSystemId != null;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否加急
 | ||
|         /// </summary>
 | ||
|         public bool IsUrgent { get; set; } = false;
 | ||
| 
 | ||
|         public bool IsSystemSetOncology { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片平台
 | ||
|         /// </summary>
 | ||
|         public int ImagePlatform { get; set; } = 1;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 修约小数点
 | ||
|         /// </summary>
 | ||
|         public int? DigitPlaces { get; set; } = 2;
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 系统标准ID
 | ||
|         /// </summary>
 | ||
|         public Guid? ReadingQuestionCriterionSystemId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片模式
 | ||
|         /// </summary>
 | ||
|         public ReadingMethod ReadingType { get; set; }
 | ||
| 
 | ||
|         public string GlobalUpdateType { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 任务组织级别
 | ||
|         /// </summary>
 | ||
|         public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 影像是否有标注
 | ||
|         /// </summary>
 | ||
|         public bool IsImageIabeled { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// IR阅片是否显示受试者信息
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowSubjectInfo { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// IR阅片是否显示既往结果
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowPreviousResults { get; set; }
 | ||
| 
 | ||
|         //读片任务显示是否顺序
 | ||
|         public ReadingOrder IsReadingTaskViewInOrder { get; set; }
 | ||
| 
 | ||
|         public List<Guid> GlobalAssessTypeIds { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 全局阅片
 | ||
|         /// </summary>
 | ||
|         public bool IsGlobalReading { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片工具
 | ||
|         /// </summary>
 | ||
|         public ReadingTool? ReadingTool { get; set; } = IRaCIS.Core.Domain.Share.ReadingTool.Dicom;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 仲裁规则/对象
 | ||
|         /// </summary>
 | ||
|         public ArbitrationRule ArbitrationRule { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片信息签名时间
 | ||
|         /// </summary>
 | ||
|         public DateTime? ReadingInfoSignTime { get; set; }
 | ||
| 
 | ||
|         public bool IsSign
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return this.ReadingInfoSignTime != null;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  eCRF报告是否显示在图像页面
 | ||
|         /// </summary>
 | ||
|         public bool IseCRFShowInDicomReading { get; set; } = false;
 | ||
| 
 | ||
|         public bool IsClinicalReading { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 仲裁阅片
 | ||
|         /// </summary>
 | ||
|         public bool? IsArbitrationReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否必须全局阅片
 | ||
|         /// </summary>
 | ||
|         public bool IsMustGlobalReading { get; set; } = false;
 | ||
| 
 | ||
| 
 | ||
|         ///// <summary>
 | ||
|         ///// 阅片模式
 | ||
|         ///// </summary>
 | ||
|         //public ReadingMethod ReadingType { get; set; } 
 | ||
| 
 | ||
|         ///// <summary>
 | ||
|         ///// 全局阅片
 | ||
|         ///// </summary>
 | ||
|         //public bool IsGlobalReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 肿瘤学阅片  原字段 IsClinicalReading
 | ||
|         /// </summary>
 | ||
|         public bool IsOncologyReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         //是否附加评估
 | ||
|         public bool IsAdditionalAssessment { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         //自动  手动生成任务
 | ||
|         public bool IsAutoCreate { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public List<TrialCriterionAdditionalAssessmentType> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<TrialCriterionAdditionalAssessmentType>();
 | ||
| 
 | ||
|         public string CriterionModalitys { get; set; }
 | ||
| 
 | ||
|         public ReadingImageDownload ImageDownloadEnum { get; set; }
 | ||
| 
 | ||
|         public ReadingImageUpload? ImageUploadEnum { get; set; }
 | ||
| 
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class ReadingCriterionPageDto
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// pageId
 | ||
|         /// </summary>
 | ||
|         public Guid Id { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// 项目ID
 | ||
| 		/// </summary>
 | ||
| 		public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 分页名称
 | ||
|         /// </summary>
 | ||
|         public string PageName { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否启用
 | ||
|         /// </summary>
 | ||
|         public bool IsEnable { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// 是否公共分页
 | ||
| 		/// </summary>
 | ||
| 		public bool IsPublicPage { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public int ShowOrder { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 创建时间
 | ||
|         /// </summary>
 | ||
|         public DateTime CreateTime { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 创建用户ID
 | ||
|         /// </summary>
 | ||
|         public Guid CreateUserId { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialReadQuestion : ReadingQuestionTrial
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// 分页名称
 | ||
|         /// </summary>
 | ||
|         public string PageName { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 父问题名称
 | ||
|         /// </summary>
 | ||
|         public string ParentQuestionName { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// Parent字典code
 | ||
|         /// </summary>
 | ||
|         public string ParentDictionaryCode { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// Parent问题类型
 | ||
| 		/// </summary>
 | ||
| 		public TableQuestionType? ParentQuestionGenre { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public int? RelevanceShowOrder { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public int? ParentQuestionShowOrder { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialAdditionaQuestion : TrialReadQuestion
 | ||
|     {
 | ||
|         public List<TrialAdditionaQuestion> Childrens { get; set; } = new List<TrialAdditionaQuestion>();
 | ||
|         public string Answer { get; set; } = string.Empty;
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialJudgeQuestion
 | ||
|     {
 | ||
| 
 | ||
| 
 | ||
|         public Guid ReadingQuestionCriterionTrialId { get; set; }
 | ||
| 
 | ||
|         public Guid QuestionId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// 问题名称
 | ||
| 		/// </summary>
 | ||
| 		public string QuestionName { get; set; }
 | ||
| 
 | ||
|         public string PageName { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 答案分组
 | ||
|         /// </summary>
 | ||
|         public string AnswerGroup { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 答案组合
 | ||
|         /// </summary>
 | ||
|         public string AnswerCombination { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 裁判类型
 | ||
|         /// </summary>
 | ||
|         public JudgeTypeEnum JudgeType { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialReadingCriterion
 | ||
|     {
 | ||
|         public Guid Id { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// 标准
 | ||
| 		/// </summary>
 | ||
| 		public string CriterionName { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class GetTrialConfirmCriterionListInDto
 | ||
|     {
 | ||
|         public Guid TrialId { get; set; }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class GetTrialConfirmCriterionOutDto
 | ||
|     {
 | ||
|         public Guid TrialCriterionId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public string CriterionName { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialReadingInfoSignInDto
 | ||
|     {
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class GetTrialReadingCriterionInfoOutDto
 | ||
|     {
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片信息签名时间
 | ||
|         /// </summary>
 | ||
|         public DateTime? ReadingInfoSignTime { get; set; }
 | ||
| 
 | ||
|         public bool IsSign
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return this.ReadingInfoSignTime != null;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// 是否必须全局阅片
 | ||
| 		/// </summary>
 | ||
| 		public bool IsMustGlobalReading { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 修约小数点
 | ||
|         /// </summary>
 | ||
|         public int? DigitPlaces { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  eCRF报告是否显示在图像页面
 | ||
|         /// </summary>
 | ||
|         public bool IseCRFShowInDicomReading { get; set; } = false;
 | ||
| 
 | ||
| 
 | ||
|         public bool IsFromSystem { get; set; } = false;
 | ||
| 
 | ||
|         public FormType? FormType { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public bool IsSystemCriterion { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目标准Id
 | ||
|         /// </summary>
 | ||
|         public Guid? TrialCriterionId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目分页
 | ||
|         /// </summary>
 | ||
|         public List<ReadingCriterionPageDto> ReadingCriterionPageList { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目问题集合
 | ||
|         /// </summary>
 | ||
|         public List<TrialReadQuestion> TrialQuestionList { get; set; }
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class SetOncologySetInDto
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// 项目标准ID
 | ||
|         /// </summary>
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
|         public List<Guid> OncologyAssessIds { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 评估结果
 | ||
|         /// </summary>
 | ||
|         public string EvaluationResult { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 评估原因
 | ||
|         /// </summary>
 | ||
|         public string EvaluationReason { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否显示详情
 | ||
|         /// </summary>
 | ||
|         public bool IsShowDetail { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class GetOncologySetOutDto
 | ||
|     {
 | ||
| 
 | ||
|         public bool IsSign { get; set; }
 | ||
| 
 | ||
|         public List<Guid> OncologyAssessIds { get; set; }
 | ||
| 
 | ||
|         public bool IsSystemCriterion { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 评估原因
 | ||
|         /// </summary>
 | ||
|         public string EvaluationReason { get; set; } = string.Empty;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class GetGlobalReadingOutDto
 | ||
|     {
 | ||
|         public List<CriterionDictionaryInfo> GlobalAssessTypes { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 全局阅片
 | ||
|         /// </summary>
 | ||
|         public bool IsGlobalReading { get; set; }
 | ||
| 
 | ||
|         public bool IsSystemCriterion { get; set; }
 | ||
| 
 | ||
|         public bool IsSign { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class AsyncTrialCriterionDictionaryInDto
 | ||
|     {
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class SetGlobalReadingInfoInDto
 | ||
|     {
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
|         public List<SetGlobalReading> GlobalAssessList { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         ///// <summary>
 | ||
|         ///// 全局阅片
 | ||
|         ///// </summary>
 | ||
|         //public bool IsGlobalReading { get; set; }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class SetGlobalReading
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// DictionaryId
 | ||
|         /// </summary>
 | ||
|         public Guid DictionaryId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// IsBaseLineUse
 | ||
|         /// </summary>
 | ||
|         public bool IsBaseLineUse { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// IsBaseUse
 | ||
|         /// </summary>
 | ||
|         public bool IsFollowVisitUse { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class GetOncologySetInDto
 | ||
|     {
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
|     }
 | ||
| 
 | ||
|     public class GetTrialReadingInfoInDto
 | ||
|     {
 | ||
| 
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class SetTrialReadingCriterionInDto
 | ||
|     {
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 表单类型
 | ||
|         /// </summary>
 | ||
| 
 | ||
|         public FormType FormType { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         ///// <summary>
 | ||
|         ///// 修约小数点
 | ||
|         ///// </summary>
 | ||
|         //public int? DigitPlaces { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public bool IsSignSave { get; set; } = false;
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class AddOrUpdateTrialCriterionAdditional
 | ||
|     {
 | ||
|         public Guid Id { get; set; }
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public CriterionType CriterionType { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public AdditionalAssessmentType AdditionalAssessmentType { get; set; }
 | ||
| 
 | ||
|         public bool? IsSelected { get; set; }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class SetCriterionReadingInfoInDto
 | ||
|     {
 | ||
|         public bool IsImageFilter { get; set; }
 | ||
|         public string CriterionModalitys { get; set; }
 | ||
| 
 | ||
|         public ReadingImageDownload ImageDownloadEnum { get; set; }
 | ||
| 
 | ||
|         public ReadingImageUpload ImageUploadEnum { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         //是否附加评估
 | ||
|         public bool IsAdditionalAssessment { get; set; }
 | ||
| 
 | ||
|         public CriterionType CriterionType { get; set; }
 | ||
| 
 | ||
|         //自动  手动生成任务
 | ||
|         public bool IsAutoCreate { get; set; } = true;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目标准ID
 | ||
|         /// </summary>
 | ||
|         public Guid TrialReadingCriterionId { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  eCRF报告是否显示在图像页面
 | ||
|         /// </summary>
 | ||
|         public bool IseCRFShowInDicomReading { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否有阅片期
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingPeriod { get; set; } = true;
 | ||
| 
 | ||
| 
 | ||
|         public string GlobalUpdateType { get; set; } = string.Empty;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 修约小数点
 | ||
|         /// </summary>
 | ||
|         public int? DigitPlaces { get; set; } = 2;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片工具
 | ||
|         /// </summary>
 | ||
|         public ReadingTool? ReadingTool { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 阅片平台
 | ||
|         /// </summary>
 | ||
|         public ImagePlatform ImagePlatform { get; set; } = ImagePlatform.MINT;
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 任务组织级别
 | ||
|         /// </summary>
 | ||
|         public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 影像是否有标注
 | ||
|         /// </summary>
 | ||
|         public bool IsImageIabeled { get; set; }
 | ||
| 
 | ||
|         //读片任务显示是否顺序
 | ||
|         public ReadingOrder IsReadingTaskViewInOrder { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// IR阅片是否显示受试者信息
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowSubjectInfo { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// IR阅片是否显示既往结果
 | ||
|         /// </summary>
 | ||
|         public bool IsReadingShowPreviousResults { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 仲裁规则/对象
 | ||
|         /// </summary>
 | ||
|         public ArbitrationRule ArbitrationRule { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
| 		/// 阅片模式
 | ||
| 		/// </summary>
 | ||
| 		public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 全局阅片
 | ||
|         /// </summary>
 | ||
|         public bool IsGlobalReading { get; set; } = true;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 仲裁阅片
 | ||
|         /// </summary>
 | ||
|         public bool IsArbitrationReading { get; set; } = true;
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 肿瘤学阅片  原字段 IsClinicalReading
 | ||
|         /// </summary>
 | ||
|         public bool IsOncologyReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否加急
 | ||
|         /// </summary>
 | ||
|         public bool IsUrgent { get; set; } = false;
 | ||
| 
 | ||
|         public List<AddOrUpdateTrialCriterionAdditional> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<AddOrUpdateTrialCriterionAdditional>();
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     public class SignConfirmDTO
 | ||
|     {
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
|         //[NotDefault]
 | ||
|         //public Guid SignId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         [NotDefault]
 | ||
|         public string SignCode { get; set; } = string.Empty;
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialConfigDTO : BasicTrialConfig
 | ||
|     {
 | ||
|         public List<Guid> TrialCriterionIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
|         public List<string> TrialCriterionNames { get; set; } = new List<string>();
 | ||
| 
 | ||
|         public List<Guid> ClinicalDataTrialSetIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
|         public int ClinicalInformationTransmissionEnum { get; set; }
 | ||
| 
 | ||
|         public bool IsTrialProcessConfirmed { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public bool IsTrialUrgentConfirmed { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// QC流程  0 不审,1 单审,2双审  
 | ||
|         /// </summary>
 | ||
|         public TrialQCProcess QCProcessEnum { get; set; }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 影像一致性核查
 | ||
|         /// </summary>
 | ||
|         public bool IsImageConsistencyVerification { get; set; } = false;
 | ||
| 
 | ||
|         //阅片方式
 | ||
|         public int ReadingMode { get; set; }
 | ||
| 
 | ||
|         public bool IsSubjectExpeditedView { get; set; } = false;
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 是否有 入组评估确认
 | ||
|         /// </summary>
 | ||
|         public bool IsEnrollementQualificationConfirm { get; set; } = false;
 | ||
| 
 | ||
|         public bool IsUrgent { get; set; }
 | ||
| 
 | ||
|         public bool IsPDProgressView { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public bool IsQCQuestionConfirmed { get; set; }
 | ||
| 
 | ||
|         public string TrialStatusStr { get; set; } = string.Empty;
 | ||
| 
 | ||
|         public List<string> ClinicalDataSetNames { get; set; } = new List<string>();
 | ||
| 
 | ||
| 
 | ||
|         //public bool IsTrialStart { get; set; } = false;
 | ||
| 
 | ||
| 
 | ||
|         //public List<Guid> CriterionIds { get; set; } = new List<Guid>();
 | ||
| 
 | ||
| 
 | ||
|         //public bool IsGlobalReading { get; set; } = true;
 | ||
| 
 | ||
|         //public bool? IsArbitrationReading { get; set; }
 | ||
| 
 | ||
|         //public bool? IsClinicalReading { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         //public ArbitrationRule ArbitrationRule { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         //public int DigitPlaces { get; set; }
 | ||
| 
 | ||
|         ///// <summary>
 | ||
|         ///// 1 Mint、2 PACS  
 | ||
|         ///// </summary>
 | ||
| 
 | ||
|         //public int ImagePlatform { get; set; } = 1;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         ////阅片类型 
 | ||
|         //public int ReadingType { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         //public string DocumentConfirmSignText { get; set; } = string.Empty;
 | ||
|         //public string ImageQCSignText { get; set; } = string.Empty;
 | ||
|         //public string PreliminaryAuditReuploadText { get; set; } = string.Empty;
 | ||
|         //public string ReviewAuditReuploadText { get; set; } = string.Empty;
 | ||
|         //public string CheckBackText { get; set; } = string.Empty;
 | ||
|         //public string CheckCloseText { get; set; } = string.Empty;
 | ||
|         //public string ChallengeTypes { get; set; } = string.Empty;
 | ||
|         //public bool IsImageExport { get; set; } = false;
 | ||
|         //public bool IsCRAAuditClinicalInformation { get; set; } = false;
 | ||
|         //public string TrialSiteSurveyUserRoles { get; set; } = string.Empty;
 | ||
|         //public string TrialSiteSurveyEquipmentType { get; set; } = string.Empty;
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public class AddOrUpdateTrialBodyPartCommand
 | ||
|     {
 | ||
|         public string Code { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public string Name { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public string NameCN { get; set; }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         public Guid? Id { get; set; }
 | ||
| 
 | ||
|         [NotDefault]
 | ||
|         public Guid TrialId { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public bool IsHandAdd { get; set; } = true;
 | ||
|     }
 | ||
| 
 | ||
|     public class TrialBodyPartView
 | ||
|     {
 | ||
|         public string Code { get; set; }
 | ||
| 
 | ||
| 
 | ||
|         public string Name { get; set; }
 | ||
| 
 | ||
|         public Guid Id { get; set; }
 | ||
| 
 | ||
|         public bool IsHandAdd { get; set; }
 | ||
|     }
 | ||
| }
 |