public static Pacijent NajveciIzvorPrihoda()
        {
            Pacijent rez       = null;
            decimal  maxPrihod = 0;

            foreach (var t in _transakcije)
            {
                if (t.DatumTransakcije.Month == DateTime.Now.AddMonths(-1).Month)
                {
                    decimal temp = IznosTransakcijaUProteklomMjesecu(t.Platio);
                    if (temp > maxPrihod)
                    {
                        rez       = t.Platio;
                        maxPrihod = temp;
                    }
                }
            }

            if (rez == null)
            {
                throw new InvalidOperationException("Nije bilo transakcija u proteklom mjesecu");
            }

            return(rez);
        }
Exemple #2
0
        public static int DodajPacijenta(int idOrdinacije, int idPacijenta)
        {
            Ordinacija tempOrdinacija = GetOrdinacijaById(idOrdinacije);
            Pacijent   tempPacijent   = EvidencijaPacijenata.GetPacijentById(idPacijenta);

            tempOrdinacija.RedCekanja.Add(tempPacijent);
            return(tempOrdinacija.RedCekanja.Count());
        }
Exemple #3
0
        public static void DodajHitniPregled(int idPacijenta, DateTime vrijemePregleda, decimal cijena, string naziv, bool prvaPomocUradjena, string prvaPomocRazlog)
        {
            Pacijent     temp        = GetPacijentById(idPacijenta);
            PregledHitni tempPregled = new PregledHitni(vrijemePregleda, cijena, naziv, prvaPomocUradjena, prvaPomocRazlog);

            temp.Karton.Add(tempPregled);
            temp.FiskalniRacun.DodajStavku(tempPregled);
            temp.BrojPosjeta++;
        }
Exemple #4
0
        public static void DodajNormalniPregled(int idPacijenta)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.Karton.Add(temp.PregledNormalniBuilder.GetPregled());
            temp.Karton.Bolesti.Add(temp.PregledNormalniBuilder.GetPregled().Rezultat);
            temp.FiskalniRacun.DodajStavku(temp.PregledNormalniBuilder.GetPregled());
            temp.BrojPosjeta++;
        }
Exemple #5
0
        public static void DodajPodatkePacijenta(int idPacijenta, DateTime datumRodjenja, Spol spol, string adresaStanovanja, BracnoStanje bracnoStanje)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.DatumRodjenja    = datumRodjenja;
            temp.Spol             = spol;
            temp.AdresaStanovanja = adresaStanovanja;
            temp.BracnoStanje     = bracnoStanje;
        }
Exemple #6
0
        public static void EvidentirajAlergiju(int idPacijenta, string nazivAlergije, bool aktivnaAlergija)
        {
            Pacijent temp         = GetPacijentById(idPacijenta);
            Alergija tempAlergija = new Alergija();

            tempAlergija.Naziv   = nazivAlergije;
            tempAlergija.Aktivna = aktivnaAlergija;
            temp.Karton.Add(tempAlergija);
        }
Exemple #7
0
        public static void DodajHitniPregledSmrt(int idPacijenta, DateTime vrijemePregleda, decimal cijena, string naziv, bool prvaPomocUradjena, string prvaPomocRazlog, DateTime vrijemeSmrti, string uzrokSmrti, DateTime terminObdukcije)
        {
            Pacijent     temp        = GetPacijentById(idPacijenta);
            PregledHitni tempPregled = new PregledHitni(vrijemePregleda, cijena, naziv, prvaPomocUradjena, prvaPomocRazlog);

            tempPregled.SmrtEvidencija(vrijemeSmrti, uzrokSmrti, terminObdukcije);

            temp.Karton.Add(tempPregled);
            temp.FiskalniRacun.DodajStavku(tempPregled); // i think we got a loophole here
        }
Exemple #8
0
        public static List <string> PotrebniPreglediSistematski(int idPacijenta, int idPregledSistematskiEvidencija)
        {
            if (idPregledSistematskiEvidencija < 0 || idPregledSistematskiEvidencija > _idGeneratorPregledSistematski)
            {
                throw new ArgumentException("Sistematski pregled sa id " + idPregledSistematskiEvidencija + " ne postoji");
            }

            Pacijent           tempPacijent = GetPacijentById(idPacijenta);
            PregledSistematski temp         = tempPacijent.Karton.PreglediSistematski.Find(p => p.Id == idPregledSistematskiEvidencija);

            return(temp.PotrebniPregledi());
        }
Exemple #9
0
        public static int ZakaziSistematskiPregled(int idPacijenta)
        {
            Pacijent           tempPacijent           = GetPacijentById(idPacijenta);
            PregledSistematski tempPregledSistematski = new PregledSistematski();

            tempPregledSistematski.Id = _idGeneratorPregledSistematski++;

            tempPacijent.Karton.PreglediSistematski.Add(tempPregledSistematski);
            tempPacijent.FiskalniRacun.DodajStavku(tempPregledSistematski);

            return(tempPregledSistematski.Id);
        }
Exemple #10
0
        public static void PlacanjeGotovinaIzvrsiPlacanje(int idPacijenta)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            if (TestMode)
            {
                EvidencijaPoslovanja.EvidentirajTransakciju(DateTime.Now.AddMonths(-1), temp, temp.FiskalniRacun.PlatiGotovina());
            }
            else
            {
                EvidencijaPoslovanja.EvidentirajTransakciju(DateTime.Now, temp, temp.FiskalniRacun.PlatiGotovina());
            }
        }
