diff --git a/src/libs/routes/idhme.js b/src/libs/routes/idhme.js
index d77647355566bbeb62c36fab28a5d8d4089cc92f..9667d5b2151061f9badce0dc7ce194fdd1f2eba2 100644
--- a/src/libs/routes/idhme.js
+++ b/src/libs/routes/idhme.js
@@ -122,33 +122,25 @@ rqf.addField({
 });
 
 idhmeApp.get('/', rqf.parse(), (req, res, next) => {
-    if(typeof req.filter === 'undefined' || Object.keys(req.filter).length === 0) {
-        res.status(400);
-        next({
-            status: 400,
-            message: 'Wrong/No filter specified'
-        });
-    }
 
-    if (!("state" in req.filter) && !("city" in req.filter)) {
-        next({
-            status: 400,
-            message: 'Wrong/No filter specified'
-        });
-    }
-    if ("city" in req.filter) {
+    if (("city" in req.dims) || ("city" in req.filter)) {
         req.sql.from('adh_idh')
         .field('adh_idh.idhm_e', 'total')
         .field('adh_idh.ano_censo', 'year')
-        .field('adh_idh.municipio_id', 'city_id');
+        .field('adh_idh.municipio_id', 'city_id')
+        .group('adh_idh.idhm_e')
+        .group('adh_idh.ano_censo')
+        .group('adh_idh.municipio_id');
     } else {
-        // console.log("sim");
         req.sql.from('adh_idh_uf')
         .field('adh_idh_uf.idhm_e', 'total')
         .field('adh_idh_uf.ano_censo', 'year')
-        .field('adh_idh_uf.estado_id', 'state_id');
+        .field('adh_idh_uf.estado_id', 'state_id')
+        .group('adh_idh_uf.idhm_e')
+        .group('adh_idh_uf.ano_censo')
+        .group('adh_idh_uf.estado_id');
     }
     next();
-}, rqf.build(), query, response('idhme'));
+}, rqf.build(), query, id2str.transform(), response('idhme'));
 
 module.exports = idhmeApp;