Investigación · Ciencia de datos
Reemplazar la selección aleatoria para RT-PCR con una selección de viajeros basada en datos.
En 2023, los viajeros que llegaban al Aeropuerto Internacional Toronto Pearson eran elegidos al azar para revisar sus reportes de RT-PCR. Para el STEM Fellowship Big Data and AI Challenge, cuatro estudiantes de Lambton College propusimos una forma mejor: combinar los datos de COVID-19 de la OMS y del Gobierno de Canadá con el reporte RT-PCR de cada viajero para clasificar a los pasajeros en grupos de prioridad. Nuestro artículo se publicó en las memorias del reto en el STEM Fellowship Journal.
La selección aleatoria trata a todos los viajeros por igual. Nuestro estudio calificó el riesgo actual de COVID-19 de cada país con datos de la OMS, usó datos del Gobierno de Canadá para identificar los grupos de edad con mayor riesgo de enfermedad grave, extrajo con Python los reportes RT-PCR de los viajeros desde PDF y combinó los tres en niveles de prioridad, de "Inmediata" a "Baja". Artículo: Eliminating Randomness in Selecting International Passengers for RT-PCR (doi:10.17975/sfj-2023-007). Código: GitHub.
El problema
A mediados de 2023, los viajes internacionales se habían reabierto con menos restricciones, pero el COVID-19 no había desaparecido. Nuevas subvariantes como Ómicron "Arcturus" se estaban propagando, y no estaba claro qué tan bien protegían las vacunas existentes contra ellas. Las cifras seguían siendo grandes:
Las pruebas RT-PCR eran la forma más usada de detectar el virus, y muchos viajeros llevaban reportes RT-PCR. Pero elegir al azar a quién revisar ignora información que ya era pública. Nuestra pregunta: ¿podían esos datos orientar a la unidad de Inmigración de Pearson hacia los viajeros con más probabilidad de necesitar atención?
Los datos
| Fuente | Qué usamos |
|---|---|
| Organización Mundial de la Salud | Casos nuevos de COVID-19 por país en los últimos 7 días, y por cada 100.000 habitantes |
| Gobierno de Canadá | Epidemiología del COVID-19: hospitalizaciones, ingresos a UCI y muertes, por grupo de edad y sexo, a lo largo del tiempo |
| Reportes RT-PCR de viajeros | Reportes de viajeros de varios países, con fecha de la prueba, edad, género, ubicación y resultado. Algunos se crearon a partir de reportes de muestra disponibles en internet. |
El método
1. Un nivel de riesgo para cada país
Con los datos de la OMS calculamos la participación de cada país en los casos nuevos por cada 100.000 habitantes durante los últimos 7 días, y la convertimos en un nivel de riesgo simple:
participación (%) = casos_por_100k_últimos_7_días / suma(todos los países) × 100
nivel de riesgo = 2 si participación > 2% (muy afectado)
1 si 1% ≤ participación < 2%
0 en otro caso (poco afectado)
2. Quién tiene más riesgo de enfermedad grave
Analizamos seis meses de datos del Gobierno de Canadá por edad, sexo y desenlace. Las personas de 70 años o más concentraban la mayor parte de las hospitalizaciones, los ingresos a UCI y las muertes, seguidas por el grupo de 50 a 69 años. Eso nos dio tres rangos de edad para el modelo: 70 o más, 50 a 69, y 0 a 49.
3. Leer los reportes RT-PCR
Extrajimos con Python los reportes desde PDF a un archivo CSV estructurado: fecha de la prueba, resultado, género, edad y ubicación, con el país derivado de la ubicación. También agregamos la antigüedad de cada reporte, en días desde la fecha de la prueba.
4. Grupos de prioridad
Al combinar los tres, cada viajero recibió un nivel de prioridad:
| Prioridad | Edad | Reporte RT-PCR | Riesgo del país |
|---|---|---|---|
| Inmediata, nivel 3 | 70+ | Positivo, con más de 14 días | Alto (2) |
| Inmediata, nivel 2A | 70+ | Positivo, con menos de 14 días | Alto (2) |
| Inmediata, nivel 2B | 70+ | Positivo, con más de 14 días | Bajo (1 o menos) |
| Alta, nivel 3 | 50 a 69 | Positivo, con más de 14 días | Alto (2) |
| Alta, nivel 2A | 50 a 69 | Positivo, con menos de 14 días | Alto (2) |
| Alta, nivel 2B | 50 a 69 | Positivo, con más de 14 días | Bajo (1 o menos) |
| Media, nivel 2A | 50+ | Negativo | Cualquiera |
| Media, nivel 2B | 0 a 49 | Positivo | Cualquiera |
| Baja | 0 a 49 | Negativo | Cualquiera |
Prioridad inmediata significa que el viajero debe ser seleccionado para una revisión RT-PCR. Los viajeros de prioridad alta y media pueden seleccionarse al azar, pero no requieren atención inmediata. Todos los demás son de prioridad baja.
Resultados
Aplicado a los reportes que recopilamos, el modelo ubicó a 2 viajeros en prioridad Inmediata nivel 2B, 8 en Alta nivel 2B y 19 en Media nivel 2A. En lugar de un sorteo, los oficiales habrían tenido una lista corta y ordenada, con una razón asociada a cada nombre.
Seleccionar al azar no es una estrategia óptima cuando los datos para hacerlo mejor ya son públicos.
Lo que aprendimos
- Los datos públicos alcanzan para empezar. Los datos de la OMS y del Gobierno de Canadá, combinados con los reportes que los viajeros ya llevan, permitieron una política de selección clara y explicable.
- Las reglas simples y transparentes son un buen primer paso. Cada nivel de prioridad se puede explicar en una frase, algo importante en una decisión que afecta a personas en una frontera.
- El procesamiento automático de reportes es la base. Nada funciona hasta que los reportes en PDF se convierten en datos limpios y estructurados.
- La colaboración y la mentoría lo hicieron posible. La guía del profesor Ashish Gupta mantuvo el trabajo riguroso y enfocado.
Alcance y próximos pasos
Como proyecto de un reto, el estudio se diseñó para demostrar el enfoque. Llevarlo más lejos implicaría:
- aplicar el método a un conjunto más grande de reportes reales de viajeros;
- validar las reglas de prioridad contra resultados reales de las revisiones;
- revisar, con expertos en equidad y en temas legales, qué atributos de los viajeros son apropiados para usar.
Cómo lo construiríamos con las herramientas de hoy
Si empezáramos el proyecto en 2026, la misma idea llegaría mucho más lejos:
Leer cualquier reporte, en cualquier formato o idioma
Escribimos código en Python para extraer campos de reportes en PDF con un formato fijo. Hoy, los modelos de IA multimodales pueden leer PDF, fotos y escaneos en muchos idiomas y formatos, y devolver el tipo de prueba, la fecha, el resultado y el laboratorio como un JSON estructurado que sigue un esquema fijo, listo para validar. Explico ese patrón en JSON como contrato entre tus sistemas y la IA.
De reglas a un modelo probado
Con datos reales de resultados, por ejemplo qué viajeros seleccionados dieron positivo al llegar, las reglas podrían convertirse en un modelo entrenado. Los árboles con gradient boosting, como XGBoost o LightGBM, son una opción sólida y explicable para este tipo de datos tabulares, y los valores SHAP muestran qué factores pesan en cada predicción, así que los oficiales seguirían recibiendo una razón con cada recomendación. El modelo se probaría con datos reservados y se compararía con la selección aleatoria antes de que alguien dependiera de él.
Investigación más rápida con asistentes de IA
Los asistentes de programación con IA acelerarían la limpieza de datos, la visualización y el código de los experimentos, el trabajo que llenó nuestros notebooks. Las preguntas de investigación, las decisiones de criterio y la verificación seguirían siendo nuestras.
Equidad, privacidad y personas en el proceso
- Equidad: medir con qué frecuencia se selecciona a cada grupo, y preferir factores del viaje y de la prueba, como la antigüedad del reporte y la tasa de casos actual en el origen, antes que características personales, siempre que sea posible.
- Privacidad: tratar los resultados RT-PCR como datos de salud bajo la ley de privacidad canadiense: recoger lo mínimo, protegerlo y borrarlo cuando ya no se necesite.
- Decisiones humanas: el modelo prioriza, un oficial decide.
- Monitoreo: las tasas de casos y las variantes cambian cada semana, así que los niveles de riesgo y el modelo necesitan actualizaciones periódicas.
El artículo y el código
- Título del artículo
- Eliminating Randomness in Selecting International Passengers for RT-PCR
- Autores
- Umid Ghimire, Dharmik Limbani, Erwin Mongui, Sairam Kilari (Lambton College)
- Mentor
- Profesor Ashish Gupta, Lambton College
- Escrito para
- STEM Fellowship National Inter-University Big Data and AI Challenge 2023 (artículo fechado el 11 de junio de 2023)
- Publicado en
- STEM Fellowship Journal, Leveraging open data analytics and machine learning to improve diagnosis of diseases, patients' care, and support: Proceedings from the 2023 Inter-University Big Data and AI Challenge
- Código
- Notebooks de Jupyter en GitHub: visualización de datos de COVID-19, procesamiento de reportes RT-PCR y segmentación de viajeros
Agradecemos al profesor Gupta por su mentoría, y al STEM Fellowship por organizar el reto y darnos la oportunidad de contribuir.
Una primera versión de este artículo se publicó en inglés en LinkedIn.
Recibe mis próximos casos y artículos en la Búsqueda de Google.