//GetAllInMorbidityGroup
        public IEnumerable <Patient> GetAllInMorbidityGroups(List <string> morbidityGroupNames, MorbidityGroupRepository morbidityGroupRepository)
        {
            var            patients         = GetAll();
            List <Patient> assignedPatients = new List <Patient>();
            int            groupCount;

            foreach (var patient in patients)
            {
                groupCount = 0;
                foreach (var morbidityGroupName in morbidityGroupNames)
                {
                    MorbidityGroup morbidityGroup = morbidityGroupRepository.GetByName(morbidityGroupName);
                    if (morbidityGroup != null)
                    {
                        if (FindMorbidityGroupForPatient(morbidityGroup, patient))
                        {
                            groupCount++;
                        }
                    }
                }
                if (groupCount == morbidityGroupNames.Count)
                {
                    assignedPatients.Add(patient);
                }
            }
            return(assignedPatients);
        }
        //Create
        public void Create(string name, DateTime dateOfBirth, List <string> morbidityGroupNames, MorbidityGroupRepository morbidityGroupRepository)
        {
            Patient patient = new Patient()
            {
                Name = name, DateOfBirth = dateOfBirth
            };

            patient.PatientMorbidityGroups = new List <PatientMorbidityGroup>();

            foreach (var morbidityGroupName in morbidityGroupNames)
            {
                MorbidityGroup morbidityGroup = morbidityGroupRepository.GetByName(morbidityGroupName);
                if (morbidityGroup != null)
                {
                    PatientMorbidityGroup patientMorbidityGroup = new PatientMorbidityGroup()
                    {
                        MorbidityGroup = morbidityGroup, Patient = patient
                    };
                    patient.PatientMorbidityGroups.Add(patientMorbidityGroup);
                    if (morbidityGroup.PatientMorbidityGroups == null)
                    {
                        morbidityGroup.PatientMorbidityGroups = new List <PatientMorbidityGroup>();
                    }
                    morbidityGroup.PatientMorbidityGroups.Add(patientMorbidityGroup);
                }
            }
            Insert(patient);
        }
        public void createMorbidityGroup(string name)
        {
            var morbidityGroup = new MorbidityGroup();

            morbidityGroup.Name = name;
            db.MorbidityGroups.Add(morbidityGroup);
            db.SaveChanges();
        }
        //Create
        public void Create(string morbidityGroupName)
        {
            MorbidityGroup morbidityGroup = new MorbidityGroup()
            {
                Name = morbidityGroupName
            };

            Insert(morbidityGroup);
        }
