Artículo Jose-Tomas Salvador · ene 13 3m read

Exportando datos de configuración de Interoperabilidad a CSV

Al trabajar con InterSystems Interoperability (IRIS / Health Connect / Ensemble), los datos de configuración a menudo están distribuidos en muchos elementos de producción: servicios, procesos, operaciones, adaptadores y sus configuraciones.

Una necesidad operativa o de seguridad común es responder preguntas como:

  • ¿Qué interfaces hacen referencia a rutas del sistema de archivos?
  • ¿Dónde están configurados directorios, recursos de red o rutas absolutas?
  • ¿Puedo auditar o documentar rápidamente esta información en todas mis producciones?

La utilidad en ObjectScript que se muestra a continuación resuelve exactamente este problema exportando configuraciones seleccionadas a un archivo CSV.

Este script:

  1. Recorre todos los namespaces existentes
  2. Consulta todos los elementos de configuración de Interoperabilidad (Ens_Config.Item) en todos los namespaces
  3. Itera sobre la configuración de cada elemento
  4. Extrae rutas del sistema de archivos/URLs (valores que contienen :, /, o \)
  5. Escribe los resultados en un archivo CSV, agrupados por Categoría
  6. Genera un resultado fácil de auditar que se puede abrir en Excel o compartir con los equipos de operaciones/seguridad

Casos de uso típicos

Debéis usar esta utilidad cuando necesitéis:

  • 🔍 Auditar el uso del sistema de archivos en todas las producciones
  • 🛡 Revisar posibles exposiciones de seguridad (rutas locales, recursos de red, conexiones a bases de datos)
  • 📄 Documentar la configuración para migraciones, actualizaciones o planificación de recuperación ante desastres
  • 🔄 Comparar entornos (DEV vs TEST vs PROD)
  • 🧹 Limpiar rutas heredadas o no usadas

Esto es especialmente útil en instancias grandes con varias producciones que utilizan muchas interfaces y adaptadores.

Formato de salida

El CSV generado contiene las siguientes columnas:

Namespace, Categoría, Nombre del elemento, Nombre de la clase, Nombre de la propiedad, Valor

Además:

  • Los elementos de configuración se agrupan por categoría.
  • Solo se exportan las rutas de configuración relevantes; podéis modificar fácilmente la lógica para exportar usando el nombre de la configuración (por ejemplo, "DSN" para conexiones SQL) o cualquier otro valor de configuración.
  • Es fácil de filtrar y analizar en Excel.
  • Ejecutad la utilidad desde el terminal proporcionando el parámetro con la ruta completa y el nombre del CSV.

Por ejemplo:

> do ##class(Test.Properties).GetData("c:\temp\loop.csv")

Ejemplo del CSV abierto en Excel:

Notas y consejos

  • 🧪 Probad primero en entornos que no sean PROD si no estáis seguros de los permisos.
  • 📂 Aseguraos de que el directorio de destino exista y sea escribible por IRIS/Health Connect.
  • 🔎 Podéis ampliar fácilmente la lógica para:
    • Exportar propiedades adicionales
    • Filtrar por categoría o clase
    • Enmascarar valores sensibles (contraseñas)
    • Cambiar la lógica para datos relevantes

Si lo ampliáis o mejoráis, no dudéis en compartir vuestras mejoras con la comunidad.