-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconsultas.ts
More file actions
312 lines (286 loc) · 15.5 KB
/
consultas.ts
File metadata and controls
312 lines (286 loc) · 15.5 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
// TODO: Mover todos llamados a las consultas de abajo al archivo consultas.ts
// TODO: Cambiar en las consultas multilinea las comillas simples o dobles de apertura y cierre por backticks (acentos invertidos)
// y eliminar los signos + de cada fin de linea (ver consultas.consultaProfesiones como ejemplo de uso)
export const consultaPaciente = 'SELECT PAC.idPaciente,PAC.nombre, PAC.apellido, PAC.numeroDocumento,idsexo,convert(varchar(10),PAC.fechaNacimiento,103) AS fechaNacimiento, ' +
'PAC.calle, PAC.numero, PAC.piso, PAC.departamento, PAC.manzana, PAC.lote, PAC.parcela, L.idLocalidad,' +
'L.nombre AS nombreLocalidad, L.codigoPostal, PROVINCIA.nombre as nombreProvincia,PAC.idProvinciaDomicilio, PAIS.nombre as nombrePais, PAC.idPais, ' +
'PAC.informacionContacto, convert(varchar(10),PAC.fechaAlta,103) AS fechaAlta, convert(varchar(10),PAC.fechaDefuncion,103) AS fechaDefuncion, convert(varchar(10),PAC.fechaUltimaActualizacion,103) AS fechaUltimaActualizacion, PAC.telefonofijo, ' +
'PAC.telefonocelular, PAC.email, ESTCIVIL.idEstadoCivil, MOTNI.idMotivoNI, MOTNI.nombre AS nombreMotivo ' +
'FROM sys_paciente AS PAC ' +
'LEFT JOIN dbo.Sys_EstadoCivil AS ESTCIVIL ON (ESTCIVIL.idEstadoCivil = PAC.idEstadoCivil) ' +
'LEFT JOIN dbo.Sys_MotivoNI AS MOTNI ON (MOTNI.idMotivoNI = PAC.idMotivoNI) ' +
'INNER JOIN sys_pais AS PAIS ON (PAIS.idPais = PAC.idPais) ' +
'LEFT JOIN dbo.Sys_Provincia AS PROVINCIA ON (PROVINCIA.idProvincia = PAC.idProvinciaDomicilio) ' +
'LEFT JOIN dbo.Sys_Localidad AS L ON (L.idLocalidad=Pac.idLocalidad) ' +
'WHERE PAC.activo = 1 ';
export const consultaPacienteSipsHC = 'SELECT PAC.idPaciente,PAC.nombre, PAC.apellido, PAC.numeroDocumento,idsexo,convert(varchar(10),PAC.fechaNacimiento,103) AS fechaNacimiento, ' +
'PAC.calle, rhe.historiaClinica as historiaClinica, efector.nombre as efector, efector.idEfector as efectorId, PAC.piso, PAC.departamento, PAC.manzana, PAC.lote, PAC.parcela, L.idLocalidad, ' +
'L.nombre AS nombreLocalidad, L.codigoPostal, PROVINCIA.nombre as nombreProvincia,PAC.idProvinciaDomicilio, PAIS.nombre as nombrePais, PAC.idPais, ' +
'PAC.informacionContacto, convert(varchar(10),PAC.fechaAlta,103) AS fechaAlta, convert(varchar(10),PAC.fechaDefuncion,103) AS fechaDefuncion, convert(varchar(10),PAC.fechaUltimaActualizacion,103) AS fechaUltimaActualizacion, PAC.telefonofijo, ' +
'PAC.telefonocelular, PAC.email, ESTCIVIL.idEstadoCivil, MOTNI.idMotivoNI, MOTNI.nombre AS nombreMotivo ' +
'FROM dbo.sys_paciente AS PAC ' +
'inner join dbo.Sys_RelHistoriaClinicaEfector AS rhe ON rhe.idPaciente = pac.idPaciente ' +
'inner join dbo.Sys_Efector as efector on rhe.idefector = efector.idEfector ' +
'LEFT JOIN dbo.Sys_EstadoCivil AS ESTCIVIL ON (ESTCIVIL.idEstadoCivil = PAC.idEstadoCivil) ' +
'LEFT JOIN dbo.Sys_MotivoNI AS MOTNI ON (MOTNI.idMotivoNI = PAC.idMotivoNI) ' +
'INNER JOIN sys_pais AS PAIS ON (PAIS.idPais = PAC.idPais) ' +
'LEFT JOIN dbo.Sys_Provincia AS PROVINCIA ON (PROVINCIA.idProvincia = PAC.idProvinciaDomicilio) ' +
'LEFT JOIN dbo.Sys_Localidad AS L ON (L.idLocalidad=Pac.idLocalidad) ' +
'WHERE PAC.activo = 1';
export const consultaPacienteHeller = 'SELECT * ' +
'FROM PacientesHeller ';
export const consultaPacienteHPN = 'SELECT TOP 10 PHPN.*, PD.domicilio,PD.detalle,PD.audit_datetime as fechaDomicilio ' +
'FROM PacientesHPN PHPN ' +
'LEFT JOIN Pacientes_Domicilios PD ON (PHPN.id = PD.idPaciente) ' +
'LEFT JOIN Pacientes_Contactos PC ON (PHPN.id = PC.idPaciente)';
export const consultaPacienteHC = "SELECT * FROM Historias_Clinicas HC " +
"LEFT JOIN Pacientes PHPN ON (PHPN.legacy_idHistoriaClinica = HC.Codigo) " +
"LEFT JOIN Localidades L ON (HC.HC_Direccion_Localidad =L.Loc_Codigo) " +
"LEFT JOIN Provincias P ON (L.Loc_Provincia= P.Prov_Codigo) " +
"WHERE HC_Dado_de_baja='" + "false'";
export const consultaPacCluster = 'SELECT PAC.idPaciente,PAC.nombre, PAC.apellido, PAC.numeroDocumento,idsexo,convert(varchar(10),PAC.fechaNacimiento,103) AS fechaNacimiento, ' +
'PAC.calle, PAC.numero, PAC.piso, PAC.departamento, PAC.manzana, PAC.lote, PAC.parcela, L.idLocalidad,' +
'L.nombre AS nombreLocalidad, L.codigoPostal, PROVINCIA.nombre as nombreProvincia,PAC.idProvinciaDomicilio, PAIS.nombre as nombrePais, PAC.idPais, ' +
'PAC.informacionContacto, convert(varchar(10),PAC.fechaAlta,103) AS fechaAlta, convert(varchar(10),PAC.fechaDefuncion,103) AS fechaDefuncion, convert(varchar(10),PAC.fechaUltimaActualizacion,103) AS fechaUltimaActualizacion, PAC.telefonofijo, ' +
'PAC.telefonocelular, PAC.email, ESTCIVIL.idEstadoCivil, MOTNI.idMotivoNI, MOTNI.nombre AS nombreMotivo, CP.cluster_id ' +
'FROM sys_paciente AS PAC ' +
'LEFT JOIN dbo.Sys_EstadoCivil AS ESTCIVIL ON (ESTCIVIL.idEstadoCivil = PAC.idEstadoCivil) ' +
'LEFT JOIN dbo.Sys_MotivoNI AS MOTNI ON (MOTNI.idMotivoNI = PAC.idMotivoNI) ' +
'INNER JOIN sys_pais AS PAIS ON (PAIS.idPais = PAC.idPais) ' +
'LEFT JOIN dbo.Sys_Provincia AS PROVINCIA ON (PROVINCIA.idProvincia = PAC.idProvinciaDomicilio) ' +
'LEFT JOIN dbo.Sys_Localidad AS L ON (L.idLocalidad=Pac.idLocalidad) ' +
'LEFT JOIN dbo.clusterPacientes2 AS CP ON (CP.record_id = Pac.idPaciente) ' +
'WHERE PAC.activo = 1 and (PAC.idPaciente>=@inicio and PAC.idPaciente<=@fin)';
export const consultaRelaciones = 'SELECT P.idPaciente, ' +
'PAR.NumeroDocumento AS DocumentoRel, Par.Apellido AS ApellidoRel,Par.Nombre AS NombreRel, ' +
'Par.tipoParentesco AS TipoParentesco ' +
'FROM Sys_Parentesco AS Par ' +
'LEFT JOIN Sys_Paciente AS P ON (Par.idPaciente = P.idPaciente) ' +
'WHERE ((P.activo =1) AND (Par.idParentesco>0) AND (Par.numeroDocumento > 0))';
export const consultaCie10 = "SELECT * FROM Sys_CIE10 order by ID " +
"offset @offset rows fetch next @limit rows only";
export const consultaNomivac = 'SELECT ID as idvacuna, NroDocumento as documento, ' +
'apellido , nombre, fechaNacimiento, CASE Sexo WHEN \'M\' THEN \'masculino\' ELSE \'femenino\' END AS sexo, vacuna, ' +
'dosis, fechaAplicacion, Establecimiento as efector ' +
'from nomivac where CodigoAplicacion is not null ';
export const consultaFinanciador = 'SELECT cod_os, nombre FROM obras_sociales';
export const consultaPuco = ` SELECT P.id , P.TipoDoc AS tipoDocumento,
P.DNI AS dni ,
P.Transmite AS transmite ,
P.Nombre AS nombre,
P.CodigoOS AS codigoFinanciador ,
O.nombre AS financiador
FROM dbo.Pd_PUCO P LEFT JOIN dbo.obras_sociales O
ON P.CodigoOS = O.cod_os
ORDER BY CURRENT_TIMESTAMP
OFFSET @offset ROWS FETCH NEXT @limit ROWS ONLY`;
export const consultaPuco2 = ` SELECT P.id , P.TipoDoc AS tipoDocumento,
P.DNI AS dni ,
P.Transmite AS transmite ,
P.Nombre AS nombre,
P.CodigoOS AS codigoFinanciador ,
O.nombre AS financiador
FROM dbo.Pd_PUCO P LEFT JOIN dbo.obras_sociales O
ON P.CodigoOS = O.cod_os `;
export const consultaProfesionales =`
SELECT
P.ProfesionalNombre AS nombre,
P.ProfesionalApellido AS apellido,
TD.TipoDocumentoDesc AS tipoDocumento,
P.ProfesionalDocumento AS documento,
CAST(
CASE WHEN P.ProfesionalFchVencDoc='1000-01-01'
THEN '1900-01-01' ELSE P.ProfesionalFchVencDoc
END
AS DATE) AS documentoVencimiento,
P.ProfesionalCUILCUIT AS cuit,
P.ProfesionalFechaNacimiento AS fechaNacimiento,
P.ProfesionalLugarNacimiento AS lugarNacimiento,
N.NacionalidadEquivSISA AS nacionalidad_codigo,
N.NacionalidadDescripcion AS nacionalidad_nombre,
P.ProfesionalSexo AS sexo,
-- Schema: Contactos
P.ProfesionalTelefonoCelular AS contactos_celular,
P.ProfesionalMail AS contactos_email,
P.ProfesionalTelefonoFijo AS contactos_fijo,
-- Domicilio Real
trim( concat( P.ProfesionalDomRealCalle , ' ',
P.ProfesionalDomRealNro ,' ',
P.ProfesionalDomRealTorre ,' ',
P.ProfesionalDomRealPiso ,' ',
P.ProfesionalDomRealDpto ) ) AS domicilio_real,
P.ProfesionalDomRealCP AS domicilio_real_cp,
P.ProfesionalDomRealProvCod AS domicilio_real_prov_cod,
DR.ProvinciaDescripcion AS domicilio_real_prov_nombre,
P.ProfesionalLocalidadReal AS domicilio_real_localidad,
-- Domicilio Legal
trim( concat( P.ProfesionalDomLegalCalle , ' ',
P.ProfesionalDomLegalNro , ' ',
P.ProfesionalDomLegalTorre , ' ',
P.ProfesionalDomLegalPiso , ' ',
P.ProfesionalDomLegalDpto ) ) AS domicilio_legal,
P.ProfesionalDomLegalCP AS domicilio_legal_cp,
P.ProfesionalDomLegalProvCod AS domicilio_legal_prov_cod,
DL.ProvinciaDescripcion AS domicilio_legal_prov_nombre,
P.ProfesionalLocalidadLegal AS domicilio_legal_localidad,
-- Domicilio Profesional
trim( concat( P.ProfesionalDomLaboralCalle , ' ',
P.ProfesionalDomLaboralNro , ' ',
P.ProfesionalDomLaboralTorre , ' ',
P.ProfesionalDomLaboralPiso , ' ',
P.ProfesionalDomLaboralDpto ) ) AS domicilio_profesional,
P.ProfesionalDomLaboralCP AS domicilio_profesional_cp,
DP.ProvinciaDescripcion AS domicilio_profesional_prov_nombre,
P.ProfesionalLocalidadLaboral AS domicilio_profesional_localidad,
CASE P.ProfesionalRematriculado
WHEN 'RM'
THEN 1
ELSE 0 END AS rematriculado,
DATE_ADD( DATE_ADD( DATE_ADD(TurnoFecha, interval hour(TurnoHora) HOUR), INTERVAL minute(TurnoHora) MINUTE ), INTERVAL second(TurnoHora) SECOND ) as turno,
P.ProfesionalObservaciones AS notas,
-- FORMACION GRADO
T.ProfesionID AS profesion_codigo,
CONVERT( PR.ProfesionEquivalenciaSISA, UNSIGNED INTEGER) AS profesion_codigo_sisa,
CONVERT( PR.ProfesionEquivalenciaReferenci, UNSIGNED INTEGER) AS profesion_codigo_referencia,
CASE PR.NivelProfesionID
WHEN 1 THEN 'Grado Universitario'
WHEN 2 THEN 'Tecnicatura'
WHEN 3 THEN 'Auxiliarato'
END AS profesion_tipo_formacion,
PR.ProfesionDescripcion AS profesion_nombre,
U.UniversidadEquivalenciaSISA AS entidadFormadora_codigo,
CASE T.UniversidadID
WHEN 1
THEN T.ProfesionalProfesionOtraUniv
ELSE U.UniversidadDescripcion END AS entidadFormadora_nombre,
T.ProfesionalTitulo AS titulo,
T.ProfesionalFechaEgreso AS fechaEgreso,
P.ProfesionalMatricula AS grado_matriculacion_matriculaNumero,
P.ProfesionalMatriculaLibro AS grado_matriculacion_libro,
P.ProfesionalMatriculaFolio AS grado_matriculacion_folio,
cast( CONCAT( P.ProfesionalMatriculaAnio, '-01-01') as DATE) AS grado_matriculacion_inicio,
P.ProfesionalFchVtoMatricula AS grado_matriculacion_fin,
-- FORMACION POSGRADO
ME.ME_EspecialidadID AS especialidad_codigo,
E.CodigoSisa AS especialidad_codigo_sisa,
E.TipoEspecialidadID AS especialidad_tipo,
ME.ME_EspecialidadDescripcion AS especialidad_nombre,
ME.ME_ProfesionEspecialidadMatric AS posgrado_matriculacion_matriculaNumero,
ME.ME_EspecialidadMatLibro AS posgrado_matriculacion_libro,
ME.ME_EspecialidadMatFolio AS posgrado_matriculacion_folio,
cast( CONCAT( ME.ME_EspecialidadMatAnio, '-01-01') as DATE) AS posgrado_matriculacion_fin, -- en UI es "Año Vto."
-- SANCIONES
S.ProfesionalSancionNumero AS sancion_numero,
S.SancionID AS sancion_id,
S.ProfesionalMotivoSancion AS sancion_motivo,
S.ProfesionalDisposicionSancion AS sancion_normaLegal,
S.ProfesionalFechaSancion AS sancion_fecha,
S.ProfesionalVencimientoSancion AS sancion_vencimiento
FROM profesionales P
LEFT JOIN tiposdocumento TD ON P.TipoDocumentoID = TD.TipoDocumentoID
LEFT JOIN nacionalidades N ON P.NacionalidadID = N.NacionalidadID
LEFT JOIN profesionalesprofesionales_pro T
ON P.ProfesionalDocumento = T.ProfesionalDocumento
AND P.TipoDocumentoID = T.TipoDocumentoID
LEFT JOIN universidades U
ON T.UniversidadID = U.UniversidadID
LEFT JOIN profesiones PR ON T.ProfesionID = PR.ProfesionID
LEFT JOIN matriculas_de_especialidades ME
ON P.ProfesionalDocumento = ME.ME_ProfesionalDocumento
AND P.TipoDocumentoID = ME.ME_TipoDocumentoID
LEFT JOIN especialidades E on ME_EspecialidadID = E.EspecialidadID
LEFT JOIN profesionalesprofesionales_san S
ON P.TipoDocumentoID = S.TipoDocumentoID AND P.ProfesionalDocumento = S.ProfesionalDocumento
LEFT JOIN provincias DR ON P.ProfesionalDomRealProvCod = DR.ProvinciaID
LEFT JOIN provincias DL ON P.ProfesionalDomLegalProvCod = DL.ProvinciaID
LEFT JOIN provincias DP ON P.ProfesionalDomLabProvCod= DP.ProvinciaID
WHERE T.ProfesionID IS NOT NULL
ORDER BY P.ProfesionalDocumento, P.TipoDocumentoID
LIMIT ?, ? ;
`;
export const consultaFotos= `
SELECT
P.ProfesionalNombre AS nombre,
P.ProfesionalApellido AS apellido,
P.ProfesionalDocumento AS documento,
P.ProfesionalFoto AS foto,
P.ProfesionalFirma AS firma
FROM profesionales P
ORDER BY P.ProfesionalDocumento, P.TipoDocumentoID
LIMIT ?, ? ;
`;
export const consultaProfesiones= `
SELECT
CONVERT( ProfesionEquivalenciaSISA, UNSIGNED INTEGER) AS profesion_codigo,
ProfesionDescripcion AS profesion_nombre,
ProfesionUltimaMatriculaDispon AS profesion_proximo_numero
FROM profesiones;`;
export const consultaEspecialidades= `
SELECT
TD.TipoDocumentoDesc AS tipoDocumento,
P.ProfesionalDocumento AS documento,
T.ProfesionID AS profesion_codigo,
PR.ProfesionDescripcion AS profesion_nombre,
-- Especialidad
ME.ME_EspecialidadID AS especialidad_codigo,
ME.ME_EspecialidadDescripcion AS especialidad_nombre,
ME.ME_ProfesionEspecialidadMatric AS matriculacion_matriculaNumero,
ME.ME_EspecialidadMatLibro AS matriculacion_libro,
ME.ME_EspecialidadMatFolio AS matriculacion_folio,
ME.ME_EspecialidadMatAnio AS matriculacion_fin -- en UI es "Año Vto."
FROM profesionales P
INNER JOIN tiposdocumento TD ON P.TipoDocumentoID = TD.TipoDocumentoID
LEFT JOIN matriculas_de_especialidades ME
ON P.ProfesionalDocumento = ME.ME_ProfesionalDocumento
AND P.TipoDocumentoID = ME.ME_TipoDocumentoID
LEFT JOIN profesionalesprofesionales_pro T
ON P.ProfesionalDocumento = T.ProfesionalDocumento
AND P.TipoDocumentoID = T.TipoDocumentoID
LEFT JOIN universidades U
ON T.UniversidadID = U.UniversidadID
LEFT JOIN profesiones PR ON T.ProfesionID = PR.ProfesionID
LEFT JOIN (
SELECT
MAX(ME_FechaAlta) AS ME_FechaAlta,
ME_TipoDocumentoID,
ME_ProfesionalDocumento,
ME_ProfesionID,
ME_EspecialidadID
FROM matesp_fechasalta
GROUP BY ME_TipoDocumentoID,
ME_ProfesionalDocumento,
ME_ProfesionID,
ME_EspecialidadID
) AS EA
ON ME.ME_TipoDocumentoID = EA.ME_TipoDocumentoID
AND ME.ME_ProfesionalDocumento = EA.ME_ProfesionalDocumento
AND ME.ME_EspecialidadID = EA.ME_EspecialidadID
AND ME.ME_ProfesionID = EA.ME_ProfesionID
WHERE
P.ProfesionalDocumento = ? AND
TD.TipoDocumentoDesc = ?
ORDER BY P.ProfesionalDocumento, P.TipoDocumentoID;`;
export const consultaSanciones= `
SELECT
TD.TipoDocumentoDesc AS tipoDocumento,
P.ProfesionalDocumento AS documento,
S.ProfesionalSancionNumero AS numero,
S.SancionID AS sancion_id,
S.ProfesionalMotivoSancion AS motivo,
S.ProfesionalDisposicionSancion AS normaLegal,
S.ProfesionalFechaSancion AS fecha,
S.ProfesionalVencimientoSancion AS vencimiento
FROM profesionales P
INNER JOIN tiposdocumento TD ON P.TipoDocumentoID = TD.TipoDocumentoID
INNER JOIN profesionalesprofesionales_san S
ON P.TipoDocumentoID = S.TipoDocumentoID AND P.ProfesionalDocumento = S.ProfesionalDocumento;
WHERE
P.ProfesionalDocumento = ? AND
TD.TipoDocumentoDesc = ?
ORDER BY P.ProfesionalDocumento, P.TipoDocumentoID;`;
export const weights = {
identity: 0.55,
name: 0.10,
gender: 0.3,
birthDate: 0.05
}