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 desc3. 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(), 0from lab22inner join lab21 ON lab22.lab21c1 = lab21.lab21c1 inner join lab20 WITH (NOLOCK) ON Lab22.Lab22C1 = Lab20.Lab22C1 AND Lab20.Lab62C1 = 36--Servicioleft join INCemails WITH (NOLOCK) ON Lab22.Lab22C1 = INCemails.Lab22C1where 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 externaAND INCemails.Lab22c1 IS NULLorder by lab22.lab22c1 desc3.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