整理命名空间
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-20 00:00:13 +08:00
parent 42e4fe59ec
commit 0a1ce59670
47 changed files with 2501 additions and 2599 deletions

View File

@ -11,54 +11,52 @@ using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 项目标准阅片医生配置表")]
[Table("SubjectUser")]
public class SubjectUser : BaseFullAuditEntity
{
[Comment("受试者 - 项目标准阅片医生配置表")]
[Table("SubjectUser")]
public class SubjectUser : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public Trial Trial { get; set; }
#region 导航属性
[JsonIgnore]
public Trial Trial { get; set; }
[JsonIgnore]
//Parent
[ForeignKey("ReplacedSubjectUserId")]
public SubjectUser ReplacedSubjectUser { get; set; }
[JsonIgnore]
//Parent
[ForeignKey("ReplacedSubjectUserId")]
public SubjectUser ReplacedSubjectUser { get; set; }
//ChildList
[JsonIgnore]
public List<SubjectUser> EarlierSubjectUserList { get; set; }
//ChildList
[JsonIgnore]
public List<SubjectUser> EarlierSubjectUserList { get; set; }
[JsonIgnore]
public User DoctorUser { get; set; }
[JsonIgnore]
public User DoctorUser { get; set; }
[JsonIgnore]
public Subject Subject { get; set; }
#endregion
[JsonIgnore]
public Subject Subject { get; set; }
#endregion
public Arm ArmEnum { get; set; }
public Arm ArmEnum { get; set; }
public DateTime? AssignTime { get; set; }
public DateTime? AssignTime { get; set; }
public Guid DoctorUserId { get; set; }
public Guid DoctorUserId { get; set; }
public bool IsConfirmed { get; set; }
public bool IsConfirmed { get; set; }
[Comment("该属性有值 说明该医生被替换了 分配的时候 要过滤掉")]
public Guid? ReplacedSubjectUserId { get; set; }
[Comment("该属性有值 说明该医生被替换了 分配的时候 要过滤掉")]
public Guid? ReplacedSubjectUserId { get; set; }
public Guid SubjectId { get; set; }
public Guid SubjectId { get; set; }
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
}
}

View File

@ -10,46 +10,44 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目阅片 - 分配规则")]
[Table("TaskAllocationRule")]
public class TaskAllocationRule : BaseFullAuditEntity
{
[Comment("项目阅片 - 分配规则")]
[Table("TaskAllocationRule")]
public class TaskAllocationRule : BaseFullAuditEntity
{
#region 导航属性
#region 导航属性
[ForeignKey("DoctorUserId")]
[JsonIgnore]
public User DoctorUser { get; set; }
[ForeignKey("DoctorUserId")]
[JsonIgnore]
public User DoctorUser { get; set; }
[JsonIgnore]
public Enroll Enroll { get; set; }
[JsonIgnore]
public Enroll Enroll { get; set; }
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
public Guid TrialId { get; set; }
public Guid DoctorUserId { get; set; }
public Guid TrialId { get; set; }
public Guid DoctorUserId { get; set; }
[Comment(" 入组表Id 可以去掉 TrialId DoctorUserId")]
public Guid EnrollId { get; set; }
[Comment(" 入组表Id 可以去掉 TrialId DoctorUserId")]
public Guid EnrollId { get; set; }
public bool IsEnable { get; set; }
public bool IsEnable { get; set; }
public bool IsJudgeDoctor { get; set; }
public bool IsJudgeDoctor { get; set; }
public string Note { get; set; } = null!;
public string Note { get; set; } = null!;
[Comment(" 计划比率")]
public int PlanReadingRatio { get; set; }
[Comment(" 计划比率")]
public int PlanReadingRatio { get; set; }
public int PlanSubjectCount { get; set; }
public int PlanSubjectCount { get; set; }
}
}

View File

@ -12,185 +12,181 @@ using System.Linq;
using Newtonsoft.Json;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public class OSSImageInfo
{
public class OSSImageInfo
public string FileName { get; set; } = string.Empty;
public string ImagePath { get; set; } = string.Empty;
}
[Comment("项目阅片 - 医学审核")]
[Table("TaskMedicalReview")]
public class TaskMedicalReview : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public User LatestReplyUser { get; set; }
[JsonIgnore]
public User MedicalManagerUser { get; set; }
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
public List<ReadingMedicalReviewDialog> ReadingMedicalReviewDialogList { get; set; }
[JsonIgnore]
public Trial Trial { get; set; }
/// <summary>
/// 文件
/// </summary>
[NotMapped]
public List<OSSImageInfo> FileList
{
public string FileName { get; set; } = string.Empty;
public string ImagePath { get; set; } = string.Empty;
}
[Comment("项目阅片 - 医学审核")]
[Table("TaskMedicalReview")]
public class TaskMedicalReview : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public User LatestReplyUser { get; set; }
[JsonIgnore]
public User MedicalManagerUser { get; set; }
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
public List<ReadingMedicalReviewDialog> ReadingMedicalReviewDialogList { get; set; }
[JsonIgnore]
public Trial Trial { get; set; }
/// <summary>
/// 文件
/// </summary>
[NotMapped]
public List<OSSImageInfo> FileList
get
{
get
try
{
var result = JsonConvert.DeserializeObject<List<OSSImageInfo>>(this.ImagePath);
return result == null ? new List<OSSImageInfo>() : result;
}
catch (Exception)
{
try
{
var result = JsonConvert.DeserializeObject<List<OSSImageInfo>>(this.ImagePath);
return result == null ? new List<OSSImageInfo>() : result;
}
catch (Exception)
{
return new List<OSSImageInfo>();
}
return new List<OSSImageInfo>();
}
}
[NotMapped]
public List<Guid> PDRelationTaskIdList => PDRelationTaskIdListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Select(t => Guid.Parse(t)).ToList();
#endregion
public Guid? LatestReplyUserId { get; set; }
/// <summary>
/// 分配时间
/// </summary>
public DateTime? AllocateTime { get; set; }
/// <summary>
/// 审核状态
/// </summary>
[Required]
public MedicalReviewAuditState AuditState { get; set; }
/// <summary>
/// 审核通过时间
/// </summary>
public DateTime? AuditSignTime { get; set; }
/// <summary>
/// 阅片人是否认同
/// </summary>
public MedicalReviewDoctorUserIdea DoctorUserIdeaEnum { get; set; }
public Guid? MedicalManagerUserId { get; set; }
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 是否有问题
/// </summary>
public bool IsHaveQuestion { get; set; } = false;
/// <summary>
/// 质询问题
/// </summary>
public string Questioning { get; set; } = string.Empty;
/// <summary>
/// 图片路径
/// </summary>
public string ImagePath { get; set; } = string.Empty;
/// <summary>
/// 审核建议
/// </summary>
public AuditAdvice AuditAdviceEnum { get; set; }
/// <summary>
/// 是否关闭对话
/// </summary>
public bool IsClosedDialog { get; set; }
/// <summary>
/// 保存问题的时间
/// </summary>
public DateTime? SaveQuestionTime { get; set; }
/// <summary>
/// 不同意重阅原因
/// </summary>
public string DisagreeReason { get; set; } = string.Empty;
/// <summary>
/// 是否申请重阅
/// </summary>
public bool IsApplyHeavyReading { get; set; } = false;
/// <summary>
/// 保存结论时间
/// </summary>
public DateTime? SaveConclusionTime { get; set; }
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; } = string.Empty;
/// <summary>
/// 是否发送消息
/// </summary>
public bool IsSendMessage { get; set; } = false;
/// <summary>
/// 医学审核对话关闭原因
/// </summary>
public MedicalDialogClose MedicalDialogCloseEnum { get; set; }
/// <summary>
/// 对话关闭原因
/// </summary>
public string DialogCloseReason { get; set; } = string.Empty;
/// <summary>
/// 无效的 为True无效
/// </summary>
public bool IsInvalid { get; set; }
public bool IsAutoGenerate { get; set; }
// | 分割
public string PDRelationTaskIdListStr { get; set; } = string.Empty;
}
[NotMapped]
public List<Guid> PDRelationTaskIdList => PDRelationTaskIdListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Select(t => Guid.Parse(t)).ToList();
#endregion
public Guid? LatestReplyUserId { get; set; }
/// <summary>
/// 分配时间
/// </summary>
public DateTime? AllocateTime { get; set; }
/// <summary>
/// 审核状态
/// </summary>
[Required]
public MedicalReviewAuditState AuditState { get; set; }
/// <summary>
/// 审核通过时间
/// </summary>
public DateTime? AuditSignTime { get; set; }
/// <summary>
/// 阅片人是否认同
/// </summary>
public MedicalReviewDoctorUserIdea DoctorUserIdeaEnum { get; set; }
public Guid? MedicalManagerUserId { get; set; }
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 是否有问题
/// </summary>
public bool IsHaveQuestion { get; set; } = false;
/// <summary>
/// 质询问题
/// </summary>
public string Questioning { get; set; } = string.Empty;
/// <summary>
/// 图片路径
/// </summary>
public string ImagePath { get; set; } = string.Empty;
/// <summary>
/// 审核建议
/// </summary>
public AuditAdvice AuditAdviceEnum { get; set; }
/// <summary>
/// 是否关闭对话
/// </summary>
public bool IsClosedDialog { get; set; }
/// <summary>
/// 保存问题的时间
/// </summary>
public DateTime? SaveQuestionTime { get; set; }
/// <summary>
/// 不同意重阅原因
/// </summary>
public string DisagreeReason { get; set; } = string.Empty;
/// <summary>
/// 是否申请重阅
/// </summary>
public bool IsApplyHeavyReading { get; set; } = false;
/// <summary>
/// 保存结论时间
/// </summary>
public DateTime? SaveConclusionTime { get; set; }
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; } = string.Empty;
/// <summary>
/// 是否发送消息
/// </summary>
public bool IsSendMessage { get; set; } = false;
/// <summary>
/// 医学审核对话关闭原因
/// </summary>
public MedicalDialogClose MedicalDialogCloseEnum { get; set; }
/// <summary>
/// 对话关闭原因
/// </summary>
public string DialogCloseReason { get; set; } = string.Empty;
/// <summary>
/// 无效的 为True无效
/// </summary>
public bool IsInvalid { get; set; }
public bool IsAutoGenerate { get; set; }
// | 分割
public string PDRelationTaskIdListStr { get; set; } = string.Empty;
}

View File

@ -10,33 +10,33 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目阅片 - 一致性分析规则")]
[Table("TaskMedicalReviewRule")]
public class TaskMedicalReviewRule : BaseFullAuditEntity
{
[Comment("项目阅片 - 一致性分析规则")]
[Table("TaskMedicalReviewRule")]
public class TaskMedicalReviewRule :BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public User DoctorUser { get; set; }
#endregion
#region 导航属性
[JsonIgnore]
public User DoctorUser { get; set; }
#endregion
public Guid DoctorUserId { get; set; }
public bool IsEnable { get; set; }
public string Note { get; set; } = string.Empty;
public Guid DoctorUserId { get; set; }
public Guid TrialId { get; set; }
public bool IsEnable { get; set; }
public int PlanVisitCount { get; set; }
public string Note { get; set; } = string.Empty;
public int PlanJudgeCount { get; set; }
public int PlanGlobalCount { get; set; }
public Guid TrialId { get; set; }
public int PlanTumorCount { get; set; }
public int PlanVisitCount { get; set; }
public int PlanJudgeCount { get; set; }
public int PlanGlobalCount { get; set; }
public int PlanTumorCount { get; set; }
@ -44,6 +44,6 @@ namespace IRaCIS.Core.Domain.Models
}
}
}

View File

@ -8,25 +8,22 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 虚拟中心编号更新记录")]
[Table("TrialVirtualSiteCodeUpdate")]
public class TrialVirtualSiteCodeUpdate : BaseAddAuditEntity
{
[Comment("项目 - 虚拟中心编号更新记录")]
[Table("TrialVirtualSiteCodeUpdate")]
public class TrialVirtualSiteCodeUpdate : BaseAddAuditEntity
{
#region 导航属性
#region 导航属性
#endregion
#endregion
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
[StringLength(250)]
public string VirturalSiteCode { get; set; } = string.Empty;
[StringLength(250)]
public string VirturalSiteCode { get; set; } = string.Empty;
}
}

View File

