Inicio
Serpro S.A.
CSProX
DownLoad

CSProX: Descripción | Descarga | Faq

Servicios
Contáctenos

Descripción de CSProX

CSProX es un sistema integrado para el procesamiento de datos que combina un poderoso módulo para la captura de datos en forma totalmente interactiva, conjuntamente con un módulo BATCH que permite el análisis de ellos. Ambos módulos utilizan la misma definición o diccionario de datos y un mismo lenguaje. El lenguaje posee funciones orientadas a cada uno de sus módulos, dando gran flexibilidad a ambas funciones, la captura y el análisis de los datos.

CSProX deriva del sistema público CSPro, del cual SERPRO ha sido una componente fundamental en su desarrollo, aportando no sólo su trabajo si no también el código del sistema predecesor, ISSA-X, del cual era su propietario. De ahí que, amparado en el contrato original de desarrollo de CSPro, SERPRO exigiese el derecho de usar el código fuente de CSPro para ampliarlo y expandirlo de tal forma de poder comercializarlo en forma privada.

Una de las características fundamentales de CSProX es su facilidad para la captura de datos en modo cliente-servidor ya sea haciendo uso de una Intranet o de Internet. Los datos son almacenados en una base de datos relacional, habiéndose probado con ORACLE, SQL-Server, SyBase y MySQL. No obstante, el sistema puede conectarse con cualquier BD relacional que posea un driver ODBC.

El módulo BATCH del sistema trabaja como " stand-alone" aunque en un futuro cercano se le extenderá la facilidad para trabajar en la modalidad de cliente/servidor para hacer análisis de datos a través de Internet. Adicionalmente se pretende unir a multiples proveedores de información para que compartan sus datos sin perder la privacidad de la información primaria (el microdato nunca saldrá fuera de la institución).

 

Características Cliente/Servidor

El sistema cliente/servidor ha sido cuidadosamente diseñado para cumplir con los más exigentes requerimientos de la comunidad estadística. El software corre en Windows 2000/XP/NT/2003 y utiliza componentes estándares como SOAP (GSOAP), Internet Information Server, y Secure Socket Layers.

