using IRaCIS.Core.Domain.Share;

namespace IRaCIS.Core.Domain.Models;
[Comment("项目的临床数据")]
[Table("ReadingClinicalData")]
public class ReadingClinicalData : 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<ReadingClinicalDataPDF> ReadingClinicalDataPDFList { get; set; }
    #endregion

    public Guid TrialId { get; set; }

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

    public Guid? StudyId { get; set; }
    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; }

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