@ -11,428 +11,427 @@ using System.Collections.Generic;
using System.Linq;
using EntityFrameworkCore.Projectables;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
///VisitTask
///</summary>
[Table("VisitTask")]
public class VisitTask : BaseFullAuditEntity
{
///<summary>
///VisitTask
///</summary>
[Table("VisitTask")]
public class VisitTask : BaseFullAuditEntity
#region 导航属性
[JsonIgnore]
public List<TaskStudy> TaskStudyList { get; set; }
public List<NoneDicomStudyFile> TaskNoneDicomStudyFileList { get; set; }
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
[ForeignKey("DoctorUserId")]
public User DoctorUser { get; set; }
[ForeignKey("SouceReadModuleId")]
public ReadModule ReadModule { get; set; }
[ForeignKey("SourceSubjectVisitId")]
public SubjectVisit SourceSubjectVisit { get; set; }
[JsonIgnore]
[ForeignKey("JudgeVisitTaskId")]
public VisitTask JudgeVisitTask { get; set; }
[JsonIgnore]
public Subject Subject { get; set; }
[JsonIgnore]
public List<TaskMedicalReview> TaskMedicalReviewList { get; set; }
[ForeignKey("JudgeResultTaskId")]
public VisitTask JudgeResultTask { get; set; }
//影像质量 等等第一层级问题答案
[JsonIgnore]
public List<ReadingTaskQuestionAnswer> ReadingTaskQuestionAnswerList { get; set; } = new List<ReadingTaskQuestionAnswer>();
//病灶表
[JsonIgnore]
public List<ReadingTableAnswerRowInfo> LesionList { get; set; } = new List<ReadingTableAnswerRowInfo>();
//病灶答案表
[JsonIgnore]
public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();
//重阅或者退回影像的记录中间表
[JsonIgnore]
public List<TaskInfluence> TaskInfluenceList { get; set; } = new List<TaskInfluence>();
[JsonIgnore]
//对于全局任务而言 才可以用的 关联的访视阅片结果
public List<ReadingGlobalTaskInfo> GlobalVisitResultList { get; set; } = new List<ReadingGlobalTaskInfo>();
/// <summary>
/// 裁判结果图片地址
/// </summary>
[NotMapped]
public List<string> JudgeResultImagePathList
{
#region 导航属性
[JsonIgnore]
public List<TaskStudy> TaskStudyList { get; set; }
public List<NoneDicomStudyFile> TaskNoneDicomStudyFileList { get; set; }
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
[ForeignKey("DoctorUserId")]
public User DoctorUser { get; set; }
[ForeignKey("SouceReadModuleId")]
public ReadModule ReadModule { get; set; }
[ForeignKey("SourceSubjectVisitId")]
public SubjectVisit SourceSubjectVisit { get; set; }
[JsonIgnore]
[ForeignKey("JudgeVisitTaskId")]
public VisitTask JudgeVisitTask { get; set; }
[JsonIgnore]
public Subject Subject { get; set; }
[JsonIgnore]
public List<TaskMedicalReview> TaskMedicalReviewList { get; set; }
[ForeignKey("JudgeResultTaskId")]
public VisitTask JudgeResultTask { get; set; }
//影像质量 等等第一层级问题答案
[JsonIgnore]
public List<ReadingTaskQuestionAnswer> ReadingTaskQuestionAnswerList { get; set; } = new List<ReadingTaskQuestionAnswer>();
//病灶表
[JsonIgnore]
public List<ReadingTableAnswerRowInfo> LesionList { get; set; } = new List<ReadingTableAnswerRowInfo>();
//病灶答案表
[JsonIgnore]
public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();
//重阅或者退回影像的记录中间表
[JsonIgnore]
public List<TaskInfluence> TaskInfluenceList { get; set; } = new List<TaskInfluence>();
[JsonIgnore]
//对于全局任务而言 才可以用的 关联的访视阅片结果
public List<ReadingGlobalTaskInfo> GlobalVisitResultList { get; set; } = new List<ReadingGlobalTaskInfo>();
/// <summary>
/// 裁判结果图片地址
/// </summary>
[NotMapped]
public List<string> JudgeResultImagePathList
get
{
get
try
{
return this.JudgeResultImagePath.Trim().Split(',').ToList();
}
catch (Exception)
{
try
{
return this.JudgeResultImagePath.Trim().Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
return new List<string>();
}
}
[JsonIgnore]
public Trial Trial { get; set; }
[JsonIgnore]
public List<UserFeedBack> UserFeedBackList { get; set; }
/// <summary>
/// 关联的访视任务ID (当前任务是访视任务的话会有自己)集合
/// </summary>
[NotMapped]
public List<Guid> RelatedVisitTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.RelatedVisitTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
/// <summary>
/// 报告任务关系 包含冻结
/// </summary>
[NotMapped]
public List<Guid> ReportRelatedTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.ReportRelatedTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
/// <summary>
/// 既往任务Id 不包括自己集合
/// </summary>
[NotMapped]
public List<Guid> PastResultTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.PastResultTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
#endregion
public string TaskName { get; set; } = string.Empty;
public string TaskBlindName { get; set; } = string.Empty;
//任务来源访视Id 方便回更访视读片状态
public Guid? SourceSubjectVisitId { get; set; }
public Guid? SouceReadModuleId { get; set; }
/// <summary> 任务类型 </summary>
public ReadingCategory ReadingCategory { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 分配时间
/// </summary>
public DateTime? AllocateTime { get; set; }
public Guid SubjectId { get; set; }
public int Code { get; set; }
public string TaskCode { get; set; } = string.Empty;
public bool IsUrgent { get; set; }
/// <summary>
/// 加急类型
/// </summary>
public TaskUrgentType? TaskUrgentType { get; set; }
/// <summary>
/// 任务加急类型
/// </summary>
public string TaskUrgentRemake { get; set; } = string.Empty;
/// <summary>
/// 是否和编辑加急状态
/// </summary>
public bool IsCanEditUrgentState { get; set; } = true;
/// <summary>
/// 0 代表 单重阅片 产生的任务 否则就是双重 任务 1 任务 2
/// </summary>
[Required]
public Arm ArmEnum { get; set; }
/// <summary>
/// 分配状态
/// </summary>
public TaskAllocationState TaskAllocationState { get; set; }
public TaskState TaskState { get; set; }
/// <summary>
/// 重阅状态
/// </summary>
public ReReadingApplyState ReReadingApplyState { get; set; }
public Guid? DoctorUserId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
//裁判任务的Id
public Guid? JudgeVisitTaskId { get; set; }
//任务阅片状态
public ReadingTaskState ReadingTaskState { get; set; }
//签名时间
public DateTime? SignTime { get; set; }
public DateTime? SuggesteFinishedTime { get; set; }
/// <summary>
/// 是否是重阅产生的,方便过滤数据
/// </summary>
public bool IsReReadingCreate { get; set; }
/// <summary>
/// PM 对该任务进行了回退 影响的任务不设置
/// </summary>
public bool IsPMSetBack { get; set; }
/// <summary> 裁判结果的任务ID </summary>
public Guid? JudgeResultTaskId { get; set; }
//随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定
public decimal VisitTaskNum { get; set; }
/// <summary>
/// 首次阅片时间
/// </summary>
public DateTime? FirstReadingTime { get; set; }
/// <summary>
/// 全局是否有更新
/// </summary>
public bool? IsGlobalHaveUpdate { get; set; }
/// <summary>
/// IR是否阅读临床数据
/// </summary>
public bool IsReadClinicalData { get; set; } = false;
/// <summary>
/// 关联的访视任务ID (当前任务是访视任务的话会有自己)
/// </summary>
public string RelatedVisitTaskIds { get; set; } = "[]";
/// <summary>
/// 报告任务关系 包含冻结
/// </summary>
public string ReportRelatedTaskIds { get; set; } = "[]";
/// <summary>
/// 既往任务Id 不包括自己
/// </summary>
public string PastResultTaskIds { get; set; } = "[]";
#region 裁判任务特有
[JsonIgnore]
//对于裁判任务而言,触发裁判的列表
public List<VisitTask> JudgeVisitList { get; set; }
/// <summary>
/// 裁判结果的备注
/// </summary>
public string JudgeResultRemark { get; set; } = string.Empty;
/// <summary>
/// 裁判结果的图片路径
/// </summary>
public string JudgeResultImagePath { get; set; } = string.Empty;
#endregion
#region 一致性分析的任务特有数据
/// <summary>
/// 阅片结果是否和原数据有差异
/// </summary>
public bool? IsAnalysisDiffToOriginalData { get; set; }
/// <summary>
/// 组件一致性和原Arm1是否有差异
/// </summary>
public bool? IsGroupDiffArm1 { get; set; }
/// <summary>
/// 组件一致性和原Arm2是否有差异
/// </summary>
public bool? IsGroupDiffArm2 { get; set; }
/// <summary>
/// 是否是一致性分析产生
/// </summary>
public bool IsAnalysisCreate { get; set; }
/// <summary>
/// 转换之前的任务Id(转化的任务才有该值)
/// </summary>
public Guid? BeforeConvertedTaskId { get; set; }
[Projectable]
[JsonIgnore]
public bool IsConvertedTask => BeforeConvertedTaskId != null || IsHistoryConvertedTask|| Subject.SubjectVisitTaskList.Where(t => t.TrialReadingCriterionId == TrialReadingCriterionId
&& t.DoctorUserId == DoctorUserId && t.BeforeConvertedTaskId != null
&& t.TaskState == TaskState.Effect
&& t.VisitTaskNum < VisitTaskNum
&& t.IsSelfAnalysis == IsSelfAnalysis
&& t.ArmEnum == ArmEnum
).Any();
/// <summary>
/// 是否修改了整体肿瘤评估
/// </summary>
public bool IsChangeTumorEvaluate { get; set; } = false;
/// <summary>
/// 重阅重置任务的 标注是转化之前的 还是转化之后的
/// </summary>
public bool IsHistoryConvertedTask { get; set; } = false;
/// <summary>
/// 是否是自身一致性
/// </summary>
public bool? IsSelfAnalysis { get; set; }
public string BlindSubjectCode { get; set; } = string.Empty;
public string BlindTrialSiteCode { get; set; } = string.Empty;
//一致性分析规则Id 用于最后统计
//public Guid? TaskConsistentRuleId { get; set; }
/// <summary>
/// 针对产生的一致性任务而言,这个字段存储的是原始任务
/// </summary>
public Guid? ConsistentAnalysisOriginalTaskId { get; set; }
#endregion
//临床数据
public bool IsNeedClinicalDataSign { get; set; }
/// <summary>
/// 临床数据是否签名
/// </summary>
public bool IsClinicalDataSign { get; set; }
/// <summary>
/// 前序任务需要签名 但是未签名
/// </summary>
public bool IsFrontTaskNeedSignButNotSign { get; set; }
public int ImageStudyState { get; set; }
}
[JsonIgnore]
public Trial Trial { get; set; }
[JsonIgnore]
public List<UserFeedBack> UserFeedBackList { get; set; }
/// <summary>
/// 关联的访视任务ID (当前任务是访视任务的话会有自己)集合
/// </summary>
[NotMapped]
public List<Guid> RelatedVisitTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.RelatedVisitTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
/// <summary>
/// 报告任务关系 包含冻结
/// </summary>
[NotMapped]
public List<Guid> ReportRelatedTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.ReportRelatedTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
/// <summary>
/// 既往任务Id 不包括自己集合
/// </summary>
[NotMapped]
public List<Guid> PastResultTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.PastResultTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
#endregion
public string TaskName { get; set; } = string.Empty;
public string TaskBlindName { get; set; } = string.Empty;
//任务来源访视Id 方便回更访视读片状态
public Guid? SourceSubjectVisitId { get; set; }
public Guid? SouceReadModuleId { get; set; }
/// <summary> 任务类型 </summary>
public ReadingCategory ReadingCategory { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 分配时间
/// </summary>
public DateTime? AllocateTime { get; set; }
public Guid SubjectId { get; set; }
public int Code { get; set; }
public string TaskCode { get; set; } = string.Empty;
public bool IsUrgent { get; set; }
/// <summary>
/// 加急类型
/// </summary>
public TaskUrgentType? TaskUrgentType { get; set; }
/// <summary>
/// 任务加急类型
/// </summary>
public string TaskUrgentRemake { get; set; } = string.Empty;
/// <summary>
/// 是否和编辑加急状态
/// </summary>
public bool IsCanEditUrgentState { get; set; } = true;
/// <summary>
/// 0 代表 单重阅片 产生的任务 否则就是双重 任务 1 任务 2
/// </summary>
[Required]
public Arm ArmEnum { get; set; }
/// <summary>
/// 分配状态
/// </summary>
public TaskAllocationState TaskAllocationState { get; set; }
public TaskState TaskState { get; set; }
/// <summary>
/// 重阅状态
/// </summary>
public ReReadingApplyState ReReadingApplyState { get; set; }
public Guid? DoctorUserId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
//裁判任务的Id
public Guid? JudgeVisitTaskId { get; set; }
//任务阅片状态
public ReadingTaskState ReadingTaskState { get; set; }
//签名时间
public DateTime? SignTime { get; set; }
public DateTime? SuggesteFinishedTime { get; set; }
/// <summary>
/// 是否是重阅产生的,方便过滤数据
/// </summary>
public bool IsReReadingCreate { get; set; }
/// <summary>
/// PM 对该任务进行了回退 影响的任务不设置
/// </summary>
public bool IsPMSetBack { get; set; }
/// <summary> 裁判结果的任务ID </summary>
public Guid? JudgeResultTaskId { get; set; }
//随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定
public decimal VisitTaskNum { get; set; }
/// <summary>
/// 首次阅片时间
/// </summary>
public DateTime? FirstReadingTime { get; set; }
/// <summary>
/// 全局是否有更新
/// </summary>
public bool? IsGlobalHaveUpdate { get; set; }
/// <summary>
/// IR是否阅读临床数据
/// </summary>
public bool IsReadClinicalData { get; set; } = false;
/// <summary>
/// 关联的访视任务ID (当前任务是访视任务的话会有自己)
/// </summary>
public string RelatedVisitTaskIds { get; set; } = "[]";
/// <summary>
/// 报告任务关系 包含冻结
/// </summary>
public string ReportRelatedTaskIds { get; set; } = "[]";
/// <summary>
/// 既往任务Id 不包括自己
/// </summary>
public string PastResultTaskIds { get; set; } = "[]";
#region 裁判任务特有
[JsonIgnore]
//对于裁判任务而言,触发裁判的列表
public List<VisitTask> JudgeVisitList { get; set; }
/// <summary>
/// 裁判结果的备注
/// </summary>
public string JudgeResultRemark { get; set; } = string.Empty;
/// <summary>
/// 裁判结果的图片路径
/// </summary>
public string JudgeResultImagePath { get; set; } = string.Empty;
#endregion
#region 一致性分析的任务特有数据
/// <summary>
/// 阅片结果是否和原数据有差异
/// </summary>
public bool? IsAnalysisDiffToOriginalData { get; set; }
/// <summary>
/// 组件一致性和原Arm1是否有差异
/// </summary>
public bool? IsGroupDiffArm1 { get; set; }
/// <summary>
/// 组件一致性和原Arm2是否有差异
/// </summary>
public bool? IsGroupDiffArm2 { get; set; }
/// <summary>
/// 是否是一致性分析产生
/// </summary>
public bool IsAnalysisCreate { get; set; }
/// <summary>
/// 转换之前的任务Id(转化的任务才有该值)
/// </summary>
public Guid? BeforeConvertedTaskId { get; set; }
[Projectable]
[JsonIgnore]
public bool IsConvertedTask => BeforeConvertedTaskId != null || IsHistoryConvertedTask || Subject.SubjectVisitTaskList.Where(t => t.TrialReadingCriterionId == TrialReadingCriterionId
&& t.DoctorUserId == DoctorUserId && t.BeforeConvertedTaskId != null
&& t.TaskState == TaskState.Effect
&& t.VisitTaskNum < VisitTaskNum
&& t.IsSelfAnalysis == IsSelfAnalysis
&& t.ArmEnum == ArmEnum
).Any();
/// <summary>
/// 是否修改了整体肿瘤评估
/// </summary>
public bool IsChangeTumorEvaluate { get; set; } = false;
/// <summary>
/// 重阅重置任务的 标注是转化之前的 还是转化之后的
/// </summary>
public bool IsHistoryConvertedTask { get; set; } = false;
/// <summary>
/// 是否是自身一致性
/// </summary>
public bool? IsSelfAnalysis { get; set; }
public string BlindSubjectCode { get; set; } = string.Empty;
public string BlindTrialSiteCode { get; set; } = string.Empty;
//一致性分析规则Id 用于最后统计
//public Guid? TaskConsistentRuleId { get; set; }
/// <summary>
/// 针对产生的一致性任务而言,这个字段存储的是原始任务
/// </summary>
public Guid? ConsistentAnalysisOriginalTaskId { get; set; }
#endregion
//临床数据
public bool IsNeedClinicalDataSign { get; set; }
/// <summary>
/// 临床数据是否签名
/// </summary>
public bool IsClinicalDataSign { get; set; }
/// <summary>
/// 前序任务需要签名 但是未签名
/// </summary>
public bool IsFrontTaskNeedSignButNotSign { get; set; }
public int ImageStudyState { get; set; }
}

View File

@ -4,21 +4,20 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Domain.BaseModel
namespace IRaCIS.Core.Domain.BaseModel;
/// <summary>
/// 领域实体事件基类
/// </summary>
public abstract class DomainEvent
{
/// <summary>
/// 领域实体事件基类
/// </summary>
public abstract class DomainEvent
{
}
public class FailedDomainEvent
{
public Guid Id { get; set; }
public string EventType { get; set; } = string.Empty;
public string EventData { get; set; } = string.Empty;
public DateTime FailedAt { get; set; }
}
}
public class FailedDomainEvent
{
public Guid Id { get; set; }
public string EventType { get; set; } = string.Empty;
public string EventData { get; set; } = string.Empty;
public DateTime FailedAt { get; set; }
}

View File

@ -5,124 +5,122 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Security.Cryptography;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public interface IAggregateRoot;
public interface IEntity<TKey>
{
public interface IAggregateRoot;
public interface IEntity<TKey>
{
abstract TKey Id { get; set; }
}
//针对dicom
public interface IEntitySeqId
{
public Guid SeqId { get; set; }
}
public abstract class Entity : IEntity<Guid>
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
#region 领域事件 仅仅允许通过提供的方法进行操作
[JsonIgnore]
private readonly List<DomainEvent> _domainEvents = [];
[JsonIgnore]
[NotMapped]
public IReadOnlyCollection<DomainEvent> DomainEvents => _domainEvents.AsReadOnly();
public void AddDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Add(domainEvent);
}
public void RemoveDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Remove(domainEvent);
}
public void ClearDomainEvents()
{
_domainEvents.Clear();
}
#endregion
}
#region 减少实体属性,增加基类
public abstract class BaseAddAuditEntity : Entity, IAuditAdd
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public virtual User CreateUser { get; set; }
}
public abstract class BaseAddDeleteAuditEntity : Entity, IAuditAdd, ISoftDelete
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseFullAuditEntity : Entity, IAuditUpdate, IAuditAdd
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseFullDeleteAuditEntity : Entity, IAuditUpdate, IAuditAdd, ISoftDelete
{
public Guid? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate
{
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
#endregion
abstract TKey Id { get; set; }
}
//针对dicom
public interface IEntitySeqId
{
public Guid SeqId { get; set; }
}
public abstract class Entity : IEntity<Guid>
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid Id { get; set; }
#region 领域事件 仅仅允许通过提供的方法进行操作
[JsonIgnore]
private readonly List<DomainEvent> _domainEvents = [];
[JsonIgnore]
[NotMapped]
public IReadOnlyCollection<DomainEvent> DomainEvents => _domainEvents.AsReadOnly();
public void AddDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Add(domainEvent);
}
public void RemoveDomainEvent(DomainEvent domainEvent)
{
_domainEvents.Remove(domainEvent);
}
public void ClearDomainEvents()
{
_domainEvents.Clear();
}
#endregion
}
#region 减少实体属性,增加基类
public abstract class BaseAddAuditEntity : Entity, IAuditAdd
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public virtual User CreateUser { get; set; }
}
public abstract class BaseAddDeleteAuditEntity : Entity, IAuditAdd, ISoftDelete
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseFullAuditEntity : Entity, IAuditUpdate, IAuditAdd
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseFullDeleteAuditEntity : Entity, IAuditUpdate, IAuditAdd, ISoftDelete
{
public Guid? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
[ForeignKey("CreateUserId")]
[JsonIgnore]
public User CreateUser { get; set; }
}
public abstract class BaseAuditUpdateEntity : Entity, IAuditUpdate
{
public Guid UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
#endregion

View File

@ -1,27 +1,23 @@
using System;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public interface IAuditAdd<TKey> where TKey : struct
{
public interface IAuditAdd<TKey> where TKey : struct
{
public TKey CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
}
public interface IAuditAdd : IAuditAdd<Guid>
{
}
public interface IAuditAddWithUserName : IAuditAdd<Guid>
{
public string CreateUser { get; set; }
}
public TKey CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
}
public interface IAuditAdd : IAuditAdd<Guid>
{
}
public interface IAuditAddWithUserName : IAuditAdd<Guid>
{
public string CreateUser { get; set; }
}

View File

@ -1,20 +1,14 @@
using System;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public interface IAuditUpdate<TKey> where TKey : struct
{
public interface IAuditUpdate<TKey> where TKey : struct
{
public TKey UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
public interface IAuditUpdate : IAuditUpdate<Guid>
{
}
public TKey UpdateUserId { get; set; }
public DateTime UpdateTime { get; set; }
}
public interface IAuditUpdate : IAuditUpdate<Guid>
{
}

View File

@ -1,19 +1,16 @@
using System;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public interface ISoftDelete<TKey> where TKey : struct
{
public interface ISoftDelete<TKey> where TKey : struct
{
public TKey? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public TKey? DeleteUserId { get; set; }
public bool IsDeleted { get; set; }
public DateTime? DeletedTime { get; set; }
}
public interface ISoftDelete : ISoftDelete<Guid>
{
}
public DateTime? DeletedTime { get; set; }
}
public interface ISoftDelete : ISoftDelete<Guid>
{
}

View File

@ -4,51 +4,48 @@
// 生成时间 2022-02-15 15:45:52
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using IRaCIS.Core.Domain.Share;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("系统 - 签名模板场景配置 (需要同步)")]
[Table("SystemBasicData")]
public class SystemBasicData : BaseFullAuditEntity
{
///<summary>
///SystemBasicData
///</summary>
[Table("SystemBasicData")]
public class SystemBasicData : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
[ForeignKey("ParentId")]
public SystemBasicData Parent { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("ParentId")]
public SystemBasicData Parent { get; set; }
#endregion
#endregion
public BasicDataTypeEnum BasicDataTypeEnum { get; set; }
public BasicDataTypeEnum BasicDataTypeEnum { get; set; }
[StringLength(512)]
public string Code { get; set; } = null!;
[StringLength(512)]
public string Code { get; set; } = null!;
[StringLength(512)]
public string Description { get; set; } = null!;
[StringLength(512)]
public string Description { get; set; } = null!;
public bool IsEnable { get; set; }
public bool IsEnable { get; set; }
[StringLength(400)]
public string Name { get; set; } = null!;
[StringLength(400)]
public string Name { get; set; } = null!;
public Guid? ParentId { get; set; }
public Guid? ParentId { get; set; }
public int ShowOrder { get; set; }
public int ShowOrder { get; set; }
[StringLength(512)]
public string Value { get; set; } = null!;
[StringLength(512)]
public string Value { get; set; } = null!;
[StringLength(512)]
public string ValueCN { get; set; } = null!;
[StringLength(512)]
public string ValueCN { get; set; } = null!;
}
}
}

