using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;

namespace IRaCIS.Core.Domain.Models
{
	///<summary>
	/// 一致性分析临床数据
	///</summary>
	[Table("ReadingConsistentClinicalData")]
	public class ReadingConsistentClinicalData : BaseAddAuditEntity
	{
        #region 导航属性
        [JsonIgnore]
        [ForeignKey("ClinicalDataTrialSetId")]

        public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; }

        [JsonIgnore]

        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; }

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

		/// <summary>
		/// 访视Id  或者模块Id
		/// </summary>
		public Guid ReadingId { get; set; }

		public Guid? StudyId { get; set; }

		/// <summary>
		/// 受试者ID
		/// </summary>
		public Guid SubjectId { get; set; }

		/// <summary>
		/// 临床数据类型Id
		/// </summary>
		public Guid ClinicalDataTrialSetId { get; set; }

		/// <summary>
		/// 是否为访视
		/// </summary>xiu
		public bool IsVisit { get; set; }


		/// <summary>
		/// 是否签名
		/// </summary>
		public bool IsSign { get; set; }

		/// <summary>
		/// 是否盲化
		/// </summary>
		public bool? IsBlind { get; set; } = false;

		/// <summary>
		/// 是否完整
		/// </summary>
		public bool? IsComplete { get; set; } = true;


		public int FileCount { get; set; }


		//临床数据状态
		public ReadingClinicalDataStatus ReadingClinicalDataState { get; set; }

	

       


    }


	



}