diff --git a/src/libs/middlewares/reqQueryFields.js b/src/libs/middlewares/reqQueryFields.js
index f65efc81d28787ca753909aeeb8f10c797b4afd6..7f4a1399e1369350d1b8b1b383e70bd7918e5fed 100644
--- a/src/libs/middlewares/reqQueryFields.js
+++ b/src/libs/middlewares/reqQueryFields.js
@@ -198,9 +198,9 @@ class ReqQueryFields {
     build() {
         // "Constrói" o SQL
         return (req, res, next) => {
-            // Foreach no campos
             let hasJoined = {};
             let thisTable = req.sql.tableFrom;
+            // Foreach no campos
             Object.keys(this.fields).forEach((key) => {
                 // Campo
                 let field = this.fields[key];
diff --git a/src/libs/routes/teacher.js b/src/libs/routes/teacher.js
index 8727db5884b3ae2818a050bd20dc215710ee9ff0..e41202ca909fb645da26e9d82c1dfac85f53edb9 100644
--- a/src/libs/routes/teacher.js
+++ b/src/libs/routes/teacher.js
@@ -336,16 +336,51 @@ rqf.addField({
     }
 });
 
-teacherApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
-   req.sql.field('COUNT(DISTINCT docente.id)', 'total')
-   .field("'Brasil'", 'name')
-   .field('docente.ano_censo', 'year')
-   .from('docente')
-   .join('turma', null, 'docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo')
-   .group('docente.ano_censo')
-   .order('docente.ano_censo')
-   .where('(docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)');
-   next();
-}, query, id2str.transform(), response('teacher'));
+teacherApp.get('/', rqf.parse(), (req, res, next) => {
+    req.sql.field('COUNT(DISTINCT docente.id)', 'total')
+    .field("'Brasil'", 'name')
+    .field('docente.ano_censo', 'year')
+    .from('docente')
+    .join('turma', null, 'docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo')
+    .group('docente.ano_censo')
+    .order('docente.ano_censo')
+    .where('(docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)');
+
+    if("education_level_mod" in req.dims) {
+        delete req.dims.education_level_mod;
+        req.hadEducationLevelMod = true;
+        req.sql.field('docente.etapas_mod_ensino_segmento_id', 'education_level_mod_id')
+        .where('docente.etapas_mod_ensino_segmento_id < 11')
+        .group('docente.etapas_mod_ensino_segmento_id');
+    }
+
+    next();
+}, rqf.build(), query, (req, res, next) => {
+    if(req.hadEducationLevelMod) {
+        req.oldResult = req.result;
+
+        req.sql = squel.select()
+        .field('COUNT(DISTINCT docente.id)', 'total')
+        .field("'Brasil'", 'name')
+        .field('docente.ano_censo', 'year')
+        .from('docente')
+        .join('turma', null, 'docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo')
+        .group('docente.ano_censo')
+        .order('docente.ano_censo')
+        .where('(docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)')
+        .where('docente.profissionalizante = 1');
+
+        next();
+    } else {
+        next();
+    }
+}, rqf.build(), query, (req, res, next) => {
+    req.result.forEach((result) => {
+        result.education_level_mod_id = 11;
+        req.oldResult.push(result);
+    });
+    req.result = req.oldResult;
+    next();
+}, id2str.transform(), response('teacher'));
 
 module.exports = teacherApp;