View File

@ -1,26 +0,0 @@
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
/// <summary>
/// 用户与医生管理关联关系表 - 实体
/// </summary>
[Table("UserDoctor")]
public partial class UserDoctor : Entity
{
#region 导航属性
[JsonIgnore]
public Doctor Doctor { get; set; }
[JsonIgnore]
public User User { get; set; }
#endregion
[ForeignKey("User")]
public Guid UserId { get; set; }
[ForeignKey("Doctor")]
public Guid DoctorId { get; set; }
}
}

View File

@ -2,19 +2,18 @@
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("医生 - 假期安排")]
[Table("Vacation")]
public class Vacation : BaseFullAuditEntity
{
[Comment("医生 - 假期安排")]
[Table("Vacation")]
public class Vacation : BaseFullAuditEntity
{
#region 导航属性
#region 导航属性
#endregion
public Guid DoctorId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int Status { get; set; } = 1;
#endregion
public Guid DoctorId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int Status { get; set; } = 1;
}
}

View File

@ -7,25 +7,25 @@ using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 项目文档签署记录")]
[Table("TrialDocConfirmedUser")]
public class TrialDocConfirmedUser : BaseAddDeleteAuditEntity
{
[Comment("项目 - 项目文档签署记录")]
[Table("TrialDocConfirmedUser")]
public class TrialDocConfirmedUser : BaseAddDeleteAuditEntity
{
#region 导航属性
#region 导航属性
[JsonIgnore]
[ForeignKey("ConfirmUserId")]
public User User { get; set; }
[JsonIgnore]
public TrialDocument TrialDocument { get; set; }
#endregion
[JsonIgnore]
[ForeignKey("ConfirmUserId")]
public User User { get; set; }
[JsonIgnore]
public TrialDocument TrialDocument { get; set; }
#endregion
public Guid TrialDocumentId { get; set; }
public Guid TrialDocumentId { get; set; }
public DateTime? ConfirmTime { get; set; }
@ -36,12 +36,12 @@ namespace IRaCIS.Core.Domain.Models
public DateTime? SignFirstViewTime { get; set; }
[StringLength(512)]
public string SignText { get; set; } = string.Empty;
[StringLength(512)]
public string SignText { get; set; } = string.Empty;
}
}

View File

@ -8,24 +8,24 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 项目邮件收发配置用户类型")]
[Table("TrialEmailNoticeUser")]
public class TrialEmailNoticeUser : Entity
{
[Comment("项目 - 项目邮件收发配置用户类型")]
[Table("TrialEmailNoticeUser")]
public class TrialEmailNoticeUser : Entity
{
#region 导航属性
[JsonIgnore]
public TrialEmailNoticeConfig TrialEmailNoticeConfig { get; set; }
#endregion
#region 导航属性
[JsonIgnore]
public TrialEmailNoticeConfig TrialEmailNoticeConfig { get; set; }
#endregion
public UserTypeEnum UserType { get; set; }
public Guid TrialEmailNoticeConfigId { get; set; }
public UserTypeEnum UserType { get; set; }
public EmailUserType EmailUserType { get; set; }
}
public Guid TrialEmailNoticeConfigId { get; set; }
public EmailUserType EmailUserType { get; set; }
}
}

View File

@ -2,15 +2,14 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
[Table("CalculateTask")]
public class CalculateTask : Entity
{
public Guid ReviewerId { get; set; }
namespace IRaCIS.Core.Domain.Models;
[Required]
public string YearMonth { get; set; } = string.Empty;
public bool IsLock { get; set; }
}
[Table("CalculateTask")]
public class CalculateTask : Entity
{
public Guid ReviewerId { get; set; }
[Required]
public string YearMonth { get; set; } = string.Empty;
public bool IsLock { get; set; }
}

View File

@ -4,109 +4,108 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Table("DicomStudy")]
public class DicomStudy : BaseFullDeleteAuditEntity, IEntitySeqId
{
[Table("DicomStudy")]
public class DicomStudy : BaseFullDeleteAuditEntity, IEntitySeqId
{
#region 导航属性
//一个检查 由多个人管理
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
[JsonIgnore]
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
[JsonIgnore]
public List<DicomSeries> SeriesList { get; set; }
#region 导航属性
//一个检查 由多个人管理
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
[JsonIgnore]
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
[JsonIgnore]
public List<DicomSeries> SeriesList { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
[JsonIgnore]
[ForeignKey("SubjectVisitId")]
public SubjectVisit SubjectVisit { get; set; }
[JsonIgnore]
[ForeignKey("SubjectVisitId")]
public SubjectVisit SubjectVisit { get; set; }
[JsonIgnore]
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
public List<ReadingConsistentClinicalData> ReadingConsistentClinicalDataList { get; set; }
[JsonIgnore]
public List<ReadingConsistentClinicalData> ReadingConsistentClinicalDataList { get; set; }
[JsonIgnore]
public List<SubjectCriteriaEvaluationVisitStudyFilter> SubjectCriteriaEvaluationVisitStudyFilterList { get; set; }
[JsonIgnore]
public List<SubjectCriteriaEvaluationVisitStudyFilter> SubjectCriteriaEvaluationVisitStudyFilterList { get; set; }
#endregion
#endregion
public string AccessionNumber { get; set; } = null!;
public string AccessionNumber { get; set; } = null!;
public string AcquisitionNumber { get; set; } = null!;
public string AcquisitionNumber { get; set; } = null!;
public string AcquisitionTime { get; set; } = null!;
public string AcquisitionTime { get; set; } = null!;
[StringLength(512)]
public string BodyPartExamined { get; set; } = null!;
[StringLength(512)]
public string BodyPartExamined { get; set; } = null!;
public string BodyPartForEdit { get; set; } = null!;
public string BodyPartForEdit { get; set; } = null!;
public int Code { get; set; }
public int Code { get; set; }
[StringLength(1000)]
public string Description { get; set; } = null!;
[StringLength(1000)]
public string Description { get; set; } = null!;
public int InstanceCount { get; set; }
public int InstanceCount { get; set; }
[StringLength(400)]
public string InstitutionName { get; set; } = null!;
[StringLength(400)]
public string InstitutionName { get; set; } = null!;
public bool IsDoubleReview { get; set; }
public bool IsDoubleReview { get; set; }
public bool IsFromPACS { get; set; }
public bool IsFromPACS { get; set; }
public string Modalities { get; set; } = null!;
public string Modalities { get; set; } = null!;
public string ModalityForEdit { get; set; } = null!;
public string ModalityForEdit { get; set; } = null!;
public string PatientAge { get; set; } = null!;
public string PatientAge { get; set; } = null!;
public string PatientBirthDate { get; set; } = null!;
public string PatientBirthDate { get; set; } = null!;
public string PatientId { get; set; } = null!;
public string PatientId { get; set; } = null!;
public string PatientName { get; set; } = null!;
public string PatientName { get; set; } = null!;
public string PatientSex { get; set; } = null!;
public string PatientSex { get; set; } = null!;
[Comment(" 序列Id 避免内存移动")]
public Guid SeqId { get; set; }
[Comment(" 序列Id 避免内存移动")]
public Guid SeqId { get; set; }
public int SeriesCount { get; set; }
public int SeriesCount { get; set; }
[StringLength(400)]
public string StudyCode { get; set; } = null!;
[StringLength(400)]
public string StudyCode { get; set; } = null!;
[Comment(" DicomTag.StudyID")]
public string StudyId { get; set; } = null!;
[Comment(" DicomTag.StudyID")]
public string StudyId { get; set; } = null!;
[StringLength(500)]
public string StudyInstanceUid { get; set; } = null!;
[StringLength(500)]
public string StudyInstanceUid { get; set; } = null!;
public DateTime? StudyTime { get; set; }
public DateTime? StudyTime { get; set; }
public Guid SubjectId { get; set; }
public Guid SubjectId { get; set; }
public Guid SubjectVisitId { get; set; }
public Guid SubjectVisitId { get; set; }
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public string TriggerTime { get; set; } = null!;
public string TriggerTime { get; set; } = null!;
[Comment(" 上传时间")]
public DateTime? UploadedTime { get; set; }
[Comment(" 上传时间")]
public DateTime? UploadedTime { get; set; }
public string Uploader { get; set; } = null!;
public string Uploader { get; set; } = null!;
}
}

View File

@ -3,75 +3,74 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Table("SCPInstance")]
public class SCPInstance : BaseFullAuditEntity, IEntitySeqId
{
[Table("SCPInstance")]
public class SCPInstance : BaseFullAuditEntity, IEntitySeqId
{
#region 导航属性
[JsonIgnore]
[ForeignKey("SeriesId")]
public SCPSeries SCPSeries { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("SeriesId")]
public SCPSeries SCPSeries { get; set; }
[JsonIgnore]
[ForeignKey("StudyId")]
public SCPStudy SCPStudy { get; set; }
#endregion
[JsonIgnore]
[ForeignKey("StudyId")]
public SCPStudy SCPStudy { get; set; }
#endregion
public bool Anonymize { get; set; }
public bool Anonymize { get; set; }
public bool CPIStatus { get; set; }
public bool CPIStatus { get; set; }
public long? FileSize { get; set; }
public long? FileSize { get; set; }
[StringLength(500)]
public string FrameOfReferenceUID { get; set; } = null!;
[StringLength(500)]
public string FrameOfReferenceUID { get; set; } = null!;
public int ImageColumns { get; set; }
public int ImageColumns { get; set; }
public int ImageRows { get; set; }
public int ImageRows { get; set; }
[StringLength(400)]
public string ImagerPixelSpacing { get; set; } = null!;
[StringLength(400)]
public string ImagerPixelSpacing { get; set; } = null!;
public int InstanceNumber { get; set; }
public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; }
public DateTime? InstanceTime { get; set; }
public int NumberOfFrames { get; set; }
public int NumberOfFrames { get; set; }
[MaxLength]
[Unicode(false)]
public string Path { get; set; } = null!;
[MaxLength]
[Unicode(false)]
public string Path { get; set; } = null!;
[StringLength(400)]
public string PixelSpacing { get; set; } = null!;
[StringLength(400)]
public string PixelSpacing { get; set; } = null!;
public Guid SeqId { get; set; }
public Guid SeqId { get; set; }
public Guid SeriesId { get; set; }
public Guid SeriesId { get; set; }
public string SeriesInstanceUid { get; set; } = null!;
public string SeriesInstanceUid { get; set; } = null!;
public int SliceLocation { get; set; }
public int SliceLocation { get; set; }
[StringLength(400)]
public string SliceThickness { get; set; } = null!;
[StringLength(400)]
public string SliceThickness { get; set; } = null!;
public string SopInstanceUid { get; set; } = null!;
public string SopInstanceUid { get; set; } = null!;
public Guid StudyId { get; set; }
public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; } = null!;
public string StudyInstanceUid { get; set; } = null!;
[StringLength(400)]
public string WindowCenter { get; set; } = null!;
[StringLength(400)]
public string WindowCenter { get; set; } = null!;
[StringLength(400)]
public string WindowWidth { get; set; } = null!;
[StringLength(400)]
public string WindowWidth { get; set; } = null!;
}
}

