using IRaCIS.Core.Domain.Share;

namespace IRaCIS.Core.Domain.Models;

[Comment("一致性分析临床数据")]
[Table("ReadingConsistentClinicalData")]
public class ReadingConsistentClinicalData : BaseAddAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("ClinicalDataTrialSetId")]

    public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; }

    [JsonIgnore]
    [ForeignKey("StudyId")]
    public DicomStudy DicomStudy { get; set; }

    [JsonIgnore]
    [ForeignKey("TrialId")]

    public Trial Trial { get; set; }

    [JsonIgnore]
    [ForeignKey("ReadingId")]

    public SubjectVisit SubjectVisit { get; set; }

    [JsonIgnore]
    [ForeignKey("SubjectId")]

    public Subject Subject { get; set; }

    [JsonIgnore]
    [ForeignKey("ReadingId")]

    public ReadModule ReadModule { get; set; }

    [Comment("PDF文件")]
    [JsonIgnore]
    public List<ReadingConsistentClinicalDataPDF> ReadingClinicalDataPDFList { get; set; }
    #endregion
    [Comment("项目ID")]
    public Guid TrialId { get; set; }

    [Comment("访视Id  或者模块Id")]
    public Guid ReadingId { get; set; }

    public Guid? StudyId { get; set; }

    [Comment("受试者ID")]
    public Guid SubjectId { get; set; }

    [Comment("临床数据类型Id")]
    public Guid ClinicalDataTrialSetId { get; set; }

    [Comment("是否为访视")]
    public bool IsVisit { get; set; }
    [Comment("是否签名")]
    public bool IsSign { get; set; }

    [Comment("是否盲化")]
    public bool? IsBlind { get; set; } = false;

    [Comment("是否完整")]
    public bool? IsComplete { get; set; } = true;
    public int FileCount { get; set; }
    [Comment("临床数据状态")]
    public ReadingClinicalDataStatus ReadingClinicalDataState { get; set; }
}