En el desarrollo de sistema, los siguientes conceptos fueron considerados como cruciales:

  • Seguridad: ya que CSProX le permite a sus clientes la conexión via Internet, la seguridad fue una de nuestras principales preocupaciones. La respuesta al tema de seguridad fue la implementación de Secure Socket Layer (SSL) un protocolo desarrollado por Netscape para transmitir información privada. Como se sabe, la mayoría de la información recolectada en encuestas es confidencial y protegida por leyes de confidencialidad estadística. SSL encripta la información usando dos llaves, una pública y otra privada, conocida solo por el receptor del mensaje (información).
  • Respuesta Rápida: El sistema es usado comúnmente como un sistema de captura de datos de grandes y sofisticadas encuestas. Dada la naturaleza del software, cada respuesta a una pregunta específica puede ser comparada con respuestas anteriores (chequeo de consistencia en línea) la transmisión de datos -parte por parte- podría ser muy cara en términos de tiempo de respuesta, especialmente cuando la velocidad de comunicación no es la óptima. Es por esto que la respuesta que elegimos fue un ejecutor (reproductor) local que pudiera ejecutar la lógica de la aplicación a diferencia del enfoque de ejecutar la logica en el servidor via un navegador (por ejemplo, internet explorer).
  • Captura de Datos En Línea y Fuera de Línea : Como se ha mencionado, CSProX, aparte de sus otros objetivos, es un sistema inteligente de captura de datos. Como tal, sus más importantes capacidades están orientadas a encuestas CAPI (Entrevista Personal Asistida por Computador - por sus Siglas en inglés) . Es por esto que no podemos exigir que los clientes estén siempre conectados al servidor, ya que frecuentemente se encontrarán en localidades remotas sin conexión a Internet. Por esto la capacidad de trabajo fuera de línea por largos períodos de tiempo era un requisito. Inserto en el sistema está la capacidad de transmitir automáticamente y sincronizar los datos recopilados apenas el cliente se conecta al servidor. Esto es una razón más para tener el módulo "runtime" presente en el computador del cliente, ya que se necesita para correr como un sistema "stand alone" también.
  • Clientes Agrupados en "Clusters": Dada la naturaleza del software, los clientes necesitan ser clasificados en grupos de acuerdo a un concepto dado. A su vez, los grupos pueden ser clasificados en grupos de mayor nivel creando una estructura de árbol. La consecuencia importante es que los clientes pueden heredar características de grupo (por ej. Derechos de acceso a bases de datos o diccionarios) aunque puedan ser individualmente alterados por un administrador de proyecto. Este atributo permite que cada miembro de un grupo -que tenga los permisos correspondientes- tenga los mismos derechos de acceso a los datos/casos capturados por otros miembros del mismo grupo. El principal objetivo es permitir que cualquier miembro del grupo modifique o termine encuestas parciales, eliminando la dependencia de encuestadote o digitadores. El segundo objetivo es que los casos capturados por un grupo sean transparentes para otros grupos (como no-existentes) a no ser que algún cliente en particular tenga derechos especiales, como administradores o supervisores.
  • Actualización Automática de la Aplicación de un Cliente: Cada proyecto o set de aplicaciones tiene un MD5 (Message Digest Algorithm) estampado. Cuando el cliente establece conexión con el servidor los MD5 de ambos proyectos son comparados para asegurarse de que son idénticos (dentro de un margen de probabilidades de error). Cuando los MD5 son distintos, las aplicaciones son automáticamente refrescadas en el computador del cliente. Esta característica garantiza que cualquier cambio que se le haga a la aplicación del proyecto, será rápidamente pasada a los clientes.
  • CSProX y Bases de Datos Relacionales: Todos los datos transmitidos al servidor son enviados a bases de datos relaciones mediante el driver ODBC. Adicionalmente, todos los datos capturados por el cliente serán escritos localmente en formato CSProX (archivo ASCII) completamente compatible con la estructura de archivos de CSPro. Versiones futuras de CSProX le permitirán al administrador decidir si los casos son escritos localmente o no. El software tiene las herramientas para la generación automática de las tablas relacionales de cualquier diccionario CSProX. Adicionalmente, se pueden exportar datos de CSProX a BD y vicecersa. El servidor CSProX se conecta a Oracle, Sybase, SqlServer y MySql.

MODULO DE CAPTURA DE DATOS

Este módulo puede ser usado de dos maneras distintas dependiendo del objetivo final de una aplicación o proyecto. La primera está enfocada a ejecutar entradas de datos inteligente que incluye chequeos de consistencia en línea (la cantidad de edición en línea depende enteramente del caso y quién desarrolle la aplicación) normalmente enfocada a descubrir errores originados por el digitador más que aquellos originados por la captura de datos. El segundo uso, probablemente el más importante, se enfoca en la captura de datos directamente desde la fuente de información, teniendo el software/computador (CAPI&CATI) para guiar el flujo de la sesión de captura de datos. Este último enfoque se diferencia del primero no solo en estrategia si no en la cantidad de información relevante que el sistema es capaz de proveer al respondiente para conseguir una mejor respuesta.

SISTEMA DE ENTRADA DE DATOS: En este enfoque CSProX ofrece varias posibilidades dependiendo enteramente en los requerimientos específicos: no hay edición en línea, dejando toda la detección de errores para una segunda etapa, donde los datos son digitados nuevamente y todos los datos son comparados con los datos originales (verificación en línea). Usando la verificación en línea, los datos originales quedan en el background y cuando se detecta una diferencia -por comparación directa de ambos elementos de información- el operador está obligado a arreglarlo antes de continuar.

La segunda opción es incluir tanta consistencia en línea como sea necesaria/requerida, alertando al digitador de cada error detectado. Sin embargo, la aplicación deja que el operador (digitador) decida si la inconsistencia sea arreglada o no. Usando esta opción algunos errores pueden ser arreglados en una segunda etapa, donde personal más especializado puede analizarlos y corregirlos. En ambas opciones, el sistema ejecuta automáticamente saltos condicionales e incondicionales, sin la intervención del operador, y no pueden ser modificados por el digitador, a no ser que la aplicación se lo permita.

