namespace IRaCIS.Core.Domain.Models;

[Comment("归档 - 序列表")]
[Table("DicomSeries")]
public  class DicomSeries : BaseFullDeleteAuditEntity, IEntitySeqId
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("StudyId")]
    public DicomStudy DicomStudy { get; set; }

    [JsonIgnore]
    public List<DicomInstance> DicomInstanceList { get; set; }

    [JsonIgnore]
    public List<SubjectCriteriaEvaluationVisitStudyFilter> SubjectCriteriaEvaluationVisitStudyFilterList { get; set; }
    #endregion

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

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

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

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

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

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

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

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

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

    public int InstanceCount { get; set; }

    public bool IsReading { get; set; } = true;

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

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

    public Guid SeqId { get; set; }

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

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

    public int SeriesNumber { get; set; }

    public DateTime? SeriesTime { get; set; }

    public string SliceThickness { 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 TriggerTime { get; set; } = null!;

    public Guid? VisitTaskId { get; set; }
}