Sistema de Atenciones Médicas de la Clínica “CECIAMB”
Enviado por José Ignacio Reyes Silva • 14 de Diciembre de 2020 • Apuntes • 1.358 Palabras (6 Páginas) • 145 Visitas
ACTIVIDAD: Usando Subconsultas para Resolver Consultas |
Sistema de Atenciones Médicas de la Clínica “CECIAMB” 1.- Como parte de una nueva estrategia de apoyo a la comunidad, a contar de este año la Clínica ha decido ofrecer los servicios de sus profesionales a consultorios y hospitales municipales. Para esto, la junta directiva ha definido que los médicos que pondrá a disposición de este servicio serán aquellos que anualmente han atendido menos del total máximo de atenciones por médico. Con esta información, a cada médico se le citará a una reunión con el director de la clínica y posteriormente se les enviará a sus correos institucionales detalles del horario y lugar en donde prestarán sus servicios médicos durante todo el año. Para esto, se requiere un informe que automáticamente visualice la información de los médicos que han efectuado un total de atenciones menor que el máximo de atenciones por médico efectuadas en el año anterior al que se ejecute el informe de acuerdo a los siguientes requerimientos:
Esta información además debe quedar almacenada en la tabla MEDICOS_SERVICIO_COMUNIDAD. Al obtener la información, tanto el informe como la tabla deben visualizar la información en el formato del ejemplo y ordenada alfabéticamente por el nombre de la unidad y apellido paterno del médico. El informe del ejemplo se ejecutó en el año 2018, por lo tanto, está mostrando la información del año 2017: [pic 1] ESTA ES LA 1 SELECT u.nombre UNIDAD, m.pnombre|| ' ' ||m.apaterno|| ' ' ||m.amaterno MEDICO, substr(u.nombre,0,3)|| '' ||substr(apaterno,-3,1)|| '' ||substr(m.apaterno,-2,1)|| '' ||substr(m.fecha_contrato,7,4)||'@medicocktk.cl' 'CORREO MEDICO', (SELECT count(a.med_rut) FROM ATENCION a WHERE m.med_rut=a.med_rut AND substr(fecha_atencion,7,4)='2017') 'ATENCION MEDICA' FROM MEDICO m JOIN UNIDAD u ON (m.uni_id=u.uni_id) GROUP BY m.med_rut HAVING count(med_rut)<(SELECT count(med_rut) FROM ATENCION GROUP BY med_rut) ORDER BY u.uni_id, m.apaterno 2.- Anualmente la junta directiva de la clínica se reúne para evaluar la gestión efectuada en todas las áreas. Por eso, cada jefe de área debe enviar una serie de informes que han sido definidos para ser evaluados en esta reunión anual. En lo que respecta al área de atenciones médicas, los resultados de esta junta tienen relación directa en el mejoramiento e innovación de la tecnología médica de “CECIAMB” ya que se efectúa una proyección para el siguiente año respecto de las recaudaciones mensuales por atenciones médicas y las multas que se han pagado por el atraso en el pago de ellas. Por esa razón, esta área debe remitir dos informes: 2.1.- El primer informe debe indicar los meses del año en que se han efectuado atenciones médicas mayor al promedio de atenciones médicas mensuales. Por cada mes se debe indicar el total de atenciones y el monto total de las atenciones realizadas. El formato es el que se muestra en el ejemplo y debe estar ordenado por mes. El informe del ejemplo se ejecutó en el año 2017, por lo tanto, muestra los meses en que el total de atenciones fue mayor al total de promedio mensual de atenciones médicas: [pic 2] 2.2.- El segundo informe debe entregar información de los pacientes que han tenido días de morosidad en el pago de su atención médica. Los pacientes que deben ser considerados son todos aquellos cuyos días de morosidad es mayor al promedio de días de morosidad anual. Se ha establecido como política que, por cada día de atraso, el paciente debe pagar $2000 de interés. El informe debe mostrar el rut del paciente, nombre completo, identificación de la atención, fecha de vencimiento del pago de la atención, fecha de pago, días de morosidad y valor de la multa. El formato es el que se muestra en el ejemplo y debe estar ordenado por fecha de vencimiento del pago en forma ascendente y por el total de días de morosidad en forma descendente. El informe del ejemplo se ejecutó en el año 2017, por lo tanto, muestra información de los pacientes con días de morosidad mayor al promedio de días de morosidad anual: [pic 3] ESTA ES LA 2.1 SELECT substr(fecha_atencion,4,7) 'AÑO Y MES', count(ate_id) 'TOTAL DE ATENCIONES', '$'|| '' || round(sum(costo),3) 'VALOR TOTAL DE LAS ATENCIONES' FROM ATENCION GROUP BY substr(fecha_atencion,4,2) HAVING substr(fecha_atencion,7,4)='2017' AND sum(costo)>(SELECT avg(costo) from ATENCION GROUP BY substr(fecha_atencion,4,2)) ORDER BY substr(fecha_atencion,4,7) ESTA ES LA 2.2 SELECT p.pac_rut|| '-' ||p.dv_rut 'RUT PACIENTE', p.pnombre|| ' ' ||p.snombre|| ' ' ||p.apaterno|| ' ' ||p.amaterno 'NOMBRE PACIENTE',t.ate_id 'ID ATENCION', t.fecha_venc_pago 'FECHA VENCIMIENTO PAGO', t.fecha_pago 'FECHA PAGO', abs(t.fecha_pago-t.fecha_venc_pago) 'DIAS MOROSIDAD', abs(t.fecha_pago-t.fecha_venc_pago)*2000 'VALOR MULTA' FROM PACIENTE p JOIN ATENCION a ON (p.pac_rut=a.pac_rut) JOIN PAGO_ATENCION t ON (a.ate_id=t.ate_id) 3.- Una de las innovaciones que han marcado la diferencia entre “CECIAMB” y el resto de los centros de salud es el establecer una serie de convenios con Fonasa e Isapres para beneficiar a sus pacientes en términos de pago de aranceles muchos más económicos. De acuerdo a esto, todos los meses se requiere saber en qué entidades de salud se han efectuado más atenciones que el total de atenciones promedios diarias de ese mes. Esto significa que el primer día hábil de cada mes se debe obtener un informe que visualice las atenciones efectuadas en el mes anterior. Es decir, el informe en forma paramétrica debe ser capaz de obtener la información del mes anterior a la fecha en que se ejecute. En el nuevo Sistema Informático esta información debe quedar almacenada en la tabla RESUMEN_ATENCIONES_ENTSALUD y debe contener el tipo de salud, su descripción y el total de atenciones efectuadas. La información se debe visualizar la información el formato que se muestra en el ejemplo y ordenada en forma alfabética por el tipo de salud y su descripción. La tabla del ejemplo se obtuvo ejecutando la sentencia el primer día hábil de Agosto del 2018, por lo tanto, visualiza las entidades de salud con un total de atenciones mayor al total de atenciones promedio diario del mes de Julio del 2018: [pic 4] ESTE ES EL 3 SELECT O.descripcion|| ',' ||s.descripcion 'SISTEMA_SALUD', count(a.costo) 'TOTAL ATENCIONES' FROM PACIENTE p JOIN ATENCION a ON (p.pac_rut=a.pac_rut) JOIN SALUD s ON (p.sal_id=s.sal_id) JOIN TIPO_SALUD o ON(s.tipo_sal_id=o.tipo_sal_id) GROUP BY o.descripcion|| ',' ||s.descripcion HAVING count(a.ate_id) <(SELECT avg(ate_id) from ATENCION) ORDER BY o.descripcion|| ',' ||s.descripcion DESC 4.- Para mejorar la administración y gestión de los médicos, la junta directiva de la Clínica ha decido crear el cargo de Supervisor de las especialidades médicas en las cuales anualmente se han efectuado menos de diez atenciones incluyendo las especialidades en las que no se han efectuado atenciones. De acuerdo a lo definido por el usuario, cada Supervisor tendrá como tarea crear estrategias de publicidad y supervisión del trabajo de estos médicos. Además, deberá efectuar reuniones mensuales con estor profesionales para ver el avance de las estrategias definidas para aumentar las atenciones. El informe que se requiere se ejecutará el primer día hábil del año y debe indicar la especialidad del médico, su rut y nombre completo. La información se requiere en el formato que se indica en el ejemplo y ordenada alfabéticamente por especialidad y apellido paterno del médico. El informe del ejemplo se ejecutó el primer día hábil del año 2018, por lo tanto, está mostrado el detalle de las especialidades que el año 2017 tuvieron menos de diez atenciones: [pic 5] ESTE ES EL 4 SELECT e.nombre ESPECIALIDAD, m.med_rut|| '-' ||m.dv_rut RUT, m.pnombre|| ' ' ||m.snombre|| ' ' ||m.apaterno|| ' ' ||m.amaterno MEDICO FROM ESPECIALIDAD_MEDICO s JOIN ESPECIALIDAD e ON (s.esp_id=e.esp_id) JOIN MEDICO m ON (s.med_rut=m.med_rut) GROUP BY e.nombre HAVING (SELECT count(esp_id) FROM ATENCION WHERE e.esp_id=esp_id)>=10 |
...