Ejemplo n.º 5
0
        protected override void Seed(PatientMonitor.Database.MyDatabase context)
        {
            #region SEED PATIENT DATA
            //=================Seeding Patients=================
            Patient p1 = new Patient()
            {
                Name = "John Doe", DateOfBirth = new DateTime(1940, 1, 1)
            };
            Patient p2 = new Patient()
            {
                Name = "James Fiennes", DateOfBirth = new DateTime(1950, 10, 12)
            };
            Patient p3 = new Patient()
            {
                Name = "Chris Schwimmer", DateOfBirth = new DateTime(1960, 4, 2)
            };
            Patient p4 = new Patient()
            {
                Name = "Mike Miller", DateOfBirth = new DateTime(1970, 11, 24)
            };
            Patient p5 = new Patient()
            {
                Name = "Bruce Wayne", DateOfBirth = new DateTime(1960, 9, 30)
            };

            //=================Seeding Morbidity Groups=================
            MorbidityGroup m1 = new MorbidityGroup()
            {
                Name = "Heart disease"
            };
            MorbidityGroup m2 = new MorbidityGroup()
            {
                Name = "Diabetes"
            };
            MorbidityGroup m3 = new MorbidityGroup()
            {
                Name = "COPD"
            };

            //=================Seeding Symptom Instances=================
            SymptomInstance s1 = new SymptomInstance()
            {
                Name = "Headache", DateOfOccurrence = new DateTime(2021, 1, 26)
            };
            SymptomInstance s2 = new SymptomInstance()
            {
                Name = "Diarrhea", DateOfOccurrence = new DateTime(2021, 1, 24)
            };
            SymptomInstance s3 = new SymptomInstance()
            {
                Name = "Pain", DateOfOccurrence = new DateTime(2020, 12, 23)
            };
            SymptomInstance s4 = new SymptomInstance()
            {
                Name = "Blood pressure", DateOfOccurrence = new DateTime(2020, 12, 1)
            };
            SymptomInstance s5 = new SymptomInstance()
            {
                Name = "Body temperature", DateOfOccurrence = new DateTime(2020, 4, 2)
            };
            SymptomInstance s6 = new SymptomInstance()
            {
                Name = "Fatigue", DateOfOccurrence = new DateTime(2020, 12, 14)
            };
            SymptomInstance s7 = new SymptomInstance()
            {
                Name = "Cough", DateOfOccurrence = new DateTime(2021, 1, 12)
            };
            SymptomInstance s8 = new SymptomInstance()
            {
                Name = "Nausea", DateOfOccurrence = new DateTime(2021, 1, 15)
            };
            SymptomInstance s9 = new SymptomInstance()
            {
                Name = "Congestion", DateOfOccurrence = new DateTime(2021, 1, 18)
            };
            SymptomInstance s10 = new SymptomInstance()
            {
                Name = "Palpitations", DateOfOccurrence = new DateTime(2021, 1, 21)
            };

            //=================Seeding Patient-MorbidityGroup Relationships=================
            PatientMorbidityGroup pm1 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m1, Patient = p1
            };
            PatientMorbidityGroup pm2 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m1, Patient = p2
            };
            PatientMorbidityGroup pm3 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m2, Patient = p1
            };
            PatientMorbidityGroup pm4 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m2, Patient = p2
            };
            PatientMorbidityGroup pm5 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m3, Patient = p3
            };
            PatientMorbidityGroup pm6 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m3, Patient = p4
            };
            PatientMorbidityGroup pm7 = new PatientMorbidityGroup()
            {
                MorbidityGroup = m3, Patient = p5
            };

            p1.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm1, pm3
            };
            p2.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm2, pm4
            };
            p3.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm5
            };
            p4.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm6
            };
            p5.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm7
            };

            m1.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm1, pm2
            };
            m2.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm3, pm4
            };
            m3.PatientMorbidityGroups = new List <PatientMorbidityGroup>()
            {
                pm5, pm6, pm7
            };

            //=================Seeding Patient-SymptomInstance Relationships=================
            p1.SymptomInstances = new List <SymptomInstance>()
            {
                s1, s2
            };
            p2.SymptomInstances = new List <SymptomInstance>()
            {
                s3, s4
            };
            p3.SymptomInstances = new List <SymptomInstance>()
            {
                s5, s6
            };
            p4.SymptomInstances = new List <SymptomInstance>()
            {
                s7, s8
            };
            p5.SymptomInstances = new List <SymptomInstance>()
            {
                s9, s10
            };

            s1.Patient  = p1;
            s2.Patient  = p1;
            s3.Patient  = p2;
            s4.Patient  = p2;
            s5.Patient  = p3;
            s6.Patient  = p3;
            s7.Patient  = p4;
            s8.Patient  = p4;
            s9.Patient  = p5;
            s10.Patient = p5;

            context.Patients.AddOrUpdate(x => x.Name, p1, p2, p3, p4, p5);
            context.MorbidityGroups.AddOrUpdate(x => x.Name, m1, m2, m3);

            context.SaveChanges();
            #endregion
        }
 //Find whether specific morbidity group is among the patient's morbidity groups
 public bool FindMorbidityGroupForPatient(MorbidityGroup morbidityGroup, Patient patient)
 {
     return(patient.PatientMorbidityGroups.Any(pmg => pmg.MorbidityGroupId == morbidityGroup.Id));
 }
 //Delete
 public void Delete(MorbidityGroup MorbidityGroup)
 {
     db.Entry(MorbidityGroup).State = EntityState.Deleted;
     db.SaveChanges();
 }
 //Update
 public void Update(MorbidityGroup MorbidityGroup)
 {
     db.Entry(MorbidityGroup).State = EntityState.Modified;
     db.SaveChanges();
 }
 //Insert
 public void Insert(MorbidityGroup MorbidityGroup)
 {
     db.Entry(MorbidityGroup).State = EntityState.Added;
     db.SaveChanges();
 }