#nullable enable
namespace Hims.Domain.Entities
{
    using System;
    using System.ComponentModel.DataAnnotations;
    using Shared.Dapper.Attributes;

    /// <summary>
    /// The encounter.
    /// </summary>
    public class ObEncounter
    {
        /// <summary>
        /// Gets or sets the gyn encounter id.
        /// </summary>
        [Key, Identity]
        public int OBEncounterId { get; set; }

        /// <summary>
        /// Gets or sets the appointment id.
        /// </summary>
        [IgnoreUpdate]
        public int? AppointmentId { get; set; }

        /// <summary>
        /// Gets or sets the admission identifier.
        /// </summary>
        /// <value>
        /// The admission identifier.
        /// </value>
        public int? AdmissionId { get; set; }

        /// <summary>
        /// Gets or sets the encounter date.
        /// </summary>
        [IgnoreUpdate]
        public DateTime OBEncounterDate { get; set; }

        /// <summary>
        /// Gets or sets the vitals.
        /// </summary>
        public string? Vitals { get; set; }

        /// <summary>
        /// Gets or sets the problem list.
        /// </summary>
        public string? ProblemList { get; set; }

        /// <summary>
        /// Gets or sets the brief ros.
        /// </summary>
        public string? BriefRos { get; set; }

        /// <summary>
        /// Gets or sets the genetic  screening.
        /// </summary>
        public string? GeneticScreening { get; set; }

        /// <summary>
        /// Gets or sets the infection history.
        /// </summary>
        public string? InfectionHistory { get; set; }




        /// <summary>
        /// Gets or sets a value indicating whether active.
        /// </summary>
        public bool Active { get; set; }

        /// <summary>
        /// Gets or sets the created by.
        /// </summary>
        [IgnoreUpdate]
        public int CreatedBy { get; set; }

        /// <summary>
        /// Gets or sets the created date.
        /// </summary>
        [IgnoreUpdate]
        public DateTime CreatedDate { get; set; }

        /// <summary>
        /// Gets or sets the modified by.
        /// </summary>
        public int? ModifiedBy { get; set; }

        /// <summary>
        /// Gets or sets the modified date.
        /// </summary>
        public DateTime? ModifiedDate { get; set; }

        /// <summary>
        /// Gets or sets the anc card closure.
        /// </summary>
        public string? ANCCaredClosure { get; set; }

        /// <summary>
        /// Gets or sets the breast examination.
        /// </summary>
        public string? BreastExamination { get; set; }

        /// <summary>
        /// Gets or sets the complaints.
        /// </summary>
        public string? ANCCardGeneration { get; set; }

        /// <summary>
        /// Gets or sets the complaints.
        /// </summary>
        public string? Complaints { get; set; }

        /// <summary>
        /// Gets or sets the obstetric examination.
        /// </summary>
        public string? ObstetricExamination { get; set; }

        /// <summary>
        /// Gets or sets the vaginal examination.
        /// </summary>
        public string? VaginalExamination { get; set; }

        /// <summary>Gets or sets the plan of management.</summary>
        /// <value>The plan of management.</value>
        public string? PlanOfManagement { get; set; }
        /// <summary>
        /// Gets or sets the order prescription.
        /// </summary>
        public string? OrderPrescription { get; set; }
        /// <summary>
        /// Gets or sets the drug history.
        /// </summary>
        public string? DrugHistory { get; set; }
        /// <summary>
        /// Gets or sets the menstrual history.
        /// </summary>
        public string? MenstrualHistory { get; set; }
        /// <summary>
        /// Gets or sets the other detail.
        /// </summary>
        public string? OtherDetail { get; set; }


        /// <summary>
        /// Gets or sets the VTE Risk.
        /// </summary>
        public string? VTERisk { get; set; }

        /// <summary>
        /// Gets or sets the birth history.
        /// </summary>
        public string? BirthHistory { get; set; }

        /// <summary>
        /// Gets or sets the procedure form.
        /// </summary>
        public string? ProcedureForm { get; set; }

        /// <summary>
        /// Gets or sets the sga Scanning.
        /// </summary>
        public string? SGAScanning { get; set; }

        /// <summary>
        /// Gets or sets the surgeries.
        /// </summary>
        public string? Surgeries { get; set; }

        /// <summary>
        /// Gets or sets the Antinantal risk.
        /// </summary>
        public string? AntinantalRisk { get; set; }

