diff --git a/src/libs/convert/finishUniversity.js b/src/libs/convert/finishUniversity.js
new file mode 100644
index 0000000000000000000000000000000000000000..81064b90aeed2ceafdd324d60d6ecb1ab73bcb66
--- /dev/null
+++ b/src/libs/convert/finishUniversity.js
@@ -0,0 +1,32 @@
+'use strict';
+
+/*
+Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR
+
+This file is part of simcaq-node.
+
+simcaq-node is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+simcaq-node is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+module.exports = function finishUniversity(id) {
+	switch (id) {
+		case 0:
+			return 'Não concluinte';
+		case 1:
+			return 'Concluinte';
+		default:
+			return 'Não declarado';
+	}
+};
diff --git a/src/libs/middlewares/id2str.js b/src/libs/middlewares/id2str.js
index 96ddef754ca952343c8a6561bd380ca5ee51ab52..8a4b6cc3401d11da325c6f3566e51755f742cf98 100644
--- a/src/libs/middlewares/id2str.js
+++ b/src/libs/middlewares/id2str.js
@@ -85,6 +85,7 @@ const govermentAgreement = require(`${libs}/convert/govermentAgreement`);
 const arrangement = require(`${libs}/convert/arrangement`);
 const nightTime = require(`${libs}/convert/nightTime`);
 const discipline = require(`${libs}/convert/discipline`);
+const finishUniversity = require(`${libs}/convert/finishUniversity`);
 
 const ids = {
     gender_id: gender,
@@ -161,7 +162,8 @@ const ids = {
     age_student_code_id: ageStudentCode,
     transport_id: transport,
     arrangement_id: arrangement,
-    arrangement_id: discipline
+    discipline: discipline,
+    finish_id: finishUniversity
 };
 
 function transform(removeId=false) {
@@ -264,5 +266,7 @@ module.exports = {
     transport,
     govermentAgreement,
     arrangement,
-    nightTime
+    nightTime,
+    discipline,
+    finishUniversity
 };
diff --git a/src/libs/routes/universityEnrollment.js b/src/libs/routes/universityEnrollment.js
index 1311fec84c9bbc753f1a15f5f866eec4c59a891d..2521d2724971e165198ac0574d864679aeccbad5 100644
--- a/src/libs/routes/universityEnrollment.js
+++ b/src/libs/routes/universityEnrollment.js
@@ -91,6 +91,17 @@ universityEnrollmentApp.get('/ocde_geral', (req, res, next) => {
     next();
 }, response('ocde_geral'));
 
+
+universityEnrollmentApp.get('/finish', (req, res, next) => {
+    req.result = [
+        {id: 0, name: "Não Concluinte"},
+        {id: 1, name: "Concluinte"},
+    ];
+    next();
+
+    next();
+}, response('finish'));
+
 universityEnrollmentApp.get('/ocde_specific', (req, res, next) => {
     req.result = [];
     const defaultCase = null;
@@ -630,15 +641,7 @@ rqf.addField({
 });
 
 universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
-    if ("finish" in req.dims) {
-        req.sql.from('localoferta_ens_superior_matricula')
-        .field('SUM(aluno_ens_superior.concluinte)', 'total')
-        .field("'Brasil'", 'name')
-        .field('localoferta_ens_superior_matricula.ano_censo', 'year')
-        .group('localoferta_ens_superior_matricula.ano_censo')
-        .order('localoferta_ens_superior_matricula.ano_censo')
-        delete req.dims.finish
-    }else if ("localoffer" in req.dims) {
+    if ("localoffer" in req.dims) {
         if ("university" in req.dims) {
             req.sql.from('localoferta_ens_superior_matricula')
                 .field('curso_ens_superior.ano_censo', 'year')
@@ -658,7 +661,7 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
                 .order('localoferta_ens_superior_matricula.ano_censo')
                 .order('localoferta_ens_superior_matricula.cod_local_oferta');
         }
-    } else if (("state" in req.dims) || ("city" in req.dims) || ("region" in req.dims) || ("mesoregion" in req.dims) || ("microregion" in req.dims)
+    } else if (("state" in req.dims) || ("city" in req.dims) || ("region" in req.dims) || ("mesoregion" in req.dims) || ("microregion" in req.dims) ||
         ("state" in req.filter) || ("city" in req.filter) || ("region" in req.filter) || ("mesoregion" in req.filter) || ("microregion" in req.filter)) {
         req.sql.from('localoferta_ens_superior_matricula')
         .field('DISTINCT COUNT(*)', 'total')