优化数据库表
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-09-19 16:40:17 +08:00
parent 4e7ce826c8
commit b98df9dae8
23 changed files with 876 additions and 971 deletions
@@ -1,91 +1,54 @@
using IRaCIS.Core.Domain.Share;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("系统 - 临床数据配置")]
[Table("ClinicalDataSystemSet")]
public class ClinicalDataSystemSet : BaseAddAuditEntity
{
///<summary>
/// 临床资料系统配置
///</summary>
[Table("ClinicalDataSystemSet")]
public class ClinicalDataSystemSet : BaseAddAuditEntity
{
#region
#region
#endregion
[NotMapped]
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
/// <summary>
/// 枚举(字典里面取的)
/// </summary>
public int ClinicalDataSetEnum { get; set; }
#endregion
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; } = string.Empty;
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 是否应用
/// </summary>
public bool IsApply { get; set; } = false;
[StringLength(400)]
public string ClinicalDataSetEnName { get; set; } = null!;
/// <summary>
/// 英文名称
/// </summary>
public string ClinicalDataSetEnName { get; set; } = string.Empty;
[Comment(" 枚举(字典里面取的)")]
public int ClinicalDataSetEnum { get; set; }
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
public string ClinicalDataSetName { get; set; } = null!;
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; } = string.Empty;
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; } = string.Empty;
public string CriterionEnumListStr { get; set; } = String.Empty;
[NotMapped]
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
//public List<SystemClinicalDataCriterion> SystemClinicalDataCriterionList { get; set; } = new List<SystemClinicalDataCriterion>();
}
[Comment("上传方式")]
public ClinicalUploadType ClinicalUploadType { get; set; }
[StringLength(512)]
public string CriterionEnumListStr { get; set; } = null!;
[StringLength(400)]
public string FileName { get; set; } = null!;
[Comment("是否应用")]
public bool IsApply { get; set; }
public bool IsEnable { get; set; }
[StringLength(4000)]
public string Path { get; set; } = null!;
public UploadRole UploadRole { get; set; }
}
@@ -6,105 +6,65 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models
namespace IRaCIS.Core.Domain.Models;
[Comment("项目 - 临床数据适应标准配置")]
[Table("ClinicalDataTrialSet")]
public class ClinicalDataTrialSet : BaseAddAuditEntity
{
///<summary>
/// 临床资料项目配置
///</summary>
[Table("ClinicalDataTrialSet")]
public class ClinicalDataTrialSet : BaseAddAuditEntity
{
#region
#region
[JsonIgnore]
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
[JsonIgnore]
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriteriaList { get; set; }
[JsonIgnore]
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriteriaList { get; set; }
[JsonIgnore]
public List<TrialClinicalQuestion> TrialClinicalQuestionList { get; set; }
[JsonIgnore]
[ForeignKey("SystemClinicalDataSetId")]
public ClinicalDataSystemSet? ClinicalDataSystemSet { get; set; }
#endregion
[JsonIgnore]
public List<TrialClinicalQuestion> TrialClinicalQuestionList { get; set; }
[JsonIgnore]
[ForeignKey("SystemClinicalDataSetId")]
public ClinicalDataSystemSet? ClinicalDataSystemSet { get; set; }
#endregion
public Guid TrialId { get; set; }
[Comment("临床级别")]
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; }=string.Empty;
[StringLength(400)]
public string ClinicalDataSetEnName { get; set; } = null!;
/// <summary>
/// 英文名称
/// </summary>
public string ClinicalDataSetEnName { get; set; } = string.Empty;
public string ClinicalDataSetName { get; set; } = null!;
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
[Comment("上传方式")]
public ClinicalUploadType ClinicalUploadType { get; set; }
[StringLength(512)]
public string CriterionEnumListStr { get; set; } = null!;
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
[StringLength(400)]
public string FileName { get; set; } = null!;
[Comment("是否应用")]
public bool IsApply { get; set; }
/// <summary>
/// 系统的ClinicalDataSetId
/// </summary>
public Guid? SystemClinicalDataSetId { get; set; }
/// <summary>
/// SystemClinicalDataSetId
/// </summary>
/// <summary>
/// 是否确认
/// </summary>
public bool IsConfirm { get; set; }
/// <summary>
/// 是否应用
/// </summary>
public bool IsApply { get; set; } = false;
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; } = string.Empty;
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; } = string.Empty;
public string CriterionEnumListStr { get; set; } = String.Empty;
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
}
public bool IsConfirm { get; set; }
[StringLength(4000)]
public string Path { get; set; } = null!;
public Guid? SystemClinicalDataSetId { get; set; }
public Guid TrialId { get; set; }
public UploadRole UploadRole { get; set; }
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
}
@@ -7,37 +7,31 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 临床表单表格问题行记录")]
[Table("ClinicalAnswerRowInfo")]
public class ClinicalAnswerRowInfo : BaseAddAuditEntity
{
///<summary>
///ClinicalAnswerRowInfo
///</summary>
[Table("ClinicalAnswerRowInfo")]
public class ClinicalAnswerRowInfo : BaseAddAuditEntity
{
#region
#region
#endregion
[Comment(" 表单Id")]
public Guid ClinicalFormId { get; set; }
[Comment(" 问题Id")]
public Guid QuestionId { get; set; }
public int RowIndex { get; set; }
[Comment(" 受试者Id")]
public Guid SubjectId { get; set; }
}
#endregion
public Guid SubjectId { get; set; }
/// <summary>
/// 表单Id
/// </summary>
public Guid ClinicalFormId { get; set; }
/// <summary>
/// 问题Id
/// </summary>
public Guid QuestionId { get; set; }
/// <summary>
/// RowIndex
/// </summary>
public int RowIndex { get; set; }
}
}
@@ -7,50 +7,42 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 临床表单")]
[Table("ClinicalForm")]
public class ClinicalForm : BaseAddAuditEntity
{
///<summary>
///ClinicalForm
///</summary>
[Table("ClinicalForm")]
public class ClinicalForm : BaseAddAuditEntity
{
#region
[JsonIgnore]
[ForeignKey("ClinicalDataTrialSetId")]
public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; }
#region
[JsonIgnore]
[ForeignKey("ClinicalDataTrialSetId")]
public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; }
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
#endregion
[JsonIgnore]
[ForeignKey("SubjectId")]
public Subject Subject { get; set; }
#endregion
public Guid SubjectId { get; set; }
[Comment(" 检查日期")]
public DateTime? CheckDate { get; set; }
public Guid ClinicalDataTrialSetId { get; set; }
[Comment(" 截图地址")]
[StringLength(4000)]
public string PicturePath { get; set; } = null!;
public Guid? ReadingId { get; set; }
[Comment(" 受试者Id")]
public Guid SubjectId { get; set; }
public Guid TrialId { get; set; }
public Guid? VisitId { get; set; }
}
public Guid TrialId { get; set; }
/// <summary>
/// 检查日期
/// </summary>
public DateTime? CheckDate { get; set; }
/// <summary>
/// 截图地址
/// </summary>
public string PicturePath { get; set; } = string.Empty;
public Guid ClinicalDataTrialSetId { get; set; }
/// <summary>
/// VisitId
/// </summary>
public Guid? ReadingId { get; set; }
}
}
@@ -7,42 +7,36 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 临床表单问题答案")]
[Table("ClinicalQuestionAnswer")]
public class ClinicalQuestionAnswer : BaseAddAuditEntity
{
///<summary>
///ClinicalQuestionAnswer
///</summary>
[Table("ClinicalQuestionAnswer")]
public class ClinicalQuestionAnswer : BaseAddAuditEntity
{
#region
#region
[JsonIgnore]
[ForeignKey("ClinicalFormId")]
public ClinicalForm ClinicalForm { get; set; }
#endregion
[JsonIgnore]
[ForeignKey("ClinicalFormId")]
public ClinicalForm ClinicalForm { get; set; }
#endregion
public Guid SubjectId { get; set; }
/// <summary>
/// 表单Id
/// </summary>
public Guid ClinicalFormId { get; set; }
[StringLength(4000)]
public string Answer { get; set; } = null!;
/// <summary>
/// 问题Id
/// </summary>
public Guid QuestionId { get; set; }
public Guid ClinicalDataTrialSetId { get; set; }
public string Answer { get; set; } = string.Empty;
[Comment(" 表单Id")]
public Guid ClinicalFormId { get; set; }
public Guid ClinicalDataTrialSetId { get; set; }
[Comment(" 问题Id")]
public Guid QuestionId { get; set; }
[Comment(" 受试者Id")]
public Guid SubjectId { get; set; }
}
}
}
@@ -7,37 +7,38 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models;
[Comment("受试者 - 临床表单表格问题答案")]
[Table("ClinicalTableAnswer")]
public partial class ClinicalTableAnswer : BaseAddAuditEntity
{
///<summary>
///ClinicalTableAnswer
///</summary>
[Table("ClinicalTableAnswer")]
public class ClinicalTableAnswer : BaseAddAuditEntity
{
#region
[JsonIgnore]
[ForeignKey("RowId")]
public ClinicalAnswerRowInfo ClinicalAnswerRowInfo{get; set;}
#endregion
#region
[JsonIgnore]
[ForeignKey("RowId")]
public ClinicalAnswerRowInfo ClinicalAnswerRowInfo { get; set; }
#endregion
public Guid SubjectId { get; set; }
[Comment(" 答案")]
[StringLength(4000)]
public string Answer { get; set; } = null!;
public Guid ClinicalFormId { get; set; }
[Comment(" 表单Id")]
public Guid ClinicalFormId { get; set; }
public Guid QuestionId { get; set; }
[Comment(" 问题Id")]
public Guid QuestionId { get; set; }
public Guid RowId { get; set; }
[Comment(" 答案行的Id")]
public Guid RowId { get; set; }
public string Answer { get; set; }=string.Empty;
[Comment(" 受试者Id")]
public Guid SubjectId { get; set; }
public Guid TableQuestionId { get; set; }
public Guid TableQuestionId { get; set; }
}
}
}
@@ -7,46 +7,31 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models;
[Comment("系统标准 - 病灶器官表 (需要同步)")]
[Table("CriterionNidusSystem")]
public class CriterionNidusSystem : BaseAddAuditEntity
{
/// <summary>
/// 标准病灶中间表
/// </summary>
[Table("CriterionNidusSystem")]
public class CriterionNidusSystem : BaseAddAuditEntity
{
#region
[ForeignKey("CriterionId")]
[JsonIgnore]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#endregion
/// <summary>
/// 标准ID
/// </summary>
public Guid CriterionId { get; set; }
#region
[ForeignKey("CriterionId")]
[JsonIgnore]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
#endregion
public Guid CriterionId { get; set; }
public bool IsSystemCriterion { get; set; }
[Comment("病灶类型")]
public LesionType LesionType { get; set; }
[Comment("器官类型")]
public OrganType OrganType { get; set; }
}
/// <summary>
/// 器官类型
/// </summary>
public OrganType OrganType { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType LesionType { get; set; }
/// <summary>
/// 是否是系统标准
/// </summary>
public bool IsSystemCriterion { get; set; }
}
}
@@ -7,28 +7,24 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Domain.Models;
[Comment("项目标准 - 病灶器官表")]
[Table("CriterionNidusTrial")]
public class CriterionNidusTrial : BaseAddAuditEntity
{
///<summary>
///CriterionNidusTrial
///</summary>
[Table("CriterionNidusTrial")]
public class CriterionNidusTrial : BaseAddAuditEntity
{
#region
#region
#endregion
#endregion
public Guid CriterionId { get; set; }
public Guid CriterionId { get; set; }
public LesionType LesionType { get; set; }
public LesionType LesionType { get; set; }
/// <summary>
/// 器官类型
/// </summary>
public OrganType OrganType { get; set; }
public OrganType OrganType { get; set; }
}
}
}