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

662 lines
16 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace IRaCIS.Core.Application.Contracts
{
public class BasicTrialConfig
{
public Guid TrialId { get; set; }
/// <summary>
/// 受试者编号具体规则
/// </summary>
public string SubjectCodeRule { get; set; } = string.Empty;
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 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";
/// <summary>
/// 临床信息传输 1系统录入2系统录入+PDF 0
/// </summary>
public int ClinicalInformationTransmissionEnum { get; set; } = 1;
public bool IsSubjectSexView { get; set; } = false;
public int ChangeDefalutDays { get; set; } = 5;
/// <summary>
/// 跨项目复制
/// </summary>
public bool IsImageReplicationAcrossTrial { get; set; } = false;
public string BodyPartTypes { get; set; } = string.Empty;
public string Modalitys { get; set; } = string.Empty;
}
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>
/// 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 ArbitrationRule { get; set; }
public int? DigitPlaces { get; set; }
}
public class TrialTaskConfig
{
public Guid TrialId { get; set; }
public TaskAllocateObj TaskAllocateObjEnum { get; set; }
public bool IsFollowVisitAutoAssign { get; set; }
public bool IsFollowGlobalVisitAutoAssign { get; set; }
public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; }
public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; }
}
public class TrialBasicConfigView : TrialTaskConfigView
{
/// <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;
//阅片方式
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 ArbitrationRule { get; set; }
}
public class TrialTaskConfigView : TrialTaskConfig
{
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
public bool IsReadingTaskViewInOrder { get; set; } = true;
public bool IsFollowJudgeTaskAutoAssign { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; }
/// <summary>
/// 阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; }
public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; }
}
public class TrialReadingTaskViewConfig
{
public Guid TrialId { get; set; }
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <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 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
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 阅片平台
/// </summary>
public int ImagePlatform { get; set; } = 1;
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 影像是否有标注
/// </summary>
public bool IsImageStandard { get; set; }
/// <summary>
/// IR阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// IR阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 修约小数点
/// </summary>
public int? DigitPlaces { get; set; } = 2;
/// <summary>
/// 仲裁规则/对象
/// </summary>
public int ArbitrationRule { get; set; } = 2;
/// <summary>
/// 项目标准Id
/// </summary>
public List<Guid> TrialCriterionId { get; set; }
///// <summary>
///// 全局阅片
///// </summary>
//public bool IsGlobalReading { get; set; } = true;
///// <summary>
///// 阅片方式
///// </summary>
//public int ReadingMode { get; set; } = 1;
///// <summary>
///// 阅片模式
///// </summary>
//public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
///// <summary>
///// 仲裁阅片
///// </summary>
//public bool? IsArbitrationReading { get; set; } = true;
///// <summary>
///// 肿瘤学阅片
///// </summary>
//public bool IsClinicalReading { get; set; }
///// <summary>
///// 读片任务显示是否顺序
///// </summary>
//public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <summary>
/// 项目分页
/// </summary>
public List<ReadingCriterionPage> ReadingCriterionPageList { get; set; }
/// <summary>
/// 项目裁判问题集合
/// </summary>
public List<TrialJudgeQuestion> TrialJudgeQuestionList { get; set; }
/// <summary>
/// 项目问题集合
/// </summary>
public List<TrialReadQuestion> TrialQuestionList { get; set; }
}
public class TrialReadQuestion
{
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 分页名称
/// </summary>
public string PageName { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; }
/// <summary>
/// 类型
/// </summary>
public string Type { get; set; }
/// <summary>
/// 父问题触发
/// </summary>
public string ParentTriggerValue { get; set; }
/// <summary>
/// 父问题名称
/// </summary>
public string ParentQuestionName { get; set; }
/// <summary>
/// 是否是必须
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 类型值
/// </summary>
public string TypeValue { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 是否是裁判问题
/// </summary>
public bool IsJudgeQuestion { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 分组
/// </summary>
public string GroupName { 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 TrialJudgeQuestion
{
public Guid ReadingQuestionCriterionTrialId { get; set; }
public Guid QuestionId { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { 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 GetTrialReadingInfoInDto
{
[NotDefault]
public Guid TrialId { get; set; }
}
public class SetTrialReadingInfoInDto
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 阅片平台
/// </summary>
public int ImagePlatform { get; set; } = 1;
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 影像是否有标注
/// </summary>
public bool IsImageStandard { get; set; }
/// <summary>
/// IR阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// IR阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 修约小数点
/// </summary>
public int? DigitPlaces { get; set; } = 2;
/// <summary>
/// 仲裁规则/对象
/// </summary>
public int ArbitrationRule { get; set; } = 2;
}
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> CriterionIds { get; set; } = new List<Guid>();
public List<string> ClinicalDataSetNames { get; set; } = new List<string>();
public bool IsTrialProcessConfirmed { get; set; }
public bool IsTrialUrgentConfirmed { get; set; }
public int DigitPlaces { get; set; }
/// <summary>
/// QC流程 0 不审1 单审2双审
/// </summary>
public TrialQCProcess QCProcessEnum { get; set; }
/// <summary>
/// 影像一致性核查
/// </summary>
public bool IsImageConsistencyVerification { 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 ArbitrationRule { 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 IsTrialStart { get; set; } = false;
public bool IsQCQuestionConfirmed { get; set; }
public string TrialStatusStr { get; set; } = string.Empty;
//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;
}
}