using IRaCIS.Application.Contracts; using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Contracts.DTO; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; namespace IRaCIS.Core.Application.Service.Inspection.DTO { public class DataInspectionAddDTO { public Guid? TrialId { get; set; } public Guid? TrialSiteId { get; set; } public Guid? SubjectId { get; set; } public Guid? SubjectVisitId { get; set; } /// /// 子类 /// public Guid? ChildrenType { get; set; } /// /// 对象名称 /// public Guid? ObjectType { get; set; } /// /// 操作类型 /// public Guid? OptType { get; set; } /// /// 功能模块 /// public Guid? ModuleType { get; set; } public string BlindName { get; set; } = string.Empty; public string Reason { get; set; } = string.Empty; public bool IsSign { get; set; } public string JsonDetail { get; set; } = string.Empty; /// /// 创建人名称 /// public string CreateUserName { get; set; } = string.Empty; /// /// 项目名称 /// public string TrialName { get; set; } = string.Empty; /// /// 中心名称 /// public string SiteName { get; set; } = string.Empty; /// /// 受试者Code /// public string SubjectCode { get; set; } = string.Empty; /// /// 访视名称 /// public string SubjectVisitName { get; set; } = string.Empty; /// /// 角色名称 /// public string RoleName { get; set; } = string.Empty; /// /// 中心Code /// public string SiteCode { get; set; } = string.Empty; /// /// 项目编码 /// public string ResearchProgramNo { get; set; } = string.Empty; public List EnumList { get; set; } = new List { }; /// /// 标识 /// public string Identification { get; set; } = string.Empty; /// /// 访视计划ID /// public Guid? VisitStageId { get; set; } /// /// 通用ID /// public Guid? GeneralId { get; set; } ////需要单独处理 //public string IP { get; set; } public DateTime? CreateTime { get; set; } = DateTime.Now; public bool NeedSava { get; set; } = true; } public class EnumList { public string Key { get; set; } = string.Empty; public string Code { get; set; } = string.Empty; public string Type { get; set; } = string.Empty; } public interface IInspectionDTO { public DataInspectionAddDTO AuditInfo { get; set; } } public interface ISignDTO { public SignDTO SignInfo { get; set; } } #region Setting /// /// 配置 基础逻辑信息 /// public class InsBasicTrialConfig : InspectionBase, IInspectionDTO, ISignDTO { public BasicTrialConfig OptCommand { get; set; } } /// /// 配置流程 /// public class InsTrialProcessConfig : InspectionBase, IInspectionDTO, ISignDTO { public TrialProcessConfig OptCommand { get; set; } } /// /// 配置加急信息 /// public class InsTrialUrgentConfig : InspectionBase, IInspectionDTO, ISignDTO { public TrialUrgentConfig OptCommand { get; set; } } #endregion public class SetCheckPassDto { public Guid qcChallengeId { get; set; } public Guid subjectVisitId { get; set; } public QCChallengeCloseEnum closeEnum { get; set; } public string closeReason { get; set; } } public class SetNeedReuploadDto { public Guid trialId { get; set; } public Guid qcChallengeId { get; set; } } public class SetVisitUrgentDto { public Guid trialId { get; set; } public Guid subjectVisitId { get; set; } public bool setOrCancel { get; set; } } public class UpdateTrialStateDto { public Guid trialId { get; set; } public string trialStatusStr { get; set; } public string? reason { get; set; } } public class QCPassedOrFailedDto { public Guid trialId { get; set; } public Guid subjectVisitId { get; set; } public AuditStateEnum auditState { get; set; } } public class SetSeriesStateDto { public Guid subjectVisitId { get; set; } public Guid studyId { get; set; } public Guid seriesId { get; set; } public int state { get; set; } } public class UpdateModalityDto { public Guid id { get; set; } public int type { get; set; } public string modality { get; set; } public string bodyPart { get; set; } } public class CloseQCChallengeDto { public Guid qcChallengeId { get; set; } public Guid subjectVisitId { get; set; } public QCChallengeCloseEnum closeEnum { get; set; } public string closeReason { get; set; } } public class AddOrUpdateQCChallengeDto { public QCChallengeCommand qaQuestionCommand { get; set; } public Guid trialId { get; set; } public TrialQCProcess trialQCProcess { get; set; } public CurrentQC currentQCType { get; set; } } public class AddOrUpdateQCQuestionAnswerListDto { public QCQuestionAnswerCommand[] qcQuestionAnswerCommands { get; set; } public Guid trialId { get; set; } public Guid subjectVisitId { get; set; } public TrialQCProcess trialQCProcess { get; set; } public CurrentQC currentQCType { get; set; } } public class SetCheckPassDt { public string ManualPassReason { get; set; } = string.Empty; public Guid Id { get; set; } } public class ObtainOrCancelQCTaskDto { public Guid trialId { get; set; } public Guid subjectVisitId { get; set; } public bool obtaionOrCancel { get; set; } } public class ReadingClinicalDataSignIndto { /// /// 阅片临床数据ID /// public Guid ReadingClinicalDataId { get; set; } [NotDefault] public Guid TrialReadingCriterionId { get; set; } /// /// 是否盲化 /// public bool? IsBlind { get; set; } /// /// 是否完整 /// public bool? IsComplete { get; set; } } /// /// 稽查泛型Dto /// /// 泛型 public class DataInspectionDto { public T Data { get; set; } public SignDTO? SignInfo { get; set; } } #region Qc public class DeleteStudyList { public Guid[] ids { get; set; } public Guid subjectVisitId { get; set; } public Guid trialId { get; set; } } #endregion #region 受试者 public class InsSubjectCommand : InspectionBase, IInspectionDTO, ISignDTO { public SubjectCommand OptCommand { get; set; } } public class InsUpdateSubjectStatus : InspectionBase, IInspectionDTO, ISignDTO { public SubjectStatusChangeCommand OptCommand { get; set; } } public class InsDeleteSubjectDto : InspectionBase, IInspectionDTO, ISignDTO { public DeleteSubjectDto OptCommand { get; set; } } public class DeleteSubjectDto { public Guid SubjectId { get; set; } public Guid TrialId { get; set; } public Guid TrialSiteId { get; set; } public string Code { get; set; } = string.Empty; } #endregion /// /// 用户 签名某个文档 Dto /// public class TrialDocumentConfirmDTO : InspectionBase, IInspectionDTO, ISignDTO { public UserConfirmCommand OptCommand { get; set; } } public class GetDataInspectionOutDto : DataInspection { public string TrialReadingCriterionName { get; set; } public string BlindName { get; set; } public string TaskName { get; set; } //public string FirstName { get; set; } = string.Empty; //public string LastName { get; set; } = string.Empty; public string VisitName { get; set; } = string.Empty; //public string ParentJson { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public string DescriptionCN { get; set; } = string.Empty; public string ModuleTypeName { get; set; } = string.Empty; public string ModuleTypeNameCN { get; set; } = string.Empty; public string SignText { get; set; } = string.Empty; public decimal? VisitNum { get; set; } public bool? InPlan { get; set; } public string OptType { get; set; } = string.Empty; public string OptTypeCN { get; set; } = string.Empty; public Guid? FrontAuditConfigId { get; set; } /// /// 父标识 /// public string ParentIdentification { get; set; } public string ExperimentName { get; set; } public string SiteCode { get; set; } public string ResearchProgramNo { get; set; } public string SiteName { get; set; } public string SubjectCode { get; set; } public string SubjectVisitName { get; set; } } public class UpdateTrialState { public Guid trialId { get; set; } public string trialStatusStr { get; set; } public string reason { get; set; } } public class AbandonTrial { public Guid trialId { get; set; } public bool isAbandon { get; set; } } public class GetDataInspectionDto : PageInput { /// /// 项目iD /// public Guid? TrialId { get; set; } /// /// 中心 /// public Guid? TrialSiteId { get; set; } /// /// 受试者 /// public string SubjectInfo { get; set; } = string.Empty; /// /// /// public decimal? VisitPlanInfo { get; set; } public string? VisitName { get; set; } /// /// 开始时间 /// public DateTime? StartTime { get; set; } /// /// 结束时间 /// public DateTime? EndTime { get; set; } /// /// 功能模块 /// public Guid? ModuleType { get; set; } /// /// Description /// public string Description { get; set; } = string.Empty; /// /// 操作人名称模糊查询 /// public string OpByUserName { get; set; } = string.Empty; public string? CreateUserName { get; set; } /// /// 阅读片人 /// public string ReaderUser { get; set; } = string.Empty; /// /// 角色 /// public string RoleName { get; set; } = string.Empty; /// /// 是否有签名 /// public bool? IsSign { get; set; } /// /// 批次Id /// public Guid? BatchId { get; set; } public Guid? GeneralId { get; set; } public DateTime? RelationDeadlineTime { get; set; } public Guid? ObjectRelationParentId { get; set; } public Guid? TrialReadingCriterionId { get; set; } public string? TaskName { get; set; } } public class InspectionBase { public DataInspectionAddDTO AuditInfo { get; set; } public SignDTO SignInfo { get; set; } = new SignDTO(); } }