Escrito por

Sales Engineer at InterSystems Iberia
MOD
Artículo Luis Angel Pérez Ramos · mar 3 4m read

Lo que he aprendido de múltiples migraciones de datos

Hola:

La migración de datos a menudo suena como una simple “tarea de mover datos de A a B” hasta que te pones a ello. En realidad, es un proceso complejo que combina planificación, validación, pruebas y precisión técnica.

A lo largo de varios proyectos en los que gestioné la migración de datos a un HIS que funciona sobre IRIS (TrakCare), me di cuenta de que el éxito proviene de una mezcla de disciplina y automatización.

Aquí tenéis algunos puntos que quiero destacar.

1. Empezad con un formato de datos definido.

Antes incluso de abrir vuestro primer archivo, aseguraos de que todos, especialmente los proveedores de datos, entienden claramente el formato exacto de datos que esperáis. Definir plantillas desde el principio evita idas y venidas innecesarias y retrabajos más adelante.

Aunque los formatos Excel o CSV son comunes, personalmente considero que usar un archivo de texto delimitado por tabuladores (.txt) para la carga de datos es lo mejor. Es ligero, consistente y evita problemas con comas dentro de los campos de texto.

PatID   DOB Gender  AdmDate
10001   2000-01-02  M   2025-10-01
10002   1998-01-05  F   2025-10-05
10005   1980-08-23  M   2025-10-15

Aseguraos de que los formatos de fecha que aparecen en el archivo son correctos y constantes en todo el documento, porque normalmente todos estos archivos se convierten desde un Excel y un usuario básico de Excel puede cometer errores al daros los formatos de fecha incorrectos. Los formatos de fecha erróneos pueden desesperaros al convertirlos a horolog.

 

2. Validad los datos antes de cargarlos.

Jamás — nunca — os saltéis la validación de datos. Al menos una revisión básica del archivo sirve. IRIS nos ofrece rendimiento y flexibilidad para manejar grandes volúmenes, pero eso solo es útil si vuestros datos están limpios.

Mantened SIEMPRE una bandera (0 o 1) en el parámetro de vuestra función de carga. Donde 0 puede significar que solo queréis validar los datos y no procesarlos, y 1 que queréis procesarlos.

Si las validaciones fallan para alguno de los datos, mantened un registro de errores que os indique exactamente qué dato está generando el error. Si vuestro código no os da la capacidad de averiguar qué dato contiene un registro erróneo, será muy difícil identificar los registros incorrectos.

 

3. Mantened registros detallados y fáciles de buscar.

Podéis usar globals o tablas para capturar los registros. Aseguraos de capturar la marca de tiempo, el nombre del archivo, el registro (para que pueda rastrearse fácilmente) y el estado.

Si los datos son pequeños, podéis ignorar los registros de éxito y capturar solo los registros de error. A continuación tenéis un ejemplo de cómo solía almacenar los registros de error.

Set ^LOG("xUpload",+$Horolog,patId)=status_"^"_SQLCODE_"^"_$Get(%msg)

Para cada inserción tendremos un SQLCODE; si hay un error al insertar, siempre recibiremos un mensaje de error desde %msg.

Esto también puede usarse al validar datos.

 

4. Insertad los datos de forma eficiente y controlada.

La eficiencia en la inserción no trata solo de velocidad, sino de consistencia, auditabilidad y control de los datos. Antes de insertar, aseguraos de que cada registro ha pasado la validación y de que no se omiten campos obligatorios. La falta de campos requeridos puede romper relaciones de forma silenciosa o provocar rechazos más adelante en el flujo de trabajo.

Al realizar inserciones:

  • Incluid siempre los campos InsertDateTime y UpdateDateTime para el seguimiento. Esto ayuda en la conciliación, actualizaciones incrementales y depuración.
  • Mantened un usuario dedicado de backend para todas las actividades automatizadas o relacionadas con la migración. Esto facilita rastrear los cambios en los registros de auditoría y separa claramente las acciones del sistema de las intervenciones humanas.
 

5. Reconciliad tras la migración o carga.

Una vez finalizada la actividad, realizad una conciliación entre el origen y el destino:

  • Comparación del recuento de registros.
  • Validación de checksum campo por campo.
  • Comprobaciones de integridad referencial.

Incluso un simple script de comparación basado en hashes puede ayudar a confirmar que no se ha perdido ni alterado nada.

Estas son algunas prácticas básicas pero esenciales para una migración de datos fluida y fiable. Las validaciones, un registro adecuado, inserciones consistentes y la atención a los datos maestros marcan una gran diferencia en la calidad y la trazabilidad.

Mantenedlo limpio, automatizado y bien documentado. El resto encajará solo.

No dudéis en contactar conmigo para cualquier consulta o para charlar sobre migración de datos en IRIS.