示例#1
0
        private static void PacijentNaplataUsluga()
        {
            Console.WriteLine("Unesite id pacijenta: ");
            int id;

            id = Convert.ToInt32(Console.ReadLine());
            Pacijent p = klinika17395_1.DajPacijentaSaId(id);

            Console.WriteLine("Pacijent je obavio sljedece preglede:\n");
            Console.WriteLine(p.PrikaziObavljenePregledeSaCijenom());
            Console.WriteLine("Odaberite nacin placanja: 1. Gotovinsko placanje, 2. Placanje na rate\n");
            int     izbor;
            decimal iznosNaplate;

            izbor = Convert.ToInt32(Console.ReadLine());
            if (izbor == 1)
            {
                iznosNaplate = klinika17395_1.ObracunajPacijenta(p, p.karton.obavljeniPregledi, 1);
                Console.WriteLine("Ukupna cijena: {0} KM\n", p.IznosNaplate());
            }
            else
            {
                Console.WriteLine("Placanje je moguce izvrsiti na 6, 12 ili 24 rate. Unesite broj rata: ");
                int brojRata;
                brojRata     = Convert.ToInt32(Console.ReadLine());
                iznosNaplate = klinika17395_1.ObracunajPacijenta(p, p.karton.obavljeniPregledi, brojRata);
                Console.WriteLine("Potrebno je platiti prvu ratu odmah. Cijena: {0} KM\n", Math.Round(iznosNaplate / brojRata));
                Console.WriteLine("Preostali dug: {0}, broj rata: {1}, iznosa: {2} KM\n", Math.Round(iznosNaplate - iznosNaplate / brojRata, 3), brojRata - 1, Math.Round(iznosNaplate / brojRata));
            }
        }
示例#2
0
        private static void RegistracijaNovogPregleda()
        {
            //vrsenje pregleda i izmjena kartona
            //nakon sto je doktor obavio pregled, upisuje rezultat i terapiju i unosi u e-karton
            Console.WriteLine("Odaberite ordinaciju: ");
            int i = 1;

            klinika17395_1.ordinacije.ForEach(x => Console.WriteLine("{0}. {1}", i++, x.tipPregleda));
            i = Convert.ToInt32(Console.ReadLine());
            Ordinacija o = klinika17395_1.ordinacije.ElementAt(i - 1);

            Console.WriteLine("Red cekanja za ordinaciju:\n");
            Console.WriteLine(o.PrikaziListuCekanja());
            Pacijent pac = o.listaCekanja.First();

            Console.WriteLine("Unos pregleda za pacijenta: {0} {1}\n", pac.ime, pac.prezime);
            DateTime dat;

            Console.WriteLine("Unesite datum pregleda: ");
            dat = Convert.ToDateTime(Console.ReadLine());
            string rezultat, terapija;

            Console.WriteLine("Unesite rezultat pregleda: ");
            rezultat = Console.ReadLine();
            Console.WriteLine("Unesite terapiju: ");
            terapija = Console.ReadLine();
            Pregled preg = pac.zakazaniPregledi.Find(x => x.ordinacija.tipPregleda == o.tipPregleda);

            pac.ObaviPregled(dat, rezultat, terapija, preg, o);
        }
示例#3
0
 public void RegistrirajNoviPregled(Pacijent pacijent, Ordinacija ordinacija, Pregled pregled)
 {
     if (pacijent is PacijentSmrtniIshod)
     {
         throw new Exception("Pacijent je nazalost preminuo, ne mozete registrirati pregled");
     }
     pacijent.ZakaziPregled(pregled);
     ordinacija.StaviUListuCekanja(pacijent);
 }
示例#4
0
        private void buttonUnesi_Click(object sender, EventArgs e)
        {
            Pacijent nadjeni = NadjiPacijenta();

            if (nadjeni != null)
            {
                PronadjenPacijent(nadjeni);
            }
        }
示例#5
0
        void KreirajKarton()
        {
            Pacijent izabrani      = Utilities.PretraziPacijenta(klinika17600_1, false);
            string   napomene      = Utilities.UnesiString("Unesite bitne napomene o pacijentu: alergije, vakcinacije i prosle bolesti");
            string   prosleBolesti = Utilities.UnesiString("Unesite listu proslih bolesti");
            Karton   karton        = new Karton(napomene, prosleBolesti, izabrani);

            izabrani.DodajKarton(karton);
        }
        public PacijentPassword(Pacijent pacijent)
        {
            InitializeComponent();
            this.pacijent = pacijent;

            errors = new ErrorProvider();
            errors.SetIconAlignment(textSifra2, ErrorIconAlignment.MiddleRight);
            errors.SetIconAlignment(textSifra, ErrorIconAlignment.MiddleRight);
        }