Exemple #11
0
        public static void PlacanjeRate(int idPacijenta)
        {
            Pacijent temp = EvidencijaPacijenata.GetPacijentById(idPacijenta);

            foreach (Pregled pregled in temp.FiskalniRacun.AktivniPregledi)
            {
                if (!temp.Redovni)
                {
                    pregled.Cijena = pregled.Cijena + 0.15m * pregled.Cijena;
                }

                DateTime now = DateTime.Now;
                int      age = now.Year - temp.DatumRodjenja.Year;
                if (now < temp.DatumRodjenja.AddYears(age))
                {
                    age--;
                }

                if (age < _AGE_LIMT_CHILD)
                {
                    pregled.Cijena = pregled.Cijena - 0.4m * pregled.Cijena;
                }
            }

            foreach (PregledSistematski pregledi in temp.FiskalniRacun.AktivniSistematskiPregledi)
            {
                foreach (PregledSistematskiStavka pregled in pregledi.Pregledi)
                {
                    if (temp.Redovni)
                    {
                        pregled.Cijena = pregled.Cijena + 0.15m * pregled.Cijena;
                    }

                    DateTime now = DateTime.Now;
                    int      age = now.Year - temp.DatumRodjenja.Year;
                    if (now < temp.DatumRodjenja.AddYears(age))
                    {
                        age--;
                    }

                    if (age < _AGE_LIMT_CHILD)
                    {
                        pregled.Cijena = pregled.Cijena - 0.4m * pregled.Cijena;
                    }
                }
            }
        }
        public static decimal IznosTransakcijaUProteklomMjesecu(Pacijent p)
        {
            decimal iznos = 0;

            foreach (Transakcija t in _transakcije)
            {
                if (t.DatumTransakcije.Month == DateTime.Now.AddMonths(-1).Month)
                {
                    if (p.Equals(t.Platio))
                    {
                        iznos += t.Iznos;
                    }
                }
            }

            return(iznos);
        }
Exemple #13
0
        public static int AddPacijent(string ime, string prezime)
        {
            DataValidator.ValidateName(ime, prezime);

            Pacijent tempPacijent = new Pacijent();

            // instanciranja
            tempPacijent.Karton                              = new Karton();
            tempPacijent.Karton.Pregledi                     = new List <Pregled>();
            tempPacijent.Karton.PreglediSistematski          = new List <PregledSistematski>();
            tempPacijent.Karton.Bolesti                      = new List <Bolest>();
            tempPacijent.Karton.Alergije                     = new List <Alergija>();
            tempPacijent.Karton.ZdravstvenaHistorijaPorodice = new List <Tuple <string, string> >();

            tempPacijent.FiskalniRacun = new FiskalniRacun();

            tempPacijent.Ime     = ime;
            tempPacijent.Prezime = prezime;
            tempPacijent.Id      = _idGeneratorPacijent++;
            _pacijenti.Add(tempPacijent);

            return(tempPacijent.Id);
        }
Exemple #14
0
        public static int GetPacijentId(string key)
        {
            Pacijent temp = _pacijenti.Find(p => p.Ime.Contains(key) || p.Prezime.Contains(key));

            return(temp.Id);
        }
Exemple #15
0
        public static void EvidentirajPorodicnoZdravstvenoStanje(int idPacijenta, string clanPorodice, string bolest)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.Karton.Porodica(new Tuple <string, string>(clanPorodice, bolest));
        }
Exemple #16
0
        public static void DodajDetaljeNormalnogPregleda(int idPacijenta, DateTime vrijemePregleda, decimal cijenaPregleda, string nazivPregleda, string misljenjeDoktora, string nazivBolesti)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.PregledNormalniBuilder.ConstructPregledNormalni(vrijemePregleda, cijenaPregleda, nazivPregleda, misljenjeDoktora, nazivBolesti);
        }
Exemple #17
0
        public static void DodajDugorocnuTerapiju(int idPacijenta, DateTime datumPotpisivanja)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.PregledNormalniBuilder.ConstructTerapijaDugorocna(datumPotpisivanja);
        }
Exemple #18
0
        public static void DodajLijekUTerapiju(int idPacijenta, string nazivLijeka, double kolicina, string mjera, int frekvencijaUzimanja, string mjeraFrekvencijeUzimanja)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.PregledNormalniBuilder.ConstructLijekovi(nazivLijeka, kolicina, mjera, frekvencijaUzimanja, mjeraFrekvencijeUzimanja);
        }
Exemple #19
0
        public static void KreirajNormalniPregled(int idPacijenta)
        {
            Pacijent temp = GetPacijentById(idPacijenta);

            temp.PregledNormalniBuilder = new PregledNormalniBuilder();
        }
Exemple #20
0
 public Transakcija(DateTime datumTransakcije, Pacijent platio, decimal iznos)
 {
     DatumTransakcije = datumTransakcije;
     Platio           = platio;
     Iznos            = iznos;
 }
 public static void EvidentirajTransakciju(DateTime datumTransakcije, Pacijent platio, decimal iznos)
 {
     _transakcije.Add(new Transakcija(datumTransakcije, platio, iznos));
 }