-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtestSips.ts
More file actions
104 lines (89 loc) · 4.75 KB
/
testSips.ts
File metadata and controls
104 lines (89 loc) · 4.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import { servicioMongo } from './servicioMongo';
import {servicioSips} from './servicioSips'
import {libString} from './libString'
var servicio = new servicioSips();
var servMongo = new servicioMongo();
//console.log(libString.obtenerConsonante('Roa', 3));
servicio.obtenerDatosips(600001,800000)
.then((resultado) => {
if (resultado == null) {
console.log('No encontrado');
} else {
var listaPacientes;
var PromPais = servMongo.obtenerPaises();
var PromProvincia = servMongo.obtenerProvincias();
var PromLocalidad = servMongo.obtenerLocalidades();
listaPacientes = resultado[0];
console.log("Total Pacientes", listaPacientes.length);
Promise.all([PromPais,PromProvincia,PromLocalidad]).then(values => {
let paises;
paises = values[0]; //[{id:1, nombre:"Argentina" },{id:2, nombre:"Chile"},{id:3, nombre:"Brasil"}];
let provincias;
provincias = values[1];
let localidades ;
localidades = values[2];
var obtenerPacientes = new Promise((resolve, reject) => {
var pacientesJSON = [];
listaPacientes.forEach(elem => {
var pacientesSips = elem;
//console.log('Paciente SIPS: ', elem);
var paciente;
paciente = servicio.formatearDatosSips(pacientesSips);
//Se genera la clave de bloking para el matching
paciente["claveSN"] = servicio.crearClaveSN(paciente);
var pais = paises.find((p) => {return libString.makePattern(paciente.direccion[0].ubicacion.pais).test(p.nombre)});
var provincia = provincias.find((p) => {return libString.makePattern(paciente.direccion[0].ubicacion.provincia).test(p.nombre)});
var localidad = localidades.find((p) => {return libString.getCleanedString(paciente.direccion[0].ubicacion.localidad)==(libString.getCleanedString(p.nombre))});
if (pais) {
paciente.direccion[0].ubicacion.pais = { _id: pais._id, id: pais._id, nombre: pais.nombre };
}
else {
paciente.direccion[0].ubicacion.pais = {};
}
if (provincia) {
paciente.direccion[0].ubicacion.provincia = { _id: provincia._id, id: provincia._id, nombre: provincia.nombre };
}
else {
paciente.direccion[0].ubicacion.provincia = {};
}
if (localidad) {
paciente.direccion[0].ubicacion.localidad = { _id: localidad._id, id: localidad._id, nombre: localidad.nombre };
}
else {
paciente.direccion[0].ubicacion.localidad = {};
}
console.log('Paciente formateado', paciente["idPaciente"]);
pacientesJSON.push(paciente);
if (listaPacientes.length == pacientesJSON.length) {
console.log('Se resuelve la promesa');
resolve(pacientesJSON);
}
})
})
obtenerPacientes
.then((lista => {
servMongo.guardarPacientes(lista,"pacienteSips")
.then((res => {
//console.log('Guardar Paciente', paciente["idPaciente"]);
console.log('Guardar Pacientes');
}))
.catch((err => {
console.log('Error al guardar Pacientes', err)
// servMongo.guardarLog({ "idPacienteSips": pacientesSips['idPaciente'], "Error": err.toString(), "Fecha": Date.now() })
// .then((respuesta => {
// console.log('Guardar Log', 'Error al guardar paciente');
// }))
// .catch((err => {
// console.log('Error Paciente', pacientesSips['idPaciente'], err);
// }))
}))
}))
.catch((err => {
console.log('Error al generar lista de Pacientes', err);
}))
})
}
})
.catch((err) => {
console.error('Error**:' + err)
});