整理命名空间
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 System.ComponentModel;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
|
||||||
|
[Comment("受试者 - 项目标准阅片医生配置表")]
|
||||||
|
[Table("SubjectUser")]
|
||||||
|
public class SubjectUser : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
|
|
||||||
[Comment("受试者 - 项目标准阅片医生配置表")]
|
#region 导航属性
|
||||||
[Table("SubjectUser")]
|
[JsonIgnore]
|
||||||
public class SubjectUser : BaseFullAuditEntity
|
public Trial Trial { get; set; }
|
||||||
{
|
|
||||||
|
|
||||||
#region 导航属性
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
//Parent
|
||||||
public Trial Trial { get; set; }
|
[ForeignKey("ReplacedSubjectUserId")]
|
||||||
|
public SubjectUser ReplacedSubjectUser { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
//ChildList
|
||||||
//Parent
|
[JsonIgnore]
|
||||||
[ForeignKey("ReplacedSubjectUserId")]
|
public List<SubjectUser> EarlierSubjectUserList { get; set; }
|
||||||
public SubjectUser ReplacedSubjectUser { get; set; }
|
|
||||||
|
|
||||||
//ChildList
|
|
||||||
[JsonIgnore]
|
|
||||||
public List<SubjectUser> EarlierSubjectUserList { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public User DoctorUser { get; set; }
|
public User DoctorUser { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Subject Subject { get; set; }
|
public Subject Subject { get; set; }
|
||||||
#endregion
|
#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("该属性有值 说明该医生被替换了 分配的时候 要过滤掉")]
|
[Comment("该属性有值 说明该医生被替换了 分配的时候 要过滤掉")]
|
||||||
public Guid? ReplacedSubjectUserId { get; set; }
|
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 System.Collections.Generic;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目阅片 - 分配规则")]
|
||||||
|
[Table("TaskAllocationRule")]
|
||||||
|
public class TaskAllocationRule : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目阅片 - 分配规则")]
|
#region 导航属性
|
||||||
[Table("TaskAllocationRule")]
|
|
||||||
public class TaskAllocationRule : BaseFullAuditEntity
|
|
||||||
{
|
|
||||||
#region 导航属性
|
|
||||||
|
|
||||||
[ForeignKey("DoctorUserId")]
|
[ForeignKey("DoctorUserId")]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public User DoctorUser { get; set; }
|
public User DoctorUser { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Enroll Enroll { get; set; }
|
public Enroll Enroll { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Trial Trial { get; set; }
|
public Trial Trial { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
public Guid DoctorUserId { get; set; }
|
public Guid DoctorUserId { get; set; }
|
||||||
|
|
||||||
[Comment(" 入组表Id 可以去掉 TrialId DoctorUserId")]
|
[Comment(" 入组表Id 可以去掉 TrialId DoctorUserId")]
|
||||||
public Guid EnrollId { get; set; }
|
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(" 计划比率")]
|
[Comment(" 计划比率")]
|
||||||
public int PlanReadingRatio { get; set; }
|
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 Newtonsoft.Json;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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;
|
get
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var result = JsonConvert.DeserializeObject<List<OSSImageInfo>>(this.ImagePath);
|
||||||
|
return result == null ? new List<OSSImageInfo>() : result;
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
return new List<OSSImageInfo>();
|
||||||
try
|
|
||||||
{
|
|
||||||
var result = JsonConvert.DeserializeObject<List<OSSImageInfo>>(this.ImagePath);
|
|
||||||
return result == null ? new List<OSSImageInfo>() : result;
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
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 System.Collections.Generic;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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 导航属性
|
#region 导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public User DoctorUser { get; set; }
|
public User DoctorUser { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public Guid DoctorUserId { get; set; }
|
public Guid DoctorUserId { get; set; }
|
||||||
|
|
||||||
public bool IsEnable { get; set; }
|
|
||||||
|
|
||||||
public string Note { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
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 Guid TrialId { get; set; }
|
||||||
|
|
||||||
public int PlanGlobalCount { 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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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)]
|
[StringLength(250)]
|
||||||
public string VirturalSiteCode { get; set; } = string.Empty;
|
public string VirturalSiteCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,428 +11,427 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using EntityFrameworkCore.Projectables;
|
using EntityFrameworkCore.Projectables;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
///VisitTask
|
||||||
|
///</summary>
|
||||||
|
[Table("VisitTask")]
|
||||||
|
public class VisitTask : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
///<summary>
|
#region 导航属性
|
||||||
///VisitTask
|
[JsonIgnore]
|
||||||
///</summary>
|
public List<TaskStudy> TaskStudyList { get; set; }
|
||||||
[Table("VisitTask")]
|
|
||||||
public class VisitTask : BaseFullAuditEntity
|
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 导航属性
|
get
|
||||||
[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
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return this.JudgeResultImagePath.Trim().Split(',').ToList();
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|
||||||
try
|
return new List<string>();
|
||||||
{
|
|
||||||
return this.JudgeResultImagePath.Trim().Split(',').ToList();
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
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.Text;
|
||||||
using System.Threading.Tasks;
|
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 class FailedDomainEvent
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public string EventType { get; set; } = string.Empty;
|
public string EventType { get; set; } = string.Empty;
|
||||||
public string EventData { get; set; } = string.Empty;
|
public string EventData { get; set; } = string.Empty;
|
||||||
public DateTime FailedAt { get; set; }
|
public DateTime FailedAt { get; set; }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,124 +5,122 @@ using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public interface IAggregateRoot;
|
||||||
|
public interface IEntity<TKey>
|
||||||
{
|
{
|
||||||
|
abstract TKey Id { get; set; }
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//针对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;
|
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 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 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;
|
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 TKey UpdateUserId { get; set; }
|
}
|
||||||
public DateTime UpdateTime { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IAuditUpdate : IAuditUpdate<Guid>
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public interface IAuditUpdate : IAuditUpdate<Guid>
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,16 @@
|
||||||
using System;
|
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 DateTime? DeletedTime { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ISoftDelete : ISoftDelete<Guid>
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public interface ISoftDelete : ISoftDelete<Guid>
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,51 +4,48 @@
|
||||||
// 生成时间 2022-02-15 15:45:52
|
// 生成时间 2022-02-15 15:45:52
|
||||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
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 导航属性
|
#region 导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("ParentId")]
|
[ForeignKey("ParentId")]
|
||||||
public SystemBasicData Parent { get; set; }
|
public SystemBasicData Parent { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
public BasicDataTypeEnum BasicDataTypeEnum { get; set; }
|
public BasicDataTypeEnum BasicDataTypeEnum { get; set; }
|
||||||
|
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
public string Code { get; set; } = null!;
|
public string Code { get; set; } = null!;
|
||||||
|
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
public string Description { get; set; } = null!;
|
public string Description { get; set; } = null!;
|
||||||
|
|
||||||
public bool IsEnable { get; set; }
|
public bool IsEnable { get; set; }
|
||||||
|
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string Name { get; set; } = null!;
|
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)]
|
[StringLength(512)]
|
||||||
public string Value { get; set; } = null!;
|
public string Value { get; set; } = null!;
|
||||||
|
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
public string ValueCN { get; set; } = null!;
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("医生 - 假期安排")]
|
||||||
|
[Table("Vacation")]
|
||||||
|
public class Vacation : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("医生 - 假期安排")]
|
#region 导航属性
|
||||||
[Table("Vacation")]
|
|
||||||
public class Vacation : BaseFullAuditEntity
|
|
||||||
{
|
|
||||||
#region 导航属性
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
public Guid DoctorId { get; set; }
|
public Guid DoctorId { get; set; }
|
||||||
public DateTime StartDate { get; set; }
|
public DateTime StartDate { get; set; }
|
||||||
public DateTime EndDate { get; set; }
|
public DateTime EndDate { get; set; }
|
||||||
public int Status { get; set; } = 1;
|
public int Status { get; set; } = 1;
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,25 +7,25 @@ using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目 - 项目文档签署记录")]
|
||||||
|
[Table("TrialDocConfirmedUser")]
|
||||||
|
public class TrialDocConfirmedUser : BaseAddDeleteAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目 - 项目文档签署记录")]
|
#region 导航属性
|
||||||
[Table("TrialDocConfirmedUser")]
|
|
||||||
public class TrialDocConfirmedUser : BaseAddDeleteAuditEntity
|
|
||||||
{
|
|
||||||
#region 导航属性
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("ConfirmUserId")]
|
[ForeignKey("ConfirmUserId")]
|
||||||
public User User { get; set; }
|
public User User { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public TrialDocument TrialDocument { get; set; }
|
public TrialDocument TrialDocument { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Guid TrialDocumentId { get; set; }
|
public Guid TrialDocumentId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public DateTime? ConfirmTime { get; set; }
|
public DateTime? ConfirmTime { get; set; }
|
||||||
|
@ -36,12 +36,12 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public DateTime? SignFirstViewTime { get; set; }
|
public DateTime? SignFirstViewTime { get; set; }
|
||||||
|
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
public string SignText { get; set; } = string.Empty;
|
public string SignText { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -8,24 +8,24 @@ using IRaCIS.Core.Domain.Share;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目 - 项目邮件收发配置用户类型")]
|
||||||
|
[Table("TrialEmailNoticeUser")]
|
||||||
|
public class TrialEmailNoticeUser : Entity
|
||||||
{
|
{
|
||||||
[Comment("项目 - 项目邮件收发配置用户类型")]
|
#region 导航属性
|
||||||
[Table("TrialEmailNoticeUser")]
|
[JsonIgnore]
|
||||||
public class TrialEmailNoticeUser : Entity
|
public TrialEmailNoticeConfig TrialEmailNoticeConfig { get; set; }
|
||||||
{
|
#endregion
|
||||||
#region 导航属性
|
|
||||||
[JsonIgnore]
|
|
||||||
public TrialEmailNoticeConfig TrialEmailNoticeConfig { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public UserTypeEnum UserType { get; set; }
|
public UserTypeEnum UserType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public Guid TrialEmailNoticeConfigId { 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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
{
|
|
||||||
[Table("CalculateTask")]
|
|
||||||
public class CalculateTask : Entity
|
|
||||||
{
|
|
||||||
public Guid ReviewerId { get; set; }
|
|
||||||
|
|
||||||
[Required]
|
[Table("CalculateTask")]
|
||||||
public string YearMonth { get; set; } = string.Empty;
|
public class CalculateTask : Entity
|
||||||
public bool IsLock { get; set; }
|
{
|
||||||
}
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Table("DicomStudy")]
|
||||||
|
public class DicomStudy : BaseFullDeleteAuditEntity, IEntitySeqId
|
||||||
{
|
{
|
||||||
[Table("DicomStudy")]
|
#region 导航属性
|
||||||
public class DicomStudy : BaseFullDeleteAuditEntity, IEntitySeqId
|
//一个检查 由多个人管理
|
||||||
{
|
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
|
||||||
#region 导航属性
|
[JsonIgnore]
|
||||||
//一个检查 由多个人管理
|
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
|
||||||
//public List<TrialSiteUser> TrialSiteUserList { get; set; } = new List<TrialSiteUser>();
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
public List<DicomSeries> SeriesList { get; set; }
|
||||||
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
|
|
||||||
[JsonIgnore]
|
|
||||||
public List<DicomSeries> SeriesList { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("SubjectId")]
|
[ForeignKey("SubjectId")]
|
||||||
public Subject Subject { get; set; }
|
public Subject Subject { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("SubjectVisitId")]
|
[ForeignKey("SubjectVisitId")]
|
||||||
public SubjectVisit SubjectVisit { get; set; }
|
public SubjectVisit SubjectVisit { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<ReadingConsistentClinicalData> ReadingConsistentClinicalDataList { get; set; }
|
public List<ReadingConsistentClinicalData> ReadingConsistentClinicalDataList { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<SubjectCriteriaEvaluationVisitStudyFilter> SubjectCriteriaEvaluationVisitStudyFilterList { get; set; }
|
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)]
|
[StringLength(512)]
|
||||||
public string BodyPartExamined { get; set; } = null!;
|
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)]
|
[StringLength(1000)]
|
||||||
public string Description { get; set; } = null!;
|
public string Description { get; set; } = null!;
|
||||||
|
|
||||||
public int InstanceCount { get; set; }
|
public int InstanceCount { get; set; }
|
||||||
|
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string InstitutionName { get; set; } = null!;
|
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 避免内存移动")]
|
[Comment(" 序列Id 避免内存移动")]
|
||||||
public Guid SeqId { get; set; }
|
public Guid SeqId { get; set; }
|
||||||
|
|
||||||
public int SeriesCount { get; set; }
|
public int SeriesCount { get; set; }
|
||||||
|
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string StudyCode { get; set; } = null!;
|
public string StudyCode { get; set; } = null!;
|
||||||
|
|
||||||
[Comment(" DicomTag.StudyID")]
|
[Comment(" DicomTag.StudyID")]
|
||||||
public string StudyId { get; set; } = null!;
|
public string StudyId { get; set; } = null!;
|
||||||
|
|
||||||
[StringLength(500)]
|
[StringLength(500)]
|
||||||
public string StudyInstanceUid { get; set; } = null!;
|
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(" 上传时间")]
|
[Comment(" 上传时间")]
|
||||||
public DateTime? UploadedTime { get; set; }
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Table("SCPInstance")]
|
||||||
|
public class SCPInstance : BaseFullAuditEntity, IEntitySeqId
|
||||||
{
|
{
|
||||||
[Table("SCPInstance")]
|
#region 导航属性
|
||||||
public class SCPInstance : BaseFullAuditEntity, IEntitySeqId
|
[JsonIgnore]
|
||||||
{
|
[ForeignKey("SeriesId")]
|
||||||
#region 导航属性
|
public SCPSeries SCPSeries { get; set; }
|
||||||
[JsonIgnore]
|
|
||||||
[ForeignKey("SeriesId")]
|
|
||||||
public SCPSeries SCPSeries { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("StudyId")]
|
[ForeignKey("StudyId")]
|
||||||
public SCPStudy SCPStudy { get; set; }
|
public SCPStudy SCPStudy { get; set; }
|
||||||
#endregion
|
#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)]
|
[StringLength(500)]
|
||||||
public string FrameOfReferenceUID { get; set; } = null!;
|
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)]
|
[StringLength(400)]
|
||||||
public string ImagerPixelSpacing { get; set; } = null!;
|
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]
|
[MaxLength]
|
||||||
[Unicode(false)]
|
[Unicode(false)]
|
||||||
public string Path { get; set; } = null!;
|
public string Path { get; set; } = null!;
|
||||||
|
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string PixelSpacing { get; set; } = null!;
|
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)]
|
[StringLength(400)]
|
||||||
public string SliceThickness { get; set; } = null!;
|
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)]
|
[StringLength(400)]
|
||||||
public string WindowCenter { get; set; } = null!;
|
public string WindowCenter { get; set; } = null!;
|
||||||
|
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string WindowWidth { get; set; } = null!;
|
public string WindowWidth { get; set; } = null!;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,56 +2,55 @@
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
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]
|
||||||
#region 导航属性
|
[ForeignKey("SeriesId")]
|
||||||
[JsonIgnore]
|
public TaskSeries TaskSeries { get; set; }
|
||||||
[ForeignKey("SeriesId")]
|
|
||||||
public TaskSeries TaskSeries { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("StudyId")]
|
[ForeignKey("StudyId")]
|
||||||
public TaskStudy TaskStudy { get; set; }
|
public TaskStudy TaskStudy { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Guid SeqId { get; set; }
|
public Guid SeqId { get; set; }
|
||||||
public Guid StudyId { get; set; }
|
public Guid StudyId { get; set; }
|
||||||
public Guid SeriesId { get; set; }
|
public Guid SeriesId { get; set; }
|
||||||
public string StudyInstanceUid { get; set; } = string.Empty;
|
public string StudyInstanceUid { get; set; } = string.Empty;
|
||||||
public string SeriesInstanceUid { get; set; } = string.Empty;
|
public string SeriesInstanceUid { get; set; } = string.Empty;
|
||||||
public string SopInstanceUid { get; set; } = string.Empty;
|
public string SopInstanceUid { get; set; } = string.Empty;
|
||||||
public int InstanceNumber { get; set; }
|
public int InstanceNumber { get; set; }
|
||||||
public DateTime? InstanceTime { get; set; }
|
public DateTime? InstanceTime { get; set; }
|
||||||
public bool CPIStatus { get; set; }
|
public bool CPIStatus { get; set; }
|
||||||
public int ImageRows { get; set; }
|
public int ImageRows { get; set; }
|
||||||
public int ImageColumns { get; set; }
|
public int ImageColumns { get; set; }
|
||||||
public int SliceLocation { get; set; }
|
public int SliceLocation { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string SliceThickness { get; set; } = string.Empty;
|
public string SliceThickness { get; set; } = string.Empty;
|
||||||
public int NumberOfFrames { get; set; }
|
public int NumberOfFrames { get; set; }
|
||||||
public string PixelSpacing { get; set; } = string.Empty;
|
public string PixelSpacing { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string ImagerPixelSpacing { get; set; } = string.Empty;
|
public string ImagerPixelSpacing { get; set; } = string.Empty;
|
||||||
public string FrameOfReferenceUID { get; set; } = string.Empty;
|
public string FrameOfReferenceUID { get; set; } = string.Empty;
|
||||||
public string WindowCenter { get; set; } = string.Empty;
|
public string WindowCenter { get; set; } = string.Empty;
|
||||||
public string WindowWidth { get; set; } = string.Empty;
|
public string WindowWidth { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
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 bool Anonymize { get; set; }
|
public bool Anonymize { get; set; }
|
||||||
public string Path { get; set; } = string.Empty;
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
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]
|
||||||
#region 导航属性
|
[ForeignKey("StudyId")]
|
||||||
[JsonIgnore]
|
public TaskStudy TaskStudy { get; set; }
|
||||||
[ForeignKey("StudyId")]
|
|
||||||
public TaskStudy TaskStudy { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<TaskInstance> InstanceList { get; set; }
|
public List<TaskInstance> InstanceList { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Guid SeqId { get; set; }
|
public Guid SeqId { get; set; }
|
||||||
public Guid StudyId { get; set; }
|
public Guid StudyId { get; set; }
|
||||||
public string StudyInstanceUid { get; set; } = String.Empty;
|
public string StudyInstanceUid { get; set; } = String.Empty;
|
||||||
public string SeriesInstanceUid { get; set; } = String.Empty;
|
public string SeriesInstanceUid { get; set; } = String.Empty;
|
||||||
public int SeriesNumber { get; set; }
|
public int SeriesNumber { get; set; }
|
||||||
public DateTime? SeriesTime { get; set; }
|
public DateTime? SeriesTime { get; set; }
|
||||||
public string Modality { get; set; } = String.Empty;
|
public string Modality { get; set; } = String.Empty;
|
||||||
public string Description { get; set; } = String.Empty;
|
public string Description { get; set; } = String.Empty;
|
||||||
public int InstanceCount { get; set; }
|
public int InstanceCount { get; set; }
|
||||||
public string SliceThickness { get; set; } = String.Empty;
|
public string SliceThickness { get; set; } = String.Empty;
|
||||||
|
|
||||||
public string ImagePositionPatient { get; set; } = String.Empty;
|
public string ImagePositionPatient { get; set; } = String.Empty;
|
||||||
public string ImageOrientationPatient { get; set; } = String.Empty;
|
public string ImageOrientationPatient { get; set; } = String.Empty;
|
||||||
public string BodyPartExamined { get; set; } = String.Empty;
|
public string BodyPartExamined { get; set; } = String.Empty;
|
||||||
public string SequenceName { get; set; } = String.Empty;
|
public string SequenceName { get; set; } = String.Empty;
|
||||||
public string ProtocolName { get; set; } = String.Empty;
|
public string ProtocolName { get; set; } = String.Empty;
|
||||||
public string ImagerPixelSpacing { get; set; } = String.Empty;
|
public string ImagerPixelSpacing { get; set; } = String.Empty;
|
||||||
|
|
||||||
public string AcquisitionTime { get; set; } = string.Empty;
|
public string AcquisitionTime { get; set; } = string.Empty;
|
||||||
public string AcquisitionNumber { get; set; } = string.Empty;
|
public string AcquisitionNumber { get; set; } = string.Empty;
|
||||||
public string TriggerTime { get; set; } = string.Empty;
|
public string TriggerTime { get; set; } = string.Empty;
|
||||||
|
|
||||||
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 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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
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]
|
||||||
#region 导航属性
|
[ForeignKey("VisitTaskId")]
|
||||||
[JsonIgnore]
|
public VisitTask VisitTask { get; set; }
|
||||||
[ForeignKey("VisitTaskId")]
|
|
||||||
public VisitTask VisitTask { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
|
public List<StudyMonitor> DicomStudyMonitorList { get; set; } = new List<StudyMonitor>();
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<TaskInstance> InstanceList { get; set; }
|
public List<TaskInstance> InstanceList { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<TaskSeries> SeriesList { get; set; }
|
public List<TaskSeries> SeriesList { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("SubjectId")]
|
[ForeignKey("SubjectId")]
|
||||||
public Subject Subject { get; set; }
|
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 string StudyInstanceUid { get; set; } = string.Empty;
|
||||||
public DateTime? StudyTime { get; set; }
|
public DateTime? StudyTime { get; set; }
|
||||||
public string Modalities { get; set; } = string.Empty;
|
public string Modalities { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string Description { get; set; } = string.Empty;
|
public string Description { get; set; } = string.Empty;
|
||||||
public int SeriesCount { get; set; } = 0;
|
public int SeriesCount { get; set; } = 0;
|
||||||
public int InstanceCount { get; set; } = 0;
|
public int InstanceCount { get; set; } = 0;
|
||||||
|
|
||||||
|
|
||||||
public string InstitutionName { get; set; } = string.Empty;
|
public string InstitutionName { get; set; } = string.Empty;
|
||||||
public string PatientId { get; set; } = string.Empty;
|
public string PatientId { get; set; } = string.Empty;
|
||||||
public string PatientName { get; set; } = string.Empty;
|
public string PatientName { get; set; } = string.Empty;
|
||||||
public string PatientAge { get; set; } = string.Empty;
|
public string PatientAge { get; set; } = string.Empty;
|
||||||
public string PatientSex { get; set; } = string.Empty;
|
public string PatientSex { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string StudyId { get; set; } = string.Empty;
|
public string StudyId { get; set; } = string.Empty;
|
||||||
public string AccessionNumber { get; set; } = string.Empty;
|
public string AccessionNumber { get; set; } = string.Empty;
|
||||||
public string PatientBirthDate { get; set; } = string.Empty;
|
public string PatientBirthDate { get; set; } = string.Empty;
|
||||||
public string AcquisitionTime { get; set; } = string.Empty;
|
public string AcquisitionTime { get; set; } = string.Empty;
|
||||||
public string AcquisitionNumber { get; set; } = string.Empty;
|
public string AcquisitionNumber { get; set; } = string.Empty;
|
||||||
public string TriggerTime { 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 双重
|
//0 未知 1 单重 2 双重
|
||||||
public bool IsDoubleReview { get; set; }
|
public bool IsDoubleReview { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,49 +8,48 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目 - 影像下载监控")]
|
||||||
|
[Table("TrialImageDownload")]
|
||||||
|
public class TrialImageDownload : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目 - 影像下载监控")]
|
#region 导航属性
|
||||||
[Table("TrialImageDownload")]
|
[JsonIgnore]
|
||||||
public class TrialImageDownload : BaseFullAuditEntity
|
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 DownloadStartTime { get; set; }
|
||||||
public DateTime? DownloadEndTime { get; set; }
|
public DateTime? DownloadEndTime { get; set; }
|
||||||
|
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string VisitName { get; set; }
|
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 int ImageCount { get; set; }
|
||||||
public long ImageSize { 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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("后台 - 系统菜单 (需要同步)")]
|
||||||
|
[Table("Menu")]
|
||||||
|
public class Menu : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("后台 - 系统菜单 (需要同步)")]
|
#region 导航属性
|
||||||
[Table("Menu")]
|
[JsonIgnore]
|
||||||
public class Menu : BaseFullAuditEntity
|
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)]
|
[StringLength(400)]
|
||||||
public string Component { get; set; } = null!;
|
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!;
|
public string MenuName { get; set; } = null!;
|
||||||
[Comment("类型(M目录 C菜单 F按钮 L链接)")]
|
[Comment("类型(M目录 C菜单 F按钮 L链接)")]
|
||||||
public string MenuType { get; set; } = null!;
|
public string MenuType { get; set; } = null!;
|
||||||
|
|
||||||
public string Meta { get; set; } = null!;
|
public string Meta { get; set; } = null!;
|
||||||
|
|
||||||
|
|
||||||
[MaxLength]
|
[MaxLength]
|
||||||
public string Note { get; set; }
|
public string Note { get; set; }
|
||||||
|
|
||||||
public Guid ParentId { get; set; }
|
public Guid ParentId { get; set; }
|
||||||
|
|
||||||
[Comment("路由地址")]
|
[Comment("路由地址")]
|
||||||
[StringLength(500)]
|
[StringLength(500)]
|
||||||
public string Path { get; set; } = null!;
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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 导航属性
|
#region 导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
||||||
[ForeignKey("UserTypeId")]
|
[ForeignKey("UserTypeId")]
|
||||||
public UserType NoticeUserType { get; set; }
|
public UserType NoticeUserType { get; set; }
|
||||||
#endregion
|
#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.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Table("Role")]
|
||||||
|
public partial class Role : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Table("Role")]
|
#region 导航属性
|
||||||
public partial class Role : BaseFullAuditEntity
|
|
||||||
{
|
|
||||||
#region 导航属性
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
public string RoleName { get; set; } = string.Empty;
|
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 Status { get; set; }
|
||||||
public int PrivilegeLevel { get; set; } //权限级别
|
public int PrivilegeLevel { get; set; } //权限级别
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,76 +5,76 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using EntityFrameworkCore.Projectables;
|
using EntityFrameworkCore.Projectables;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Table("User")]
|
||||||
|
public partial class User : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Table("User")]
|
#region 导航属性
|
||||||
public partial class User : BaseFullAuditEntity
|
[ForeignKey("UserTypeId")]
|
||||||
{
|
public UserType UserTypeRole { get; set; }
|
||||||
#region 导航属性
|
|
||||||
[ForeignKey("UserTypeId")]
|
|
||||||
public UserType UserTypeRole { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<SystemDocConfirmedUser> SystemDocConfirmedList { get; set; }
|
public List<SystemDocConfirmedUser> SystemDocConfirmedList { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<TrialUser> UserTrials { get; set; } = new List<TrialUser>();
|
public List<TrialUser> UserTrials { get; set; } = new List<TrialUser>();
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<VisitTask> VisitTaskList { get; set; }
|
public List<VisitTask> VisitTaskList { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[StringLength(255)]
|
[StringLength(255)]
|
||||||
public string UserName { get; set; } = String.Empty;
|
public string UserName { get; set; } = String.Empty;
|
||||||
|
|
||||||
[StringLength(255)]
|
[StringLength(255)]
|
||||||
public string Password { get; set; } = String.Empty;
|
public string Password { get; set; } = String.Empty;
|
||||||
[StringLength(255)]
|
[StringLength(255)]
|
||||||
|
|
||||||
public string LastName { get; set; } = String.Empty;
|
public string LastName { get; set; } = String.Empty;
|
||||||
public string FirstName { get; set; } = String.Empty;
|
public string FirstName { get; set; } = String.Empty;
|
||||||
|
|
||||||
public string Phone { get; set; } = string.Empty;
|
public string Phone { get; set; } = string.Empty;
|
||||||
public string EMail { get; set; } = string.Empty;
|
public string EMail { get; set; } = string.Empty;
|
||||||
public int? Sex { get; set; }
|
public int? Sex { get; set; }
|
||||||
public UserStateEnum Status { get; set; } = UserStateEnum.Enable;
|
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>
|
||||||
/// 上一次修改密码的时间
|
/// 上一次修改密码的时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? LastChangePassWordTime { get; set; }
|
public DateTime? LastChangePassWordTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// LastLoginIP
|
/// LastLoginIP
|
||||||
|
@ -84,16 +84,15 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
//医生生成账号后,会有值
|
//医生生成账号后,会有值
|
||||||
public Guid? DoctorId { get; set; }
|
public Guid? DoctorId { get; set; }
|
||||||
|
|
||||||
public bool IsTestUser { get; set; }
|
public bool IsTestUser { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自动切换下一个任务
|
/// 自动切换下一个任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool AutoCutNextTask { get; set; } = false;
|
public bool AutoCutNextTask { get; set; } = false;
|
||||||
|
|
||||||
[Projectable]
|
[Projectable]
|
||||||
public string FullName => LastName + " / " + FirstName;
|
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 System.Collections.Generic;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("受试者 - 参与附加评估标准配置")]
|
||||||
|
[Table("SubjectCriteriaEvaluation")]
|
||||||
|
public class SubjectCriteriaEvaluation : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("受试者 - 参与附加评估标准配置")]
|
#region 导航属性
|
||||||
[Table("SubjectCriteriaEvaluation")]
|
[JsonIgnore]
|
||||||
public class SubjectCriteriaEvaluation : BaseFullAuditEntity
|
public Subject subject { get; set; }
|
||||||
{
|
|
||||||
#region 导航属性
|
|
||||||
[JsonIgnore]
|
|
||||||
public Subject subject { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("TrialReadingCriterionId")]
|
[ForeignKey("TrialReadingCriterionId")]
|
||||||
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
|
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
[Comment(" 是否参与评估")]
|
[Comment(" 是否参与评估")]
|
||||||
public bool IsJoinEvaluation { get; set; }
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("受试者 - 附加评估标准影像筛选检查")]
|
||||||
|
[Table("SubjectCriteriaEvaluationVisitStudyFilter")]
|
||||||
|
public class SubjectCriteriaEvaluationVisitStudyFilter : BaseFullAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("受试者 - 附加评估标准影像筛选检查")]
|
#region 导航属性
|
||||||
[Table("SubjectCriteriaEvaluationVisitStudyFilter")]
|
[JsonIgnore]
|
||||||
public class SubjectCriteriaEvaluationVisitStudyFilter : BaseFullAuditEntity
|
[ForeignKey("TrialReadingCriterionId")]
|
||||||
{
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
#region 导航属性
|
|
||||||
[JsonIgnore]
|
|
||||||
[ForeignKey("TrialReadingCriterionId")]
|
|
||||||
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public SubjectVisit SubjectVisit { get; set; }
|
public SubjectVisit SubjectVisit { get; set; }
|
||||||
|
|
||||||
[ForeignKey("SeriesId")]
|
[ForeignKey("SeriesId")]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public DicomSeries Series { get; set; }
|
public DicomSeries Series { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[ForeignKey("StudyId")]
|
[ForeignKey("StudyId")]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public DicomStudy Study { get; set; }
|
public DicomStudy Study { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
[Comment(" 是否确认")]
|
[Comment(" 是否确认")]
|
||||||
public bool IsConfirmed { get; set; }
|
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 System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
{
|
|
||||||
[Comment("项目阅片 - 临床数据PDF文件")]
|
[Comment("项目阅片 - 临床数据PDF文件")]
|
||||||
[Table("ReadingClinicalDataPDF")]
|
[Table("ReadingClinicalDataPDF")]
|
||||||
public class ReadingClinicalDataPDF : BaseAddAuditEntity
|
public class ReadingClinicalDataPDF : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
#region 导航属性
|
#region 导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("ReadingClinicalDataId")]
|
[ForeignKey("ReadingClinicalDataId")]
|
||||||
public ReadingClinicalData ReadingClinicalData { get; set; }
|
public ReadingClinicalData ReadingClinicalData { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
[StringLength(1000)]
|
[StringLength(1000)]
|
||||||
public string FileName { get; set; } = null!;
|
public string FileName { get; set; } = null!;
|
||||||
|
|
||||||
[StringLength(2000)]
|
[StringLength(2000)]
|
||||||
public string Path { get; set; } = null!;
|
public string Path { get; set; } = null!;
|
||||||
|
|
||||||
[Comment("阅片临床数据ID")]
|
[Comment("阅片临床数据ID")]
|
||||||
public Guid ReadingClinicalDataId { get; set; }
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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 导航属性
|
#region 导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
||||||
[ForeignKey("TrialClinicalDataSetId")]
|
[ForeignKey("TrialClinicalDataSetId")]
|
||||||
public ClinicalDataTrialSet TrialClinicalDataSet { get; set; }
|
public ClinicalDataTrialSet TrialClinicalDataSet { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("TrialReadingCriterionId")]
|
[ForeignKey("TrialReadingCriterionId")]
|
||||||
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
#endregion
|
#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.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// 项目临床表格问题
|
||||||
|
///</summary>
|
||||||
|
[Table("TrialClinicalTableQuestion")]
|
||||||
|
public class TrialClinicalTableQuestion : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
///<summary>
|
#region 导航属性
|
||||||
/// 项目临床表格问题
|
|
||||||
///</summary>
|
[NotMapped]
|
||||||
[Table("TrialClinicalTableQuestion")]
|
public List<string> RelevanceValueList
|
||||||
public class TrialClinicalTableQuestion : BaseAddAuditEntity
|
|
||||||
{
|
{
|
||||||
#region 导航属性
|
get
|
||||||
|
|
||||||
[NotMapped]
|
|
||||||
public List<string> RelevanceValueList
|
|
||||||
{
|
{
|
||||||
get
|
try
|
||||||
{
|
{
|
||||||
try
|
return this.RelevanceValue.Split(',').ToList();
|
||||||
{
|
|
||||||
return this.RelevanceValue.Split(',').ToList();
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
return new List<string>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
{
|
|
||||||
[Comment("受试者 - 阅片模块临床表单")]
|
[Comment("受试者 - 阅片模块临床表单")]
|
||||||
[Table("ReadModuleCriterionFrom")]
|
[Table("ReadModuleCriterionFrom")]
|
||||||
public class ReadModuleCriterionFrom : BaseAddAuditEntity
|
public class ReadModuleCriterionFrom : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
#region 导航属性
|
#region 导航属性
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("ClinicalFormId")]
|
[ForeignKey("ClinicalFormId")]
|
||||||
public ClinicalForm ClinicalForm { get; set; }
|
public ClinicalForm ClinicalForm { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
[Comment(" 表单Id")]
|
[Comment(" 表单Id")]
|
||||||
public Guid ClinicalFormId { get; set; }
|
public Guid ClinicalFormId { get; set; }
|
||||||
|
|
||||||
[ForeignKey("ReadModuleId")]
|
[ForeignKey("ReadModuleId")]
|
||||||
|
|
||||||
[Comment(" 阅片期Id")]
|
[Comment(" 阅片期Id")]
|
||||||
public Guid ReadModuleId { get; set; }
|
public Guid ReadModuleId { get; set; }
|
||||||
|
|
||||||
[Comment(" 受试者Id")]
|
[Comment(" 受试者Id")]
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
[Comment(" 项目Id")]
|
[Comment(" 项目Id")]
|
||||||
public Guid TrialId { get; set; }
|
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.ComponentModel.DataAnnotations.Schema;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// 项目阅片标准
|
||||||
|
///</summary>
|
||||||
|
[Table("ReadingQuestionCriterionTrial")]
|
||||||
|
public class ReadingQuestionCriterionTrial : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
///<summary>
|
#region 导航属性
|
||||||
/// 项目阅片标准
|
[ForeignKey("TrialId")]
|
||||||
///</summary>
|
[JsonIgnore]
|
||||||
[Table("ReadingQuestionCriterionTrial")]
|
public Trial Trial { get; set; }
|
||||||
public class ReadingQuestionCriterionTrial : BaseAddAuditEntity
|
|
||||||
{
|
|
||||||
#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
|
#endregion
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 系统标准ID
|
/// 系统标准ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? ReadingQuestionCriterionSystemId { get; set; }
|
public Guid? ReadingQuestionCriterionSystemId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 项目Id
|
/// 项目Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 标准
|
/// 标准
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CriterionName { get; set; } = string.Empty;
|
public string CriterionName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否启用
|
/// 是否启用
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsEnable { get; set; }
|
public bool IsEnable { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 排序
|
/// 排序
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int ShowOrder { get; set; }
|
public int ShowOrder { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否完成配置
|
/// 是否完成配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsCompleteConfig { get; set; }
|
public bool IsCompleteConfig { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 描述
|
/// 描述
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Description { get; set; } = string.Empty;
|
public string Description { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否确认
|
/// 是否确认
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsConfirm { get; set; }
|
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>
|
||||||
/// 修约小数点
|
/// 修约小数点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? DigitPlaces { get; set; } = 1;
|
public int? DigitPlaces { get; set; } = 1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 评估结果
|
/// 评估结果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string EvaluationResult { get; set; } = string.Empty;
|
public string EvaluationResult { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 全局阅片评估更新类型
|
/// 全局阅片评估更新类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string GlobalUpdateType { get; set; } = string.Empty;
|
public string GlobalUpdateType { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 评估原因
|
/// 评估原因
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string EvaluationReason { get; set; } = StaticData.International("CriterionTrial_EvaluationReason");
|
public string EvaluationReason { get; set; } = StaticData.International("CriterionTrial_EvaluationReason");
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否显示详情
|
/// 是否显示详情
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsShowDetail { get; set; } = true;
|
public bool IsShowDetail { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 同步时间
|
/// 同步时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime SynchronizeTime { get; set; }
|
public DateTime SynchronizeTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 同步器官时间
|
/// 同步器官时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? SynchronizeOriginalTime { get; set; }
|
public DateTime? SynchronizeOriginalTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 标准类型
|
/// 标准类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public CriterionType CriterionType { get; set; }
|
public CriterionType CriterionType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否加急
|
/// 是否加急
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsUrgent { get; set; } = false;
|
public bool IsUrgent { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// eCRF报告是否显示在图像页面
|
/// eCRF报告是否显示在图像页面
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IseCRFShowInDicomReading { get; set; } = false;
|
public bool IseCRFShowInDicomReading { get; set; } = false;
|
||||||
|
|
||||||
#region 阅片单元配置 新加
|
#region 阅片单元配置 新加
|
||||||
|
|
||||||
|
|
||||||
public string CriterionModalitys { get; set; } = string.Empty;
|
public string CriterionModalitys { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片平台
|
/// 阅片平台
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ImagePlatform ImagePlatform { get; set; } = ImagePlatform.PACS;
|
public ImagePlatform ImagePlatform { get; set; } = ImagePlatform.PACS;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片工具
|
/// 阅片工具
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadingTool? ReadingTool { get; set; }
|
public ReadingTool? ReadingTool { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 任务组织级别
|
/// 任务组织级别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片是否显示受试者信息
|
/// 阅片是否显示受试者信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsReadingShowSubjectInfo { get; set; } = true;
|
public bool IsReadingShowSubjectInfo { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// IR阅片页面是否可以查看既往任务结果
|
/// IR阅片页面是否可以查看既往任务结果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsReadingShowPreviousResults { get; set; } = true;
|
public bool IsReadingShowPreviousResults { get; set; } = true;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是确认医学审核问题
|
/// 是确认医学审核问题
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public bool IsConfirmMedicineQuestion { get; set; } = false;
|
public bool IsConfirmMedicineQuestion { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 仲裁对象
|
/// 仲裁对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.Reading;
|
public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.Reading;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片模式
|
/// 阅片模式
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
|
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 存在阅片期
|
/// 存在阅片期
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsReadingPeriod { get; set; } = true;
|
public bool IsReadingPeriod { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否生成全局阅片任务
|
/// 是否生成全局阅片任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsGlobalReading { get; set; } = true;
|
public bool IsGlobalReading { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否签名
|
/// 是否签名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsSigned { get; set; } = false;
|
public bool IsSigned { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 仲裁阅片
|
/// 仲裁阅片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsArbitrationReading { get; set; } = true;
|
public bool IsArbitrationReading { get; set; } = true;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 肿瘤学阅片 原字段 IsClinicalReading
|
/// 肿瘤学阅片 原字段 IsClinicalReading
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsOncologyReading { get; set; }
|
public bool IsOncologyReading { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否系统设置了 肿瘤学
|
/// 是否系统设置了 肿瘤学
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsSystemSetOncology { get; set; } = true;
|
public bool IsSystemSetOncology { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 任务展示访视 读片任务显示是否顺序
|
/// 任务展示访视 读片任务显示是否顺序
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadingOrder IsReadingTaskViewInOrder { get; set; } = ReadingOrder.InOrder;
|
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>
|
||||||
/// 阅片信息签名时间
|
/// 阅片信息签名时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? ReadingInfoSignTime { get; set; }
|
public DateTime? ReadingInfoSignTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否必须全局阅片
|
/// 是否必须全局阅片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsMustGlobalReading { get; set; } = false;
|
public bool IsMustGlobalReading { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
//是否附加评估
|
//是否附加评估
|
||||||
public bool IsAdditionalAssessment { get; set; }
|
public bool IsAdditionalAssessment { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//自动 手动生成任务
|
//自动 手动生成任务
|
||||||
public bool IsAutoCreate { get; set; } = true;
|
public bool IsAutoCreate { get; set; } = true;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片过程下载影像
|
/// 阅片过程下载影像
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ReadingImageDownload ImageDownloadEnum { get; set; }
|
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 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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目 - 项目标准使用字典")]
|
||||||
|
[Table("TrialCriterionDictionaryCode")]
|
||||||
|
public class TrialCriterionDictionaryCode : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目 - 项目标准使用字典")]
|
#region 导航属性
|
||||||
[Table("TrialCriterionDictionaryCode")]
|
[ForeignKey("TrialCriterionId")]
|
||||||
public class TrialCriterionDictionaryCode : BaseAddAuditEntity
|
[JsonIgnore]
|
||||||
{
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
#region 导航属性
|
#endregion
|
||||||
[ForeignKey("TrialCriterionId")]
|
|
||||||
[JsonIgnore]
|
|
||||||
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
public Guid TrialCriterionId { get; set; }
|
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.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
///系统表格问题
|
||||||
|
///</summary>
|
||||||
|
[Table("ReadingTableQuestionSystem")]
|
||||||
|
public class ReadingTableQuestionSystem : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
///<summary>
|
#region 导航属性
|
||||||
///系统表格问题
|
[ForeignKey("DependParentId")]
|
||||||
///</summary>
|
[JsonIgnore]
|
||||||
[Table("ReadingTableQuestionSystem")]
|
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
|
||||||
public class ReadingTableQuestionSystem : BaseAddAuditEntity
|
|
||||||
|
[NotMapped]
|
||||||
|
public List<string> ParentTriggerValueList
|
||||||
{
|
{
|
||||||
#region 导航属性
|
get
|
||||||
[ForeignKey("DependParentId")]
|
|
||||||
[JsonIgnore]
|
|
||||||
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
|
|
||||||
|
|
||||||
[NotMapped]
|
|
||||||
public List<string> ParentTriggerValueList
|
|
||||||
{
|
{
|
||||||
get
|
try
|
||||||
{
|
{
|
||||||
try
|
return this.ParentTriggerValue.Split(',').ToList();
|
||||||
{
|
|
||||||
return this.ParentTriggerValue.Split(',').ToList();
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
return new List<string>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
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.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// 项目阅片问题
|
||||||
|
///</summary>
|
||||||
|
[Table("ReadingTableQuestionTrial")]
|
||||||
|
public class ReadingTableQuestionTrial : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
///<summary>
|
#region 导航属性
|
||||||
/// 项目阅片问题
|
[JsonIgnore]
|
||||||
///</summary>
|
[ForeignKey("DependParentId")]
|
||||||
[Table("ReadingTableQuestionTrial")]
|
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
|
||||||
public class ReadingTableQuestionTrial : BaseAddAuditEntity
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[ForeignKey("ReadingQuestionId")]
|
||||||
|
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
|
||||||
|
[NotMapped]
|
||||||
|
public List<string> ParentTriggerValueList
|
||||||
{
|
{
|
||||||
#region 导航属性
|
get
|
||||||
[JsonIgnore]
|
|
||||||
[ForeignKey("DependParentId")]
|
|
||||||
public ReadingTableQuestionTrial DependParentQuestion { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
[ForeignKey("ReadingQuestionId")]
|
|
||||||
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
|
|
||||||
[NotMapped]
|
|
||||||
public List<string> ParentTriggerValueList
|
|
||||||
{
|
{
|
||||||
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 string Type { get; set; } = string.Empty;
|
||||||
public List<string> RelevanceValueList
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return this.RelevanceValue.Split(',').ToList();
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
return new List<string>();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[NotMapped]
|
public Guid? ParentId { get; set; }
|
||||||
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>();
|
public string ParentTriggerValue { get; set; } = string.Empty;
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 项目问题的Id ReadingQuestionTrial的id
|
|
||||||
/// </summary>
|
|
||||||
public Guid ReadingQuestionId { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public string Type { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
|
|
||||||
public Guid? ParentId { get; set; }
|
public string QuestionName { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string ParentTriggerValue { 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 Remark { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string TypeValue { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
|
|
||||||
public bool IsEnable { get; set; }
|
public Guid? RelevanceId { get; set; }
|
||||||
|
|
||||||
public string Remark { get; set; } = string.Empty;
|
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 IsDepend IsDepend { get; set; }
|
||||||
|
|
||||||
public TableQuestionType? TableQuestionType { get; set; }
|
|
||||||
|
|
||||||
public Guid? DependParentId { get; set; }
|
|
||||||
|
|
||||||
public IsDepend IsDepend { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public Guid TrialCriterionId { get; set; }
|
public Guid TrialCriterionId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 问题标识
|
/// 问题标识
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public QuestionMark? QuestionMark { get; set; }
|
public QuestionMark? QuestionMark { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 字典code
|
/// 字典code
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string DictionaryCode { get; set; } = string.Empty;
|
public string DictionaryCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数值类型
|
/// 数值类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueOfType? ValueType { get; set; }
|
public ValueOfType? ValueType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单位
|
/// 单位
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ValueUnit? Unit { get; set; }
|
public ValueUnit? Unit { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义单位
|
/// 自定义单位
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CustomUnit { get; set; } = string.Empty;
|
public string CustomUnit { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public CustomCalculateMark? CustomCalculateMark { get; set; }
|
public CustomCalculateMark? CustomCalculateMark { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 限制编辑
|
/// 限制编辑
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
|
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义计算标记
|
/// 自定义计算标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CalculateQuestions { get; set; } = "[]";
|
public string CalculateQuestions { get; set; } = "[]";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 问题英文名称
|
/// 问题英文名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string QuestionEnName { get; set; } = string.Empty;
|
public string QuestionEnName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据来源
|
/// 数据来源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
|
public DataSources DataSource { get; set; } = DataSources.ManualEntry;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 最大答案长度
|
/// 最大答案长度
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? MaxAnswerLength { get; set; }
|
public int? MaxAnswerLength { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 文件类型
|
/// 文件类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string FileType { get; set; } = string.Empty;
|
public string FileType { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 问题分类
|
/// 问题分类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public QuestionClassify? QuestionClassify { get; set; }
|
public QuestionClassify? QuestionClassify { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 复制病灶的时候 是否复制这个问题
|
|
||||||
/// </summary>
|
|
||||||
public bool IsCopy { get; set; } = false;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 系统表格问题Id
|
|
||||||
/// </summary>
|
|
||||||
public Guid? SystemTableQuestionId { 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 System.Diagnostics.CodeAnalysis;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目阅片 - 表格问题行记录")]
|
||||||
|
[Table("ReadingTableAnswerRowInfo")]
|
||||||
|
public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目阅片 - 表格问题行记录")]
|
#region 导航属性
|
||||||
[Table("ReadingTableAnswerRowInfo")]
|
[JsonIgnore]
|
||||||
public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity
|
[ForeignKey("InstanceId")]
|
||||||
{
|
public DicomInstance Instance { get; set; }
|
||||||
#region 导航属性
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
[ForeignKey("VisitTaskId")]
|
||||||
[ForeignKey("InstanceId")]
|
public VisitTask VisitTask { get; set; }
|
||||||
public DicomInstance Instance { get; set; }
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
[ForeignKey("OrganInfoId")]
|
||||||
[ForeignKey("VisitTaskId")]
|
public OrganInfo OrganInfo { get; set; }
|
||||||
public VisitTask VisitTask { get; set; }
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
[ForeignKey("SplitRowId")]
|
||||||
[ForeignKey("OrganInfoId")]
|
public ReadingTableAnswerRowInfo SplitRow { get; set; }
|
||||||
public OrganInfo OrganInfo { get; set; }
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
[ForeignKey("MergeRowId")]
|
||||||
[ForeignKey("SplitRowId")]
|
public ReadingTableAnswerRowInfo MergeRow { get; set; }
|
||||||
public ReadingTableAnswerRowInfo SplitRow { get; set; }
|
[JsonIgnore]
|
||||||
[JsonIgnore]
|
[ForeignKey("QuestionId")]
|
||||||
[ForeignKey("MergeRowId")]
|
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
|
||||||
public ReadingTableAnswerRowInfo MergeRow { get; set; }
|
|
||||||
[JsonIgnore]
|
|
||||||
[ForeignKey("QuestionId")]
|
|
||||||
public ReadingQuestionTrial ReadingQuestionTrial { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
//病灶答案表
|
//病灶答案表
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();
|
public List<ReadingTableQuestionAnswer> LesionAnswerList { get; set; } = new List<ReadingTableQuestionAnswer>();
|
||||||
#endregion
|
#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>
|
/// <summary>
|
||||||
/// 是Dicom阅片
|
/// 是Dicom阅片
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsDicomReading { get; set; } = true;
|
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>
|
||||||
/// 是否是当前任务添加
|
/// 是否是当前任务添加
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsCurrentTaskAdd { get; set; } = false;
|
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>
|
||||||
/// 截图地址
|
/// 截图地址
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string PicturePath { get; set; } = string.Empty;
|
public string PicturePath { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 第一次添加的任务ID
|
/// 第一次添加的任务ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal FristAddTaskNum { get; set; } = 0;
|
public decimal FristAddTaskNum { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 首次添加任务ID
|
/// 首次添加任务ID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid FristAddTaskId { get; set; }
|
public Guid FristAddTaskId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 融合的PTSeriesId
|
/// 融合的PTSeriesId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? PTSeriesId { get; set; }
|
public Guid? PTSeriesId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 融合的CTSeriesId
|
/// 融合的CTSeriesId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? CTSeriesId { get; set; }
|
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>
|
/// <summary>
|
||||||
/// 器官Id
|
/// 器官Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? OrganInfoId { get; set; }
|
public Guid? OrganInfoId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 窗宽WW
|
/// 窗宽WW
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal? WW { get; set; }
|
public decimal? WW { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 窗位WL
|
/// 窗位WL
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal? WL { get; set; }
|
public decimal? WL { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 来自于哪个标记
|
/// 来自于哪个标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string FromMark { get; set; } = string.Empty;
|
public string FromMark { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 报告页面显示来自于哪个标记
|
/// 报告页面显示来自于哪个标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ReportMark { get; set; } = string.Empty;
|
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>
|
||||||
/// 标记工具
|
/// 标记工具
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string MarkTool { get; set; } = string.Empty;
|
public string MarkTool { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,30 +8,27 @@ using IRaCIS.Core.Domain.Share;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("用户配置 - WL模板")]
|
||||||
|
[Table("UserWLTemplate")]
|
||||||
|
public class UserWLTemplate : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("用户配置 - WL模板")]
|
#region 导航属性
|
||||||
[Table("UserWLTemplate")]
|
|
||||||
public class UserWLTemplate : BaseAddAuditEntity
|
|
||||||
{
|
|
||||||
#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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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("靶病灶")]
|
[Comment("靶病灶")]
|
||||||
public TargetAssessment TargetLesion { get; set; }
|
public TargetAssessment TargetLesion { get; set; }
|
||||||
|
|
||||||
[Comment("非靶病灶")]
|
[Comment("非靶病灶")]
|
||||||
public NoTargetAssessment NonTargetLesions { get; set; }
|
public NoTargetAssessment NonTargetLesions { get; set; }
|
||||||
|
|
||||||
[Comment("新病灶")]
|
[Comment("新病灶")]
|
||||||
public NewLesionAssessment NewLesion { get; set; }
|
public NewLesionAssessment NewLesion { get; set; }
|
||||||
|
|
||||||
[Comment("整体疗效")]
|
|
||||||
public OverallAssessment OverallEfficacy { 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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Microsoft.EntityFrameworkCore;
|
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("靶病灶")]
|
[Comment("靶病灶")]
|
||||||
public TargetAssessment TargetLesion { get; set; }
|
public TargetAssessment TargetLesion { get; set; }
|
||||||
|
|
||||||
[Comment("非靶病灶")]
|
[Comment("非靶病灶")]
|
||||||
public NoTargetAssessment NonTargetLesions { get; set; }
|
public NoTargetAssessment NonTargetLesions { get; set; }
|
||||||
|
|
||||||
[Comment("新病灶")]
|
[Comment("新病灶")]
|
||||||
public NewLesionAssessment NewLesion { get; set; }
|
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 Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目 - 项目状态变更记录表")]
|
||||||
|
[Table("TrialStateChange")]
|
||||||
|
public class TrialStateChange : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目 - 项目状态变更记录表")]
|
#region 导航属性
|
||||||
[Table("TrialStateChange")]
|
[JsonIgnore]
|
||||||
public class TrialStateChange : BaseAddAuditEntity
|
[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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Domain.Models
|
namespace IRaCIS.Core.Domain.Models;
|
||||||
|
|
||||||
|
[Comment("项目 - 入组流程记录")]
|
||||||
|
[Table("TrialStatus")]
|
||||||
|
public partial class TrialStatusDetail : BaseAddAuditEntity
|
||||||
{
|
{
|
||||||
[Comment("项目 - 入组流程记录")]
|
#region 导航属性
|
||||||
[Table("TrialStatus")]
|
[JsonIgnore]
|
||||||
public partial class TrialStatusDetail : BaseAddAuditEntity
|
public List<EnrollDetail> IntoGroupDetails { get; set; }
|
||||||
{
|
|
||||||
#region 导航属性
|
|
||||||
[JsonIgnore]
|
|
||||||
public List<EnrollDetail> IntoGroupDetails { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Trial Trial { get; set; }
|
public Trial Trial { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
public int TrialStatus { get; set; }
|
public int TrialStatus { get; set; }
|
||||||
[StringLength(400)]
|
[StringLength(400)]
|
||||||
public string Memo { get; set; } = string.Empty;
|
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;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
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]
|
||||||
#region 导航属性
|
public Trial Trial { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Trial Trial { get; set; }
|
[ForeignKey("SubjectId")]
|
||||||
[JsonIgnore]
|
public Subject Subject { get; set; }
|
||||||
[ForeignKey("SubjectId")]
|
#endregion
|
||||||
public Subject Subject { get; set; }
|
public int AuditType { 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 DateTime OptTime { get; set; } = DateTime.Now;
|
||||||
public string Note { get; set; } = string.Empty;
|
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 IRaCIS.Core.Domain.Share;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
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 导航属性
|
#region 导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public User User { get; set; }
|
public User User { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Trial Trial { get; set; }
|
public Trial Trial { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public Guid UserId { get; set; }
|
public Guid UserId { get; set; }
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
|
||||||
|
|
||||||
public DateTime? ExpireTime { 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;
|
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]
|
[JsonIgnore]
|
||||||
public TrialSite TrialSite { get; set; }
|
public TrialSite TrialSite { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("OutPlanPreviousVisitId")]
|
[ForeignKey("OutPlanPreviousVisitId")]
|
||||||
public SubjectVisit OutPlanPreviousVisit { get; set; }
|
public SubjectVisit OutPlanPreviousVisit { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[ForeignKey("ForwardUserId")]
|
[ForeignKey("ForwardUserId")]
|
||||||
public User ForwardUser { get; set; }
|
public User ForwardUser { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("PreliminaryAuditUserId")]
|
[ForeignKey("PreliminaryAuditUserId")]
|
||||||
public User PreliminaryAuditUser { get; set; }
|
public User PreliminaryAuditUser { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("ReviewAuditUserId")]
|
[ForeignKey("ReviewAuditUserId")]
|
||||||
public User ReviewAuditUser { get; set; }
|
public User ReviewAuditUser { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("CurrentActionUserId")]
|
[ForeignKey("CurrentActionUserId")]
|
||||||
public User CurrentActionUser { get; set; }
|
public User CurrentActionUser { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("SubmitUserId")]
|
[ForeignKey("SubmitUserId")]
|
||||||
public User SubmitUser { get; set; }
|
public User SubmitUser { get; set; }
|
||||||
|
|
||||||
//导航属性
|
//导航属性
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("TrialId")]
|
[ForeignKey("TrialId")]
|
||||||
public Trial Trial { get; set; }
|
public Trial Trial { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<ReadModule> ReadModuleList { get; set; }
|
public List<ReadModule> ReadModuleList { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("SubjectId")]
|
[ForeignKey("SubjectId")]
|
||||||
public Subject Subject { get; set; }
|
public Subject Subject { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<PreviousHistory> PreviousHistoryList { get; set; }
|
public List<PreviousHistory> PreviousHistoryList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<PreviousOther> PreviousOtherList { get; set; }
|
public List<PreviousOther> PreviousOtherList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<PreviousSurgery> PreviousSurgeryList { get; set; }
|
public List<PreviousSurgery> PreviousSurgeryList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<PreviousPDF> PreviousPDFList { get; set; }
|
public List<PreviousPDF> PreviousPDFList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<CheckChallengeDialog> CheckChallengeDialogList { get; set; } = new List<CheckChallengeDialog>();
|
public List<CheckChallengeDialog> CheckChallengeDialogList { get; set; } = new List<CheckChallengeDialog>();
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<DicomStudy> StudyList { get; set; } = new List<DicomStudy>();
|
public List<DicomStudy> StudyList { get; set; } = new List<DicomStudy>();
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<NoneDicomStudy> NoneDicomStudyList { get; set; } = new List<NoneDicomStudy>();
|
public List<NoneDicomStudy> NoneDicomStudyList { get; set; } = new List<NoneDicomStudy>();
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<QCChallenge> QCChallengeList { get; set; } = new List<QCChallenge>();
|
public List<QCChallenge> QCChallengeList { get; set; } = new List<QCChallenge>();
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>();
|
public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>();
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<VisitTask> VisitTaskList { get; set; } = new List<VisitTask>();
|
public List<VisitTask> VisitTaskList { get; set; } = new List<VisitTask>();
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
|
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Guid TrialSiteId { get; set; }
|
public Guid TrialSiteId { get; set; }
|
||||||
|
|
||||||
//一个访视 对应有对应Site的 TrialSiteCode
|
//一个访视 对应有对应Site的 TrialSiteCode
|
||||||
|
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
public Guid? VisitStageId { get; set; }
|
public Guid? VisitStageId { get; set; }
|
||||||
public int VisitDay { get; set; }
|
public int VisitDay { get; set; }
|
||||||
public string VisitName { get; set; } = string.Empty;
|
public string VisitName { get; set; } = string.Empty;
|
||||||
public int VisitWindowLeft { get; set; }
|
public int VisitWindowLeft { get; set; }
|
||||||
public int VisitWindowRight { get; set; }
|
public int VisitWindowRight { get; set; }
|
||||||
|
|
||||||
[Column(TypeName = "decimal(18,1)")]
|
[Column(TypeName = "decimal(18,1)")]
|
||||||
public decimal VisitNum { get; set; }
|
public decimal VisitNum { get; set; }
|
||||||
public string BlindName { get; set; } = string.Empty;
|
public string BlindName { get; set; } = string.Empty;
|
||||||
|
|
||||||
public string SVUPDES { get; set; } = string.Empty;
|
public string SVUPDES { get; set; } = string.Empty;
|
||||||
public DateTime? SVSTDTC { get; set; }
|
public DateTime? SVSTDTC { get; set; }
|
||||||
public DateTime? SVENDTC { get; set; }
|
public DateTime? SVENDTC { get; set; }
|
||||||
public bool InPlan { get; set; } = true;
|
public bool InPlan { get; set; } = true;
|
||||||
public bool IsBaseLine { get; set; } = false;
|
public bool IsBaseLine { get; set; } = false;
|
||||||
|
|
||||||
|
|
||||||
//0 未执行 1 执行了 2 不可用
|
//0 未执行 1 执行了 2 不可用
|
||||||
public VisitExecutedEnum VisitExecuted { get; set; } = VisitExecutedEnum.UnExecuted;
|
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>
|
||||||
/// 影像下载打包状态
|
/// 最晚拍片日期
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public enum PackState
|
public DateTime? LatestScanDate { get; set; }
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
public Guid? Auditor { get; set; }
|
||||||
/// 待打包
|
|
||||||
/// </summary>
|
|
||||||
WaitPack = 0,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 打包中
|
|
||||||
/// </summary>
|
|
||||||
Packing = 1,
|
|
||||||
|
|
||||||
/// <summary>
|
//核查状态
|
||||||
/// 打包完成
|
public CheckStateEnum CheckState { get; set; }
|
||||||
/// </summary>
|
|
||||||
Packed = 2
|
//提交状态
|
||||||
}
|
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<ResearchPublication> ResearchPublications { get; set; }
|
||||||
public virtual DbSet<TrialExperience> TrialExperience { 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<Vacation> Vacation { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<Attachment> Attachment { get; set; }
|
public virtual DbSet<Attachment> Attachment { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue