using System;
using System.Collections.Generic;
using System.Text;

namespace Hims.Shared.EntityModels
{
    /// <summary>
    /// The ivf encounter full transcript
    /// </summary>
    public class IvfEncounterFullTranscriptModel
    {
        /// <summary>
        /// Gets or sets the gyn encounter id.
        /// </summary>
        public int IvfEncounterId { get; set; }

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


        /// <summary>
        /// Gets or sets the encounter date.
        /// </summary>
        public DateTime EncounterDate { 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>
        public int CreatedBy { get; set; }

        /// <summary>
        /// Gets or sets the created date.
        /// </summary>
        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 provider name.
        /// </summary>
        public string? ProviderName { get; set; }

        /// <summary>
        /// Gets or sets the provider no.
        /// </summary>
        public string? ProviderNo { get; set; }

        /// <summary>
        /// Gets or sets the specialization name.
        /// </summary>
        public string? SpecializationName { get; set; }

        /// <summary>
        /// Gets or sets the practice name.
        /// </summary>
        public string? PracticeName { get; set; }

        /// <summary>
        /// Gets or sets the practice location.
        /// </summary>
        public string? PracticeLocation { get; set; }

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

        /// <summary>
        /// Gets or sets the appointment time.
        /// </summary>
        public TimeSpan AppointmentTime { get; set; }

        /// <summary>
        /// Gets or sets the patient id.
        /// </summary>
        public int PatientId { get; set; }

        /// <summary>
        /// Gets or sets the patient name.
        /// </summary>
        public string? PatientName { get; set; }

        /// <summary>
        /// Gets or sets the patient gender.
        /// </summary>
        public char? PatientGender { get; set; }

        /// <summary>
        /// Gets or sets the patient mobile.
        /// </summary>
        public string? PatientMobile { get; set; }

        /// <summary>
        /// Gets or sets the patient age.
        /// </summary>
        public short? PatientAge { get; set; }

        /// <summary>
        /// Gets or sets the patient date of birth.
        /// </summary>
        public DateTime? PatientDateOfBirth { get; set; }

        /// <summary>
        /// Gets or sets the patient country code.
        /// </summary>
        public string? PatientCountryCode { get; set; }

        /// <summary>
        /// Gets or sets the appointment date.
        /// </summary>
        public DateTime AppointmentDate { get; set; }

        /// <summary>
        /// Gets or sets the appointment no.
        /// </summary>
        public string AppointmentNo { get; set; }
       
        /// <summary>
        /// Gets or Sets the ivf encounter date
        /// </summary>
        public DateTime IvfEncounterDate { get; set; }
       
        /// <summary>
        /// Gets or Sets the admission id
        /// </summary>
        public int? AdmissionId { get; set; }
        /// <summary>
        /// Gets or Sets the gyn history
        /// </summary>
        public string? GynHistory { get; set; }
        /// <summary>
        /// Gets or Sets the gyn iui
        /// </summary>
        public string? GynIUI { get; set; }
        /// <summary>
        /// Gets or Sets the menstrual history
        /// </summary>
        public string? MensutralHistory { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>

        public string? BirthControl { get; set; }
        /// <summary>
        /// Gets or Sets the embryo freezing
        /// </summary>

        public string? EmbryoFreezing { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? InfertilityHistory { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? MarriedLifeHistory { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? ContraceptionHistory { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string MenstrualHistoryPresent { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? AddIUIData { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? DualTriggerInjection { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? IUIStimulationScan { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? IUISummary { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? Laproscopy { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? Hysteroscopy { get; set; }


        /// <summary>
        /// Gets or Sets the CoitalHistory
        /// </summary>

        public string? CoitalHistory { get; set; }
        /// <summary>
        /// Gets or Sets the PreviousObstetricHistory
        /// </summary>

        public string? PreviousObstetricHistory { get; set; }
        /// <summary>
        /// Gets or Sets the PreviousInfertilityTreatmentHistory
        /// </summary>

        public string? PreviousInfertilityTreatmentHistory { get; set; }
        /// <summary>
        /// Gets or Sets the medical and sugrical history
        /// </summary>

        public string? MedicalAndSurgicalHistory { get; set; }


        public string? IvfData { get; set; }
        /// <summary>
        /// Gets or Sets the SingleTriggerInjection
        /// </summary>

        public string? SingleTriggerInjection { get; set; }
        /// <summary>
        /// Gets or Sets the DoubleTriggerInjection
        /// </summary>

        public string? IvfDualTriggerInjection { get; set; }
        /// <summary>
        /// Gets or Sets the fet
        /// </summary>
        public string? Fet { get; set; }
        /// <summary>
        /// Gets or Sets the IvfSimulationScan
        /// </summary>

        public string? IvfSimulationScan { get; set; }
        /// <summary>
        /// Gets or Sets the IvfSummary
        /// </summary>

        public string? OtherInvestigationHistory { get; set; }
        /// <summary>
        /// Gets or Sets the IvfSummary
        /// </summary>

        public string? PersonalHistory { get; set; }
        /// <summary>
        /// Gets or Sets the IvfSummary
        /// </summary>

        public string? FamilyHistory { get; set; }
        /// <summary>
        /// Gets or Sets the IvfSummary
        /// </summary>

        public string? PhysicalGyecologicalHistory { get; set; }
        /// <summary>
        /// Gets or Sets the embryo thawing
        /// </summary>
        public string? EmbryoThawing { get; set; }
        /// <summary>
        /// Gets or Sets the aspiration
        /// </summary>
        public string? Aspiration { get; set; }
        /// <summary>
        /// Gets or Sets the cryo preservation
        /// </summary>
        public string? CryoPreservation { get; set; }
        /// <summary>
        /// Gets or Sets the oocyte cryo preservation
        /// </summary>
        public string? OocytCryoPreservation { get; set; }
        /// <summary>
        /// Gets or Sets the embryology detail
        /// </summary>
        public string? EmbyologyDetail { get; set; }

        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? Fertilization { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? EmbryoQuality { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? StimulationChart { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? ObservationInfertility { get; set; }
        /// <summary>
        /// Gets or Sets the birth control
        /// </summary>
        public string? IvfSummary { get; set; }

    }
}
