@Override
  public Ficha_epidemiologia_n22 consultarDatos(
      Map<String, Object> map, Ficha_epidemiologia ficha_epidemiologia) throws Exception {
    //				Ficha_epidemiologia ficha = (Ficha_epidemiologia)ficha_epidemiologia;

    // log.info("-----------------");

    // log.info("map"+map);
    // log.info("ficha"+ficha);

    Impresion_diagnostica impresion_diagnostica =
        (Impresion_diagnostica) map.get("impresion_diagnostica");
    Cie_epidemiologia cie_epidemiologia = (Cie_epidemiologia) map.get("cie_epidemiologia");
    Admision admision = (Admision) map.get("admision");

    Map<String, Object> parameters = new HashMap<String, Object>();
    parameters.put("codigo_empresa", admision.getCodigo_empresa());
    parameters.put("codigo_sucursal", admision.getCodigo_sucursal());
    parameters.put("identificacion", admision.getNro_identificacion());

    if (impresion_diagnostica != null) {
      parameters.put("codigo_historia", impresion_diagnostica.getCodigo_historia());
    } else {
      return null;
    }

    if (cie_epidemiologia != null) {
      parameters.put("codigo_diagnostico", cie_epidemiologia.getCodigo_cie());
    } else {
      return null;
    }

    getServiceLocator().getFicha_epidemiologia_nnService().setLimit("limit 25 offset 0");

    List<Ficha_epidemiologia_n22> lista_datos =
        getServiceLocator()
            .getFicha_epidemiologia_nnService()
            .listar(Ficha_epidemiologia_n22.class, parameters);

    // log.info("lista_datos"+lista_datos);

    if (!lista_datos.isEmpty()) {
      Ficha_epidemiologia_n22 ficha_n22 = lista_datos.get(lista_datos.size() - 1);

      return ficha_n22;
    } else {

      return null;
    }
  }