public void CalcularReceitaBrutaOrcamentoHospitalarCOmUmSetorComUmaContaEContaDeQuantidadeEvalorDaContaEmJaneiroIgualADoisEUnitarioIgualAQuinhentosValorReceitaBrutaDeveSerIgualAMil() { Departamento departamento = new Hospital("Barra Dor"); var CentroCirurgico = new SetorHospitalar("Cirurgia"); var SubCentroCirurgico = new SubSetorHospital("Centro Cirúrgico"); ContaHospital Cirurgia = new ContaHospital("Cirurgia", TipoValorContaEnum.Quantidade); CentroCirurgico.AdicionarSetor(SubCentroCirurgico); CentroCirurgico.AdicionarConta(Cirurgia); departamento.AdicionarSetor(CentroCirurgico); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); var producaoHospitalar = orcamento.Servicos.FirstOrDefault().Valores.Where(v => v.Mes == MesEnum.Janeiro).FirstOrDefault(); producaoHospitalar.Valor = 2; var incremento = orcamento.FatoresReceita.FirstOrDefault().Incrementos.Where(i => i.Mes == MesEnum.Janeiro).FirstOrDefault(); incremento.Ticket = 500; orcamento.CalcularReceitaBruta(Tickets(500, orcamento)); Assert.IsTrue(incremento.ReceitaBruta == 1000); }
public void CalcularReceitaBrutaOrcamentoHospitalarCOmUmSetorComDuasContasEContaDeQuantidadeEUmaDePorcentagemEvalorDaContaEmJaneiroIgualAUmEporcentagemIgualACinquentaEUnitarioIgualACemEValorComplexidadeIgualA10PorCentoValorReceitaLiuidaDeveSerIgualACentoEDez() { Departamento departamento = new Hospital("Barra Dor"); var Uti = new SetorHospitalar("UTI"); var SubUtiAdulto = new SubSetorHospital("UTIAdulto"); ContaHospital leito = new ContaHospital("Leito", TipoValorContaEnum.Quantidade); ContaHospital ocupacao = new ContaHospital("Ocupação", TipoValorContaEnum.Porcentagem); leito.MultiPlicaPorMes = true; Uti.AdicionarSetor(SubUtiAdulto); Uti.AdicionarConta(leito); Uti.AdicionarConta(ocupacao); departamento.AdicionarSetor(Uti); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); var leitoProducao = orcamento.Servicos.FirstOrDefault().Valores.Where(v => v.Mes == MesEnum.Janeiro).FirstOrDefault(); var ocupacaoProducao = orcamento.Servicos[1].Valores.Where(v => v.Mes == MesEnum.Janeiro).FirstOrDefault(); leitoProducao.Valor = 1; ocupacaoProducao.Valor = 50; var incremento = orcamento.FatoresReceita.FirstOrDefault().Incrementos.Where(i => i.Mes == MesEnum.Janeiro).FirstOrDefault(); incremento.Ticket = 100; orcamento.CalcularReceitaBruta(Tickets(100, orcamento)); Assert.IsTrue(incremento.ReceitaBruta == 1550); }
public CustoUnitarioTotal(SubSetorHospital subSetor, SetorHospitalar setor, List<ValorContaDTO> servicos, List<ProducaoHospitalar> custosUnitarios, TicketDeReceita tickets) { InformarSubSetor(subSetor); InformarSetor(setor); Valores = new List<CustoHospitalar>(); CriarCustosProducao(servicos, custosUnitarios, tickets); }
public void InserirQuimioTerapiaNaOncologia() { var contas = new ContasHospitalares(); var setoresHospitalares = new SetoresHospitalares(); var setorOncologia = setoresHospitalares.Obter<SetorHospitalar>(8); var departamentos = new Departamentos(); var todos = departamentos.Todos<Hospital>(); var quimioTerapia = new SubSetorHospital("Quimioterapia"); setorOncologia.AdicionarSetor(quimioTerapia); setoresHospitalares.Salvar(setorOncologia); var insumos = new Insumos(); foreach (var departamento in todos) { departamentos.Salvar(departamento); var insumo = insumos.ObterInsumo(departamento); insumo.CriarCustoUnitarioOncologiaQuimioTerapiaHospitalarPor(setorOncologia); insumos.Salvar(insumo); foreach (var subsetor in setorOncologia.SubSetores.Where ( s => s.NomeSetor == "Quimioterapia" ) ) { var ticket = new TicketDeProducao(setorOncologia, subsetor, departamento); insumos.Salvar(ticket); } } }
public void CriarOrcamentoHospitalarComUmSetorComUmaContaDeveTerIncrementosIgualADoze() { Departamento departamento = new Hospital("Barra Dor"); var CentroCirurgico = new SetorHospitalar("Cirurgia"); var SubCentroCirurgico = new SubSetorHospital("Centro Cirúrgico"); ContaHospital Cirurgia = new ContaHospital("Cirurgia", TipoValorContaEnum.Quantidade); CentroCirurgico.AdicionarSetor(SubCentroCirurgico); CentroCirurgico.AdicionarConta(Cirurgia); departamento.AdicionarSetor(CentroCirurgico); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); Assert.IsTrue(orcamento.FatoresReceita.FirstOrDefault().Incrementos.Count == 12); }
public void CalcularReceitaLiquidaOrcamentoHospitalarEmFevereiroComUmSetorComDuasContasEContaDeQuantidadeEUmaDePorcentagemEvalorDaContaEmJaneiroIgualAUmEporcentagemIgualANoventaEUnitarioIgualACemEValorComplexidadeIgualA10PorCentoNegativaValorReceitaLiuidaDeveSerIgualDoisMilSeticentosEnoventa() { Departamento departamento = new Hospital("Barra Dor"); var Uti = new SetorHospitalar("UTI"); var SubUtiAdulto = new SubSetorHospital("UTIAdulto"); ContaHospital leito = new ContaHospital("Leito", TipoValorContaEnum.Quantidade); ContaHospital ocupacao = new ContaHospital("Ocupação", TipoValorContaEnum.Porcentagem); leito.MultiPlicaPorMes = true; Uti.AdicionarSetor(SubUtiAdulto); Uti.AdicionarConta(leito); Uti.AdicionarConta(ocupacao); departamento.AdicionarSetor(Uti); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); var leitoProducao = orcamento.Servicos.FirstOrDefault().Valores.Where(v => v.Mes == MesEnum.Fevereiro).FirstOrDefault(); var ocupacaoProducao = orcamento.Servicos[1].Valores.Where(v => v.Mes == MesEnum.Fevereiro).FirstOrDefault(); leitoProducao.Valor = 1; ocupacaoProducao.Valor = 100; var incremento = orcamento.FatoresReceita.FirstOrDefault().Incrementos.Where(i => i.Mes == MesEnum.Janeiro).FirstOrDefault(); incremento.Complexidade = 10; incremento.Negativo = true; var fevereiro = orcamento.FatoresReceita.FirstOrDefault().Incrementos.Where(i => i.Mes == MesEnum.Fevereiro).FirstOrDefault(); orcamento.CalcularReceitaLiquida(Tickets1(100, orcamento),null); Assert.IsTrue(fevereiro.ReceitaLiquida == 2520); }
public void CalcularReceitaLiquidaOrcamentoHospitalarCOmUmSetorComUmaContaEContaDeQuantidadeEvalorDaContaEmJaneiroIgualAUmEUnitarioIgualACemEValorComplexidadeIgualA10PorCentoValorReceitaLiquidaDeveSerIgualACentoEDez() { Departamento departamento = new Hospital("Barra Dor"); var CentroCirurgico = new SetorHospitalar("Cirurgia"); var SubCentroCirurgico = new SubSetorHospital("Centro Cirúrgico"); ContaHospital Cirurgia = new ContaHospital("Cirurgia", TipoValorContaEnum.Quantidade); CentroCirurgico.AdicionarSetor(SubCentroCirurgico); CentroCirurgico.AdicionarConta(Cirurgia); departamento.AdicionarSetor(CentroCirurgico); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); var producaoHospitalar = orcamento.Servicos.FirstOrDefault().Valores.Where(v => v.Mes == MesEnum.Janeiro).FirstOrDefault(); producaoHospitalar.Valor = 1; var incremento = orcamento.FatoresReceita.FirstOrDefault().Incrementos.Where(i => i.Mes == MesEnum.Janeiro).FirstOrDefault(); incremento.Ticket = 100; incremento.Complexidade = 10; orcamento.CalcularReceitaLiquida(Tickets(100, orcamento),null); Assert.IsTrue(incremento.ReceitaLiquida == 110); }
public void CalcularReceitaBrutaOrcamentoHospitalarReceitaBrutaDeveSerIgualATrintaEUmMil() { Departamento departamento = new Hospital("Barra Dor"); var Uti = new SetorHospitalar("UTI"); var SubUtiAdulto = new SubSetorHospital("UTIAdulto"); ContaHospital leito = new ContaHospital("Leito", TipoValorContaEnum.Quantidade); ContaHospital ocupacao = new ContaHospital("Ocupação", TipoValorContaEnum.Porcentagem); leito.MultiPlicaPorMes = true; Uti.AdicionarSetor(SubUtiAdulto); Uti.AdicionarConta(leito); Uti.AdicionarConta(ocupacao); departamento.AdicionarSetor(Uti); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); var leitoProducao = orcamento.Servicos.FirstOrDefault().Valores.Where(v => v.Mes == MesEnum.Janeiro).FirstOrDefault(); var ocupacaoProducao = orcamento.Servicos[1].Valores.Where(v => v.Mes == MesEnum.Janeiro).FirstOrDefault(); leitoProducao.Valor = 10; ocupacaoProducao.Valor = 100; var incremento = orcamento.FatoresReceita.FirstOrDefault().Incrementos.Where(i => i.Mes == MesEnum.Janeiro).FirstOrDefault(); incremento.Ticket = 100; orcamento.CalcularReceitaBruta(Tickets(100, orcamento)); Assert.IsTrue(incremento.ReceitaBruta == 31000); }
public void InserirSetoresESubSetores(Departamento departamento) { Orcamentos orcamentos = new Orcamentos(); var setorHemodinamica = new SetorHospitalar("Hemodinâmica"); var subSetorHemodinamica = new SubSetorHospital("Hemodinâmica"); setorHemodinamica.AdicionarSetor(subSetorHemodinamica); var setorOncologia = new SetorHospitalar("Oncologia"); var subSetorOncologia = new SubSetorHospital("Oncologia"); setorOncologia.AdicionarSetor(subSetorOncologia); var procedimento = new ContaHospital("Procedimendo", TipoValorContaEnum.Quantidade); setorHemodinamica.AdicionarConta(procedimento); setorOncologia.AdicionarConta(procedimento); var centroCirurgico = new SetorHospitalar("Centro Cirúrgico"); var centroCirurgicoSubSetor = new SubSetorHospital("Centro Cirúrgico"); var centroCirurgicoObstetrico = new SubSetorHospital("Centro Obstétrico"); centroCirurgico.AdicionarSetor(centroCirurgicoSubSetor); centroCirurgico.AdicionarSetor(centroCirurgicoObstetrico); //Contas ta cirurgia var cirurgia = new ContaHospital("Cirurgias", TipoValorContaEnum.Quantidade); var salas = new ContaHospital("Salas", TipoValorContaEnum.Quantidade, false, true); var cirurgiaPorSala = new ContaHospital("Cirurgias por Sala", TipoValorContaEnum.Quantidade, true, false); centroCirurgico.AdicionarConta(cirurgia); centroCirurgico.AdicionarConta(salas); centroCirurgico.AdicionarConta(cirurgiaPorSala); cirurgiaPorSala.AnexarConta(cirurgia); cirurgiaPorSala.AnexarConta(salas); //UTI var uti = new SetorHospitalar("UTI"); var utiSemiMaternidade = new SubSetorHospital("UTI Semi Maternidade"); var utiAdulto = new SubSetorHospital("UTI Adulto"); var utiPediatrica = new SubSetorHospital("Uti Pediátrica"); var utiNeoNatal = new SubSetorHospital("Uti Neo-Natal"); var utiCoronariana = new SubSetorHospital("Uti Coronariana"); var semiIntensiva = new SubSetorHospital("Uti Semi-Intensiva"); //Contas da UTI var leito = new ContaHospital("Leito", TipoValorContaEnum.Quantidade); var ocupacao = new ContaHospital("Taxa de Ocupação", TipoValorContaEnum.Porcentagem); leito.MultiPlicaPorMes = true; uti.AdicionarConta(leito); uti.AdicionarConta(ocupacao); //SubSetores da UTI uti.AdicionarSetor(utiSemiMaternidade); uti.AdicionarSetor(utiAdulto); uti.AdicionarSetor(utiPediatrica); uti.AdicionarSetor(utiNeoNatal); uti.AdicionarSetor(utiCoronariana); uti.AdicionarSetor(semiIntensiva); //UNI var uni = new SetorHospitalar("UNI"); var uniAdulto = new SubSetorHospital("Uni Adulto"); var uniPediatrica = new SubSetorHospital("Uni Pediátrica"); var uniMaternidade = new SubSetorHospital("Maternidade"); uni.AdicionarSetor(uniAdulto); uni.AdicionarSetor(uniPediatrica); uni.AdicionarSetor(uniMaternidade); //Contas UNI uni.AdicionarConta(leito); uni.AdicionarConta(ocupacao); //Conta Atendimento var atendimento = new ContaHospital("Atendimento", TipoValorContaEnum.Quantidade); //Emergencia var emergencia = new SetorHospitalar("Emergência"); var subEmergenciaMaternidade = new SubSetorHospital("Emergência Maternidade"); var subEmergenciaAdulto = new SubSetorHospital("Emergência Adulto"); var subEmergenciaPediatrica = new SubSetorHospital("Emergência Pediátrica"); emergencia.AdicionarSetor(subEmergenciaMaternidade); emergencia.AdicionarSetor(subEmergenciaAdulto); emergencia.AdicionarSetor(subEmergenciaPediatrica); emergencia.AdicionarConta(atendimento); //Ambulatorio var ambulatorio = new SetorHospitalar("Ambulatório"); var subAmbulatorio = new SubSetorHospital("Ambulatório"); ambulatorio.AdicionarSetor(subAmbulatorio); ambulatorio.AdicionarConta(atendimento); //SADT var sadt = new SetorHospitalar("SADT"); var cardiologico = new SubSetorHospital("Cardiológico"); var resonanciaMagnetica = new SubSetorHospital("Resonância Mag"); var ultrassonografica = new SubSetorHospital("Ultrassonografia"); var tomografiaCompleta = new SubSetorHospital("Tomografia Comp"); var radiologia = new SubSetorHospital("Radiologia"); var patologiaClinica = new SubSetorHospital("Patologia Clínica"); var outros = new SubSetorHospital("Outros"); var exames = new ContaHospital("Exames", TipoValorContaEnum.Quantidade); sadt.AdicionarSetor(cardiologico); sadt.AdicionarSetor(resonanciaMagnetica); sadt.AdicionarSetor(ultrassonografica); sadt.AdicionarSetor(tomografiaCompleta); sadt.AdicionarSetor(radiologia); sadt.AdicionarSetor(patologiaClinica); sadt.AdicionarSetor(outros); sadt.AdicionarConta(exames); var bercario = new SetorHospitalar("Berçário"); var bercarioAltoRisco = new SubSetorHospital("Berçário Alto Risco"); var bercarioSemiIntensiva = new SubSetorHospital("Berçário Semi-intensiva"); bercario.AdicionarSetor(bercarioAltoRisco); bercario.AdicionarSetor(bercarioSemiIntensiva); bercario.AdicionarConta(ocupacao); bercario.AdicionarConta(leito); departamento.AdicionarSetor(sadt); departamento.AdicionarSetor(centroCirurgico); departamento.AdicionarSetor(uti); departamento.AdicionarSetor(uni); departamento.AdicionarSetor(emergencia); departamento.AdicionarSetor(ambulatorio); departamento.AdicionarSetor(setorHemodinamica); departamento.AdicionarSetor(setorOncologia); departamento.AdicionarSetor(bercario); Departamentos repositorio = new Departamentos(); repositorio.Salvar(sadt); repositorio.Salvar(centroCirurgico); repositorio.Salvar(uti); repositorio.Salvar(uni); repositorio.Salvar(emergencia); repositorio.Salvar(ambulatorio); repositorio.Salvar(setorHemodinamica); repositorio.Salvar(setorOncologia); repositorio.Salvar(bercario); repositorio.Salvar(departamento); }
private void CriarCustoTotal( SubSetorHospital subSetor, SetorHospitalar setor,TicketDeReceita ticket,List<CustoUnitario> custosUnitarios,List<ContaHospitalarDTO> contasUnitarias) { this.CustosUnitariosTotal.Add(new CustoUnitarioTotal(subSetor, setor, contasUnitarias.Where(s=> s.Subsetor == subSetor.NomeSetor && s.Setor == setor.NomeSetor).FirstOrDefault().Valores, custosUnitarios.Where(s => s.SubSetor.Id == subSetor.Id && s.Setor.Id == setor.Id).FirstOrDefault().Valores.ToList(), ticket)); }
public virtual void CriarServico(ContaHospital conta, SubSetorHospital subSetor, SetorHospitalar setor) { this.Servicos.Add(new ServicoHospitalar(conta, subSetor, setor)); }
public virtual void CriarFatorReceita(SubSetorHospital subSetor, SetorHospitalar setor) { this.FatoresReceita.Add(new FatorReceita(setor, subSetor)); }
public void r_insetir_SubSetoresParaUti() { var contas = new ContasHospitalares(); var setoresHospitalares = new SetoresHospitalares(); var setorUti = setoresHospitalares.Obter<SetorHospitalar>(3); var departamentos = new Departamentos(); var todos = departamentos.Todos<Hospital>(); var neuroIntensiva = new SubSetorHospital("UTI Neuro-Intensiva"); var utiPosOperatoria = new SubSetorHospital("UTI Pós-Operatória"); var utiVentilatoria = new SubSetorHospital("UTI Ventilatória"); var utiHepatico = new SubSetorHospital("UTI Hepático"); setorUti.AdicionarSetor(neuroIntensiva); setorUti.AdicionarSetor(utiPosOperatoria); setorUti.AdicionarSetor(utiVentilatoria); setorUti.AdicionarSetor(utiHepatico); setoresHospitalares.Salvar(setorUti); var insumos = new Insumos(); foreach (var departamento in todos) { departamentos.Salvar(departamento); var insumo = insumos.ObterInsumo(departamento); insumo.CriarCustoUnitarioUTIHospitalarPor(setorUti); insumos.Salvar(insumo); foreach (var subsetor in setorUti.SubSetores.Where ( s => s.NomeSetor == "UTI Neuro-Intensiva" || s.NomeSetor == "UTI Pós-Operatória" || s.NomeSetor == "UTI Ventilatória" || s.NomeSetor == "UTI Hepático" ) ) { var ticket = new TicketDeProducao(setorUti, subsetor, departamento); insumos.Salvar(ticket); } } }
public void insetir_setor_Suporte() { ContasHospitalares contas = new ContasHospitalares(); var outrasReceitas = new ContaHospital("OutrasReceitas", TipoValorContaEnum.Quantidade); var departamentos = new Departamentos(); var todos = departamentos.Todos<Hospital>(); var suporte = new SetorHospitalar("Maternidade"); var subSuporte = new SubSetorHospital("Maternidade"); suporte.AdicionarSetor(subSuporte); suporte.AdicionarConta(outrasReceitas); var setores = new SetoresHospitalares(); setores.Salvar(suporte); Insumos insumos = new Insumos(); foreach (var departamento in todos) { departamento.AdicionarSetor(suporte); departamentos.Salvar(departamento); var insumo = insumos.ObterInsumo(departamento); insumo.CriarCustoUnitarioHospitalarPor(suporte); insumos.Salvar(insumo); foreach (var subsetor in suporte.SubSetores) { var ticket = new TicketDeProducao(suporte, subsetor, departamento); insumos.Salvar(ticket); } } }
public void insetir_setor_Semi() { ContasHospitalares contas = new ContasHospitalares(); var leito = new ContaHospital("Capacidade Operacional", TipoValorContaEnum.Quantidade); var ocupacao = new ContaHospital("Taxa de Ocupação", TipoValorContaEnum.Porcentagem); var capacidadeFisica = new ContaHospital("Capacidade Fisica", TipoValorContaEnum.Quantidade, false, false); leito.MultiPlicaPorMes = true; var departamentos = new Departamentos(); var todos = departamentos.Todos<Hospital>(); var semi = new SetorHospitalar("Semi"); var subSemiIntensiva = new SubSetorHospital("Uti Semi-Intensiva"); semi.AdicionarSetor(subSemiIntensiva); semi.AdicionarConta(leito); semi.AdicionarConta(ocupacao); semi.AdicionarConta(capacidadeFisica); var setores = new SetoresHospitalares(); setores.Salvar(semi); Insumos insumos = new Insumos(); foreach (var departamento in todos) { departamento.AdicionarSetor(semi); departamentos.Salvar(departamento); var insumo = insumos.ObterInsumo(departamento); insumo.CriarCustoUnitarioHospitalarPor(semi); insumos.Salvar(insumo); foreach (var subsetor in semi.SubSetores) { var ticket = new TicketDeProducao(semi, subsetor, departamento); insumos.Salvar(ticket); } } }
public void CriarOrcamentoHospitalarComUmSetorComUmaContaDeveTeServicosHospitalaresIgualAUm() { Departamento departamento = new Hospital("Barra Dor"); var CentroCirurgico = new SetorHospitalar("Cirurgia"); var SubCentroCirurgico = new SubSetorHospital("Centro Cirúrgico"); ContaHospital Cirurgia = new ContaHospital("Cirurgia", TipoValorContaEnum.Quantidade); CentroCirurgico.AdicionarSetor(SubCentroCirurgico); CentroCirurgico.AdicionarConta(Cirurgia); departamento.AdicionarSetor(CentroCirurgico); OrcamentoHospitalar orcamento = new OrcamentoHospitalar(departamento, 2014); Assert.IsTrue(orcamento.Servicos.Count == 1); }
private void InformarSubSetor(SubSetorHospital subSetor) { Contract.Requires(subSetor != null, "Sub setor deve ser diferente de nulo."); this.SubSetor = subSetor; }
public void r_insetir_setor_bercario() { ContasHospitalares contas = new ContasHospitalares(); var leito = contas.ObterContaPor("Leito"); var taxa = contas.ObterContaPor("Taxa de Ocupação"); var departamentos = new Departamentos(); var todos = departamentos.Todos<Hospital>(); var bercario = new SetorHospitalar("Berçário"); var bercarioAltoRisco = new SubSetorHospital("Berçário Alto Risco"); var bercarioSemiIntensiva = new SubSetorHospital("Berçário Semi-intensiva"); bercario.AdicionarSetor(bercarioAltoRisco); bercario.AdicionarSetor(bercarioSemiIntensiva); bercario.AdicionarConta(leito); bercario.AdicionarConta(taxa); Insumos insumos = new Insumos(); foreach (var departamento in todos) { departamento.AdicionarSetor(bercario); departamentos.Salvar(departamento); var insumo = insumos.ObterInsumo(departamento); insumo.CriarCustoUnitarioHospitalarPor(bercario); insumos.Salvar(insumo); foreach (var subsetor in bercario.SubSetores) { var ticket = new TicketDeProducao(bercario, subsetor, departamento); insumos.Salvar(ticket); } } }