Tickets: [CRM-22477],[CRM-22907]
Error: Reporte de usuario no valido al reestablecer contraseña en consulta web
Descripción:
Actualmente la consulta web de INC solo consula ordenes del servicio de consulta externa y que sus exámenes ya se encuentren validados,
existe una aplicación externa que se encarga de registrar en una tabla temporal INCemail estas ordenes.
Para permitir el acceso del usuario o reestablecer la constraseña de la consulta web se debe cumplir las siguientes condiciones:
- Orden registrar en tabla INCemails
- Fecha de registro de paciente o de envio de correo menor a 90 días
- Correo del paciente debe coincidir con el correo registrado en INCemail
Procedimiento
1.Consulta realizada por la CW para restablecer contraseña, reemplazar ? por historia del paciente, si no trae información validar con el segundo punto.
SELECT TOP 1
Lab21C1
, dbo.LabFn01(Lab21C4, '104F') AS Lab21C4
, dbo.LabFn27(Lab21C5, '104F', Lab21C6) AS Lab21C5
, dbo.LabFn01(Lab21C2, '104F') AS Lab21C2ID
, Lab21C8
, Lab21.Lab21C13
FROM Lab21
INNER JOIN INCemails ON Lab21.Lab21C13 = INCemails.Lab21C13
WHERE Lab21.Lab21C2 = dbo.LabFn25(?, '104F')
AND (
DATEDIFF(DAY, INCemails.shippingDate, GETDATE()) < 90
OR
DATEDIFF(DAY, Lab21.Lab21c22, GETDATE()) < 90
2.Consulta para validar que la orden tenga examenes validados, la orden exista en INCemails y que el correo coincida con el registrado en INCemails
Reemplazar ? por historia del paciente
select Lab22.lab22c1,INCemails.Lab22c1 as existe,lab21.lab21c13 as email_lis, INCemails.Lab21c13 as email_incmail,INCemails.shippingDate,Lab21.Lab21c22 as fechaRegistroPaciente
from lab22
inner join lab21 ON lab22.lab21c1 = lab21.lab21c1
inner join lab20 WITH (NOLOCK) ON Lab22.Lab22C1 = Lab20.Lab22C1 AND Lab20.Lab62C1 = 36--Servicio
left join INCemails WITH (NOLOCK) ON Lab22.Lab22C1 = INCemails.Lab22C1
where lab21c2 = dbo.LabFn25(?, '104F')
AND EXISTS(SELECT 1 FROM lab57 WHERE Lab57.lab22c1 = lab22.lab22c1 AND Lab57.lab57c8 >=7 AND Lab46c4 IS NULL)
AND Lab20.Lab63C1 = 3198--consulta externa
order by lab22.lab22c1 desc
3. Actualizar/insertar INCMails para permitir reestablecer contraseña
3.1 Si la orden no existe en la tabla INCemail esta puede insertarse con la siguiente sentencia, reemplazar ? por historia del paciente
insert into INCemails (lab22c1,lab21c13,shippingDate,regType)
select Lab22.Lab22C1,lab21.lab21c13, getdate(), 0
from lab22
inner join lab21 ON lab22.lab21c1 = lab21.lab21c1
inner join lab20 WITH (NOLOCK) ON Lab22.Lab22C1 = Lab20.Lab22C1 AND Lab20.Lab62C1 = 36--Servicio
left join INCemails WITH (NOLOCK) ON Lab22.Lab22C1 = INCemails.Lab22C1
where lab21c2 = dbo.LabFn25(?, '104F')
AND EXISTS(SELECT 1 FROM lab57 WHERE Lab57.lab22c1 = lab22.lab22c1 AND Lab57.lab57c8 >=7 AND Lab46c4 IS NULL)
AND Lab20.Lab63C1 = 3198--consulta externa
AND INCemails.Lab22c1 IS NULL
order by lab22.lab22c1 desc
3.2 Si el correo de INCemails no coincide con el correo del LIS o la fecha de envio es muy antigua (mayor a 90 días), se debe actualizar la tabla INCemails con la información correspondiente