示例#7
0
        private void RasporedPregleda()
        {
            Pacijent izabrani = Utilities.PretraziPacijenta(klinika17600_1, false);

            foreach (VrstaPregleda pregled in izabrani.trenutniPregledi)
            {
                Console.WriteLine();
                pregled.Ispisi();
            }
        }
示例#8
0
        public Pacijent DajPacijentaSaId(Int64 id)
        {
            Pacijent p = pacijenti.Find(x => x.idPacijenta == id);

            if (p == null)
            {
                throw new Exception("Ne postoji pacijent sa tim id");
            }
            return(p);
        }
示例#9
0
        public string PrikaziKartonPacijenta(int id)
        {
            Pacijent p = DajPacijentaSaId(id);

            if (p.karton == null)
            {
                throw new Exception("Pacijent nema kreiran karton");
            }
            return(p.ToString());
        }
示例#10
0
        private static void PacijentRasporedPregleda()
        {
            int id;

            Console.WriteLine("Unesite id pacijenta: ");
            id = Convert.ToInt32(Console.ReadLine());
            Pacijent p = klinika17395_1.DajPacijentaSaId(id);

            klinika17395_1.PrikaziPregledePacijenta(p);
        }
示例#11
0
        private static void PacijentBrisanje()
        {
            int id;

            Console.WriteLine("Unesite id pacijenta za brisanje: ");
            id = Convert.ToInt32(Console.ReadLine());
            Pacijent p = klinika17395_1.DajPacijentaSaId(id);

            klinika17395_1.IzbrisiPacijenta(p);
            Console.WriteLine("Pacijent uspjesno obrisan.\n");
        }
示例#12
0
        public decimal ObracunajPacijenta(Pacijent pacijent, List <Pregled> preglediKojePlaca, int brojRata)
        {
            if (preglediKojePlaca.Count == 0)
            {
                throw new Exception("Pacijent nije obavio nijedan pregled");
            }
            decimal iznosNaplate = pacijent.IznosNaplate(brojRata);

            ukupnaZarada += iznosNaplate;
            return(iznosNaplate);
        }
        private void VozackiPregled()
        {
            Pacijent izabrani = Utilities.PretraziPacijenta(klinika17600_1, true);

            izabrani.DodajNovePreglede(new List <VrstaPregleda>
            {
                klinika17600_1.PretraziVrstuPregleda("pregled zuba za vozacki ispit/prijavu na konkurs"),
                klinika17600_1.PretraziVrstuPregleda("ekg pregled za vozacki ispit/prijavu na konkurs"),
                klinika17600_1.PretraziVrstuPregleda("pregled ocnog pritiska za vozacki ispit/prijavu na konkurs")
            });
        }
示例#14
0
 public void IzbrisiPacijenta(Pacijent p)
 {
     if (pacijenti.Exists(x => x.idPacijenta == p.idPacijenta))
     {
         pacijenti.Remove(p);
     }
     else
     {
         throw new Exception("Ne postoji taj pacijent");
     }
 }
 void DodajPacijenta(Pacijent pacijent)
 {
     gridPacijenti.Rows.Add(new object[]
     {
         pacijent.DajImeIPrezime(),
         pacijent.spol,
         pacijent.datumRodjenja,
         pacijent.datumPrijema,
         pacijent.trenutniPregledi.Count > 0 ? pacijent.trenutniPregledi[0].imePregleda : "/",
         pacijent.DosadasnjaCijena
     });
 }
        private void HitanPregled()
        {
            string   anamneza = Utilities.UnesiString("Unesite opis hitnog slucaja ukljucujuci i informacije o eventualnoj smrti (vrijeme smrti i preliminarni uzrok smrti, kao i vrijeme u koje se zakazuje obdukcija ako je to potrebno)");
            Doktor   doktor   = Utilities.PretraziDoktora(klinika17600_1);
            Pregled  pregled  = new Pregled(anamneza, klinika17600_1.PretraziVrstuPregleda("hitan slucaj"), doktor);
            Pacijent p        = Utilities.PretraziPacijentaIliKreiraj(klinika17600_1);

            if (p.karton == null)
            {
                Console.WriteLine("Pacijent nije imao karton te se automatski generisao");
                p.DodajKarton(new Karton("DOSAO NA HITAN PREGLED", "Nema informacija", p));
            }
            p.PregledajBezPlacanja(pregled);
        }
