Skip to content

Commit 43cea83

Browse files
committed
POC-745:
1 parent db9b16f commit 43cea83

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

app/facility-mappings/registers.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var db = require('../../etl-db');
2+
3+
var defs = {
4+
getPrEPRegisterData: (params) => {
5+
return new Promise((resolve, reject) => {
6+
let queryParts = {};
7+
let sql =
8+
'SELECT l.name as location_name, fps.encounter_id, pi.identifier AS PrEP_Number, pi2.identifier AS National_ID, pi3.identifier AS NUPI, fps.encounter_datetime AS Date_Of_Visit, EXTRACT(YEAR FROM fps.encounter_datetime) - EXTRACT(YEAR FROM fps.birthdate) - CASE WHEN (EXTRACT(MONTH FROM fps.encounter_datetime) < EXTRACT(MONTH FROM fps.birthdate)) OR (EXTRACT(MONTH FROM fps.encounter_datetime) = EXTRACT(MONTH FROM fps.birthdate) AND EXTRACT(DAY FROM fps.encounter_datetime) < EXTRACT(DAY FROM fps.birthdate)) THEN 1 ELSE 0 END Age, fps.gender AS Sex, fps.population_type, NULL AS client_prep_status, NULL AS prep_method, CASE WHEN COALESCE(fps.hiv_rapid_test_result) = 664 THEN "N" WHEN COALESCE(fps.hiv_rapid_test_result) = 703 THEN "P" END AS HIV_result, NULL AS with_STI, COALESCE(fps.initiation_reason, fps.discontinued_reason) AS remarks FROM etl.flat_prep_summary_v1_1 fps LEFT JOIN amrs.location l ON l.location_id = fps.location_id LEFT JOIN amrs.patient_identifier pi ON fps.person_id = pi.patient_id AND pi.identifier_type = 44 LEFT JOIN amrs.patient_identifier pi2 ON fps.person_id = pi2.patient_id AND pi2.identifier_type = 5 LEFT JOIN amrs.patient_identifier pi3 ON fps.person_id = pi3.patient_id AND pi3.identifier_type = 45 WHERE DATE(fps.encounter_datetime)= "2024-01-02" AND fps.location_id in (1,13,14)';
9+
queryParts = {
10+
sql: sql
11+
};
12+
return db.queryServer(queryParts, function (result) {
13+
result.sql = sql;
14+
resolve(result.result);
15+
});
16+
});
17+
}
18+
};
19+
20+
module.exports = defs;

app/routes/registers.route.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
var authorizer = require('../../authorization/etl-authorizer');
2+
var privileges = authorizer.getAllPrivileges();
3+
var facilitymappings = require('../facility-mappings/registers');
4+
5+
const routes = [
6+
{
7+
method: 'GET',
8+
path: '/etl/prepregisterdata',
9+
config: {
10+
plugins: {},
11+
handler: function (request, reply) {
12+
facilitymappings
13+
.getPrEPRegisterData(request.query)
14+
.then((result) => {
15+
reply(result);
16+
})
17+
.catch((error) => {
18+
reply(error);
19+
});
20+
},
21+
description: 'List of facilities with MFL code',
22+
notes: 'Returns facilities list',
23+
tags: ['api'],
24+
validate: {
25+
options: {
26+
allowUnknown: true
27+
},
28+
params: {}
29+
}
30+
}
31+
}
32+
];
33+
34+
exports.routes = (server) => server.route(routes);

0 commit comments

Comments
 (0)