package br.com.elotech.saude.service.impl;

import br.com.elotech.saude.dao.SaudeDao;
import br.com.elotech.saude.dao.impl.SaudeDaoImpl;
import br.com.elotech.saude.model.filters.*;
import br.com.elotech.saude.model.filters.agendamento.AgendamentoExternoMedicoFilter;
import br.com.elotech.saude.model.filters.agendamento.AgendamentoPorProfissionalFilter;
import br.com.elotech.saude.model.filters.agendamento.AgendamentoPorUnidadeFilter;
import br.com.elotech.saude.model.filters.agendamento.ConsultasAgendadasFilter;
import br.com.elotech.saude.model.filters.atendimento.AtendimentoClassificacaoFilter;
import br.com.elotech.saude.model.filters.bpa.BpaIdadeFilter;
import br.com.elotech.saude.model.filters.agendamento.*;
import br.com.elotech.saude.model.filters.bpa.ProcedimentosGeraisFilter;
import br.com.elotech.saude.model.filters.bpa.ProcedimentosUnidadeFilter;
import br.com.elotech.saude.model.filters.estratificacao.*;
import br.com.elotech.saude.model.filters.farmacia.ConsultaDadosHorusFilter;
import br.com.elotech.saude.model.filters.laboratorio.ExamesPorPrestadorFilter;
import br.com.elotech.saude.model.filters.materiais.ContagemEstoqueFilter;
import br.com.elotech.saude.model.filters.materiais.InventarioFilter;
import br.com.elotech.saude.model.filters.farmacia.DispensacaoTipoReceitaFilter;
import br.com.elotech.saude.model.filters.materiais.MovimentoSaidaFilter;
import br.com.elotech.saude.model.filters.materiais.SaidaTransferenciaMateriaisFilter;
import br.com.elotech.saude.model.filters.paciente.EtiquetaFilter;
import br.com.elotech.saude.model.filters.prontuario.ConcessaoFilter;
import br.com.elotech.saude.model.filters.prontuario.LaudoApacFilter;
import br.com.elotech.saude.model.filters.prontuario.ReceitaMedicaEspecialFilter;
import br.com.elotech.saude.model.filters.prontuario.ReceitaMedicaFilter;
import br.com.elotech.saude.model.filters.psf.BuscaAtivaFilter;
import br.com.elotech.saude.model.filters.psf.DomicilioVinculadoFilter;
import br.com.elotech.saude.model.filters.psf.PrescricaoMedicamentosFilter;
import br.com.elotech.saude.model.filters.psf.VisitaDomiciliarFilter;
import br.com.elotech.saude.model.filters.transporte.ViagemFilter;
import br.com.elotech.saude.model.filters.transporte.ViagensFilter;
import br.com.elotech.saude.model.filters.vacinacao.CarteirinhaVacinacaoFilter;
import br.com.elotech.saude.model.filters.vacinas.AtestadoVacinaFilter;
import br.com.elotech.saude.model.filters.vacinas.ControleVacinadosPorVacinaFilter;
import br.com.elotech.saude.model.materiais.ContagemEstoque;
import br.com.elotech.saude.service.SaudeService;


public class SaudeServiceImpl implements SaudeService {
  private SaudeDao dao = new SaudeDaoImpl();

  @Override
  public void agendamentoPorUnidade(AgendamentoPorUnidadeFilter filter) throws Exception {
    dao.agendamentoPorUnidade(filter);
  }

  @Override
  public void filaDeEspera(FilaDeEsperaFilter filaFilter) throws Exception {
    dao.filaDeEspera(filaFilter);
  }

  @Override
  public void producaoFilaDeEspera(ProducaoFilaDeEsperaFilter filaFilter) throws Exception {
    dao.producaoFilaDeEspera(filaFilter);
  }

  @Override
  public void estratificacaoHdi(EstratificacaoHdiFilter hdiFilter) throws Exception {
    dao.estratificacaoHdi(hdiFilter);
  }

  @Override
  public void prescricaoMedicamentos(PrescricaoMedicamentosFilter pmFilter) throws Exception {
    dao.prescricaoMedicamentos(pmFilter);
  }

  @Override
  public void estratificacaoGestantesPuerperas(EstratificacaoGestantesPuerperasFilter gestantesPuerperasFilter) throws Exception {
    dao.estratificacaoGestantesPuerperas(gestantesPuerperasFilter);
  }

  @Override
  public void estratificacaoSaudeBucal(EstratificacaoSaudeBucalFilter saudeBucalFilter) throws Exception {
    dao.estratificacaoSaudeBucal(saudeBucalFilter);
  }

  @Override
  public void estratificacaoSaudeMental(EstratificacaoSaudeMentalFilter saudeMentalFilter) throws Exception {
    dao.estratificacaoSaudeMental(saudeMentalFilter);
  }

  @Override
  public void estratificacaoFamiliar(EstratificacaoFamiliarFilter familiarFilter) throws Exception {
    dao.estratificacaoFamiliar(familiarFilter);
  }

  @Override
  public void estatisticasAreaMicroArea(EstatisticasAreaMicroAreaFilter eamaFilter) throws Exception {
    dao.estatisticasAreaMicroArea(eamaFilter);
  }

  @Override
  public void estratificacaoCrianca(EstratificacaoCriancaFilter criancaFilter) throws Exception {
    dao.estratificacaoCrianca(criancaFilter);
  }

  @Override
  public void agendamentoPorProfissional(AgendamentoPorProfissionalFilter ageProfissionalFilter) throws Exception {
    dao.agendamentoPorProfissional(ageProfissionalFilter);
  }

