Soluciones paso a paso
📘 Cada caso ofrece pasos estructurados, comandos destacados y botones que abren los resúmenes en la página hospedada (https://mcortesgranados.github.io/PruebaTecnicaXpertgroupIngAWS26Dic2025/).
python -m pip install pytest Instala primero las dependencias antes de ejecutar los scripts.
Revisar completitud de campos críticos (email, teléfono, ciudad) y establecer estrategias de imputación por ciudad o categoría de paciente.
- 🧭 Paso 1: Revisar completitud de campos críticos (email, teléfono, ciudad) y establecer estrategias de imputación por ciudad o categoría de paciente.
- ⚙️ Paso 2: Ejecuta python scripts/run_completeness.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/completeness_summary.html y reports/completeness_metrics.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Detectar inconsistencias entre fecha_nacimiento y edad, reconstruyendo las edades faltantes con la fecha de corte y guardando un log de cambios.
- 🧭 Paso 1: Detectar inconsistencias entre fecha_nacimiento y edad, reconstruyendo las edades faltantes con la fecha de corte y guardando un log de cambios.
- ⚙️ Paso 2: Ejecuta python scripts/run_age_consistency.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/age_consistency_summary.html y reports/age_consistency_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Identificar duplicados potenciales usando nombre + fecha_nacimiento/ciudad y consolidar los id_paciente reemplazados.
- 🧭 Paso 1: Identificar duplicados potenciales usando nombre + fecha_nacimiento/ciudad y consolidar los id_paciente reemplazados.
- ⚙️ Paso 2: Ejecuta python scripts/run_duplicate_detection.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/duplicate_detection_summary.html y reports/duplicate_detection_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Normalizar campos de texto (capitalización, tildes y espacios) para facilitar cruces y reportes posteriores.
- 🧭 Paso 1: Normalizar campos de texto (capitalización, tildes y espacios) para facilitar cruces y reportes posteriores.
- ⚙️ Paso 2: Ejecuta python scripts/run_text_normalization.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/text_normalization_summary.html y reports/text_normalization_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Medir indicadores diarios y semanales de citas por especialidad, estado_cita y médico para detectar cuellos de botella.
- 🧭 Paso 1: Medir indicadores diarios y semanales de citas por especialidad, estado_cita y médico para detectar cuellos de botella.
- ⚙️ Paso 2: Ejecuta python scripts/run_appointment_indicators.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/appointment_indicators_summary.html y reports/appointment_indicators_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Reportar citas sin fecha_cita o médico asignado y generar alertas automáticas para la revisión del equipo operativo.
- 🧭 Paso 1: Reportar citas sin fecha_cita o médico asignado y generar alertas automáticas para la revisión del equipo operativo.
- ⚙️ Paso 2: Ejecuta python scripts/run_appointment_alerts.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/appointment_alerts_summary.html y reports/appointment_alerts_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Analizar la distribución del costo frente a rangos esperados por especialidad y anotar desviaciones mayores a dos desviaciones estándar.
- 🧭 Paso 1: Analizar la distribución del costo frente a rangos esperados por especialidad y anotar desviaciones mayores a dos desviaciones estándar.
- ⚙️ Paso 2: Ejecuta python scripts/run_appointment_cost_audit.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/appointment_cost_audit_summary.html y reports/appointment_cost_audit_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Consolidar el histórico de estados por id_cita para identificar reprogramaciones múltiples y su impacto en ocupación de agenda.
- 🧭 Paso 1: Consolidar el histórico de estados por id_cita para identificar reprogramaciones múltiples y su impacto en ocupación de agenda.
- ⚙️ Paso 2: Ejecuta python scripts/run_appointment_state_timeline.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/appointment_state_timeline_summary.html y reports/appointment_state_timeline_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Verificar integridad referencial: cada id_paciente en citas_medicas debe existir en pacientes y registrar huérfanos para auditoría.
- 🧭 Paso 1: Verificar integridad referencial: cada id_paciente en citas_medicas debe existir en pacientes y registrar huérfanos para auditoría.
- ⚙️ Paso 2: Ejecuta python scripts/run_referential_integrity.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/referential_integrity_summary.html y reports/referential_integrity_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Asegurar que citas completadas o canceladas tengan fecha y médico válidos; marcar las que no lo cumplan para revisión.
- 🧭 Paso 1: Asegurar que citas completadas o canceladas tengan fecha y médico válidos; marcar las que no lo cumplan para revisión.
- ⚙️ Paso 2: Ejecuta python scripts/run_appointment_review.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/appointment_review_summary.html y reports/appointment_review_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Comparar la edad calculada desde fecha_nacimiento con la edad esperada por especialidad para identificar desviaciones.
- 🧭 Paso 1: Comparar la edad calculada desde fecha_nacimiento con la edad esperada por especialidad para identificar desviaciones.
- ⚙️ Paso 2: Ejecuta python scripts/run_age_specialty_mismatch.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/age_specialty_mismatch_summary.html y reports/age_specialty_mismatch_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Cruzar el número de citas por paciente con su localidad de residencia para monitorear accesibilidad y viajes largos.
- 🧭 Paso 1: Cruzar el número de citas por paciente con su localidad de residencia para monitorear accesibilidad y viajes largos.
- ⚙️ Paso 2: Ejecuta python scripts/run_accessibility.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/accessibility_summary.html y reports/accessibility_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Determinar KPIs de calidad (completitud, unicidad y validez) antes y después de la limpieza y guardarlos en un artefacto.
- 🧭 Paso 1: Determinar KPIs de calidad (completitud, unicidad y validez) antes y después de la limpieza y guardarlos en un artefacto.
- ⚙️ Paso 2: Ejecuta python scripts/run_quality_kpis.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/quality_kpis_summary.html y reports/quality_kpis.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Documentar reglas de negocio clave (estados válidos, rangos de edad y formatos) en un catálogo accesible.
- 🧭 Paso 1: Documentar reglas de negocio clave (estados válidos, rangos de edad y formatos) en un catálogo accesible.
- ⚙️ Paso 2: Ejecuta python scripts/run_business_rules_catalog.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/business_rules_catalog.html y reports/business_rules_catalog.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Registrar responsables por tabla/campo y anotar cada cambio masivo para respaldar auditorías.
- 🧭 Paso 1: Registrar responsables por tabla/campo y anotar cada cambio masivo para respaldar auditorías.
- ⚙️ Paso 2: Ejecuta python scripts/run_cleaning_audit.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/cleaning_audit_summary.html y reports/cleaning_audit_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Crear reportes ejecutivos de discrepancias y enviarlos a gobernanza antes de las cargas a producción.
- 🧭 Paso 1: Crear reportes ejecutivos de discrepancias y enviarlos a gobernanza antes de las cargas a producción.
- ⚙️ Paso 2: Ejecuta python scripts/run_executive_discrepancy.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/executive_discrepancies_summary.html y reports/executive_discrepancies_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Generar segmentos de pacientes por edad, sexo y frecuencia de citas para comunicaciones personalizadas.
- 🧭 Paso 1: Generar segmentos de pacientes por edad, sexo y frecuencia de citas para comunicaciones personalizadas.
- ⚙️ Paso 2: Ejecuta python scripts/run_patient_segmentation.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/patient_segmentation_summary.html y reports/patient_segmentation_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Entrenar modelos de probabilidad de cancelación considerando estados previos, especialidad y tiempos entre citas.
- 🧭 Paso 1: Entrenar modelos de probabilidad de cancelación considerando estados previos, especialidad y tiempos entre citas.
- ⚙️ Paso 2: Ejecuta python scripts/run_cancellation_risk.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/cancellation_risk_summary.html y reports/cancellation_risk_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Construir dashboards de ocupación por ciudad y especialidad comparando citas completadas, canceladas y reprogramadas.
- 🧭 Paso 1: Construir dashboards de ocupación por ciudad y especialidad comparando citas completadas, canceladas y reprogramadas.
- ⚙️ Paso 2: Ejecuta python scripts/run_occupancy_dashboard.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/occupancy_dashboard_summary.html y reports/occupancy_dashboard_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Simular escenarios de demanda futura aplicando crecimiento mensual promedio y visualizando brechas de capacidad.
- 🧭 Paso 1: Simular escenarios de demanda futura aplicando crecimiento mensual promedio y visualizando brechas de capacidad.
- ⚙️ Paso 2: Ejecuta python scripts/run_demand_forecast.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/demand_forecast_summary.html y reports/demand_forecast_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Diseñar un pipeline ETL que lea el JSON original, limpie los datos y exporte tablas limpias en CSV/Parquet.
- 🧭 Paso 1: Diseñar un pipeline ETL que lea el JSON original, limpie los datos y exporte tablas limpias en CSV/Parquet.
- ⚙️ Paso 2: Ejecuta python scripts/run_etl_pipeline.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/etl/etl_summary.html y reports/etl/etl_metrics.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Agregar pruebas automáticas que validen formatos, cardinalidad y referencialidad tras cada ejecución del pipeline.
- 🧭 Paso 1: Agregar pruebas automáticas que validen formatos, cardinalidad y referencialidad tras cada ejecución del pipeline.
- ⚙️ Paso 2: Ejecuta python -m pytest tests/test_etl_validation.py para automatizar el flujo.
- 📦 📦 Paso 3: Revisa
reports/etl/etl_metrics.json para observar cómo responden las métricas cuando las pruebas corren.
- ✅ Paso 4: Valida con python -m pytest.
Registrar métricas de volumen y tiempo de ejecución en cada run para detectar regresiones del pipeline.
- 🧭 Paso 1: Registrar métricas de volumen y tiempo de ejecución en cada run para detectar regresiones del pipeline.
- ⚙️ Paso 2: Ejecuta python scripts/run_etl_pipeline.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/etl/etl_summary.html y reports/etl/etl_metrics.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Documentar y versionar cada esquema destino (por ejemplo fact_citas y dim_pacientes) para futuras migraciones.
- 🧭 Paso 1: Documentar y versionar cada esquema destino (por ejemplo fact_citas y dim_pacientes) para futuras migraciones.
- ⚙️ ⚙️ Paso 2: Mantén data_warehouse_schema.md al día con columnas, llaves y versión.
- 📦 📦 Paso 3: Convalida el catálogo y registra la versión que se deployará.
- ✅ Paso 4: Valida con python -m pytest.
Script no definido Resumen no disponible
Alertar a los médicos cuando un paciente registra múltiples citas en periodos cortos o cancelaciones recurrentes.
- 🧭 Paso 1: Alertar a los médicos cuando un paciente registra múltiples citas en periodos cortos o cancelaciones recurrentes.
- ⚙️ Paso 2: Ejecuta python scripts/run_doctor_notifications.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/doctor_notifications_summary.html y reports/doctor_notifications_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Monitorear el cumplimiento de agenda por médico/especialidad y notificar desviaciones en la utilización esperada.
- 🧭 Paso 1: Monitorear el cumplimiento de agenda por médico/especialidad y notificar desviaciones en la utilización esperada.
- ⚙️ Paso 2: Ejecuta python scripts/run_doctor_utilization.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/doctor_utilization_summary.html y reports/doctor_utilization_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Identificar pacientes con viajes entre ciudades (residencia vs cita) para planificar telemedicina o brigadas móviles.
- 🧭 Paso 1: Identificar pacientes con viajes entre ciudades (residencia vs cita) para planificar telemedicina o brigadas móviles.
- ⚙️ Paso 2: Ejecuta python scripts/run_patient_travel.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/patient_travel_summary.html y reports/patient_travel_log.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.
Facilitar informes para gerencia con KPIs como tiempo promedio de espera y costo promedio por cita atendida.
- 🧭 Paso 1: Facilitar informes para gerencia con KPIs como tiempo promedio de espera y costo promedio por cita atendida.
- ⚙️ Paso 2: Ejecuta python scripts/run_management_kpis.py para automatizar el flujo.
- 📦 Paso 3: Revisa
reports/management_kpis_summary.html y reports/management_kpis.json para documentar hallazgos y métricas.
- ✅ Paso 4: Valida con python -m pytest.