示例#17
0
        private void buttonNovaSifra_Click(object sender, EventArgs e)
        {
            Pacijent nadjeni = NadjiPacijenta();

            if (nadjeni != null)
            {
                if (!nadjeni.ImaLiPassword())
                {
                    new PacijentPassword(nadjeni).ShowDialog();
                }
                else
                {
                    errors.SetError(textPassword, "Korisnik vec ima sifru");
                }
            }
        }
        private void pregledZaVozackiIspitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PretragaPacijenta pacijent = new PretragaPacijenta(klinika);

            pacijent.ShowDialog();
            if (pacijent.izabrani != null)
            {
                Pacijent izabrani = pacijent.izabrani;
                izabrani.DodajNovePreglede(new List <VrstaPregleda>
                {
                    klinika.PretraziVrstuPregleda("pregled zuba za vozacki ispit/prijavu na konkurs"),
                    klinika.PretraziVrstuPregleda("ekg pregled za vozacki ispit/prijavu na konkurs"),
                    klinika.PretraziVrstuPregleda("pregled ocnog pritiska za vozacki ispit/prijavu na konkurs")
                });
                InitPacijente();
            }
        }
示例#19
0
        public void RegistrirajNoviKarton(int id, Karton k)
        {
            Pacijent p = DajPacijentaSaId(id);

            if (p is PacijentSmrtniIshod)
            {
                throw new Exception("Pacijent je nazalost preminuo, ne mozete kreirati karton");
            }
            if (p.karton == null)
            {
                p.karton = k;
            }
            else
            {
                throw new Exception("Pacijent vec ima kreiran karton");
            }
        }
示例#20
0
        public UnosAnamneze(VrstaPregleda vrstaPregleda, Pacijent pacijent = null)
        {
            InitializeComponent();
            this.pacijent      = pacijent;
            this.vrstaPregleda = vrstaPregleda;

            labelVrstaPregleda.Text = vrstaPregleda.imePregleda;
            if (pacijent != null)
            {
                labelImeIPrezime.Text = pacijent.DajImeIPrezime();
                pictureBox1.Image     = pacijent.slika;
            }
            else
            {
                groupPacijent.Hide();
            }
        }