  @Override
  public void saidaTransferenciaMateriais(SaidaTransferenciaMateriaisFilter saidaFilter) throws Exception {
    dao.saidaTransferenciaMateriais(saidaFilter);
  }

  @Override
  public void atestadoVacina(AtestadoVacinaFilter atestadoVacinaFilter) throws Exception {
    dao.atestadoVacina(atestadoVacinaFilter);
  }

  @Override
  public void controleVacinadosPorVacina(ControleVacinadosPorVacinaFilter controleFilter) throws Exception {
    dao.controleVacinadosPorVacina(controleFilter);
  }

  @Override
  public void guiaEncaminhamentoExterno(GuiaEncaminhamentoExternoFilter guiaFilter) throws Exception {
    dao.guiaEncaminhamentoExterno(guiaFilter);
  }

  @Override
  public void procedimentosGerais(ProcedimentosGeraisFilter procFilter) throws Exception {
    dao.procedimentosGerais(procFilter);
  }

  @Override
  public void procedimentosUnidade(ProcedimentosUnidadeFilter procFilter) throws Exception {
    dao.procedimentosUnidade(procFilter);
  }

  @Override
  public void consultasAgendadas(ConsultasAgendadasFilter consultaFilter) throws Exception {
    dao.consultasAgendadas(consultaFilter);
  }

  @Override
  public void pacientesFaixaSexo(PacientesFaixaSexoFilter faixaSexoFilter) throws Exception {
    dao.pacientesFaixaSexo(faixaSexoFilter);
  }

  @Override
  public void movimentoSaida(MovimentoSaidaFilter movSaiFilter) throws Exception {
    dao.movimentoSaida(movSaiFilter);
  }

  @Override
  public void carteirinhaVacinacao(CarteirinhaVacinacaoFilter cvFilter) throws Exception {
    dao.carteirinhaVacinacao(cvFilter);
  }

  @Override
  public void visitaDomiciliar(VisitaDomiciliarFilter visitaDomiciliarFilter) throws Exception {
    dao.visitaDomiciliar(visitaDomiciliarFilter);
  }

  @Override
  public void buscaAtiva(BuscaAtivaFilter buscaAtivaFilter) throws Exception {
    dao.buscaAtiva(buscaAtivaFilter);
  }

  @Override
  public void bpaIdade(BpaIdadeFilter bpaIdadeFilter) throws Exception {
    dao.bpaIdade(bpaIdadeFilter);
  }

  @Override
  public void agendamentoExternoMedico(AgendamentoExternoMedicoFilter externoMedicoFilter) throws Exception {
    dao.agendamentoExternoMedico(externoMedicoFilter);
  }

  @Override
  public void agendamentoExternoUnidade(AgendamentoExternoUnidadeFilter externoUnidadeFilter) throws Exception {
    dao.agendamentoExternoUnidade(externoUnidadeFilter);
  }

  @Override
  public void laudoApac(LaudoApacFilter laudoApacFilter) throws Exception {
    dao.laudoApac(laudoApacFilter);
  }

  @Override
  public void inventario(InventarioFilter inventarioFilter) throws Exception {
    dao.inventario(inventarioFilter);
  }

  @Override
  public void dispensacaoTipoReceita(DispensacaoTipoReceitaFilter dispensacaoTipoReceitaFilter) throws Exception {
    dao.dispensacaoTipoReceita(dispensacaoTipoReceitaFilter);
  }

  @Override
  public void listaViagem(ViagemFilter viagemFilter) throws Exception {
    dao.listaViagem(viagemFilter);
  }

  @Override
  public void examesPorPrestador(ExamesPorPrestadorFilter examesPorPrestadorFilter) throws Exception {
    dao.examesPorPrestador(examesPorPrestadorFilter);
  }

  @Override
  public void domicilioVinculado(DomicilioVinculadoFilter domicilioVinculadoFilter) throws Exception {
    dao.domicilioVinculado(domicilioVinculadoFilter);
  }

  @Override
  public void viagens(ViagensFilter viagensFilter) throws Exception {
    dao.viagens(viagensFilter);
  }

  @Override
  public void receitaMedica(ReceitaMedicaFilter receitaMedicaFilter) throws Exception {
    dao.receitaMedica(receitaMedicaFilter);
  }

  @Override
  public void receitaMedicaEspecial(ReceitaMedicaEspecialFilter receitaMedicaEspecialFilter) throws Exception {
    dao.receitaMedicaEspecial(receitaMedicaEspecialFilter);
  }

  @Override
  public void atendimentosClassificacao(AtendimentoClassificacaoFilter atendimentoClassificacaoFilter) throws Exception {
    dao.atendimentosClassificacao(atendimentoClassificacaoFilter);
  }

  @Override
  public void concessao(ConcessaoFilter concessaoFilter) throws Exception {
    dao.concessao(concessaoFilter);
  }

  @Override
  public void etiquetaPaciente(EtiquetaFilter etiquetaFilter) throws Exception {
    dao.etiquetaPaciente(etiquetaFilter);
  }

  @Override
  public void contagemEstoque(ContagemEstoqueFilter contagemEstoqueFilter) throws Exception {
    dao.contagemEstoque(contagemEstoqueFilter);
  }

  @Override public void consultaDadosHorus(
    ConsultaDadosHorusFilter consultaDadosHorusFilter) throws Exception {
    dao.consultaDadosHorus(consultaDadosHorusFilter);
  }

}
