Example #1
0
        private static void PacijentRegistracija()
        {
            string       ime, prezime, matBr, adresa;
            DateTime     datRodjenja;
            Spol         s;
            BracnoStanje brSt;

            Console.WriteLine("Da li je u pitanju hitni pacijent? d - DA, n - NE");
            bool     hitni        = (Console.ReadLine() == "d") ? true : false;
            string   prvaPomoc    = "";
            bool     smrtniIshod  = false;
            string   uzrokSmrti   = "";
            DateTime vrijemeSmrti = DateTime.Now;

            if (hitni)
            {
                Console.WriteLine("Koji vid prve pomoci je pruzen pacijentu: ");
                prvaPomoc = Console.ReadLine();
                Console.WriteLine("Da li je nastupio smrtni ishod? d - DA, n - NE");
                smrtniIshod = (Console.ReadLine() == "d") ? true : false;
                if (smrtniIshod)
                {
                    Console.WriteLine("Vrijeme smrti: ");
                    vrijemeSmrti = Convert.ToDateTime(Console.ReadLine());
                    Console.WriteLine("Uzrok smrti: ");
                    uzrokSmrti = Console.ReadLine();
                }
            }
            Console.WriteLine("Unesite sljedeće podatke o pacijentu (ENTER nakon svakog unosa): ime, prezime, datum rođenja, matični broj, adresa stanovanja");
            ime         = Console.ReadLine();
            prezime     = Console.ReadLine();
            datRodjenja = Convert.ToDateTime(Console.ReadLine());
            matBr       = Console.ReadLine();
            adresa      = Console.ReadLine();
            string opcija;
            int    opcija1;

            Console.WriteLine("Spol pacijenta: m - muško, f - žensko");
            opcija = Console.ReadLine();
            if (opcija == "m")
            {
                s = Spol.musko;
            }
            else
            {
                s = Spol.zensko;
            }
            Console.WriteLine("Bracno stanje pacijenta: 1. oženjen/udata, 2. neoženjen/neudata, 3. razveden/razvedena, 4. udovac/udovica");
            opcija1 = Convert.ToInt32(Console.ReadLine());
            if (opcija1 == 1)
            {
                brSt = BracnoStanje.ozenjen;
            }
            else if (opcija1 == 2)
            {
                brSt = BracnoStanje.neozenjen;
            }
            else if (opcija1 == 3)
            {
                brSt = BracnoStanje.razveden;
            }
            else
            {
                brSt = BracnoStanje.udovac;
            }
            Pacijent pacijent;

            if (!hitni)
            {
                pacijent = new Pacijent(ime, prezime, datRodjenja, matBr, adresa, s, brSt);
            }
            else
            {
                if (!smrtniIshod)
                {
                    pacijent = new HitniPacijent(ime, prezime, datRodjenja, matBr, adresa, s, brSt, prvaPomoc);
                }
                else
                {
                    pacijent = new PacijentSmrtniIshod(ime, prezime, datRodjenja, matBr, adresa, s, brSt, prvaPomoc, vrijemeSmrti, uzrokSmrti);
                }
            }
            klinika17395_1.RegistrirajPacijenta(pacijent);
            if (pacijent is PacijentSmrtniIshod)
            {
                return;
            }
            // anamneza ide u PacijentKreiranjeKartona()
            int odabirPregleda;
            int i;

            while (true)
            {
                i = 1;
                Console.WriteLine("Izaberite tip pregleda: (0 za izlaz)");
                klinika17395_1.ordinacije.ForEach(x => Console.WriteLine("{0}. {1}", i++, x.tipPregleda));
                odabirPregleda = Convert.ToInt32(Console.ReadLine());
                if (odabirPregleda == 0)
                {
                    break;
                }
                Ordinacija ordinacija = klinika17395_1.ordinacije.ElementAt(odabirPregleda - 1);
                klinika17395_1.RegistrirajNoviPregled(pacijent, ordinacija, new Pregled(ordinacija));
            }
            // prikaz rasporeda obilaska ordinacija
            klinika17395_1.PrikaziPregledePacijenta(pacijent);
            // nakon registracije pacijenta potrebno je kreirati karton, jer u suprotnom se ne moze obaviti pregled!
        }