public void zakaziPregled(Pacijent p, Ordinacija ordinacija) { if (ordinacija != null) { if (ordinacija.UKvaru) { throw new InvalidOperationException("Ordinacija ne radi - aparatura u kvaru"); } else if (ordinacija.PrivremenoZatvori) { throw new InvalidOperationException("Ordinacija ne radi - privremeno zatvorena"); } else { ordinacija.dodajPacijenta(p); } } List <ZakazaniPregled> zakazani = new List <ZakazaniPregled>(); if (!p.ZeljeniPregled.Equals("Opći")) { if (p.ZeljeniPregled.Equals("Sistematski")) { if (ordinacija.Ime == "Kardiološka") { zakazani.Add(new ZakazaniPregled(ordinacija)); } else { zakazani.Add(new ZakazaniPregled(ordinacije.Find(o => o.Ime == "Kardiološka"))); } } else { if (ordinacija.Ime == "Internistička" || p.BrojPosjeta < 10) { throw new InvalidOperationException("Pacijentu ne može biti pružena tražena usluga!"); } else if (p.Rodenje.Year + 70 < DateTime.Now.Year) { ordinacija.PacijentiURedu.Insert(0, p); zakazani.Add(new ZakazaniPregled(ordinacija)); } else { zakazani.Add(new ZakazaniPregled(ordinacija)); } } } else { zakazani.Add(new ZakazaniPregled(ordinacija)); } foreach (ZakazaniPregled z in zakazani) { p.Karton.dodajZakazaniPregled(z); } }
public Pacijent sljedeci() { if (zauzetost == 0) { throw new InvalidOperationException("Nema pacijenata u ordinaciji"); } Zauzetost--; Pacijent p = pacijentiURedu[0]; pacijentiURedu.RemoveAt(0); return(p); }
public void zakaziPregled(Pacijent p, Ordinacija pregled) { if (pregled != null) { if (pregled.UKvaru) { throw new InvalidOperationException("Ordinacija ne radi - aparatura u kvaru"); } else if (pregled.PrivremenoZatvori) { throw new InvalidOperationException("Ordinacija ne radi - privremeno zatvorena"); } else { pregled.dodajPacijenta(p); } } List <ZakazaniPregled> zakazani = new List <ZakazaniPregled>(); if (!p.ZeljeniPregled.Equals("Opći")) { if (p.ZeljeniPregled.Equals("Sistematski")) { zakazani.Add(new ZakazaniPregled(Ordinacije.Find(x => x.Ime.Equals("Opća")))); Ordinacije.Find(x => x.Ime.Equals("Opća")).dodajPacijenta(p); zakazani.Add(new ZakazaniPregled(Ordinacije.Find(x => x.Ime.Equals("Hirurška")))); Ordinacije.Find(x => x.Ime.Equals("Hirurška")).dodajPacijenta(p); } else { zakazani.Add(new ZakazaniPregled(Ordinacije.Find(x => x.Ime.Equals("Hirurška")))); Ordinacije.Find(x => x.Ime.Equals("Hirurška")).dodajPacijenta(p); zakazani.Add(new ZakazaniPregled(Ordinacije.Find(x => x.Ime.Equals("Opća")))); Ordinacije.Find(x => x.Ime.Equals("Opća")).dodajPacijenta(p); } } else { zakazani.Add(new ZakazaniPregled(pregled)); } foreach (ZakazaniPregled z in zakazani) { p.Karton.dodajZakazaniPregled(z); } }
public void obracunaj(Pacijent p, int rate) { if (DateTime.Now.Year - p.Rodenje.Year < 18 || (DateTime.Now.Year - p.Rodenje.Year == 18 && DateTime.Now.Month < p.Rodenje.Month) || (DateTime.Now.Year - p.Rodenje.Year == 18 && DateTime.Now.Month == p.Rodenje.Month && DateTime.Now.Day < p.Rodenje.Day)) { if (rate == 0) { popust = 0.5; } else { popust = 0.6; } } else { int brojPosjeta = p.BrojPosjeta; if (brojPosjeta > 3 && rate == 0) { popust = 0.9; } else if (brojPosjeta < 3 && rate > 0) { popust = 1.15; } } foreach (Pregled pr in p.Karton.dajNajnovijePreglede()) { Stavke.Add(pr.Terapija); } Cijena = System.Convert.ToDouble(Osnovica) * Stavke.Count * popust; BrojRata = rate; if (BrojRata > 0) { Rata = Cijena / BrojRata; } else { Rata = 0; } }
public void vrsenjePregleda(Pacijent p, string misljenje, string rezultat, string terapija, string garancija, bool dugorocna, DateTime datum, ZakazaniPregled dodatniPregled, MedicinskoOsoblje doktor) { if (doktor.Username[doktor.Username.Length - 1] >= '0' && doktor.Username[doktor.Username.Length - 1] <= '9') { throw new InvalidOperationException("Tehničar ne može vršiti pregled"); } p.Karton.dodajProsliPregled(new Pregled(misljenje, rezultat, terapija, garancija, dugorocna, datum)); foreach (ZakazaniPregled z in p.Karton.ZakazaniPregledi) { if (z.Ime.Ime.Equals(doktor.Ordinacija.Ime)) { p.Karton.ZakazaniPregledi.Remove(z); break; } } if (dodatniPregled != null) { p.Karton.dodajZakazaniPregled(dodatniPregled); } doktor.Posjete++; p.BrojPosjeta++; doktor.Ordinacija.sljedeci(); }
public void anamneza(Pacijent p, string sadasnjeBolesti, string sadasnjeAlergije, string ranijeBolesti, string ranijeAlergije, string stanjePorodice, string zakljucak, MedicinskoOsoblje preuzeo) { p.Karton = new Karton(sadasnjeBolesti, sadasnjeAlergije, ranijeBolesti, ranijeAlergije, stanjePorodice, zakljucak, preuzeo); }
public void registracijaPacijenta(Pacijent p) { Pacijenti.Add(p); }
public void dodajPacijenta(Pacijent p) { pacijentiURedu.Add(p); Zauzetost++; }