La tercera opción combina las características mencionadas con un método más relajado de control que le permite al digitador sobrepasar sin problemas la aplicación con un solo click sobre el campo deseado.

Las principales características del sistema de entrada de datos (comunes a la captura de datos en general) son las siguientes:

  • Los Diccionarios de Datos (DD) son fácilmente definidos usando una interface amistosa. El DD puede ser almacenado en dos formatos diferentes, el primero, el formato normal de CSPro y el segundo es completamente compatible con la Iniciativa de Documentación de Datos (DDI por sus siglas en inglés), lo que es un esfuerzo de establecer un formato estandarizado en XML para el contenido, presentación, transporte y conservación de la documentación para conjuntos de datos en las ciencias sociales y del lcomportamiento. Para más información respecto al DDI visite: http://www.icpsr.umich.edu/DDI/index.html
  • Los forms o pantallas de entrada de datos son generadas automáticamente por el sistema usando como referencia la definición del diccionario de datos. Comenzando por la generación de pantallas por defecto, el desarrollador de aplicaciones puede ampliar los forms usando letras, colores, tamaño de caracteres y editando los textos por defecto para obtener como resultado final una pantalla de entrada de datos de alta calidad. Si el proyecto tiene cuestionarios impresos, pueden ser escaneados y usados como fondo de las pantallas de entrada de datos.
  • El poderoso lenguaje de CSProX combinado con los conceptos sobre los que el sistema ha sido desarrollados permite:
    • Crear una aplicación simple de entrada de datos en pocos minutos con la confianza que por lo menos el archivo de datos estará correcto estructuralmente. El desarrollador de la aplicación puede optar también por una aplicación sofisticada usando todos los recursos del sistema.
    • Incluir chequeos de consistencia en línea a medida que son digitados. Los chequeos pueden ser de una gran variedad, siendo los más importantes (i) aplicar relaciones lógicas o aritméticas entre las variables (ii) aplicación de algoritmos sofisticados (iii) chequeo con tablas relacionadas. Además de la lógica que pueda escribir el programador, el sistema ofrece una función de alto nivel para realizar la codificación automática de las glosas. Esto es particularmente útil para la codificación de las ocupaciones y códigos de industria.
    • El sistema de entrada de datos tiene dos comportamientos, uno -y el usado más comúnmente- es un comportamiento rígido conocido como "controlado por sistema" donde todos los saltos son manipulados estrictamente por la aplicación definiendo un flujo que no puede ser alterado por el digitador a no ser que se modifiquen los datos ingresados con anterioridad. El segundo enfoque conductual es uno llamado "controlado por el operador", que difiere del primero en el sentido que cualquier salto puede ser omitido por el operador con un simple click del Mouse sobre el campo que quiere ingresar. Este último enfoque no garantiza la integridad de la estructura de datos pero en algunos casos puede ser útil.
    • El sistema permite ingresar datos a diferentes archivos desde la misma aplicación sin intervención del operador.
    • La modificación de datos y la verificación de datos son ejecutadas usando la misma aplicación usada para ingresar los datos. Esto implica que los mismos chequeos de consistencia y la misma lógica son aplicados en todas las instancias (entrada de datos, modificación y verificación). Los casos a ser modificados o verificados son accesados directamente con una tecla . Las claves de esos casos se encuentran visibles en un árbol a la izquierda de la pantalla.

CAPTURA DE DATOS: Es en esta área en que el sistema muestra características destacables que lo ponen en una categoría diferente cuando se compara con otros sistemas en el mercado. La principal razón para esto es: (i) una vez más, el poderoso lenguaje del sistema juega un rol importante en este liderazgo (ii) la creatividad puesta en el software hace que la comunicación entre el desarrollador y el respondente sea una tarea sencilla. Ambas características tienen un impacto decisivo en mejorar la calidad de la información recopilada.