View File

@ -2,56 +2,55 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public class TaskInstance : BaseFullAuditEntity, IEntitySeqId
{
public class TaskInstance : BaseFullAuditEntity, IEntitySeqId
{
#region 导航属性
[JsonIgnore]
[ForeignKey("SeriesId")]
public TaskSeries TaskSeries { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("SeriesId")]
public TaskSeries TaskSeries { get; set; }
[JsonIgnore]
[ForeignKey("StudyId")]
public TaskStudy TaskStudy { get; set; }
#endregion
[JsonIgnore]
[ForeignKey("StudyId")]
public TaskStudy TaskStudy { get; set; }
#endregion
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } = string.Empty;
public string SopInstanceUid { get; set; } = string.Empty;
public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; }
public int ImageRows { get; set; }
public int ImageColumns { get; set; }
public int SliceLocation { get; set; }
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } = string.Empty;
public string SopInstanceUid { get; set; } = string.Empty;
public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; }
public int ImageRows { get; set; }
public int ImageColumns { get; set; }
public int SliceLocation { get; set; }
public string SliceThickness { get; set; } = string.Empty;
public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; } = string.Empty;
public string SliceThickness { get; set; } = string.Empty;
public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } = string.Empty;
public string FrameOfReferenceUID { get; set; } = string.Empty;
public string WindowCenter { get; set; } = string.Empty;
public string WindowWidth { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } = string.Empty;
public string FrameOfReferenceUID { get; set; } = string.Empty;
public string WindowCenter { get; set; } = string.Empty;
public string WindowWidth { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid VisitTaskId { get; set; }
public bool Anonymize { get; set; }
public string Path { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid VisitTaskId { get; set; }
public bool Anonymize { get; set; }
public string Path { get; set; } = string.Empty;
public string HtmlPath { get; set; }=string.Empty;
public string HtmlPath { get; set; }=string.Empty;
public long? FileSize { get; set; }
public long? FileSize { get; set; }
}
}

View File

@ -3,53 +3,52 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public class TaskSeries : BaseFullDeleteAuditEntity, IEntitySeqId
{
public class TaskSeries : BaseFullDeleteAuditEntity, IEntitySeqId
{
#region 导航属性
[JsonIgnore]
[ForeignKey("StudyId")]
public TaskStudy TaskStudy { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("StudyId")]
public TaskStudy TaskStudy { get; set; }
[JsonIgnore]
public List<TaskInstance> InstanceList { get; set; }
#endregion
[JsonIgnore]
public List<TaskInstance> InstanceList { get; set; }
#endregion
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; } = String.Empty;
public string SeriesInstanceUid { get; set; } = String.Empty;
public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; }
public string Modality { get; set; } = String.Empty;
public string Description { get; set; } = String.Empty;
public int InstanceCount { get; set; }
public string SliceThickness { get; set; } = String.Empty;
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; } = String.Empty;
public string SeriesInstanceUid { get; set; } = String.Empty;
public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; }
public string Modality { get; set; } = String.Empty;
public string Description { get; set; } = String.Empty;
public int InstanceCount { get; set; }
public string SliceThickness { get; set; } = String.Empty;
public string ImagePositionPatient { get; set; } = String.Empty;
public string ImageOrientationPatient { get; set; } = String.Empty;
public string BodyPartExamined { get; set; } = String.Empty;
public string SequenceName { get; set; } = String.Empty;
public string ProtocolName { get; set; } = String.Empty;
public string ImagerPixelSpacing { get; set; } = String.Empty;
public string ImagePositionPatient { get; set; } = String.Empty;
public string ImageOrientationPatient { get; set; } = String.Empty;
public string BodyPartExamined { get; set; } = String.Empty;
public string SequenceName { get; set; } = String.Empty;
public string ProtocolName { get; set; } = String.Empty;
public string ImagerPixelSpacing { get; set; } = String.Empty;
public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty;
public string TriggerTime { get; set; } = string.Empty;
public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty;
public string TriggerTime { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid VisitTaskId { get; set; }
public string BodyPartForEdit { get; set; } = string.Empty;
public string BodyPartForEdit { get; set; } = string.Empty;
public bool IsReading { get; set; } = true;
public bool IsReading { get; set; } = true;
public string ImageResizePath { get; set; }=string.Empty;
public string ImageResizePath { get; set; }=string.Empty;
}
}

View File

@ -3,82 +3,81 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public class TaskStudy : BaseFullDeleteAuditEntity, IEntitySeqId
{
public class TaskStudy : BaseFullDeleteAuditEntity, IEntitySeqId
{
#region 导航属性
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
[JsonIgnore]
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
[JsonIgnore]
public List<TaskInstance> InstanceList { get; set; }
[JsonIgnore]
public List<TaskInstance> InstanceList { get; set; }
[JsonIgnore]
public List<TaskSeries> SeriesList { get; set; }
[JsonIgnore]
public List<TaskSeries> SeriesList { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
#endregion
#endregion
public Guid SeqId { get; set; }
public Guid SeqId { get; set; }
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid SubjectId { get; set; }
public Guid VisitTaskId { get; set; }
public Guid VisitTaskId { get; set; }
public int Code { get; set; } = 0;
public int Code { get; set; } = 0;
public string StudyCode { get; set; } = string.Empty;
public string StudyCode { get; set; } = string.Empty;
public string StudyInstanceUid { get; set; } = string.Empty;
public DateTime? StudyTime { get; set; }
public string Modalities { get; set; } = string.Empty;
public string StudyInstanceUid { get; set; } = string.Empty;
public DateTime? StudyTime { get; set; }
public string Modalities { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public int SeriesCount { get; set; } = 0;
public int InstanceCount { get; set; } = 0;
public string Description { get; set; } = string.Empty;
public int SeriesCount { get; set; } = 0;
public int InstanceCount { get; set; } = 0;
public string InstitutionName { get; set; } = string.Empty;
public string PatientId { get; set; } = string.Empty;
public string PatientName { get; set; } = string.Empty;
public string PatientAge { get; set; } = string.Empty;
public string PatientSex { get; set; } = string.Empty;
public string InstitutionName { get; set; } = string.Empty;
public string PatientId { get; set; } = string.Empty;
public string PatientName { get; set; } = string.Empty;
public string PatientAge { get; set; } = string.Empty;
public string PatientSex { get; set; } = string.Empty;
public string StudyId { get; set; } = string.Empty;
public string AccessionNumber { get; set; } = string.Empty;
public string PatientBirthDate { get; set; } = string.Empty;
public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty;
public string TriggerTime { get; set; } = string.Empty;
public string StudyId { get; set; } = string.Empty;
public string AccessionNumber { get; set; } = string.Empty;
public string PatientBirthDate { get; set; } = string.Empty;
public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty;
public string TriggerTime { get; set; } = string.Empty;
public string BodyPartExamined { get; set; } = string.Empty;
public string BodyPartExamined { get; set; } = string.Empty;
public string BodyPartForEdit { get; set; } = string.Empty;
public string BodyPartForEdit { get; set; } = string.Empty;
public string ModalityForEdit { get; set; } = string.Empty;
public string ModalityForEdit { get; set; } = string.Empty;
//0 未知 1 单重 2 双重
public bool IsDoubleReview { get; set; }
//0 未知 1 单重 2 双重
public bool IsDoubleReview { get; set; }
}
}

View File

@ -8,49 +8,48 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 影像下载监控")]
[Table("TrialImageDownload")]
public class TrialImageDownload : BaseFullAuditEntity
{
[Comment("项目 - 影像下载监控")]
[Table("TrialImageDownload")]
public class TrialImageDownload : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public Trial Trial { get; set; }
#region 导航属性
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
#endregion
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public string SubjectCode { get; set; }
public string SubjectCode { get; set; }
public bool IsSuccess { get; set; }
public bool IsSuccess { get; set; }
public DateTime DownloadStartTime { get; set; }
public DateTime? DownloadEndTime { get; set; }
public DateTime DownloadStartTime { get; set; }
public DateTime? DownloadEndTime { get; set; }
[StringLength(400)]
public string VisitName { get; set; }
[StringLength(400)]
public string VisitName { get; set; }
public ImageType ImageType { get; set; }
public ImageType ImageType { get; set; }
public int NoneDicomStudyCount { get; set; }
public int NoneDicomStudyCount { get; set; }
public int DicomStudyCount { get; set; }
public int DicomStudyCount { get; set; }
public int ImageCount { get; set; }
public long ImageSize { get; set; }
public int ImageCount { get; set; }
public long ImageSize { get; set; }
public string IP { get; set; }
public string IP { get; set; }
}
public enum ImageType
{
Dicom = 1,
NoneDicom = 2,
DicomAndNoneDicom = 3
};
}
public enum ImageType
{
Dicom = 1,
NoneDicom = 2,
DicomAndNoneDicom = 3
};

View File

@ -4,58 +4,57 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("后台 - 系统菜单 (需要同步)")]
[Table("Menu")]
public class Menu : BaseFullAuditEntity
{
[Comment("后台 - 系统菜单 (需要同步)")]
[Table("Menu")]
public class Menu : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public List<UserTypeMenu> UserTypeMenuList { get; set; }
#endregion
#region 导航属性
[JsonIgnore]
public List<UserTypeMenu> UserTypeMenuList { get; set; }
#endregion
public string ApiPath { get; set; } = null!;
public string ApiPath { get; set; } = null!;
[StringLength(400)]
public string Component { get; set; } = null!;
[StringLength(400)]
public string Component { get; set; } = null!;
public bool IsCache { get; set; }
public bool IsCache { get; set; }
public bool IsDisplay { get; set; }
public bool IsDisplay { get; set; }
public bool IsEnable { get; set; }
public bool IsEnable { get; set; }
public bool IsExternalLink { get; set; }
public bool IsExternalLink { get; set; }
public bool? IsInTabDisplay { get; set; }
public bool? IsInTabDisplay { get; set; }
public string LanguageMark { get; set; } = null!;
public string LanguageMark { get; set; } = null!;
public string MenuIcon { get; set; } = null!;
public string MenuIcon { get; set; } = null!;
public string MenuName { get; set; } = null!;
[Comment("类型M目录 C菜单 F按钮 L链接")]
public string MenuType { get; set; } = null!;
public string MenuName { get; set; } = null!;
[Comment("类型M目录 C菜单 F按钮 L链接")]
public string MenuType { get; set; } = null!;
public string Meta { get; set; } = null!;
public string Meta { get; set; } = null!;
[MaxLength]
public string Note { get; set; }
[MaxLength]
public string Note { get; set; }
public Guid ParentId { get; set; }
public Guid ParentId { get; set; }
[Comment("路由地址")]
[StringLength(500)]
public string Path { get; set; } = null!;
[Comment("路由地址")]
[StringLength(500)]
public string Path { get; set; } = null!;
public string PermissionStr { get; set; } = null!;
public string PermissionStr { get; set; } = null!;
public string Redirect { get; set; } = null!;
public string Redirect { get; set; } = null!;
public int ShowOrder { get; set; }
public int ShowOrder { get; set; }
}
}

View File

@ -8,27 +8,25 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("后台 - 系统通知用户类型配置")]
[Table("SystemNoticeUserType")]
public class SystemNoticeUserType : BaseAddAuditEntity
{
[Comment("后台 - 系统通知用户类型配置")]
[Table("SystemNoticeUserType")]
public class SystemNoticeUserType : BaseAddAuditEntity
{
#region 导航属性
[JsonIgnore]
#region 导航属性
[JsonIgnore]
[ForeignKey("UserTypeId")]
public UserType NoticeUserType { get; set; }
#endregion
[ForeignKey("UserTypeId")]
public UserType NoticeUserType { get; set; }
#endregion
public Guid SystemNoticeId { get; set; }
public Guid SystemNoticeId { get; set; }
public Guid UserTypeId { get; set; }
public Guid UserTypeId { get; set; }
}
}

View File

@ -2,20 +2,19 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Table("Role")]
public partial class Role : BaseFullAuditEntity
{
[Table("Role")]
public partial class Role : BaseFullAuditEntity
{
#region 导航属性
#region 导航属性
#endregion
public string RoleName { get; set; } = string.Empty;
#endregion
public string RoleName { get; set; } = string.Empty;
public string RoleDescription { get; set; } = string.Empty;
public string RoleDescription { get; set; } = string.Empty;
public int Status { get; set; }
public int PrivilegeLevel { get; set; } //权限级别
public int Status { get; set; }
public int PrivilegeLevel { get; set; } //权限级别
}
}

View File

