public void buscarProcedimientos() {
    String parametro = bandboxBusqueda.getValue().trim();
    if (!parametro.isEmpty()) {
      List<Listitem> listado_items = listboxProcedimientos.getItems();
      if (parametro.toUpperCase().equals(parametro_current)) {
        index_current++;
        if (index_current >= listado_resultados.size()) {
          index_current = 0;
        }
      } else {
        parametro_current = parametro.toUpperCase();
        listado_resultados.clear();
        for (int i = 0; i < listado_items.size(); i++) {
          Listitem listitem = listado_items.get(i);
          Map<String, Object> pcd = (Map<String, Object>) listitem.getValue();
          String codigo_cups = (String) pcd.get("codigo_cups");
          String nombre_procedimiento = (String) pcd.get("nombre_procedimiento");
          if (codigo_cups.toUpperCase().contains(parametro.toUpperCase())
              || nombre_procedimiento.toUpperCase().contains(parametro.toUpperCase())) {
            listado_resultados.add(i);
          }
        }

        if (!listado_resultados.isEmpty()) {
          index_current = 0;
        } else {
          index_current = -1;
        }
      }

      if (index_current != -1) {
        Listitem listitem = listado_items.get(listado_resultados.get(index_current));
        listboxProcedimientos.setActivePage(listitem);
        Clients.scrollIntoView(listitem);
        MensajesUtil.notificarInformacion("Resultado encontrado", listitem);
      } else {
        MensajesUtil.notificarAlerta("No se encontraron resultado", bandboxBusqueda);
      }
    }
  }