示例#21
0
 private void PronadjenPacijent(Pacijent pacijent)
 {
     if (pacijent.ImaLiPassword())
     {
         if (pacijent.JeLiPasswordTacan(textPassword.Text))
         {
             listener.OnLogin(pacijent);
             Close();
             return;
         }
         else
         {
             errors.SetError(textPassword, "Netacna sifra");
         }
     }
     else
     {
         errors.SetError(textPassword, "Korisnik nema sifru");
     }
 }
 void InitOKorisniku()
 {
     DodajAtributOKorisniku("Ime i prezime", logovanaOsoba.DajImeIPrezime());
     if (logovanaOsoba is Uposlenik)
     {
         Uposlenik uposlenik = (Uposlenik)logovanaOsoba;
         DodajAtributOKorisniku("Plata za ovaj mjesec", uposlenik.IzracunajPlatu(klinika, DateTime.Now.Year, DateTime.Now.Month).ToString());
         DodajAtributOKorisniku("Korisnicko ime", uposlenik.DajKorisnickoIme());
     }
     else if (logovanaOsoba is Pacijent)
     {
         Pacijent pacijent = (Pacijent)logovanaOsoba;
         DodajAtributOKorisniku("Adresa", pacijent.adresaStanovanja);
         DodajAtributOKorisniku("Bracno stanje", pacijent.bracnoStanje);
         DodajAtributOKorisniku("Datum rodjenja", pacijent.datumRodjenja.ToShortDateString());
         DodajAtributOKorisniku("Spol", pacijent.spol);
         DodajAtributOKorisniku("Sljedeci pregled", pacijent.trenutniPregledi.Count == 0 ? "/" : pacijent.trenutniPregledi[0].imePregleda);
         DodajAtributOKorisniku("Danasnji dug", pacijent.DosadasnjaCijena.ToString() + " KM");
     }
 }
        private void IzvrsiPregled()
        {
            Ordinacija ordinacija = Utilities.PretraziOrdinaciju(klinika17600_1);

            if (ordinacija.redPacijenataUOrdinaciji.Count == 0)
            {
                Console.WriteLine("Nema pacijanata u redu u ovoj ordinaciji");
                return;
            }
            Pacijent      izabran = ordinacija.UzmiSljedecegPacijenta();
            VrstaPregleda vrsta   = izabran.trenutniPregledi[0];

            Console.WriteLine("Sljedeci pacijent je: " + izabran.DajImeIPrezime());
            Console.WriteLine("Pacijent treba da izvrsi sljedeci pregled:");
            vrsta.Ispisi();
            Doktor  doktor   = vrsta.ordinacija.doktor;
            string  anamneza = Utilities.UnesiString("Unesite anamnezu za pregled");
            Pregled pregled  = new Pregled(anamneza, izabran.trenutniPregledi[0], doktor);

            izabran.Pregledaj(pregled);
        }
        private void hitanPregledToolStripMenuItem_Click(object sender, EventArgs e)
        {
            VrstaPregleda hitanSlucaj  = klinika.PretraziVrstuPregleda("hitan slucaj");
            UnosAnamneze  unosAnamneze = new UnosAnamneze(hitanSlucaj);

            unosAnamneze.ShowDialog();
            string          anamneza        = unosAnamneze.tekst;
            PretragaDoktora pretragaDoktora = new PretragaDoktora(klinika);

            pretragaDoktora.JeLiObavezanIzbor = true;
            pretragaDoktora.ShowDialog();
            PretragaPacijenta pretragaPacijenta = new PretragaPacijenta(klinika);

            pretragaPacijenta.ShowDialog();
            Pacijent izabrani = pretragaPacijenta.izabrani;

            if (izabrani == null)
            {
                NoviPacijent noviPacijent;
                do
                {
                    noviPacijent = new NoviPacijent(klinika);
                    noviPacijent.ShowDialog();
                    izabrani = noviPacijent.napravljeni;
                } while (izabrani == null);
            }

            if (izabrani.karton == null)
            {
                PrikaziPoruku("Izabrani pacijent nema kartona, bice automatski kreiran");
                izabrani.DodajKarton(new Karton("DOSAO NA HITAN PREGLED", "Nema informacija", izabrani));
            }

            Pregled pregled = new Pregled(anamneza, hitanSlucaj, pretragaDoktora.izabrani);

            izabrani.PregledajBezPlacanja(pregled);
        }
        private void pregledajPacijentaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PretragaOrdinacija ordinacije;

            do
            {
                ordinacije = new PretragaOrdinacija(klinika);
                ordinacije.JeLiObavezanIzbor = true;
                ordinacije.ShowDialog();
                if (ordinacije.izabrani.doktor != logovanaOsoba)
                {
                    PrikaziPoruku("Logovani doktor ne pripada ovoj ordinaciji");
                }
                else
                {
                    break;
                }
            } while (true);
            if (ordinacije.izabrani.redPacijenataUOrdinaciji.Count == 0)
            {
                PrikaziPoruku("Nema pacijenata u ovoj ordinaciji");
                return;
            }
            Pacijent pacijent = ordinacije.izabrani.UzmiSljedecegPacijenta();

            if (pacijent.karton == null)
            {
                PrikaziPoruku("Pacijent nema karton");
                return;
            }
            VrstaPregleda vrsta    = pacijent.trenutniPregledi[0];
            UnosAnamneze  anamneza = new UnosAnamneze(vrsta, pacijent);

            anamneza.ShowDialog();
            pacijent.Pregledaj(new Pregled(anamneza.tekst, vrsta, (Doktor)logovanaOsoba));
            InitPacijente();
        }
        void RegularniPregled()
        {
            Pacijent      izabrani    = Utilities.PretraziPacijenta(klinika17600_1, true);
            List <string> listaOpcija = new List <string>();

            foreach (Ordinacija ord in klinika17600_1.ordinacije)
            {
                listaOpcija.Add(ord.imeOrdinacije);
            }
            int        izbor    = MenuManager.NapraviMenu("Izaberite ordinaciju: ", listaOpcija);
            Ordinacija izabrana = klinika17600_1.ordinacije[izbor];

            listaOpcija.Clear();
            List <VrstaPregleda> lista = klinika17600_1.vratiListuPregledaPoOrdinacijama(izabrana);

            foreach (VrstaPregleda vrsta in lista)
            {
                listaOpcija.Add(vrsta.imePregleda);
            }
            izbor = MenuManager.NapraviMenu("Izaberite pregled: ", listaOpcija);
            izabrani.DodajNovePreglede(new List <VrstaPregleda> {
                lista[izbor]
            });
        }
示例#27
0
 public UnosKartona(Pacijent p)
 {
     primljeni = p;
     InitializeComponent();
 }
示例#28
0
 public void PrikaziPregledePacijenta(Pacijent p)
 {
     p.zakazaniPregledi.Sort((x, y) => x.ordinacija.listaCekanja.Count().CompareTo(y.ordinacija.listaCekanja.Count()));
     Console.WriteLine(p.PrikaziZakazanePreglede());
 }
示例#29
0
 public UplataDanas(Pacijent pacijent)
 {
     InitializeComponent();
     labelKolicina.Text = pacijent.DosadasnjaCijena.ToString() + " KM";
     p = pacijent;
 }
示例#30
0
 public void RegistrirajPacijenta(Pacijent p)
 {
     pacijenti.Add(p);
 }