namespace IRaCIS.Core.Domain.Models;

[Comment("归档 -  Instance表")]
[Table("DicomInstance")]
public class DicomInstance : BaseFullAuditEntity, IEntitySeqId
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("SeriesId")]
    public DicomSeries DicomSerie { get; set; }

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

    [JsonIgnore]
    public List<ReadingTableAnswerRowInfo> ReadingTableAnswerRowInfoList { get; set; }
    #endregion

    public bool Anonymize { get; set; }

    public bool CPIStatus { get; set; }

    public long? FileSize { get; set; }

    public string FrameOfReferenceUID { get; set; } = null!;

    [StringLength(1000)]
    public string HtmlPath { get; set; } = null!;

    public int ImageColumns { get; set; }

    public int ImageRows { get; set; }

   
    public string ImagerPixelSpacing { get; set; } = null!;

    public int InstanceNumber { get; set; }

    public DateTime? InstanceTime { get; set; }

    public int NumberOfFrames { get; set; }

    [StringLength(1000)]
    public string Path { get; set; } = null!;

   
    public string PixelSpacing { get; set; } = null!;

    public Guid SeqId { get; set; }

    public Guid SeriesId { get; set; }

    public string SeriesInstanceUid { get; set; } = null!;

    public int SliceLocation { get; set; }

   
    public string SliceThickness { get; set; } = null!;

    public string SopInstanceUid { get; set; } = null!;

    public Guid StudyId { get; set; }

    public string StudyInstanceUid { get; set; } = null!;

    public Guid SubjectId { get; set; }

    public Guid SubjectVisitId { get; set; }

    public Guid TrialId { get; set; }

   
    public string WindowCenter { get; set; } = null!;

   
    public string WindowWidth { get; set; } = null!;
}