        /// <summary>
        /// Get or sets the vaccine 
        /// </summary>
        public string? Vaccine { get; set; }
        /// <summary>
        /// Get or sets the postnantal visit
        /// </summary>
        public string? PostnantalVisit { get; set; }
        /// <summary>
        /// Get or sets the meausre
        /// </summary>
        public string? Measure { get; set; }
        /// <summary>
        /// Get or sets the general examination
        /// </summary>
        public string? GeneralExamination { get; set; }
        /// <summary>
        /// Get or sets the breech
        /// </summary>
        public string? Breech { get; set; }



        /// <summary>
        /// Get or sets the anc card
        /// </summary>
        public string? AncCard { get; set; }
        /// <summary>
        /// Get or sets the covid
        /// </summary>
        public string? Covid { get; set; }
        /// <summary>
        /// Get or sets anaesthesia record
        /// </summary>
        public string? AnaesthesiaRecord { get; set; }
        /// <summary>
        /// Get or sets pre pregnancy counseling
        /// </summary>
        public string? PrepregnancyCounseling { get; set; }
        /// <summary>
        /// Get or sets anaesthesia record
        /// </summary>
        public string? Allergies { get; set; }
        /// <summary>
        /// Get or sets family history
        /// </summary>
        public string? FamilyHistory { get; set; }
        /// <summary>
        /// Get or sets is appointmentclosed
        /// </summary>
        public bool? IsAppointmentClosed { get; set; }
        /// <summary>
        /// Get or sets patient Id
        /// </summary>
        public int? PatientId { get; set; }
        /// <summary>
        /// Get or sets out patient management
        /// </summary>
        public string? OutPatientManagement { get; set; }
        /// <summary>
        /// Get or sets pre pregnancy plan
        /// </summary>
        public string? PrePregnancyPlan { get; set; }
        /// <summary>
        /// Get or sets special features
        /// </summary>
        public string? SpecialFeature { get; set; }
        /// <summary>
        /// Get or sets referral form
        /// </summary>
        public string? ReferralForm { get; set; }
        /// <summary>
        /// Get or sets referral order
        /// </summary>
        public string? RefferalOrder { get; set; }
        /// <summary>
        /// Get or sets anc card generation id
        /// </summary>
        public int? ANCCardGenerationId { get; set; }
        /// <summary>
        /// Get or sets admission slip
        /// </summary>
        public string? AdmissionSlip { get; set; }
        /// <summary>
        /// Get or sets mother with epilepsy
        /// </summary>
        public string? MotherWithEpilepsy { get; set; }
        /// <summary>
        /// Get or sets external cephalic version
        /// </summary>
        public string? ExternalCephalicVersion { get; set; }
        /// <summary>
        /// Get or sets discharge summary
        /// </summary>
        public string? DischargeSummary { get; set; }


        /// <summary>
        /// Get or sets syndromes
        /// </summary>
        public string? Syndromes { get; set; }
        /// <summary>
        /// Get or sets op management
        /// </summary>
        public string? OPManagement { get; set; }
        /// <summary>
        /// Get or sets op management
        /// </summary>
        public string? NurseAssessment { get; set; }
        /// <summary>
        /// Get or sets outisde tests
        /// </summary>
        public string? OutSideTests { get; set; }
        /// <summary>
        /// Get or sets measure common data
        /// </summary>
        public string? MeasureCommonData { get; set; }
        /// <summary>
        /// Get or sets measure common data
        /// </summary>
        public string? AncCardCloseCommonData { get; set; }
        /// <summary>
        /// Get or sets neonatal assessment form
        /// </summary>
        public string? NeonatalAssessmentForm { get; set; }
        /// <summary>
        /// Get or sets neonatal assessment form
        /// </summary>
        public string? ScanAppointmentDetails { get; set; }
        /// <summary>
        /// Get or sets induction form
        /// </summary>
        public string? InductionForm { get; set; }
        /// <summary>
        /// Get or sets delivery form
        /// </summary>
        public string? NormalDeliveryForm { get; set; }
        
        /// <summary>
        /// Get or sets LSCS form
        /// </summary>
        public string? LSCS { get; set; }
        ///<summary>
        ///Get or sets Admission Details
        ///</summary>
       public string? AdmissionDetails { get; set; }

        /// <summary>
        /// Get or sets IUFD Entry form
        /// </summary>
        public string? IUFD { get; set; }

        /// <summary>
        /// Get or sets doctor review form
        /// </summary>
        public string? DoctorsReview { get; set; }
        public string? Reminder { get; set; }

        /// <summary>
        /// Get or sets Risk Category At Adm form
        /// </summary>
        public string? RiskCategoryAtAdm { get; set; }

    }
}