Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions cda-laboratorios/config.private.example.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
export const ANDES_HOST = '';
export const ANDES_KEY = '';

//para ver laboratorios de sips
export const conSql = {
auth: {
user: '',
password: ''
},
serverSql: {
server: '',
database: ''
},
pool: {
acquireTimeoutMillis: 15000
}
};


//id de efectores SIL2 (no se generan cdas)
//export const idEfectoresSIL2 = []; //-> cambiado por efectoresFiltradosSIL2

//efectoresFiltrados: Por cada efector que fue migrado al SIL2 (idSips) se debe colocar
// la fecha hasta la fecha que se uso por ultima vez el SIL 1
//y si no migro se coloca la fecha vacia
export const efectoresFiltradosSIL2 = [
{
"idSips": 0,
"nombre": "",
"fechaHasta": ""
}
]

export const logDatabase = {
log: {
host: `mongodb://localhost:27017/andesLogs`,
options: {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false
}
}
};

// User scheduler
export const userScheduler = {
user: {
usuario: {
nombre: 'Andes',
apellido: 'Scheduler'
},
organizacion: {
nombre: 'Andes'
}
},
ip: '0.0.0.0',
connection: {
localAddress: '0.0.0.0'
}
};













22 changes: 17 additions & 5 deletions cda-laboratorios/controller/operations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ const request = require('request');
const cache = {};
import { msCDALaboratoriosLog } from '../logger/msCDALaboratorios';
const log = msCDALaboratoriosLog.startTrace();
import { userScheduler, idEfectoresSIL2 } from './../config.private';
import { userScheduler, efectoresFiltradosSIL2 } from './../config.private';

export async function organizacionBySisaCode(sisa) {
return new Promise((resolve, reject) => {
if (cache[sisa]) {
return resolve(cache[sisa]);
} else {
const url = `${ANDES_HOST}/core/tm/organizaciones?sisa=${sisa}&token=${ANDES_KEY}`;
request(url, (error, response, body) => {
request(url, (error, response, body) => {
if (!error && response.statusCode >= 200 && response.statusCode < 300) {
const orgs: any[] = JSON.parse(body);
if (orgs && orgs.length) {
Expand All @@ -35,9 +35,21 @@ export async function getEncabezados(pool, paciente) {
const documento = paciente.documento;
const sexo = paciente.sexo === 'femenino' ? 'F' : paciente.sexo === 'masculino' ? 'M' : 'I';
let filterEfectores = '';
if (idEfectoresSIL2?.length) {
const idsSil2 = idEfectoresSIL2.toString();
filterEfectores = `and encabezado.idEfector not in (${idsSil2})`;

if(efectoresFiltradosSIL2?.length) {
filterEfectores += `and (`;
efectoresFiltradosSIL2.forEach(element => {
if(element.fechaHasta != "") {
//a fechaHasta sacar los guiones para que no falle la consulta
element.fechaHasta = element.fechaHasta.replace(/-/g, '');
filterEfectores += ` (encabezado.idEfector=${element.idSips} and encabezado.fecha1 < '${element.fechaHasta}') or`;
}

});
//Borro el ultimo 'or' agregado
filterEfectores = filterEfectores.slice(0, -2);
filterEfectores += ` )`;

}
const query = `select efector.codigoSisa as efectorCodSisa, efector.nombre as efector, encabezado.idEfector as idEfector,
encabezado.apellido, encabezado.nombre, encabezado.fechaNacimiento, encabezado.sexo, encabezado.numeroDocumento,
Expand Down