@ -5,76 +5,76 @@ using System.ComponentModel.DataAnnotations.Schema;
using EntityFrameworkCore.Projectables;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Table("User")]
public partial class User : BaseFullAuditEntity
{
[Table("User")]
public partial class User : BaseFullAuditEntity
{
#region 导航属性
[ForeignKey("UserTypeId")]
public UserType UserTypeRole { get; set; }
#region 导航属性
[ForeignKey("UserTypeId")]
public UserType UserTypeRole { get; set; }
[JsonIgnore]
public List<SystemDocConfirmedUser> SystemDocConfirmedList { get; set; }
[JsonIgnore]
public List<SystemDocConfirmedUser> SystemDocConfirmedList { get; set; }
[JsonIgnore]
public List<TrialUser> UserTrials { get; set; } = new List<TrialUser>();
[JsonIgnore]
public List<TrialUser> UserTrials { get; set; } = new List<TrialUser>();
[JsonIgnore]
public List<VisitTask> VisitTaskList { get; set; }
[JsonIgnore]
public List<VisitTask> VisitTaskList { get; set; }
#endregion
#endregion
[StringLength(255)]
public string UserName { get; set; } = String.Empty;
[StringLength(255)]
public string UserName { get; set; } = String.Empty;
[StringLength(255)]
public string Password { get; set; } = String.Empty;
[StringLength(255)]
[StringLength(255)]
public string Password { get; set; } = String.Empty;
[StringLength(255)]
public string LastName { get; set; } = String.Empty;
public string FirstName { get; set; } = String.Empty;
public string LastName { get; set; } = String.Empty;
public string FirstName { get; set; } = String.Empty;
public string Phone { get; set; } = string.Empty;
public string EMail { get; set; } = string.Empty;
public int? Sex { get; set; }
public UserStateEnum Status { get; set; } = UserStateEnum.Enable;
public string Phone { get; set; } = string.Empty;
public string EMail { get; set; } = string.Empty;
public int? Sex { get; set; }
public UserStateEnum Status { get; set; } = UserStateEnum.Enable;
public DateTime? LastLoginTime { get; set; }
public DateTime? LastLoginTime { get; set; }
public Guid UserTypeId { get; set; } = Guid.Empty;
public Guid UserTypeId { get; set; } = Guid.Empty;
// 内部用户 外部用户
public bool IsZhiZhun { get; set; }
// 内部用户 外部用户
public bool IsZhiZhun { get; set; }
public UserTypeEnum UserTypeEnum { get; set; }
public UserTypeEnum UserTypeEnum { get; set; }
public string OrganizationName { get; set; } = String.Empty;
public string OrganizationName { get; set; } = String.Empty;
public bool PasswordChanged { get; set; }
public bool PasswordChanged { get; set; }
public string UserCode { get; set; } = string.Empty;
public string UserCode { get; set; } = string.Empty;
public int Code { get; set; }
public int Code { get; set; }
public string DepartmentName { get; set; } = String.Empty;
public string DepartmentName { get; set; } = String.Empty;
public string PositionName { get; set; } = String.Empty;
public string PositionName { get; set; } = String.Empty;
public bool IsFirstAdd { get; set; } = true;
public bool IsFirstAdd { get; set; } = true;
public string EmailToken { get; set; } = string.Empty;
public string EmailToken { get; set; } = string.Empty;
/// <summary>
/// 上一次修改密码的时间
/// </summary>
public DateTime? LastChangePassWordTime { get; set; }
/// <summary>
/// 上一次修改密码的时间
/// </summary>
public DateTime? LastChangePassWordTime { get; set; }
/// <summary>
/// LastLoginIP
@ -84,16 +84,15 @@ namespace IRaCIS.Core.Domain.Models
//医生生成账号后,会有值
public Guid? DoctorId { get; set; }
public bool IsTestUser { get; set; }
public bool IsTestUser { get; set; }
/// <summary>
/// 自动切换下一个任务
/// </summary>
public bool AutoCutNextTask { get; set; } = false;
/// <summary>
/// 自动切换下一个任务
/// </summary>
public bool AutoCutNextTask { get; set; } = false;
[Projectable]
public string FullName => LastName + " / " + FirstName;
[Projectable]
public string FullName => LastName + " / " + FirstName;
//[Projectable] public string FullName => $"{LastName} / {FirstName}";
}
//[Projectable] public string FullName => $"{LastName} / {FirstName}";
}

View File

@ -10,33 +10,30 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 参与附加评估标准配置")]
[Table("SubjectCriteriaEvaluation")]
public class SubjectCriteriaEvaluation : BaseFullAuditEntity
{
[Comment("受试者 - 参与附加评估标准配置")]
[Table("SubjectCriteriaEvaluation")]
public class SubjectCriteriaEvaluation : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public Subject subject { get; set; }
#region 导航属性
[JsonIgnore]
public Subject subject { get; set; }
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
[JsonIgnore]
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
#endregion
[JsonIgnore]
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
#endregion
[Comment(" 是否参与评估")]
public bool IsJoinEvaluation { get; set; }
[Comment(" 是否参与评估")]
public bool IsJoinEvaluation { get; set; }
public Guid SubjectId { get; set; }
public Guid SubjectId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
}
public Guid TrialReadingCriterionId { get; set; }
}

View File

@ -8,46 +8,44 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 附加评估标准影像筛选检查")]
[Table("SubjectCriteriaEvaluationVisitStudyFilter")]
public class SubjectCriteriaEvaluationVisitStudyFilter : BaseFullAuditEntity
{
[Comment("受试者 - 附加评估标准影像筛选检查")]
[Table("SubjectCriteriaEvaluationVisitStudyFilter")]
public class SubjectCriteriaEvaluationVisitStudyFilter : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
[JsonIgnore]
public SubjectVisit SubjectVisit { get; set; }
[JsonIgnore]
public SubjectVisit SubjectVisit { get; set; }
[ForeignKey("SeriesId")]
[JsonIgnore]
public DicomSeries Series { get; set; }
[ForeignKey("SeriesId")]
[JsonIgnore]
public DicomSeries Series { get; set; }
[ForeignKey("StudyId")]
[JsonIgnore]
public DicomStudy Study { get; set; }
#endregion
[ForeignKey("StudyId")]
[JsonIgnore]
public DicomStudy Study { get; set; }
#endregion
[Comment(" 是否确认")]
public bool IsConfirmed { get; set; }
[Comment(" 是否确认")]
public bool IsConfirmed { get; set; }
public bool IsReading { get; set; }
public bool IsReading { get; set; }
public Guid SeriesId { get; set; }
public Guid SeriesId { get; set; }
public Guid StudyId { get; set; }
public Guid StudyId { get; set; }
public Guid SubjectVisitId { get; set; }
public Guid SubjectVisitId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
}
}

View File

@ -6,35 +6,31 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
{
[Comment("项目阅片 - 临床数据PDF文件")]
[Table("ReadingClinicalDataPDF")]
public class ReadingClinicalDataPDF : BaseAddAuditEntity
namespace IRaCIS.Core.Domain.Models;
[Comment("项目阅片 - 临床数据PDF文件")]
[Table("ReadingClinicalDataPDF")]
public class ReadingClinicalDataPDF : BaseAddAuditEntity
{
#region 导航属性
[JsonIgnore]
[ForeignKey("ReadingClinicalDataId")]
public ReadingClinicalData ReadingClinicalData { get; set; }
#endregion
#region 导航属性
[JsonIgnore]
[ForeignKey("ReadingClinicalDataId")]
public ReadingClinicalData ReadingClinicalData { get; set; }
#endregion
[StringLength(1000)]
public string FileName { get; set; } = null!;
[StringLength(1000)]
public string FileName { get; set; } = null!;
[StringLength(2000)]
public string Path { get; set; } = null!;
[StringLength(2000)]
public string Path { get; set; } = null!;
[Comment("阅片临床数据ID")]
public Guid ReadingClinicalDataId { get; set; }
[Comment("阅片临床数据ID")]
public Guid ReadingClinicalDataId { get; set; }
public int Size { get; set; }
public int Size { get; set; }
public string Type { get; set; } = null!;
}
public string Type { get; set; } = null!;
}
}

View File

@ -8,30 +8,28 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目标准 - 临床数据配置")]
[Table("TrialClinicalDataSetCriterion")]
public class TrialClinicalDataSetCriterion : BaseFullAuditEntity
{
[Comment("项目标准 - 临床数据配置")]
[Table("TrialClinicalDataSetCriterion")]
public class TrialClinicalDataSetCriterion : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
#region 导航属性
[JsonIgnore]
[ForeignKey("TrialClinicalDataSetId")]
public ClinicalDataTrialSet TrialClinicalDataSet { get; set; }
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#endregion
[ForeignKey("TrialClinicalDataSetId")]
public ClinicalDataTrialSet TrialClinicalDataSet { get; set; }
[JsonIgnore]
[ForeignKey("TrialReadingCriterionId")]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#endregion
public Guid TrialClinicalDataSetId { get; set; }
public Guid TrialClinicalDataSetId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
}
}

View File

