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

921 lines
22 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";
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>
/// 临床信息传输 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; }
//读片任务显示是否顺序
public bool IsReadingTaskViewInOrder { get; set; }
/// <summary>
/// 仲裁规则
/// </summary>
public ArbitrationRule ArbitrationRule { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// 阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
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 TrialTaskConfigView : TrialTaskConfig
{
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
public bool IsReadingTaskViewInOrder { get; set; } = true;
public ReadingMethod ReadingType { get; set; }
public ReadingTool ReadingTool { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; }
/// <summary>
/// 阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { 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 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 IsImageIabeled { get; set; }
/// <summary>
/// IR阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// IR阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
//读片任务显示是否顺序
public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <summary>
/// 阅片工具
/// </summary>
public ReadingTool? ReadingTool { get; set; }
/// <summary>
/// 仲裁规则/对象
/// </summary>
public ArbitrationRule ArbitrationRule { get; set; }
/// <summary>
/// 阅片信息签名时间
/// </summary>
public DateTime? ReadingInfoSignTime { get; set; }
public bool IsSign {
get {
return this.ReadingInfoSignTime != null;
}
}
public bool IsClinicalReading { get; set; }
/// <summary>
/// 仲裁阅片
/// </summary>
public bool? IsArbitrationReading { 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;
}
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
{
public Guid Id { get; set; }
/// <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 IsRequired IsRequired { get; set; }
/// <summary>
/// 是否显示
/// </summary>
public ShowQuestion ShowQuestion { 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; }
/// <summary>
/// 关联Value
/// </summary>
public string RelevanceValue { get; set; } = string.Empty;
public int? RelevanceShowOrder { get; set; }
public int? ParentQuestionShowOrder { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
/// <summary>
/// 最大问题数
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; } = false;
/// <summary>
/// 序号标记
/// </summary>
public string OrderMark { 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 TrialReadingInfoSignInDto
{
[NotDefault]
public Guid TrialId { get; set; }
}
public class GetTrialReadingCriterionInfoOutDto
{
/// <summary>
/// 阅片信息签名时间
/// </summary>
public DateTime? ReadingInfoSignTime { get; set; }
public bool IsSign
{
get
{
return this.ReadingInfoSignTime != null;
}
}
/// <summary>
/// 修约小数点
/// </summary>
public int? DigitPlaces { get; set; }
public bool IsFromSystem { get; set; } = false;
public FormType? FormType { 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 TrialId { 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; }
/// <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 GetOncologySetInDto
{
public Guid TrialId { get; set; }
}
public class GetTrialReadingInfoInDto
{
[NotDefault]
public Guid TrialId { get; set; }
}
public class SetTrialReadingCriterionInDto
{
public Guid TrialCriterionId { get; set; }
/// <summary>
/// 表单类型
/// </summary>
public FormType FormType { get; set; }
/// <summary>
/// 修约小数点
/// </summary>
public int? DigitPlaces { get; set; }
public bool IsSignSave { get; set; } = false;
}
public class SetTrialReadingInfoInDto
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 阅片工具
/// </summary>
public ReadingTool? ReadingTool { get; set; }
/// <summary>
/// 阅片平台
/// </summary>
public int ImagePlatform { get; set; } = 1;
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 影像是否有标注
/// </summary>
public bool IsImageIabeled { get; set; }
//读片任务显示是否顺序
public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <summary>
/// IR阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// IR阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 仲裁规则/对象
/// </summary>
public ArbitrationRule ArbitrationRule { get; set; }
}
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 ArbitrationRule 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 bool IsReadingTaskViewInOrder { 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;
}
}