整理命名空间
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
42e4fe59ec
commit
0a1ce59670
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
|||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -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!;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
@ -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!;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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!;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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; } //权限级别
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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}";
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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!;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -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
|
|||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
|
Loading…
Reference in New Issue