@ -10,131 +10,131 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.Linq;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
/// 项目临床表格问题
///</summary>
[Table("TrialClinicalTableQuestion")]
public class TrialClinicalTableQuestion : BaseAddAuditEntity
{
///<summary>
/// 项目临床表格问题
///</summary>
[Table("TrialClinicalTableQuestion")]
public class TrialClinicalTableQuestion : BaseAddAuditEntity
#region 导航属性
[NotMapped]
public List<string> RelevanceValueList
{
#region 导航属性
[NotMapped]
public List<string> RelevanceValueList
get
{
get
try
{
try
{
return this.RelevanceValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
return this.RelevanceValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
}
#endregion
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public string ClinicalTableQuestionType { get; set; } = string.Empty;
/// <summary>
/// 问题标识
/// </summary>
public ClinicalTableQuestionMark? ClinicalTableQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public IsRequired IsRequired { get; set; }
/// <summary>
/// 外层问题Id
/// </summary>
public Guid QuestionId { get; set; }
/// <summary>
/// 系统表格问题Id
/// </summary>
public Guid? SystemTableQuestionId { get; set; }
/// <summary>
/// 自定义计算标记
/// </summary>
public ClinicalCalculateMark? ClinicalCalculateMarkEnum { get; set; }
/// <summary>
/// 自定义计算问题
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
/// <summary>
/// 小数点位数
/// </summary>
public int? DigitPlaces { get; set; }
/// <summary>
/// 单位
/// </summary>
public string Unit { get; set; } = string.Empty;
/// <summary>
/// 关联ID
/// </summary>
public Guid? RelevanceId { get; set; }
/// <summary>
/// 关联Value
/// </summary>
public string RelevanceValue { get; set; } = string.Empty;
}
#endregion
/// <summary>
/// 项目临床数据Id
/// </summary>
public Guid TrialClinicalId { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 临床问题类型(分组,单选。)
/// </summary>
public string ClinicalTableQuestionType { get; set; } = string.Empty;
/// <summary>
/// 问题标识
/// </summary>
public ClinicalTableQuestionMark? ClinicalTableQuestionMarkEnum { get; set; }
/// <summary>
/// 最大长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 临床数据选项类型(无,自定义)
/// </summary>
public ClinicalOptionType ClinicalOptionTypeEnum { get; set; }
/// <summary>
/// 自定义选项
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 字典Code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 是否必填
/// </summary>
public IsRequired IsRequired { get; set; }
/// <summary>
/// 外层问题Id
/// </summary>
public Guid QuestionId { get; set; }
/// <summary>
/// 系统表格问题Id
/// </summary>
public Guid? SystemTableQuestionId { get; set; }
/// <summary>
/// 自定义计算标记
/// </summary>
public ClinicalCalculateMark? ClinicalCalculateMarkEnum { get; set; }
/// <summary>
/// 自定义计算问题
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
/// <summary>
/// 小数点位数
/// </summary>
public int? DigitPlaces { get; set; }
/// <summary>
/// 单位
/// </summary>
public string Unit { get; set; } = string.Empty;
/// <summary>
/// 关联ID
/// </summary>
public Guid? RelevanceId { get; set; }
/// <summary>
/// 关联Value
/// </summary>
public string RelevanceValue { get; set; } = string.Empty;
}
}

View File

@ -8,32 +8,32 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
{
[Comment("受试者 - 阅片模块临床表单")]
[Table("ReadModuleCriterionFrom")]
public class ReadModuleCriterionFrom : BaseAddAuditEntity
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 阅片模块临床表单")]
[Table("ReadModuleCriterionFrom")]
public class ReadModuleCriterionFrom : BaseAddAuditEntity
{
#region 导航属性
#region 导航属性
[JsonIgnore]
[ForeignKey("ClinicalFormId")]
public ClinicalForm ClinicalForm { get; set; }
#endregion
[JsonIgnore]
[ForeignKey("ClinicalFormId")]
public ClinicalForm ClinicalForm { get; set; }
#endregion
[Comment(" 表单Id")]
public Guid ClinicalFormId { get; set; }
[Comment(" 表单Id")]
public Guid ClinicalFormId { get; set; }
[ForeignKey("ReadModuleId")]
[ForeignKey("ReadModuleId")]
[Comment(" 阅片期Id")]
public Guid ReadModuleId { get; set; }
[Comment(" 阅片期Id")]
public Guid ReadModuleId { get; set; }
[Comment(" 受试者Id")]
public Guid SubjectId { get; set; }
[Comment(" 受试者Id")]
public Guid SubjectId { get; set; }
[Comment(" 项目Id")]
public Guid TrialId { get; set; }
[Comment(" 项目Id")]
public Guid TrialId { get; set; }
@ -45,4 +45,4 @@ namespace IRaCIS.Core.Domain.Models
}
}

View File

@ -6,321 +6,318 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
/// 项目阅片标准
///</summary>
[Table("ReadingQuestionCriterionTrial")]
public class ReadingQuestionCriterionTrial : BaseAddAuditEntity
{
///<summary>
/// 项目阅片标准
///</summary>
[Table("ReadingQuestionCriterionTrial")]
public class ReadingQuestionCriterionTrial : BaseAddAuditEntity
{
#region 导航属性
[ForeignKey("TrialId")]
[JsonIgnore]
public Trial Trial { get; set; }
#region 导航属性
[ForeignKey("TrialId")]
[JsonIgnore]
public Trial Trial { get; set; }
[JsonIgnore]
[JsonIgnore]
public List<ReadingQuestionTrial> ReadingQuestionTrialList = new List<ReadingQuestionTrial>();
public List<ReadingQuestionTrial> ReadingQuestionTrialList = new List<ReadingQuestionTrial>();
[JsonIgnore]
[JsonIgnore]
public List<TrialCriterionAdditionalAssessmentType> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<TrialCriterionAdditionalAssessmentType>();
public List<TrialCriterionAdditionalAssessmentType> TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List<TrialCriterionAdditionalAssessmentType>();
[JsonIgnore]
[JsonIgnore]
public List<VisitTask> VisitTaskList { get; set; }
public List<VisitTask> VisitTaskList { get; set; }
[JsonIgnore]
[JsonIgnore]
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriterionList { get; set; }
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriterionList { get; set; }
#endregion
/// <summary>
/// 系统标准ID
/// </summary>
public Guid? ReadingQuestionCriterionSystemId { get; set; }
#endregion
/// <summary>
/// 系统标准ID
/// </summary>
public Guid? ReadingQuestionCriterionSystemId { get; set; }
/// <summary>
/// 项目Id
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 项目Id
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 标准
/// </summary>
public string CriterionName { get; set; } = string.Empty;
/// <summary>
/// 标准
/// </summary>
public string CriterionName { get; set; } = string.Empty;
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 是否完成配置
/// </summary>
public bool IsCompleteConfig { get; set; }
/// <summary>
/// 是否完成配置
/// </summary>
public bool IsCompleteConfig { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; } = string.Empty;
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; } = string.Empty;
/// <summary>
/// 是否确认
/// </summary>
public bool IsConfirm { get; set; }
/// <summary>
/// 是否确认
/// </summary>
public bool IsConfirm { get; set; }
/// <summary>
/// 表单类型
/// </summary>
/// <summary>
/// 表单类型
/// </summary>
public FormType FormType { get; set; } = FormType.SinglePage;
public FormType FormType { get; set; } = FormType.SinglePage;
/// <summary>
/// 修约小数点
/// </summary>
public int? DigitPlaces { get; set; } = 1;
/// <summary>
/// 修约小数点
/// </summary>
public int? DigitPlaces { get; set; } = 1;
/// <summary>
/// 评估结果
/// </summary>
public string EvaluationResult { get; set; } = string.Empty;
/// <summary>
/// 评估结果
/// </summary>
public string EvaluationResult { get; set; } = string.Empty;
/// <summary>
/// 全局阅片评估更新类型
/// </summary>
public string GlobalUpdateType { get; set; } = string.Empty;
/// <summary>
/// 全局阅片评估更新类型
/// </summary>
public string GlobalUpdateType { get; set; } = string.Empty;
/// <summary>
/// 评估原因
/// </summary>
public string EvaluationReason { get; set; } = StaticData.International("CriterionTrial_EvaluationReason");
/// <summary>
/// 评估原因
/// </summary>
public string EvaluationReason { get; set; } = StaticData.International("CriterionTrial_EvaluationReason");
/// <summary>
/// 是否显示详情
/// </summary>
public bool IsShowDetail { get; set; } = true;
/// <summary>
/// 是否显示详情
/// </summary>
public bool IsShowDetail { get; set; } = true;
/// <summary>
/// 同步时间
/// </summary>
public DateTime SynchronizeTime { get; set; }
/// <summary>
/// 同步时间
/// </summary>
public DateTime SynchronizeTime { get; set; }
/// <summary>
/// 同步器官时间
/// </summary>
public DateTime? SynchronizeOriginalTime { get; set; }
/// <summary>
/// 同步器官时间
/// </summary>
public DateTime? SynchronizeOriginalTime { get; set; }
/// <summary>
/// 标准类型
/// </summary>
public CriterionType CriterionType { get; set; }
/// <summary>
/// 标准类型
/// </summary>
public CriterionType CriterionType { get; set; }
/// <summary>
/// 是否加急
/// </summary>
public bool IsUrgent { get; set; } = false;
/// <summary>
/// 是否加急
/// </summary>
public bool IsUrgent { get; set; } = false;
/// <summary>
/// eCRF报告是否显示在图像页面
/// </summary>
public bool IseCRFShowInDicomReading { get; set; } = false;
/// <summary>
/// eCRF报告是否显示在图像页面
/// </summary>
public bool IseCRFShowInDicomReading { get; set; } = false;
#region 阅片单元配置 新加
#region 阅片单元配置 新加
public string CriterionModalitys { get; set; } = string.Empty;
public string CriterionModalitys { get; set; } = string.Empty;
/// <summary>
/// 阅片平台
/// </summary>
public ImagePlatform ImagePlatform { get; set; } = ImagePlatform.PACS;
/// <summary>
/// 阅片平台
/// </summary>
public ImagePlatform ImagePlatform { get; set; } = ImagePlatform.PACS;
/// <summary>
/// 阅片工具
/// </summary>
public ReadingTool? ReadingTool { get; set; }
/// <summary>
/// 阅片工具
/// </summary>
public ReadingTool? ReadingTool { get; set; }
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = true;
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = true;
/// <summary>
/// IR阅片页面是否可以查看既往任务结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = true;
/// <summary>
/// IR阅片页面是否可以查看既往任务结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = true;
/// <summary>
/// 是确认医学审核问题
/// </summary>
/// <summary>
/// 是确认医学审核问题
/// </summary>
public bool IsConfirmMedicineQuestion { get; set; } = false;
public bool IsConfirmMedicineQuestion { get; set; } = false;
/// <summary>
/// 仲裁对象
/// </summary>
public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.Reading;
/// <summary>
/// 仲裁对象
/// </summary>
public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.Reading;
/// <summary>
/// 阅片模式
/// </summary>
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
/// <summary>
/// 阅片模式
/// </summary>
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
/// <summary>
/// 存在阅片期
/// </summary>
public bool IsReadingPeriod { get; set; } = true;
/// <summary>
/// 存在阅片期
/// </summary>
public bool IsReadingPeriod { get; set; } = true;
/// <summary>
/// 是否生成全局阅片任务
/// </summary>
public bool IsGlobalReading { get; set; } = true;
/// <summary>
/// 是否生成全局阅片任务
/// </summary>
public bool IsGlobalReading { get; set; } = true;
/// <summary>
/// 是否签名
/// </summary>
public bool IsSigned { get; set; } = false;
/// <summary>
/// 是否签名
/// </summary>
public bool IsSigned { get; set; } = false;
/// <summary>
/// 仲裁阅片
/// </summary>
public bool IsArbitrationReading { get; set; } = true;
/// <summary>
/// 仲裁阅片
/// </summary>
public bool IsArbitrationReading { get; set; } = true;
/// <summary>
/// 肿瘤学阅片 原字段 IsClinicalReading
/// </summary>
public bool IsOncologyReading { get; set; }
/// <summary>
/// 肿瘤学阅片 原字段 IsClinicalReading
/// </summary>
public bool IsOncologyReading { get; set; }
/// <summary>
/// 是否系统设置了 肿瘤学
/// </summary>
public bool IsSystemSetOncology { get; set; } = true;
/// <summary>
/// 是否系统设置了 肿瘤学
/// </summary>
public bool IsSystemSetOncology { get; set; } = true;
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public ReadingOrder IsReadingTaskViewInOrder { get; set; } = ReadingOrder.InOrder;
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public ReadingOrder IsReadingTaskViewInOrder { get; set; } = ReadingOrder.InOrder;
//任务分配对象
public TaskAllocateObj TaskAllocateObjEnum { get; set; }
//任务分配对象
public TaskAllocateObj TaskAllocateObjEnum { get; set; }
//后续访视任务自动分配
public bool IsFollowVisitAutoAssign { get; set; } = true;
//后续访视任务自动分配
public bool IsFollowVisitAutoAssign { get; set; } = true;
//后续全局自动分配
public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
//后续全局自动分配
public bool IsFollowGlobalVisitAutoAssign { get; set; } = true;
public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
public bool IsFollowJudgeTaskAutoAssign { get; set; } = true;
public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
public TaskAllocateDefaultState FollowJudgeTaskAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//后续访视自动分配默认状态
public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//后续访视自动分配默认状态
public TaskAllocateDefaultState FollowVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//后续全局自动分配默认状态
public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
//后续全局自动分配默认状态
public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated;
/// <summary>
/// 阅片信息签名时间
/// </summary>
public DateTime? ReadingInfoSignTime { get; set; }
/// <summary>
/// 阅片信息签名时间
/// </summary>
public DateTime? ReadingInfoSignTime { get; set; }
/// <summary>
/// 是否必须全局阅片
/// </summary>
public bool IsMustGlobalReading { get; set; } = false;
/// <summary>
/// 是否必须全局阅片
/// </summary>
public bool IsMustGlobalReading { get; set; } = false;
//是否附加评估
public bool IsAdditionalAssessment { get; set; }
//是否附加评估
public bool IsAdditionalAssessment { get; set; }
//自动 手动生成任务
public bool IsAutoCreate { get; set; } = true;
#endregion
//自动 手动生成任务
public bool IsAutoCreate { get; set; } = true;
#endregion
/// <summary>
/// 阅片过程下载影像
/// </summary>
public ReadingImageDownload ImageDownloadEnum { get; set; }
/// <summary>
/// 阅片过程上传影像
/// </summary>
public ReadingImageUpload ImageUploadEnum { get; set; }
/// <summary>
/// 是否影像筛选
/// </summary>
public bool IsImageFilter { get; set; }
}
public enum ReadingImageDownload
{
None = 0,
/// <summary>
/// 按病例
/// </summary>
Subejct = 1,
Visit = 2,
}
public enum ReadingImageUpload
{
None = 0,
/// <summary>
/// 按病例
/// </summary>
IRReadingSubejctEnable = 1,
IRReadingVisitEnable = 2,
}
public enum ReadingOrder
{
Random = 0,
InOrder = 1,
SubjectRandom = 2,
}
/// <summary>
/// 阅片过程下载影像
/// </summary>
public ReadingImageDownload ImageDownloadEnum { get; set; }
/// <summary>
/// 阅片过程上传影像
/// </summary>
public ReadingImageUpload ImageUploadEnum { get; set; }
/// <summary>
/// 是否影像筛选
/// </summary>
public bool IsImageFilter { get; set; }
}
public enum ReadingImageDownload
{
None = 0,
/// <summary>
/// 按病例
/// </summary>
Subejct = 1,
Visit = 2,
}
public enum ReadingImageUpload
{
None = 0,
/// <summary>
/// 按病例
/// </summary>
IRReadingSubejctEnable = 1,
IRReadingVisitEnable = 2,
}
public enum ReadingOrder
{
Random = 0,
InOrder = 1,
SubjectRandom = 2,
}

View File

@ -8,17 +8,17 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 项目标准使用字典")]
[Table("TrialCriterionDictionaryCode")]
public class TrialCriterionDictionaryCode : BaseAddAuditEntity
{
[Comment("项目 - 项目标准使用字典")]
[Table("TrialCriterionDictionaryCode")]
public class TrialCriterionDictionaryCode : BaseAddAuditEntity
{
#region 导航属性
[ForeignKey("TrialCriterionId")]
[JsonIgnore]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#endregion
#region 导航属性
[ForeignKey("TrialCriterionId")]
[JsonIgnore]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#endregion
public Guid TrialCriterionId { get; set; }
@ -27,7 +27,7 @@ namespace IRaCIS.Core.Domain.Models
}
}
}

View File

