diff --git a/src/libs/convert/pfe.js b/src/libs/convert/pfe.js
new file mode 100644
index 0000000000000000000000000000000000000000..a1a8a6fc6da297ab59997f7c3910c6e859a39c20
--- /dev/null
+++ b/src/libs/convert/pfe.js
@@ -0,0 +1,17 @@
+module.exports = function pfeName(id) {
+    switch(id) {
+        case 1: return 'População fora da escola menor de 1 ano';
+        case 2: return 'População fora da escola 1 ano';
+        case 3: return 'População fora da escola 2 anos';
+        case 4: return 'População fora da escola 3 anos';
+        case 5: return 'População fora da escola 4 anos';
+        case 6: return 'População fora da escola 5 anos';
+        case 7: return 'População fora da escola 6 e 10 anos sem instrução com EF incompleto';
+        case 8: return 'População fora da escola 11 a 14 anos sem instrução';
+        case 9: return 'População fora da escola 11 a 14 anos com EF incomplet';
+        case 10: return 'População fora da escola 15 a 24 anos com EF completo EM incompleto';
+        case 11: return 'População fora da escola 15 anos mais sem instrução';
+        case 12: return 'População fora da escola 15 anos mais EF incompleto';
+        case 13: return 'População fora da escola 25 anos mais EF completo EM incompleto';
+    }
+};
\ No newline at end of file
diff --git a/src/libs/middlewares/id2str.js b/src/libs/middlewares/id2str.js
index 30bf81229a8933029900ada49c50df2ab6e5c7a6..cb4c8cc1553ae711719878eb84d30ec29d3e993c 100644
--- a/src/libs/middlewares/id2str.js
+++ b/src/libs/middlewares/id2str.js
@@ -32,6 +32,7 @@ const transportationManager = require(`${libs}/convert/transportationManager`);
 const specialClass = require(`${libs}/convert/booleanVariable`);
 const integralTime = require(`${libs}/convert/integralTime`);
 const educationLevelSchoolYear = require(`${libs}/convert/educationLevelSchoolYear`);
+const pfe = require(`${libs}/convert/pfe`);
 
 const ids = {
     gender_id: gender,
@@ -75,6 +76,7 @@ const ids = {
     transportation_manager_id: transportationManager,
     special_class_id: specialClass,
     education_level_school_year_id: educationLevelSchoolYear,
+    pfe_id: pfe,
 };
 
 function transform(removeId=false) {
diff --git a/src/libs/routes/outOfSchool.js b/src/libs/routes/outOfSchool.js
index d7e3915a624bac28541ecbe2460f8ae54d8e0e0c..c877d2ff775e1674f5e90a42eac4e2e588e8478f 100644
--- a/src/libs/routes/outOfSchool.js
+++ b/src/libs/routes/outOfSchool.js
@@ -240,4 +240,70 @@ outOfSchoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     next();
 }, query, addMissing(rqf), id2str.transform(), response('out_of_school'));
 
+// Versão para o SimCAQ
+let simcaqRqf = new ReqQueryFields();
+
+simcaqRqf.addField({
+    name: 'filter',
+    field: false,
+    where: true
+}).addField({
+    name: 'dims',
+    field: true,
+    where: false
+}).addValue({
+    name: 'state',
+    table: 'populacao_fora_da_escola',
+    tableField: 'unidade_federativa',
+    resultField: 'state_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'unidade_federativa'
+    }
+}).addValue({
+    name: 'pfe',
+    table: 'populacao_fora_da_escola',
+    tableField: 'codigo_pfe',
+    resultField: 'pfe_id',
+    where: {
+        relation: '=',
+        type: 'integer',
+        field: 'codigo_pfe'
+    }
+}).addValue({
+    name: 'min_year',
+    table: 'populacao_fora_da_escola',
+    tableField: 'ano_censo',
+    resultField: 'year',
+    where: {
+        relation: '>=',
+        type: 'integer',
+        table: 'populacao_fora_da_escola',
+        field: 'ano_censo'
+    }
+}).addValue({
+    name: 'max_year',
+    table: 'populacao_fora_da_escola',
+    tableField: 'ano_censo',
+    resultField: 'year',
+    where: {
+        relation: '<=',
+        type: 'integer',
+        table: 'populacao_fora_da_escola',
+        field: 'ano_censo'
+    }
+});
+
+outOfSchoolApp.get('/simcaq', simcaqRqf.parse(), simcaqRqf.build(), (req, res, next) => {
+    req.sql.from('populacao_fora_da_escola')
+    .field('SUM(populacao_fora_da_escola.pop_fora_escola)', 'total')
+    .field("'Brasil'", 'name')
+    .field('populacao_fora_da_escola.ano_censo')
+    .group('populacao_fora_da_escola.ano_censo')
+    .order('populacao_fora_da_escola.ano_censo');
+
+    next();
+}, query, addMissing(simcaqRqf), id2str.transform(), response('out_of_school'));
+
 module.exports = outOfSchoolApp;