Los factores que mayor impacto tienen en la calidad de la información puede ser resumida de la siguiente manera:

  • Precisión con respecto a las preguntas y las indicaciones al respondente junto con ayuda contextual en-línea acerca del tópico que está siendo capturado. Preguntas y direcciones para el respondente pueden ser generadas dinámicamente usando información que ya se ha reunido con anterioridad en otras preguntas. De la misma manera las posibles respuestas puede ser filtradas en función de respuestas anteriores. Las ayudas en línea pueden ser formadas con texto dinámico basado en respuestas anteriores.
  • El uso de Algoritmos e información almacenada en la misma o en otra base de datos definitivamente contribuyen a detectar errores en la información almacenada al mismo tiempo que se ingresa. Por esto el respondente puede corregir el problema inmediatamente.

El primer factor mencionado es facilitado por un módulo llamado "Editor de Texto y Preguntas" que puede trabajar independiente o en conjunto con el diseñador de aplicaciones. El editor permite generar en formato RTF (Rich Text Format) los textos de las preguntas los cuales pueden tener como parámetros variables del diccionario. Esas variables son expandidas con su respectivo valor al momento de mostrarse la pregunta permitiendo así realizar preguntas dinámicas. También pueden existir más de una pregunta asociada a una variable la cual se selecciona automáticamente en runtime de acuerdo a las condiciones de selección definidas por el programador.

Todas las características mencionadas en el Sistema de Entrada de Datos son comunes al de Captura de Datos. De hecho, el mismo módulo es usado para ambos modos variando solamente el grado de sofisticación y el uso de los recursos del lenguaje.

 

MODULO BATCH

La funcionalidad del módulo batch está orientada a tres objetivos centrales del procesamiento de datos estadísticos:

•  ENTRY en BATCH. Permite correr la aplicación de entrada o captura de datos en modalidad batch. Se usa como input los mismos datos capturados por el módulo de entrada de datos o de captura, y entrega un listado con todas las inconsistencias que, aúnque ellas fueron detectadas por la aplicación de captura de datos, fueron ignoradas por el operador de entrada de datos. Además, el desarrollador de la aplicación de captura de datos puede haber sido permisivo en cuanto a dejar pasar errores por parte del operador de entrada de datos, o talvez quiera controlar ciertas reglas de consistencia solo en el módulo batch. El listado organizado de los errores puede ser analizado y corregido por personal calificado, dejando al operador de entrada de datos solo la responsabilidad de reparar los errores de digitación..

•  Análisis de Missings e Imputación. Este es un importante paso antes del análisis de los microdatos. El sistema una vez más tiene rico lenguaje para hacer la imputación de datos "missing" o variables que no pasan los chequeos de consistencia. Por otro lado, más y más datos de censos y de otras fuentes son capturados por escáner u otros tipos de lectores ópticos y por ende, el módulo batch es la única manera de revisar la consistencia de los datos y otro análisis de los micro-datos (por ej. completitud y estructura de los datos). Cuando los datos son ingresados por aparatos ópticos, generalmente son almacenados en bases de datos relacionales desde donde CSProX puede importarlas a formato CSProX (el módulo Batch no puede procesar los datos directamente desde la base de datos relacional)

Análisis de Micro-Datos. Esta es sin duda la meta final del procesamiento de datos estadísticos, y por lo mismo se ha puesto énfasis en implementar un poderoso sistema de tabulación dentro del módulo batch. Actualmente, hay una poderosa interfaz gráfica que permite obtener fácilmente todo tipo de tablas sofisticadas con la técnica de "drag and drop". Algunas estadísticas básicas son fáciles de obtener como lo son: promedio, media, percentiles, mínimo, máximo, moda, desviación estándar, varianza, porcentajes (fila, columna, nivel y con respecto al total), etc.

El sistema tiene una variedad de utilidades batch para ejecutar de manera simple las siguientes tareas: (i) exportar datos de SPSS, SAS y STATA o simplemente a ASCII usando caracteres específicos para delimitar cada campo; (ii) producir frecuencias marginales y condicionales; (iii) ordenamiento de archivos de datos donde cada caso tienen un número variable de registros; (iv) reformateo de datos; (v) generación de índices para los datos.


 

 
 
Servicio Consultoría
Procesamiento de Datos, Entrenamiento

Captura con Pocket PC

Pocket PC FAQ

Copyright Serpro S.A. 1984-2008. Todos los derechos Reservados.