@ -10,203 +10,203 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.Linq;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
///系统表格问题
///</summary>
[Table("ReadingTableQuestionSystem")]
public class ReadingTableQuestionSystem : BaseAddAuditEntity
{
///<summary>
///系统表格问题
///</summary>
[Table("ReadingTableQuestionSystem")]
public class ReadingTableQuestionSystem : BaseAddAuditEntity
#region 导航属性
[ForeignKey("DependParentId")]
[JsonIgnore]
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
[NotMapped]
public List<string> ParentTriggerValueList
{
#region 导航属性
[ForeignKey("DependParentId")]
[JsonIgnore]
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
[NotMapped]
public List<string> ParentTriggerValueList
get
{
get
try
{
try
{
return this.ParentTriggerValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
return this.ParentTriggerValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
}
[NotMapped]
public List<string> RelevanceValueList
{
get
{
try
{
return this.RelevanceValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
}
}
#endregion
/// <summary>
/// 系统表的问题Id ReadingQuestionSystem的Id
/// </summary>
public Guid ReadingQuestionId { get; set; }
public string Type { get; set; } = string.Empty;
public Guid? ParentId { get; set; }
/// <summary>
///父问题触发值
/// </summary>
public string ParentTriggerValue { get; set; } = string.Empty;
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// IsRequired
/// </summary>
public IsRequired IsRequired { get; set; }
/// <summary>
/// 排序号
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 值
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 显示父问题
/// </summary>
public Guid? RelevanceId { get; set; }
/// <summary>
/// 显示父问题的值
/// </summary>
public string RelevanceValue { get; set; } = string.Empty;
/// <summary>
/// 是否显示
/// </summary>
public int ShowQuestion { get; set; }
/// <summary>
/// 最大问题数
/// </summary>
public int? MaxRowCount { get; set; }
/// <summary>
/// 数据表名称
/// </summary>
public string DataTableName { get; set; } = string.Empty;
/// <summary>
/// 数据列
/// </summary>
public string DataTableColumn { get; set; } = string.Empty;
/// <summary>
/// 关联父问题
/// </summary>
public Guid? DependParentId { get; set; }
/// <summary>
/// 是否关联
/// </summary>
public IsDepend IsDepend { get; set; }
/// <summary>
/// 表格问题类型
/// </summary>
public TableQuestionType? TableQuestionType { get; set; }
/// <summary>
/// 系统标准Id
/// </summary>
public Guid SystemCriterionId { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public QuestionMark? QuestionMark { get; set; }
/// <summary>
/// 字典code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 数值类型
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 数据来源
/// </summary>
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 限制编辑
/// </summary>
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
/// <summary>
/// 最大答案长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 文件类型
/// </summary>
public string? FileType { get; set; } = string.Empty;
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
}
}
[NotMapped]
public List<string> RelevanceValueList
{
get
{
try
{
return this.RelevanceValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
}
}
#endregion
/// <summary>
/// 系统表的问题Id ReadingQuestionSystem的Id
/// </summary>
public Guid ReadingQuestionId { get; set; }
public string Type { get; set; } = string.Empty;
public Guid? ParentId { get; set; }
/// <summary>
///父问题触发值
/// </summary>
public string ParentTriggerValue { get; set; } = string.Empty;
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// IsRequired
/// </summary>
public IsRequired IsRequired { get; set; }
/// <summary>
/// 排序号
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 值
/// </summary>
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 显示父问题
/// </summary>
public Guid? RelevanceId { get; set; }
/// <summary>
/// 显示父问题的值
/// </summary>
public string RelevanceValue { get; set; } = string.Empty;
/// <summary>
/// 是否显示
/// </summary>
public int ShowQuestion { get; set; }
/// <summary>
/// 最大问题数
/// </summary>
public int? MaxRowCount { get; set; }
/// <summary>
/// 数据表名称
/// </summary>
public string DataTableName { get; set; } = string.Empty;
/// <summary>
/// 数据列
/// </summary>
public string DataTableColumn { get; set; } = string.Empty;
/// <summary>
/// 关联父问题
/// </summary>
public Guid? DependParentId { get; set; }
/// <summary>
/// 是否关联
/// </summary>
public IsDepend IsDepend { get; set; }
/// <summary>
/// 表格问题类型
/// </summary>
public TableQuestionType? TableQuestionType { get; set; }
/// <summary>
/// 系统标准Id
/// </summary>
public Guid SystemCriterionId { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public QuestionMark? QuestionMark { get; set; }
/// <summary>
/// 字典code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 数值类型
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 数据来源
/// </summary>
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 限制编辑
/// </summary>
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
/// <summary>
/// 最大答案长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 文件类型
/// </summary>
public string? FileType { get; set; } = string.Empty;
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
}

View File

@ -10,214 +10,214 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.Linq;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
/// 项目阅片问题
///</summary>
[Table("ReadingTableQuestionTrial")]
public class ReadingTableQuestionTrial : BaseAddAuditEntity
{
///<summary>
/// 项目阅片问题
///</summary>
[Table("ReadingTableQuestionTrial")]
public class ReadingTableQuestionTrial : BaseAddAuditEntity
#region 导航属性
[JsonIgnore]
[ForeignKey("DependParentId")]
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
[JsonIgnore]
[ForeignKey("ReadingQuestionId")]
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
[NotMapped]
public List<string> ParentTriggerValueList
{
#region 导航属性
[JsonIgnore]
[ForeignKey("DependParentId")]
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
[JsonIgnore]
[ForeignKey("ReadingQuestionId")]
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
[NotMapped]
public List<string> ParentTriggerValueList
get
{
get
try
{
return this.ParentTriggerValue.Split(',').ToList();
}
catch (Exception)
{
try
{
return this.ParentTriggerValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
return new List<string>();
}
}
}
[NotMapped]
public List<string> RelevanceValueList
{
get
{
try
{
return this.RelevanceValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
}
}
[NotMapped]
public List<CalculateInfo> CalculateQuestionList
{
get
{
try
{
var result = JsonConvert.DeserializeObject<List<CalculateInfo>>(this.CalculateQuestions);
return result == null ? new List<CalculateInfo>() : result;
}
catch (Exception)
{
return new List<CalculateInfo>();
}
}
}
#endregion
public Guid TrialId { get; set; }
/// <summary>
/// 项目问题的Id ReadingQuestionTrial的id
/// </summary>
public Guid ReadingQuestionId { get; set; }
[NotMapped]
public List<string> RelevanceValueList
{
get
{
try
{
return this.RelevanceValue.Split(',').ToList();
}
catch (Exception)
{
return new List<string>();
}
}
}
public string Type { get; set; } = string.Empty;
[NotMapped]
public List<CalculateInfo> CalculateQuestionList
{
get
{
try
{
var result = JsonConvert.DeserializeObject<List<CalculateInfo>>(this.CalculateQuestions);
return result == null ? new List<CalculateInfo>() : result;
}
catch (Exception)
{
public Guid? ParentId { get; set; }
return new List<CalculateInfo>();
}
}
}
#endregion
public Guid TrialId { get; set; }
/// <summary>
/// 项目问题的Id ReadingQuestionTrial的id
/// </summary>
public Guid ReadingQuestionId { get; set; }
public string Type { get; set; } = string.Empty;
public string ParentTriggerValue { get; set; } = string.Empty;
public Guid? ParentId { get; set; }
public string ParentTriggerValue { get; set; } = string.Empty;
public string QuestionName { get; set; } = string.Empty;
public string QuestionName { get; set; } = string.Empty;
public IsRequired IsRequired { get; set; }
public int ShowOrder { get; set; }
public string TypeValue { get; set; } = string.Empty;
public IsRequired IsRequired { get; set; }
public bool IsEnable { get; set; }
public int ShowOrder { get; set; }
public string TypeValue { get; set; } = string.Empty;
public string Remark { get; set; } = string.Empty;
public bool IsEnable { get; set; }
public string Remark { get; set; } = string.Empty;
public Guid? RelevanceId { get; set; }
public string RelevanceValue { get; set; } = string.Empty;
public int ShowQuestion { get; set; }
public Guid? RelevanceId { get; set; }
public int? MaxRowCount { get; set; }
public string RelevanceValue { get; set; } = string.Empty;
public string DataTableName { get; set; } = string.Empty;
public int ShowQuestion { get; set; }
public string DataTableColumn { get; set; } = string.Empty;
public int? MaxRowCount { get; set; }
public TableQuestionType? TableQuestionType { get; set; }
public string DataTableName { get; set; } = string.Empty;
public Guid? DependParentId { get; set; }
public string DataTableColumn { get; set; } = string.Empty;
public TableQuestionType? TableQuestionType { get; set; }
public Guid? DependParentId { get; set; }
public IsDepend IsDepend { get; set; }
public IsDepend IsDepend { get; set; }
public Guid TrialCriterionId { get; set; }
public Guid TrialCriterionId { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public QuestionMark? QuestionMark { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public QuestionMark? QuestionMark { get; set; }
/// <summary>
/// 字典code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 字典code
/// </summary>
public string DictionaryCode { get; set; } = string.Empty;
/// <summary>
/// 数值类型
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 数值类型
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 自定义单位
/// </summary>
public string CustomUnit { get; set; } = string.Empty;
/// <summary>
/// 自定义单位
/// </summary>
public string CustomUnit { get; set; } = string.Empty;
/// <summary>
/// 自定义计算标记
/// </summary>
public CustomCalculateMark? CustomCalculateMark { get; set; }
/// <summary>
/// 自定义计算标记
/// </summary>
public CustomCalculateMark? CustomCalculateMark { get; set; }
/// <summary>
/// 限制编辑
/// </summary>
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
/// <summary>
/// 限制编辑
/// </summary>
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
/// <summary>
/// 自定义计算标记
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
/// <summary>
/// 自定义计算标记
/// </summary>
public string CalculateQuestions { get; set; } = "[]";
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 问题英文名称
/// </summary>
public string QuestionEnName { get; set; } = string.Empty;
/// <summary>
/// 数据来源
/// </summary>
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 数据来源
/// </summary>
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 最大答案长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 最大答案长度
/// </summary>
public int? MaxAnswerLength { get; set; }
/// <summary>
/// 文件类型
/// </summary>
public string FileType { get; set; } = string.Empty;
/// <summary>
/// 文件类型
/// </summary>
public string FileType { get; set; } = string.Empty;
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
/// <summary>
/// 复制病灶的时候 是否复制这个问题
/// </summary>
public bool IsCopy { get; set; } = false;
/// <summary>
/// 系统表格问题Id
/// </summary>
public Guid? SystemTableQuestionId { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
}
/// <summary>
/// 复制病灶的时候 是否复制这个问题
/// </summary>
public bool IsCopy { get; set; } = false;
/// <summary>
/// 系统表格问题Id
/// </summary>
public Guid? SystemTableQuestionId { get; set; }
}
}

View File

@ -11,167 +11,164 @@ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目阅片 - 表格问题行记录")]
[Table("ReadingTableAnswerRowInfo")]
public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity
{
[Comment("项目阅片 - 表格问题行记录")]
[Table("ReadingTableAnswerRowInfo")]
public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity
{
#region 导航属性
[JsonIgnore]
[ForeignKey("InstanceId")]
public DicomInstance Instance { get; set; }
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
[ForeignKey("OrganInfoId")]
public OrganInfo OrganInfo { get; set; }
[JsonIgnore]
[ForeignKey("SplitRowId")]
public ReadingTableAnswerRowInfo SplitRow { get; set; }
[JsonIgnore]
[ForeignKey("MergeRowId")]
public ReadingTableAnswerRowInfo MergeRow { get; set; }
[JsonIgnore]
[ForeignKey("QuestionId")]
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("InstanceId")]
public DicomInstance Instance { get; set; }
[JsonIgnore]
[ForeignKey("VisitTaskId")]
public VisitTask VisitTask { get; set; }
[JsonIgnore]
[ForeignKey("OrganInfoId")]
public OrganInfo OrganInfo { get; set; }
[JsonIgnore]
[ForeignKey("SplitRowId")]
public ReadingTableAnswerRowInfo SplitRow { get; set; }
[JsonIgnore]
[ForeignKey("MergeRowId")]
public ReadingTableAnswerRowInfo MergeRow { get; set; }
[JsonIgnore]
[ForeignKey("QuestionId")]
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
//病灶答案表
[JsonIgnore]
public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();
#endregion
//病灶答案表
[JsonIgnore]
public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();
#endregion
public Guid QuestionId { get; set; }
public Guid QuestionId { get; set; }
public Guid VisitTaskId { get; set; }
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public Guid? InstanceId { get; set; }
public Guid? InstanceId { get; set; }
public Guid? SeriesId { get; set; }
public Guid? SeriesId { get; set; }
public Guid? StudyId { get; set; }
public Guid? StudyId { get; set; }
public Guid? OtherInstanceId { get; set; }
public Guid? OtherInstanceId { get; set; }
public Guid? OtherSeriesId { get; set; }
public Guid? OtherSeriesId { get; set; }
public Guid? OtherStudyId { get; set; }
public Guid? OtherStudyId { get; set; }
public string OtherMarkTool { get; set; } = string.Empty;
public string OtherMarkTool { get; set; } = string.Empty;
public string OtherPicturePath { get; set; } = string.Empty;
public string OtherPicturePath { get; set; } = string.Empty;
public int? OtherNumberOfFrames { get; set; }
public int? OtherNumberOfFrames { get; set; }
public bool IsCanEditPosition { get; set; } = false;
public bool IsCanEditPosition { get; set; } = false;
/// <summary>
/// 是Dicom阅片
/// </summary>
public bool IsDicomReading { get; set; } = true;
/// <summary>
/// 是Dicom阅片
/// </summary>
public bool IsDicomReading { get; set; } = true;
public decimal RowIndex { get; set; }
public decimal RowIndex { get; set; }
public string MeasureData { get; set; } = string.Empty;
public string MeasureData { get; set; } = string.Empty;
/// <summary>
/// 是否是当前任务添加
/// </summary>
public bool IsCurrentTaskAdd { get; set; } = false;
/// <summary>
/// 是否是当前任务添加
/// </summary>
public bool IsCurrentTaskAdd { get; set; } = false;
public Guid? SplitRowId { get; set; }
public Guid? SplitRowId { get; set; }
public Guid? MergeRowId { get; set; }
public Guid? MergeRowId { get; set; }
public string BlindName { get; set; } = string.Empty;
public string BlindName { get; set; } = string.Empty;
public string OrderMark { get; set; } = string.Empty;
public string OrderMark { get; set; } = string.Empty;
/// <summary>
/// 截图地址
/// </summary>
public string PicturePath { get; set; } = string.Empty;
/// <summary>
/// 截图地址
/// </summary>
public string PicturePath { get; set; } = string.Empty;
/// <summary>
/// 第一次添加的任务ID
/// </summary>
public decimal FristAddTaskNum { get; set; } = 0;
/// <summary>
/// 第一次添加的任务ID
/// </summary>
public decimal FristAddTaskNum { get; set; } = 0;
/// <summary>
/// 首次添加任务ID
/// </summary>
public Guid FristAddTaskId { get; set; }
/// <summary>
/// 首次添加任务ID
/// </summary>
public Guid FristAddTaskId { get; set; }
/// <summary>
/// 融合的PTSeriesId
/// </summary>
public Guid? PTSeriesId { get; set; }
/// <summary>
/// 融合的PTSeriesId
/// </summary>
public Guid? PTSeriesId { get; set; }
/// <summary>
/// 融合的CTSeriesId
/// </summary>
public Guid? CTSeriesId { get; set; }
/// <summary>
/// 融合的CTSeriesId
/// </summary>
public Guid? CTSeriesId { get; set; }
public SplitOrMergeType? SplitOrMergeType { get; set; }
public SplitOrMergeType? SplitOrMergeType { get; set; }
public int? NumberOfFrames { get; set; }
public int? NumberOfFrames { get; set; }
/// <summary>
/// 器官Id
/// </summary>
public Guid? OrganInfoId { get; set; }
/// <summary>
/// 器官Id
/// </summary>
public Guid? OrganInfoId { get; set; }
/// <summary>
/// 窗宽WW
/// </summary>
public decimal? WW { get; set; }
/// <summary>
/// 窗宽WW
/// </summary>
public decimal? WW { get; set; }
/// <summary>
/// 窗位WL
/// </summary>
public decimal? WL { get; set; }
/// <summary>
/// 窗位WL
/// </summary>
public decimal? WL { get; set; }
/// <summary>
/// 来自于哪个标记
/// </summary>
public string FromMark { get; set; } = string.Empty;
/// <summary>
/// 来自于哪个标记
/// </summary>
public string FromMark { get; set; } = string.Empty;
/// <summary>
/// 报告页面显示来自于哪个标记
/// </summary>
public string ReportMark { get; set; } = string.Empty;
/// <summary>
/// 报告页面显示来自于哪个标记
/// </summary>
public string ReportMark { get; set; } = string.Empty;
public string OtherMeasureData { get; set; } = string.Empty;
public string OtherMeasureData { get; set; } = string.Empty;
//病灶编号
public string RowMark { get; set; } = string.Empty;
//病灶编号
public string RowMark { get; set; } = string.Empty;
/// <summary>
/// 标记工具
/// </summary>
public string MarkTool { get; set; } = string.Empty;
/// <summary>
/// 标记工具
/// </summary>
public string MarkTool { get; set; } = string.Empty;
}
}

View File

@ -8,30 +8,27 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("用户配置 - WL模板")]
[Table("UserWLTemplate")]
public class UserWLTemplate : BaseAddAuditEntity
{
[Comment("用户配置 - WL模板")]
[Table("UserWLTemplate")]
public class UserWLTemplate : BaseAddAuditEntity
{
#region 导航属性
#region 导航属性
#endregion
#endregion
public string TemplateName { get; set; } = string.Empty;
public string TemplateName { get; set; } = string.Empty;
public Guid UserId { get; set; }
public Guid UserId { get; set; }
public int WW { get; set; }
public int WW { get; set; }
public int WL { get; set; }
public int WL { get; set; }
public int ShowOrder { get; set; } = 0;
public int ShowOrder { get; set; } = 0;
public bool IsPitchOn { get; set; } = true;
}
public bool IsPitchOn { get; set; } = true;
}

View File

@ -8,26 +8,24 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
///RECIST1Point1肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment_RECIST1Point1")]
public class TumorAssessment_RECIST1Point1 : Entity
{
///<summary>
///RECIST1Point1肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment_RECIST1Point1")]
public class TumorAssessment_RECIST1Point1 : Entity
{
[Comment("靶病灶")]
public TargetAssessment TargetLesion { get; set; }
[Comment("靶病灶")]
public TargetAssessment TargetLesion { get; set; }
[Comment("非靶病灶")]
public NoTargetAssessment NonTargetLesions { get; set; }
[Comment("非靶病灶")]
public NoTargetAssessment NonTargetLesions { get; set; }
[Comment("新病灶")]
public NewLesionAssessment NewLesion { get; set; }
[Comment("整体疗效")]
public OverallAssessment OverallEfficacy { get; set; }
}
[Comment("新病灶")]
public NewLesionAssessment NewLesion { get; set; }
[Comment("整体疗效")]
public OverallAssessment OverallEfficacy { get; set; }
}

View File

@ -8,26 +8,26 @@ using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
///RECIST1Point1BM肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment_RECIST1Point1BM")]
public class TumorAssessment_RECIST1Point1BM : Entity
{
///<summary>
///RECIST1Point1BM肿瘤评估(系统标准)
///</summary>
[Table("TumorAssessment_RECIST1Point1BM")]
public class TumorAssessment_RECIST1Point1BM : Entity
{
[Comment("靶病灶")]
public TargetAssessment TargetLesion { get; set; }
[Comment("靶病灶")]
public TargetAssessment TargetLesion { get; set; }
[Comment("非靶病灶")]
public NoTargetAssessment NonTargetLesions { get; set; }
[Comment("非靶病灶")]
public NoTargetAssessment NonTargetLesions { get; set; }
[Comment("新病灶")]
public NewLesionAssessment NewLesion { get; set; }
[Comment("新病灶")]
public NewLesionAssessment NewLesion { get; set; }
[Comment("整体疗效")]
public OverallAssessment OverallEfficacy { get; set; }
}
[Comment("整体疗效")]
public OverallAssessment OverallEfficacy { get; set; }
}
}

View File

@ -6,32 +6,30 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 项目状态变更记录表")]
[Table("TrialStateChange")]
public class TrialStateChange : BaseAddAuditEntity
{
[Comment("项目 - 项目状态变更记录表")]
[Table("TrialStateChange")]
public class TrialStateChange : BaseAddAuditEntity
{
#region 导航属性
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
#region 导航属性
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
#endregion
#endregion
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public string OriginState { get; set; } = String.Empty;
public string OriginState { get; set; } = String.Empty;
public string NowState { get; set; } = String.Empty;
public string NowState { get; set; } = String.Empty;
public string Reason { get; set; } = String.Empty;
public string Reason { get; set; } = String.Empty;
}
}

View File

@ -4,29 +4,28 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 入组流程记录")]
[Table("TrialStatus")]
public partial class TrialStatusDetail : BaseAddAuditEntity
{
[Comment("项目 - 入组流程记录")]
[Table("TrialStatus")]
public partial class TrialStatusDetail : BaseAddAuditEntity
{
#region 导航属性
[JsonIgnore]
public List<EnrollDetail> IntoGroupDetails { get; set; }
#region 导航属性
[JsonIgnore]
public List<EnrollDetail> IntoGroupDetails { get; set; }
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
public Guid TrialId { get; set; }
public int TrialStatus { get; set; }
[StringLength(400)]
public string Memo { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public int TrialStatus { get; set; }
[StringLength(400)]
public string Memo { get; set; } = string.Empty;
public int OptUserType { get; set; }
public int OptUserType { get; set; }
}
}

View File

@ -1,34 +1,33 @@
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
public class TrialAudit : Entity
{
public class TrialAudit:Entity
{
#region 导航属性
[JsonIgnore]
public Trial Trial { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
#endregion
public int AuditType { get; set; }
#region 导航属性
[JsonIgnore]
public Trial Trial { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
#endregion
public int AuditType { get; set; }
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
public Guid StudyId { get; set; } = Guid.Empty;
public Guid StudyId { get; set; } = Guid.Empty;
public Guid? SubjectId { get; set; }
public Guid? SubjectId { get; set; }
public Guid OptUserId { get; set; }
public Guid OptUserId { get; set; }
public string OptUser { get; set; } = string.Empty;
public string OptUser { get; set; } = string.Empty;
public DateTime OptTime { get; set; }=DateTime.Now;
public string Note { get; set; } = string.Empty;
public DateTime OptTime { get; set; } = DateTime.Now;
public string Note { get; set; } = string.Empty;
public string Detail { get; set; } = string.Empty;
public string Detail { get; set; } = string.Empty;
}
}

View File

@ -7,36 +7,36 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
///<summary>
///TrialUserPreparation
///</summary>
[Table("TrialUserPreparation ")]
public class TrialUserPreparation : BaseFullAuditEntity
{
///<summary>
///TrialUserPreparation
///</summary>
[Table("TrialUserPreparation ")]
public class TrialUserPreparation : BaseFullAuditEntity
{
#region 导航属性
[JsonIgnore]
public User User { get; set; }
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
#region 导航属性
[JsonIgnore]
public User User { get; set; }
[JsonIgnore]
public Trial Trial { get; set; }
#endregion
public Guid UserId { get; set; }
public Guid TrialId { get; set; }
public DateTime? ExpireTime { get; set; }
public Guid UserId { get; set; }
public bool? IsJoin { get; set; }
public Guid TrialId { get; set; }
public DateTime? JoinTime { get; set; }
public DateTime? ExpireTime { get; set; }
public string RejectReason { get; set; } = string.Empty;
public bool? IsJoin { get; set; }
public DateTime? JoinTime { get; set; }
public string RejectReason { get; set; } = string.Empty;
}
}
}

View File

@ -4,250 +4,249 @@ using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Table("SubjectVisit")]
public class SubjectVisit : BaseFullDeleteAuditEntity
{
[Table("SubjectVisit")]
public class SubjectVisit : BaseFullDeleteAuditEntity
{
#region 导航属性
#region 导航属性
[JsonIgnore]
public TrialSite TrialSite { get; set; }
[JsonIgnore]
public TrialSite TrialSite { get; set; }
[JsonIgnore]
[ForeignKey("OutPlanPreviousVisitId")]
public SubjectVisit OutPlanPreviousVisit { get; set; }
[JsonIgnore]
[ForeignKey("OutPlanPreviousVisitId")]
public SubjectVisit OutPlanPreviousVisit { get; set; }
[ForeignKey("ForwardUserId")]
public User ForwardUser { get; set; }
[ForeignKey("ForwardUserId")]
public User ForwardUser { get; set; }
[JsonIgnore]
[ForeignKey("PreliminaryAuditUserId")]
public User PreliminaryAuditUser { get; set; }
[JsonIgnore]
[ForeignKey("PreliminaryAuditUserId")]
public User PreliminaryAuditUser { get; set; }
[JsonIgnore]
[ForeignKey("ReviewAuditUserId")]
public User ReviewAuditUser { get; set; }
[JsonIgnore]
[ForeignKey("ReviewAuditUserId")]
public User ReviewAuditUser { get; set; }
[JsonIgnore]
[ForeignKey("CurrentActionUserId")]
public User CurrentActionUser { get; set; }
[JsonIgnore]
[ForeignKey("SubmitUserId")]
public User SubmitUser { get; set; }
[JsonIgnore]
[ForeignKey("CurrentActionUserId")]
public User CurrentActionUser { get; set; }
[JsonIgnore]
[ForeignKey("SubmitUserId")]
public User SubmitUser { get; set; }
//导航属性
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
//导航属性
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
[JsonIgnore]
public List<ReadModule> ReadModuleList { get; set; }
[JsonIgnore]
public List<ReadModule> ReadModuleList { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
[JsonIgnore]
public List<PreviousHistory> PreviousHistoryList { get; set; }
[JsonIgnore]
public List<PreviousOther> PreviousOtherList { get; set; }
[JsonIgnore]
public List<PreviousSurgery> PreviousSurgeryList { get; set; }
[JsonIgnore]
public List<PreviousPDF> PreviousPDFList { get; set; }
[JsonIgnore]
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
public List<CheckChallengeDialog> CheckChallengeDialogList { get; set; } = new List<CheckChallengeDialog>();
[JsonIgnore]
public List<DicomStudy> StudyList { get; set; } = new List<DicomStudy>();
[JsonIgnore]
public List<NoneDicomStudy> NoneDicomStudyList { get; set; } = new List<NoneDicomStudy>();
[JsonIgnore]
public List<PreviousHistory> PreviousHistoryList { get; set; }
[JsonIgnore]
public List<PreviousOther> PreviousOtherList { get; set; }
[JsonIgnore]
public List<PreviousSurgery> PreviousSurgeryList { get; set; }
[JsonIgnore]
public List<PreviousPDF> PreviousPDFList { get; set; }
[JsonIgnore]
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
public List<CheckChallengeDialog> CheckChallengeDialogList { get; set; } = new List<CheckChallengeDialog>();
[JsonIgnore]
public List<DicomStudy> StudyList { get; set; } = new List<DicomStudy>();
[JsonIgnore]
public List<NoneDicomStudy> NoneDicomStudyList { get; set; } = new List<NoneDicomStudy>();
[JsonIgnore]
public List<QCChallenge> QCChallengeList { get; set; } = new List<QCChallenge>();
[JsonIgnore]
public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>();
[JsonIgnore]
public List<VisitTask> VisitTaskList { get; set; } = new List<VisitTask>();
[JsonIgnore]
public List<QCChallenge> QCChallengeList { get; set; } = new List<QCChallenge>();
[JsonIgnore]
public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>();
[JsonIgnore]
public List<VisitTask> VisitTaskList { get; set; } = new List<VisitTask>();
[JsonIgnore]
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
#endregion
[JsonIgnore]
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
#endregion
public Guid TrialSiteId { get; set; }
public Guid TrialSiteId { get; set; }
//一个访视 对应有对应Site的 TrialSiteCode
//一个访视 对应有对应Site的 TrialSiteCode
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid? VisitStageId { get; set; }
public int VisitDay { get; set; }
public string VisitName { get; set; } = string.Empty;
public int VisitWindowLeft { get; set; }
public int VisitWindowRight { get; set; }
public Guid? VisitStageId { get; set; }
public int VisitDay { get; set; }
public string VisitName { get; set; } = string.Empty;
public int VisitWindowLeft { get; set; }
public int VisitWindowRight { get; set; }
[Column(TypeName = "decimal(18,1)")]
public decimal VisitNum { get; set; }
public string BlindName { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,1)")]
public decimal VisitNum { get; set; }
public string BlindName { get; set; } = string.Empty;
public string SVUPDES { get; set; } = string.Empty;
public DateTime? SVSTDTC { get; set; }
public DateTime? SVENDTC { get; set; }
public bool InPlan { get; set; } = true;
public bool IsBaseLine { get; set; } = false;
public string SVUPDES { get; set; } = string.Empty;
public DateTime? SVSTDTC { get; set; }
public DateTime? SVENDTC { get; set; }
public bool InPlan { get; set; } = true;
public bool IsBaseLine { get; set; } = false;
//0 未执行 1 执行了 2 不可用
public VisitExecutedEnum VisitExecuted { get; set; } = VisitExecutedEnum.UnExecuted;
//0 未执行 1 执行了 2 不可用
public VisitExecutedEnum VisitExecuted { get; set; } = VisitExecutedEnum.UnExecuted;
public DateTime? EarliestScanDate { get; set; }
public DateTime? EarliestScanDate { get; set; }
/// <summary>
/// 最晚拍片日期
/// </summary>
public DateTime? LatestScanDate { get; set; }
public Guid? Auditor { get; set; }
//核查状态
public CheckStateEnum CheckState { get; set; }
//提交状态
public SubmitStateEnum SubmitState { get; set; }
//审核状态
public AuditStateEnum AuditState { get; set; }
public ForwardStateEnum ForwardState { get; set; }
/// <summary>
/// 单审通过人
/// </summary>
public Guid? PreliminaryAuditUserId { get; set; }
/// <summary>
/// 双审通过人
/// </summary>
public Guid? ReviewAuditUserId { get; set; }
/// <summary>
/// 一致性核查人Id
/// </summary>
public Guid? CheckUserId { get; set; }
public DateTime? ReviewAuditTime { get; set; }
public DateTime? PreliminaryAuditTime { get; set; }
public Guid? ForwardUserId { get; set; }
public DateTime? ForwardTime { get; set; }
/// <summary>
/// 当前质控领取人
/// </summary>
public Guid? CurrentActionUserId { get; set; }
public DateTime? CurrentActionUserExpireTime { get; set; }
public DateTime? SubmitTime { get; set; }
public DateTime? CheckTime { get; set; }
/// <summary>
/// 通过原因
/// </summary>
public string ManualPassReason { get; set; } = string.Empty;
public bool IsUrgent { get; set; }
public bool IsTake { get; set; }
public bool IsFinalVisit { get; set; }
public ChallengeStateEnum ChallengeState { get; set; }
public string CheckResult { get; set; } = String.Empty;
//是否一致性核查回退
public bool? IsCheckBack { get; set; }
public DateTime? CheckBackTime { get; set; }
public CheckChanllengeTypeEnum CheckChallengeState { get; set; }
public PDStateEnum PDState { get; set; } = PDStateEnum.None;
public DateTime? CheckPassedTime { get; set; }
/// <summary>
/// 上一访视
/// </summary>
public Guid? OutPlanPreviousVisitId { get; set; }
public RequestBackStateEnum RequestBackState { get; set; }
public bool IsQCConfirmedReupload { get; set; }
public bool IsLostVisit { get; set; }
//是否确认了、签名了 临床数据完整性
public bool? IsConfirmedClinicalData { get; set; }
public bool IsEnrollmentConfirm { get; set; }
public bool IsVisitTaskGenerated { get; set; }
public bool IsPMBackOrReReading { get; set; }
/// <summary>
/// 关闭一致性质疑原因
/// </summary>
public string CloseTheReason { get; set; } = string.Empty;
public Guid? SubmitUserId { get; set; }
public ReadingStatusEnum ReadingStatus { get; set; }
public string VisitImageZipPath { get; set; } = string.Empty;
public PackState PackState { get; set; }
public PackState NoDicomPackState { get; set; }
public string VisitNoDicomImageZipPath { get; set;} = string.Empty;
}
/// <summary>
/// 影像下载打包状态
/// 最晚拍片日期
/// </summary>
public enum PackState
{
public DateTime? LatestScanDate { get; set; }
/// <summary>
/// 待打包
/// </summary>
WaitPack = 0,
public Guid? Auditor { get; set; }
/// <summary>
/// 打包中
/// </summary>
Packing = 1,
/// <summary>
/// 打包完成
/// </summary>
Packed = 2
}
//核查状态
public CheckStateEnum CheckState { get; set; }
//提交状态
public SubmitStateEnum SubmitState { get; set; }
//审核状态
public AuditStateEnum AuditState { get; set; }
public ForwardStateEnum ForwardState { get; set; }
/// <summary>
/// 单审通过人
/// </summary>
public Guid? PreliminaryAuditUserId { get; set; }
/// <summary>
/// 双审通过人
/// </summary>
public Guid? ReviewAuditUserId { get; set; }
/// <summary>
/// 一致性核查人Id
/// </summary>
public Guid? CheckUserId { get; set; }
public DateTime? ReviewAuditTime { get; set; }
public DateTime? PreliminaryAuditTime { get; set; }
public Guid? ForwardUserId { get; set; }
public DateTime? ForwardTime { get; set; }
/// <summary>
/// 当前质控领取人
/// </summary>
public Guid? CurrentActionUserId { get; set; }
public DateTime? CurrentActionUserExpireTime { get; set; }
public DateTime? SubmitTime { get; set; }
public DateTime? CheckTime { get; set; }
/// <summary>
/// 通过原因
/// </summary>
public string ManualPassReason { get; set; } = string.Empty;
public bool IsUrgent { get; set; }
public bool IsTake { get; set; }
public bool IsFinalVisit { get; set; }
public ChallengeStateEnum ChallengeState { get; set; }
public string CheckResult { get; set; } = String.Empty;
//是否一致性核查回退
public bool? IsCheckBack { get; set; }
public DateTime? CheckBackTime { get; set; }
public CheckChanllengeTypeEnum CheckChallengeState { get; set; }
public PDStateEnum PDState { get; set; } = PDStateEnum.None;
public DateTime? CheckPassedTime { get; set; }
/// <summary>
/// 上一访视
/// </summary>
public Guid? OutPlanPreviousVisitId { get; set; }
public RequestBackStateEnum RequestBackState { get; set; }
public bool IsQCConfirmedReupload { get; set; }
public bool IsLostVisit { get; set; }
//是否确认了、签名了 临床数据完整性
public bool? IsConfirmedClinicalData { get; set; }
public bool IsEnrollmentConfirm { get; set; }
public bool IsVisitTaskGenerated { get; set; }
public bool IsPMBackOrReReading { get; set; }
/// <summary>
/// 关闭一致性质疑原因
/// </summary>
public string CloseTheReason { get; set; } = string.Empty;
public Guid? SubmitUserId { get; set; }
public ReadingStatusEnum ReadingStatus { get; set; }
public string VisitImageZipPath { get; set; } = string.Empty;
public PackState PackState { get; set; }
public PackState NoDicomPackState { get; set; }
public string VisitNoDicomImageZipPath { get; set; } = string.Empty;
}
/// <summary>
/// 影像下载打包状态
/// </summary>
public enum PackState
{
/// <summary>
/// 待打包
/// </summary>
WaitPack = 0,
/// <summary>
/// 打包中
/// </summary>
Packing = 1,
/// <summary>
/// 打包完成
/// </summary>
Packed = 2
}

View File

@ -227,7 +227,6 @@ public class IRaCISDBContext : DbContext
public virtual DbSet<ResearchPublication> ResearchPublications { get; set; }
public virtual DbSet<TrialExperience> TrialExperience { get; set; }
public virtual DbSet<UserDoctor> UserDoctor { get; set; }
public virtual DbSet<Vacation> Vacation { get; set; }
public virtual DbSet<Attachment> Attachment { get; set; }