Documentos de Académico
Documentos de Profesional
Documentos de Cultura
crear
un data
warehouse?
Jordi Conesa (coord.)
Josep Curto
Director de la colección: Lluís Pastor
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada, reproducida, almacenada o
transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico, químico, mecánico, óptico, grabación fotocopia, o cualquier
otro, sin la previa autorización escrita de los titulares del copyright.
Índice
Cómo usar un modelo H2PAC7
El reto
El conocimiento imprescindible
La teoría
El desarrollo
Las soluciones
Cómo usar un
modelo H2PAC
Este modelo plantea resolver propuestas clave a partir de
ACTIVIDADES. A continuación os explicamos cómo manejaros
por el libro y sacarle partido a través de tres fases.
El reto
En las páginas de color rojo encontrarás el reto que te plantea este libro.
El conocimiento
imprescindible
En las páginas centrales encontrarás la teoría imprescindible que te ayudará a
entender los conceptos clave y poder obtener las respuestas al reto.
Las soluciones
En las páginas de color verde encontrarás el solucionario para resolver correctamente
el reto propuesto.
El reto
Josep Curto
Jordi Conesa
Este reto está basado en un caso real: la evolución del modelo sanitario catalán y la
transformación de sus sistemas de información para adaptarse al entorno y a las nuevas
estrategias planteadas. El caso está enfocado en realizar el diseño e implementación del
núcleo de toda herramienta de inteligencia de negocio: el almacén de datos1.
El material del actual caso consta de cuatro partes diferenciadas. La primera está centrada en
la creación de un estudio de viabilidad sobre la creación de un almacén de datos; la segunda,
en desarrollar e implementar un almacén de datos que permita la gestión del área de
hospitalización de un hospital; la tercera, en diseñar e implementar los procesos de carga de
datos necesarios para disponer de información en almacén de datos implementado; y la cuarta,
en la creación de elementos de análisis multidimensional para la explotación de información.
Con el fin de poder desarrollar un proyecto lo más específico posible, se aborda el reto de
desarrollar un almacén de datos que solo describe parte de las áreas de un hospital básico del
sector público. Es importante recordar que el diseño, desarrollo e implantación de este tipo de
herramientas supone, en general, meses o incluso años en función de la naturaleza y el grado
de madurez de la empresa y del alcance del proyecto, requiriendo la participación de equipos
multidisciplinares que van implementando diferentes proyectos en un proceso de mejora
continua.
El objetivo de este caso no es desarrollar un almacén de datos que dé respuesta a todas las
necesidades de una organización, sino entender y utilizar las metodologías para desarrollar
este tipo de proyectos en un contexto real pasando por todas las fases que comprenden este
tipo de proyecto. A saber, evaluación, diseño, implementación, carga y explotación.
Mediante el desarrollo del caso planteado, el lector se enfrentará con los problemas, dudas y
dificultades más comunes que se plantean en un proyecto de estas características.
1. Contexto
Para que el lector tenga una referencia más concreta sobre la que desarrollar el caso, se
propone una estructura genérica de la organización, así como una descripción general de los
procesos básicos de hospitalización.
Esta estructura se ofrece solamente a título orientativo, sin que tenga que condicionar el
desarrollo del caso. El propósito principal es que sirva como referencia a todos aquellos que
no estén familiarizados con estos entornos, con el fin de que puedan comprender mejor la
actividad propia de un centro hospitalario.
Los actores involucrados en un sistema de salud suelen tener intereses muy diversos y a
menudo contrapuestos. En nuestro caso particular, los actores a tener en cuenta son:
1) Las autoridades sanitarias, tanto por lo que respecta al Departamento de Salud de la
Generalitat como al Catsalut. A partir de sus políticas sanitarias y de compra de servicios,
determinarán de forma clave la actividad que debe proporcionar finalmente nuestro centro.
No podemos olvidar que un altísimo porcentaje de la facturación de los hospitales públicos
proviene de las propias autoridades sanitarias y, por lo tanto, será esencial dotarnos de
mecanismos que nos aseguren que nuestra cartera de servicios y nuestra «capacidad de
producción» están ajustadas a la oferta que debemos proveer.
2) La institución ICS. En nuestro caso, al tratarse de un centro del Instituto Catalán de la Salud
(ICS), los objetivos estratégicos de la institución ICS necesariamente se trasladarán a cada
uno de los centros. Con toda probabilidad, gran parte de estos objetivos estarán
completamente alineados con los objetivos de las autoridades sanitarias, pero habrá otros
que estarán condicionados por las propias directrices corporativas, o incluso, por los
procesos internos de gestión en ámbitos como pueden ser: logística, compra agregada,
política de recursos humanos, compra de productos intermedios, etc.
3) La propia dirección del centro. Obviamente, tendrá un papel clave según el grado de
autonomía que le otorga el propio ICS, supuestamente cada vez mayor debido a los
procesos de descentralización que se están produciendo dentro del nuevo modelo de
empresa pública. Probablemente, en un hospital general básico el grado de diferenciación o
especialización no será significativo y, por tanto, el grado de personalización y
especificidad de su sistema de cuadro de mando tampoco lo será.
4) Los profesionales. Otro de los actores relevantes serán los propios profesionales que
desarrollan su actividad en las diferentes áreas, como asistencial, administrativa, etc. Será
esencial, para los responsables de las distintas áreas, disponer de mecanismos para el
seguimiento y control de sus actividades, así como de la calidad de los servicios que
prestan, tanto desde un punto de vista cualitativo como cuantitativo. Cabe tener en cuenta
que su actividad estará enormemente condicionada por la oferta que deben generar (de
acuerdo a la compra de servicios pactada con las autoridades sanitarias) y de los recursos
de que dispongan para satisfacerla de acuerdo a unos determinados estándares de calidad,
propios o inducidos por otros actores.
5) El propio entorno sanitario del centro. A partir del despliegue del nuevo modelo de salud
en base a pago capitativo, es imprescindible tener en cuenta la interrelación y colaboración
entre los diferentes actores dentro de un mismo territorio (área capitativa).
6) El entorno político y social del centro. No debemos olvidar que estamos trabajando con
servicios públicos y que se establece una estrecha relación entre los distintos ámbitos
sociopolíticos locales: gobiernos locales, servicios sociales, agrupaciones de vecinos,
colectivos específicos, etc. Aunque no existe una relación directa entre la atención
individualizada y el papel que desempeñan estos colectivos, está claro que juegan un papel
decisivo en lo referente a representación social y, por lo tanto, es necesario tenerlos en
cuenta en el desarrollo de determinadas estrategias.
7) El ciudadano. El último actor a describir, aunque probablemente uno de los más relevantes.
El ciudadano, entendido como el paciente y su entorno familiar directo, es el beneficiario
directo del servicio prestado. Sobre él será preciso desarrollar un seguimiento específico, y
no solo desde el punto de vista asistencial, sino también desde el emocional. En este
sentido, cabe tener presente que la atención sanitaria va mucho más allá del acto meramente
clínico y que comporta muchas otras variables, que a menudo pueden tener tanto o más peso
que la propia curación (siempre que sea posible) en la percepción del paciente: atención
prestada, buen trato, respeto, celeridad, diligencia, cantidad y calidad de la información
recibida, soporte emocional, psicológico, etc.
A menudo, veremos que muchos de los objetivos estratégicos pueden estar relacionados con
diferentes actores. Esto lo podemos observar rápidamente en los documentos de referencia de
las autoridades sanitarias:
En ellos, podemos ver el grado de detalle y la diversidad de ámbitos sobre los que se recoge
información, y que, cada vez de forma más clara, se reflejan en los contratos de servicios que
se establecen entre las autoridades sanitarias y los distintos centros sanitarios.
Las áreas de urgencias hospitalarias son las responsables de dar respuesta a las necesidades
de salud de los ciudadanos, en lo que se refiere a la atención de urgencias y emergencias que
tengan que ver con problemas de salud sobrevenidos, sea cual sea su causa.
Normalmente, estas áreas están diseñadas para la atención de urgencias críticas y graves.
Aunque históricamente, debido a diferentes motivos, han sido utilizadas por parte de la
mayoría de los ciudadanos para el tratamiento de cualquier problema de salud imprevisto o
sobrevenido, en lugar de dirigirse a la atención primaria. Este hecho ha impactado
enormemente en su funcionamiento, generando efectos negativos, como la sobreocupación de
espacios, las largas esperas, el hacinamiento, los tiempos de asistencias anormalmente largos,
los tiempos de espera excesivos para la realización de pruebas complementarias, etc. Todo
ello ha implicado una serie de problemas de gestión y ha provocado una pérdida de calidad
del funcionamiento de las áreas de urgencia.
Además, la enorme variabilidad de la práctica clínica en el uso de los recursos para cada una
de las asistencias puede ser tremendamente cambiante.
Los principales canales de entrada a las áreas de urgencias suelen ser los siguientes:
• El desplazamiento del propio paciente al servicio de urgencias por sus propios medios.
• A través de transporte sanitario, tras un accidente laboral, de tráfico o en otras
circunstancias, que le impiden la movilidad.
• La derivación desde otros centros sanitarios o de atención primaria que no pueden atender al
paciente en origen, por saturación o por no disponer de las especialidades y/o medios
necesarios.
• Urgencias generales.
• Urgencias obstétricas (relativas al parto) y ginecológicas.
• Urgencias pediátricas.
• Urgencias traumatológicas.
• Urgencias oftalmológicas.
• Alta a domicilio (normalmente, según criterio médico, aunque también puede ser por
abandono o voluntaria).3
• Ingresos (con o sin intervención).
• Derivación hacia otro centro sanitario.
• Defunción.
Además de los requerimientos que se puedan establecer desde el propio centro o urgencias, el
Catsalut también monitoriza, especialmente en determinadas épocas del año o zonas, el
funcionamiento de dichas áreas con el fin de identificar situaciones de excesiva saturación o
incluso analizar posibles problemas epidemiológicos que puedan surgir y que afecten a la
salud pública. En este sentido, a través del PIUC (Plan Integral de Urgencias de Cataluña), se
monitorizan a diario determinados parámetros de funcionamiento y clínicos de las áreas de
urgencias de todos los centros de la XHUP (Red Hospitalaria de Utilización Pública).
Los hospitales están organizados (desde un punto de vista asisten cial) en servicios clínicos,
con mayor o menor nivel de especialización dependiendo de su categoría.
De forma genérica, los servicios clínicos se organizan en dos grandes ámbitos, el médico y el
quirúrgico, que se diferencian fundamentalmente en el uso que se realiza de las áreas
quirúrgicas (preanestesia, quirófanos y reanimación) por parte de los médicos.
Aparte de los servicios de soporte claramente identificados, en los procesos del hospital hay
otros relacionados con la atención hospitalaria, como son:
En lo que se refiere a las áreas de hospitalización, podemos considerar dos líneas bien
diferenciadas de acceso:
Esta actividad programada tiene que ser gestionada por las áreas de gestión asistencial
(gestión administrativa) y por los propios servicios clínicos, que deben priorizar y asignar sus
recursos (generalmente, basados en ocupación de camas o quirófanos) según la urgencia,
criticidad y complejidad de cada caso, y según la disponibilidad de recursos. Esta gestión es
lo que se conoce como gestión de la lista de espera.
Aparte de la gestión propia de la lista de espera, determinada por el propio servicio y, por
extensión, del propio centro, dependiendo de su funcionamiento y de la disponibilidad de
recursos, las autoridades sanitarias establecen objetivos a cumplir por parte de cada uno de
los centros en sus contratos de compra de servicios, y que afectan al pago de los servicios
adquiridos de acuerdo a los niveles de cumplimiento mínimos establecidos.
Cabe recordar que, en el modelo de compra y facturación de los servicios establecidos por
Catsalut, no solo se compra una determinada actividad quirúrgica, sino que esta también debe
prestarse de acuerdo a unos determinados indicadores de calidad (normalmente de tipo
temporal). Los centros deberán garantizar el cumplimiento de estos indicadores para asegurar
que se satisfacen adecuadamente los contratos de compra firmados con Catsalut.
• La estructural, provocada por el propio sistema. Cuando el paciente está esperando a ser
intervenido por estar pendiente de otra prueba médica o diagnóstica, o por razones
administrativas, como la no existencia de quirófano libre o que el médico haya tenido que
ausentarse.
• La no estructural, debida al deseo del paciente. Preferencia de no ser derivado a otro centro
hospitalario para ser atendido, motivos personales que hacen posponer su intervención o
cita, elección de un periodo determinado para su intervención, o cualquier otra razón que
haga que la intervención se retrase por causa del paciente.
Periódicamente (mínimo una vez al mes), el centro debe notificar a Catsalut la relación de
pacientes que están incluidos en la lista de espera.
Los datos que habitualmente se manejan en la lista de espera quirúrgica son los siguientes (a
título orientativo):
1) Los datos mínimos a incluir por cada registro de demanda quirúrgica deben ser:
• Datos de identificación del paciente.
• Fecha de inscripción en el registro.
• Indicación de la intervención quirúrgica por el facultativo especialista responsable del
paciente, con constancia de los diagnósticos y procedimientos previstos.
• Prioridad clínica de la intervención.
• Aceptación por el paciente, o persona autorizada, de su inscripción en el registro.
Por otro lado, existe una información necesaria para la dirección clínica y el propio centro,
que debe ser gestionada:
6. Fuentes de datos
Cabe comentar que estos ficheros han sido tratados para que cumplan las condiciones de la
Ley orgánica de protección de datos (LOPD) y en ningún momento se vulnere los derechos de
los pacientes.
Los datos pueden descargarse desde la wiki asociada al libro, concretamente desde el
siguiente enlace: http://goo.gl/NGGR8s
Como todo proyecto, el diseño e implementación de un almacén de datos debe ser viable y
rentable para ser llevado a cabo. Como punto inicial de este caso, el lector deberá evaluar si
el proyecto debe ser implementado o no en función de distintos parámetros.
Para ello, el lector debe hacer un análisis del periodo de retorno de inversión,5 de la tasa
interna de rentabilidad,6 del descuento de flujos financieros7 y del retorno de la inversión.8
Para facilitar dicho análisis, se van a asumir ciertas hipótesis sobre el proyecto.
Supongamos que la inversión inicial del proyecto es 76.000 euros y que los costes de los
siguientes años incluyen mantenimiento, evolución y nuevas licencias del sistema, siendo
16.700 euros anuales para los siguientes tres años. Consideremos también que la compañía
considera que es capaz de generar beneficios derivados de la implantación del almacén de
datos (como, por ejemplo, resultantes de liberar recursos por la automatización de tareas). Los
beneficios estimados son 20.000 euros en el primer año, 25.000 en el segundo y 35.000 en
cada uno de los tres años restantes. Finalmente, consideremos que la tasa de descuento es del
10 % a lo largo del periodo de cinco años considerado.
Bajo el contexto descrito, la dirección general del hospital se pregunta si vale la pena invertir
en el proyecto de diseño de un almacén de datos para la gestión de urgencias y
hospitalización, y en qué medida el proyecto podría ser rentable.
7.2. Diseño de data warehouse
A partir del análisis del contexto del caso y de las fuentes de datos disponibles de
hospitalización,9 se deberá diseñar un almacén de datos que permita realizar el seguimiento
estratégico y operativo del área de hospitalización de un hospital general básico tal y como se
ha descrito en el contexto.
Con el objetivo de poder recorrer todas las fases de este tipo de proyectos, la actividad se
centrará tan solo en la hospitalización.
Para el desarrollo del data warehouse, es preciso definir correctamente los hechos (facts), las
dimensiones de análisis (dimensions) y los atributos que nos permitan tener el nivel de
granularidad suficiente para la medida y presentación de los objetivos que se definan en el
análisis de requerimientos.
Se pide el desarrollo de los procesos de carga del data warehouse propuesto en la segunda
parte de este caso.
A partir del análisis de fuentes de datos, se deberán diseñar los procesos de extracción,
transformación y carga de los datos existentes en los ficheros proporcionados, que contienen
información operativa.
Se deberá tener en cuenta que esta es una carga inicial de almacén de datos, por lo que se
espera que, teniendo en cuenta el período que comprenden los datos y su cantidad, se hagan
estimaciones sobre las necesidades de arquitectura del almacén de datos (por ejemplo, tiempo
de carga, estimaciones de crecimiento, etc.).
Wiki de soporte
Para el presente caso, la UOC proporciona una wiki que contiene todos los elementos
necesarios para que el lector pueda reproducir todos los pasos que se describen en este libro.
En particular, la wiki contendrá los ficheros necesarios para realizar la actividad, detalles
sobre el sistema utilizado para implementar la solución y la guía, paso a paso, de las
diferentes etapas de creación del data warehouse.
7.5. Glosario
hospital de día m Estructura sanitaria asistencial donde el paciente recibe las técnicas
terapéuticas que requiere sin necesidad de abandonar su entorno familiar. El paciente es
internado por un plazo de horas determinado, durante las cuales recibe todos los tratamientos
especializados (terapias con aparatos, análisis, control postoperatorio, etc.) que requieren
seguimiento por parte de personal especializado, o de aparatos médicos que deben ser
manipulados dentro de instalaciones médicas. Al finalizar la atención, el paciente vuelve a su
hogar. Como ejemplos tenemos, entre otros, la diálisis, tratamientos oncológicos, etc.
1 En inglés, data warehouse.
2 En lasunidades de triaje se estableceunaprimeraclasificación de los paci¬entes en función de sucriticidad y patología. La
atención de los pacientes se priorizaráporlasdecisiones de triaje y no pororden de llegada. El objetivoesatenderrápidamente a los
pacientescríticos y evitarquepermanezcan en la sala de espera sin tratamiento.
3 Se entiendeporaltavoluntariaaquella en la que el paciente decide aban¬donar el hospital en contra del criteriomédico. En
talcasodebefirmar un documentoqueexime al médico/hospital de cualquierresponsabilidadsobre lo que le puedasuceder con
relación al diagnósticorealizado.
4 Para másinformación, vercirugía mayor ambulatoriaen el glosario.
5 El periodo de retorno de la inversiónes el tiempoquetrascurreparaque el proyectogenereunflujo de cajaequivalente a la
inversiónrealizada.
6 La tasainterna de rentabilidad, TIR, mide la tasa de variación de la riquezageneradapor el proyectoporunidad de tiempo. En el
caso de unproyecto de inversión, si la TIR es mayor que la tasa de descuento, se acepta el proyecto.
7 El descuento de flujosfinancierossirveparaobtener el valor actual neto, VAN, de los flujos de ingresos y gastos en el periodo de
vida de la inversión.
8 El ROI o retorno de la inversiónpermitedeterminar la rentabilidaddel cap¬ital invertido en un proyecto. La fórmula de
cálculocorresponde al cociente entre los beneficiosconseguidos y el capital invertido.
9 Fichero en formato Excel que se proporcionaconjuntamente con el enun¬ciadodelcaso y quepuededescargasedesde la wiki
asociada al libro.
El conocimientoimprescindible
Josep Curto
Jordi Conesa
La teoría
1. Introducció
Un sistema de inteligencia de negocio está formado por diferentes elementos, pero de todas las
piezas la principal de ellas es el datawarehouse o almacén de datos, ya que es el componente
que almacena los datos a analizar. En este capítulo vamos a explicar qué es un data
warehouse, cómo se cargan los datos en el data warehousemediante los procesos de
Extracción, Transformación y Carga (ETL) y cómo se pueden consultar los datos del data
warehouse de forma fácil, eficiente y potente mediante tecnologías OLAP.
Un data warehouse1 es un repositorio de datos que proporciona una visión global, común e
integrada de los datos de la organización, independiente de cómo se vayan a utilizar
posteriormente por los consumidores o usuarios, con las propiedades siguientes: estable,
coherente, fiable y con información histórica.
Debemos tener en cuenta que existen otros elementos en el contexto de un data warehouse.
Podemos diferenciar estos elementos en los almacenes de datos, procesos y metadatos:
• Data Mart: contiene un subconjunto de los datos del DataWarehouse con el objetivo de
responder a un determinado análisis, función o necesidad y con una población de usuarios
específica. Al igual que en un data warehouse, los datos están estructurados en modelos
de estrella o copo de nieve. Los datamarts pueden ser dependientes o independientes de
un datawarehouse. El data mart está pensado para cubrir las necesidades de un grupo de
trabajo o de un determinado departamento dentro de la organización.
• Operational Data Store: es un tipo de almacén de datos que tiene como objetivo permitir
realizar analítica sobre los últimos valores de los datos no disponibles en el data
warehouse. Para ello, los Operational Data Stores proporcionan los últimos valores de
los datos, pero no su historial. Permiten generalmente un pequeño desfase o retraso sobre
los datos operacionales.
• Staging Area: es un área de almacenaje intermedia que se encuentra entre las fuentes de
datos y el data warehouse. Sus principales objetivos son:
– Facilitar la extracción de datos desde fuentes de origen que tengan una gran
heterogeneidad y complejidad.
– Mejorar la calidad de datos.
– Ofrecer una cache de datos operacionales que de soporte al proceso de data
warehousing.
– Permitir al acceso a información no contenida en el datawarehouse.
b) Procesos: permiten el análisis, filtraje, mejora, integración y carga de los datos en los
distintos almacenes de datos. Podemos destacar:
Es de esperar que la estructura relacional de una base de datos operacional siga las formas
normales de Codd en su diseño. En un datawarehouse no debe seguirse ese patrón de diseño y
se permite desnormalizar la información con el objetivo de optimizar las consultas.
• Hechos: permiten representar los procesos de negocio de la organización. Por ejemplo, una
venta puede identificarse como un proceso de negocio de manera que es factible, si
corresponde en nuestra organización, considerar el hecho ventas.
• Dimensiones: permiten representar las distintas vistas para un cierto proceso de negocio (o
los distintos puntos de vista desde los cuales se puede analizar). Si regresamos al ejemplo de
una venta, podemos estudiarla a partir del cliente que la ha realizado, la fecha en la que se ha
realizado, los productos que se han venido... Estos conceptos pueden ser considerados como
vistas para este proceso de negocio. Puede ser interesante recuperar todas las compras
realizadas por un cliente. Ello nos hace entender por qué la identificamos como una
dimensión.
• Métricas: son los indicadores de negocio de un proceso de negocio, es decir, aquellos
conceptos cuantificables que permiten medir un proceso de negocio. Están asociados a las
tablas de hecho. Por ejemplo, en una venta tenemos el importe de la misma.
Existen principalmente dos tipos de esquemas para estructurar los datos en un almacén de
datos:
Respecto la gestión histórica que se realiza sobre los datos de las dimensiones, se pueden
clasificar como SCD Tipo X, donde SCD es la abreviatura de Slowly Changing Dimension y
X es un número que indica la política de actualización de datos usada. Los tipos posibles son:
• Métricas: valores que recogen el proceso de una actividad o los resultados de la misma.
Estas medidas proceden del resultado de la actividad de negocio.
• Indicadores clave: entendemos por este concepto, valores correspondientes que hay que
alcanzar, y que suponen el grado de asunción de los objetivos. Estas medidas proporcionar
información sobre el rendimiento de una actividad o sobre la consecución de una meta.
Debemos distinguir que existen también indicadores de desempeño. Los indicadores clave de
desempeño (en definitiva, son KPI) definen mediciones que determinan qué tan bien se está
desempeñando el proceso de TI para alcanzar una determinada meta. Su uso permite estimar
cuan factible será alcanzar una meta o no, y son buenos indicadores de las capacidades,
prácticas y habilidades. Los indicadores de metas de bajo nivel se convierten en indicadores
de desempeño para los niveles altos.
En el contexto de la inteligencia de negocio, las herramientas de ETL han sido la opción usual
para alimentar el data warehouse. La funcionalidad básica de estas herramientas está
compuesta por:
En los últimos años, estas herramientas han evolucionado incluyendo más funcionalidades
propias de una herramienta de integración de datos. Podemos destacar:
Esta evolución es consecuencia de diversos motivos. Por un lado está la propia evolución de
las necesidades de negocio y por otro, el incremento en riqueza de los tipos de datos
disponibles en la organización:
• Técnica push: consiste en la actualización continua y en línea del entorno destino mediante
aplicaciones de integración de datos que capturan los cambios en origen y los transmiten a
destino, donde son almacenados. En estas técnicas los datos son automáticamente enviados al
entorno remoto.
• Técnica pull: consiste en la provisión de datos mediante procesos batch en intervalos
prefijados (frecuentemente superior a varias horas).
• Propagación de datos: consiste en copiar datos de un lugar de origen a un entorno destino
local o remoto. Los datos pueden extraerse del origen mediante programas que generen un
fichero que debe ser transportado al destino, donde se utilizará como fichero de entrada para
cargar en la base de datos de destino. Una aproximación más eficiente es descargar sólo los
datos que han cambiado en origen respecto a la última propagación realizada, generando un
fichero de carga incremental que también será transportado al destino. Este tipo de procesos
trabajan habitualmente en línea y suelen usar una arquitectura de tipo push.
• CDC (Change Data Capture): se utilizan para capturar los cambios producidos por las
aplicaciones operacionales en las bases de datos de origen, de tal manera que pueden ser
almacenados y/o propagados a los entornos destino para que éstos mantengan la consistencia
con los entornos origen. A continuación trataremos las cuatro principales técnicas de change
data capture.
– Cuando no se requiere latencia baja, se suele utilizar la técnica pull mediante consultas
SQL.
– Cuando se requiere latencia baja, se suele utilizar la técnica push. En este caso, la
aplicación de integración de datos debe identificar los cambios producidos en origen para
transmitir sólo esos cambios, y no todo el conjunto de datos del origen. Para ello, se suele
emplear algún tipo de técnica de tipo CDC (change data capture).
• Federación de datos: proporciona a las aplicaciones una visión lógica virtual común de una
o más bases de datos. Esta técnica permite acceder a diferentes entornos origen de datos, que
pueden estar en diferentes gestores de bases de datos y máquinas, y crear una visión
integrada de los datos como si se encontrarán en la práctica en una base de datos única e
integrada. Cuando una aplicación de negocio lanza una consulta SQL contra esta vista
federada, el motor de federación de datos descompone la consulta en consultas individuales
para cada uno de los orígenes de datos físicos involucrados y la lanza contra cada uno de
ellos. Cuando ha recibido todos los datos de respuesta a las consultas, integra los resultados
parciales en un resultado único, realizando las sumarizaciones, agregaciones y/o
ordenaciones necesarias para resolver la consulta original y devuelve los datos a la
aplicación que lanzó la consulta original. Uno de los elementos clave del motor de
federación es un catálogo de datos común. Este catálogo contiene información de la
estructura de los datos, de su localización y, en ocasiones, sobre la demografía de los datos
(volumen de datos, cardinalidad de las claves, claves de clustering,etc.). Ello permite que
se pueda optimizar la división de la consulta original al enviarla a los gestores de bases de
datos origen y se elija el camino de acceso global a los datos más eficiente.
• Técnicas híbridas: la técnica elegida en la práctica para la integración de datos dependerá
de los requisitos de negocio para la integración, pero también en gran medida de los
requisitos tecnológicos y de las probables restricciones presupuestarias. A la práctica se
suele emplear varias técnicas de integración constituyendo lo que se denomina una técnica
híbrida.
• ETL: permite extraer datos del entorno origen, transformarlos según nuestras necesidades de
negocio y cargar estos datos en los entornos destino. Los entornos origen y destino son
usualmente bases de datos y/o ficheros, pero en ocasiones también pueden ser colas de
mensajes de un determinado middleware, así como ficheros u otras fuentes estructuradas,
semiestructuradas o no estructuradas. Estas tecnologías están basadas en técnicas de
consolidación. Las herramientas de ETL en la práctica mueven o transportan datos entre
entornos origen y destino, pero también documentan cómo estos datos son transformados (si
lo son) almacenando esta información en un catálogo propio de metadatos; intercambian
estos metadatos con otras aplicaciones que puedan requerirlos y administran todas las
ejecuciones y procesos de la ETL: planificación del transporte de datos, logde errores, log
de cambios y estadísticas asociadas a los procesos de movimiento de datos. Las
herramientas ETL suelen tener una interfaz de usuario de tipo GUI y permiten diseñar,
administrar y controlar cada uno de los procesos del entorno ETL. Podemos encontrarlas de
distintos tipos:
Existen múltiples tipos de procesos ETL. Según la clasificación de Ralph Kimball existen
treinta y cuatro tipos clasificados en cuatro grandes grupos:
A continuación se detallan los tipos de procesos para cada uno de estos grupos.
Extracción
• Data profiling: consiste en la exploración de los datos para verificar su calidad y si cumplen
los estándares conforme a los requerimientos.
• Change Data Capture: detecta los cambios para refinar los procesos ETL y mejorar su
rendimiento.
• Sistema de extracción: permite la extracción de datos desde la fuente de origen a la fuente
destino.
Limpieza y conformación
• Data Cleansing: implementa los procesos de calidad de datos que permiten detectar
incoherencias en los datos o potenciales mejoras en los mismos.
• Rastreo de eventos de errores: captura los errores derivados de los procesos ETL,
proporcionando información valiosa sobre la calidad de datos y permitiendo la mejora de
los mismos.
• Creación de dimensiones de auditoría: permite crear metadatos asociados a cada tabla. Estos
metadatos permiten, entre otros, validar la evolución de la calidad de los datos.
• Deduplicación: eliminar información redundante de tablas importantes como cliente o
producto. Requiere cruzar múltiples tablas en múltiples sistemas de información para
detectar el patrón que permite identificar cuando una fila está duplicada.
• Conformación: permite identificar elementos equivalentes que permiten compartir
información entre tablas relacionadas.
Entrega
• Slowly Changing Dimension (SCD): permite crear atributos de variabilidad lenta a lo largo
del tiempo.
• Surrogate Key: permite crear claves subrogadas independientes para cada tabla.
• Jerarquías: permite hacer inserciones en estructuras jerárquicas de tablas.
• Dimensiones especiales: permite crear dimensiones especiales como junk, mini o de
etiquetas.
• Tablas de hecho: permite crear tablas de hecho.
• Pipeline de claves subrogadas: permite remplazar las claves operacionales por las claves
subrogadas.
• Constructor de tablas multivaluadas: permite construir tablas puente para soportar las
relaciones N:M.
• Gestión para información tardía: permite aplicar modificaciones a los procesos en caso que
los datos tarden en llegar.
• Gerente de dimensión: autoridad central que permite crear y publicar dimensiones
conformadas.
• Aprovisionador de tablas de hecho: permite la gestión de las tablas de hecho.
• Creador de agregadas: permite gestionar datos agregados.
• Creador de cubos OLAP: permite alimentar de datos a esquemas OLAP desde esquemas
relacionales.
• Propagador de datos: permite preparar información conformada para ser entregada.
Gestión
OLAP forma parte de lo que se conoce como sistemas analíticos que permiten responder
preguntas de tipo ¿por qué paso? Estos sistemas pueden encontrarse tanto integrados en suites
de Business Intelligence como de forma independiente.
Una herramienta OLAP está formada por un motor y un visor. El motor es, en realidad, justo el
concepto que acabamos de definir. El visor OLAP es una interfaz que permite consultar,
manipular, reordenar y filtrar datos existentes en una estructura OLAP mediante una la interfaz
gráfica de usuario que dispone de funciones de consulta MDX2 y otras.
Las estructuras OLAP permiten resolver preguntas que serían sumamente complejas de
resolver mediante consultas SQL.
Si tenemos un cubo, como el de la imagen anterior, formado por el tiempo, los productos y las
medidas, la respuesta es la intersección entre los diferentes elementos. Cabe observar que una
estructura de esta forma permite consultas mucho más completas como por ejemplo comparar
el margen de beneficios de febrero y mayo, entre diferentes productos...
Además, mediante el visor OLAP se proporcionan libertad a los usuarios finales para realizar
dichas consultas de forma independiente al departamento de IT.
Existen diferentes tipos de OLAP, en función a la forma en que se almacenan los datos.
Podemos destacar los siguientes:
Cada tipo tiene ciertas ventajas e inconvenientes, aunque hay desacuerdo sobre las ventajas
entre los diferentes proveedores se suelen cumplir las siguientes máximas:
• MOLAP funciona mejor en sistemas con un volumen bajo/medio de datos. Es más rápido en
calcular agregaciones y retornar respuestas y necesita menos espacio de almacenaje.
Últimamente, in-memory OLAP está apuntalándose como una opción muy válida al MOLAP.
• ROLAP se considera más escalable. Sin embargo, el pre-proceso necesario en las consultas
es difícil de implementar eficientemente en grandes volúmenes de datos. De otro modo, el
funcionamiento de las consultas puede no ser óptimo.
• HOLAP es una solución de compromiso entre MOLAP y ROLAP, permite preprocesar
rápidamente los datos y escalar adecuadamente.
Todos los tipos son, sin embargo, propensos a la explosión de la base de datos. Éste es un
fenómeno causado por la gran cantidad de espacio de almacenaje que requieren las bases de
datos OLAP al resolver consultas con ciertas, pero frecuentes, condiciones: alto número de
dimensiones, resultados calculados de antemano y datos multidimensionales escasos.
OLAP permite el análisis multidimensional. Ello significa que la información está estructurada
en ejes (puntos de vista de análisis) y celdas (valores que se están analizando).
La definición de OLAP presentada anteriormente se basa en las 12 leyes que acuñó Edgar F.
Codd en 1993. Estas reglas son las que, en mayor o menor medida, intentan cumplir los
fabricantes de software:
1. Estudio preliminar
El primer paso en todo proyecto, y esto se aplica también a aquellos vinculados a las
tecnologías de la información, es determinar la viabilidad y la rentabilidad del mismo. En
nuestro caso particular, es necesario hacer un análisis del periodo de retorno de inversión, de
la tasa interna de rentabilidad, del descuento de flujos financieros y del retorno de la
inversión.
Los datos proporcionados no permiten entrar en un detalle pormenorizado de las líneas que
componen costes y beneficios, si bien en un caso real para llegar a estas cantidades se habrán
determinado las principales magnitudes, como, por ejemplo, el coste de hardware, software,
implementación, mantenimiento o ampliación del proyecto.
En el escenario planteado se considera que la inversión inicial, antes del primer año, y que los
beneficios que proporciona el proyecto se refieren a beneficio bruto.2
Esta información se resume en la siguiente tabla y nos permite calcular el flujo de caja durante
los primeros cinco años del proyecto.
Consecuentemente, podemos calcular las métricas que nos permitirán tomar una decisión sobre
el proyecto:
• Para calcular el flujo de caja del proyecto en un determinado año t, que llamaremos Ft, se
realiza la diferencia entre beneficios y costes (o en el caso del primer año, la inversión
inicial). De esta forma, el flujo de caja del año inicial es:
• Para calcular el VAN en el período t, es necesario utilizar la siguiente fórmula:
donde asumimos que TIRi es constante e igual a la tasa de descuento, donde Fi es el flujo de
caja.
• De esta forma, para calcular el VAN para el primer año, simplemente aplicamos la fórmula:
• El cálculo del TIR es más complejo. Supone resolver la ecuación resultante de igualar el
VAN del periodo t a cero.
La ecuación en el año 1 no tiene sentido por definición. El TIR se calcula para el segundo
año. Para nuestro caso particular en el año 2, la ecuación resultante es:
Y sustituyendo nos proporciona el valor: -73.7 %. Como es posible deducir a medida que
hay más años, la ecuación polinómica a resolver resulta más compleja. Por ejemplo, para el
año 3 deberíamos resolver una ecuación de tercer grado (para la que hay aún fórmula). De
forma que se usa software como Excel para resolver, de forma automática, este tipo de
cálculo usando una función.6
• Para el cálculo de ROI, debemos aplicar la siguiente fórmula:
Consecuentemente, podemos evaluar los resultados que nos permitirán tomar una decisión
sobre el proyecto:
• El cálculo del TIR nos indica que no se superará el mínimo de rentabilidad exigido por la
organización (el 10 %), condición necesaria para dar viabilidad al proyecto. De forma que,
tras el período de cinco años, el proyecto no es viable.7
• El cálculo del TIR también nos indica una serie de rasgos importantes: (1) con los beneficios
identificados a partir del quinto año se llegará a un valor positivo en rentabilidad (3 %), por
lo que si la rentabilidad exigida fuera del 3 %, el proyecto se consideraría viable; (2) en el
caso de considerar una rentabilidad del 3 %, será necesario a lo largo del proyecto
identificar otros beneficios potenciales que puedan derivarse del almacén de datos y que
permitan conseguir antes la rentabilidad exigida y mayores beneficios; y (3) en este
escenario, será necesaria una gestión excelente del proyecto, pues cualquier impacto en
tiempo, recursos y dinero puede incidir negativamente sobre la rentabilidad.
• El cálculo del VAN, como es posible imaginar, está vinculado con el cálculo del TIR. Si uno
nos indica el periodo en el que llegamos a la rentabilidad exigida, el otro indica la cantidad
de ganancias. En nuestro caso particular, en el quinto año, la inversión producirá ganancias
por debajo de la rentabilidad exigida (10 %) y, por lo tanto, es natural que el VAN sea
negativo en dicho año.
• Por otro lado, por las hipótesis de esta actividad, sabemos que a partir del segundo año se
genera beneficio neto positivo. Pero no es hasta el quinto año donde realmente se genera un
ROI positivo para el proyecto. Esto nos da una idea de que este tipo de proyectos son a largo
plazo y, por ello, es necesario identificar áreas de alto impacto para asegurar la continuidad
de los mismos a largo plazo.
Teniendo en cuenta estos resultados, los comentarios iniciales para la gerencia es que el
proyecto no consigue la rentabilidad esperada a los cinco años y no es viable. En el caso de
considerar una tasa de retorno del 3 %, sería viable, pero con un retorno de la inversión muy
limitado. En este sentido, las recomendaciones más prudentes son:
• Revisar el escenario actual para identificar otros posibles beneficios, así como potenciales
reducciones de costes para reducir los riesgos en la viabilidad y la rentabilidad.
• En el caso de que sea posible, conseguir otros escenarios para la implementación del
proyecto (en los que cambia la solución, el hardware, el proveedor y los costes) para poder
tener otras opciones a comparar.
• En el caso de que no sea posible tener otros escenarios y deber desarrollar el proyecto con
un escenario con tasa 3 %, cabe iniciar el proyecto con personal experto en la gestión de
proyectos de implementación de almacenes de datos para evitar impactos en la rentabilidad y
viabilidad del proyecto.
2. Entorno de trabajo
El presente caso se ha implementado sobre una máquina con las siguientes características:
El análisis de requerimientos se basa en identificar las necesidades específicas que tiene una
organización particular con respecto al análisis de la información. La información recopilada
en esta fase permite definir a posteriori los procesos de negocio a analizar y las perspectivas
de negocio sobre las que interesa analizar el rendimiento de la organización.
Normalmente, en esta fase, se debe ser previsor y pensar más allá de las necesidades actuales
para poder cubrir las futuras. Por ejemplo, si los usuarios han mostrado interés por un análisis
mensual, pero hay información más detallada, es necesario identificar si la solución de
factoría de información puede beneficiarse a futuro de información más desglosada o es
suficiente con ciertos niveles agregados de información.
Es necesario comentar que, aunque para esta actividad el análisis de requisitos se fundamenta
en el enunciado proporcionado y se complementa con las fuentes de datos, esta fase se debe
realizar entrevistando al cliente, analizando las necesidades de información de la organización
que se cubren actualmente y las que debe cubrir el proyecto a futuro. Por lo que, como
consultores del proyecto, es conveniente hacer un diagnóstico y conceptualización adecuada
del mismo. Es decir, identificar claramente los objetivos y el contenido del proyecto.
En este caso, el objetivo es diseñar un almacén de datos que permita mejorar la gestión del
área de hospitalización. En el caso del contenido, el proyecto incluye la creación e
implementación de un modelo relacional, el diseño e implementación de procesos ETL, el
diseño e implementación del modelo OLAP y, por último, el diseño de las consultas mínimas
establecidas en el enunciado.
Esto se traduce en que, dentro de las necesidades de información por parte de la dirección
clínica y el propio centro, podemos identificar las siguientes:
1) Conocer la evolución del uso del área de hospitalización, que consiste en conocer el uso
que han realizado los ciudadanos de los servicios de hospitalización a lo largo del tiempo:
cuántos pacientes ha tenido el área, cuál ha sido su episodio, qué tipo de demanda
quirúrgica hay asociada a la hospitalización, cuál ha sido la evolución del paciente en caso
de reingreso, etcétera.
2) Esta evolución debe poderse analizar desde diferentes puntos de vista. Para cada paciente,
en el momento de alta en el área de hospitalización se debe registrar la siguiente
información, la cual nos proporciona diferentes perspectivas de negocio para el análisis:
• Fecha de entrada del paciente.
• Servicio que prescribe la inclusión en RDQ.8
• Facultativo.
• Prioridad clínica del paciente.
• Diagnóstico de inclusión.
• Procedimiento quirúrgico.
• Situación del paciente.
• Motivo de salida.
• Fecha de salida.
Si se tiene en cuenta toda esta información, el sistema resultante podrá responder a múltiples
preguntas que puedan generar la dirección clínica y el propio centro.
De forma específica, se pide que el sistema debe, como mínimo, ser capaz de dar respuesta a
las siguientes preguntas:
En siguientes fases de esta actividad, será necesario definir otros aspectos relevantes para este
tipo de proyectos como, por ejemplo, la periodicidad de los datos (para determinar la
necesidad de carga y las ventanas de carga existentes).
En este sentido, en los proyectos de diseño de factoría de información corporativa existe una
fase inicial del proyecto en la que se realiza una carga inicial, pero a posteriori hay cargas
incrementales que reducen y optimizan el tiempo de carga necesario.
En los proyectos de almacenes de datos resulta muy relevante analizar las fuentes de datos. De
su análisis puede desprenderse información clave para el éxito y la evolución de proyecto, así
como la identificación de riesgos vinculados. Por ejemplo:
Puesto que en nuestro caso particular no tenemos acceso a las partes interesadas del proyecto,
usaremos el sentido común para el análisis de fuentes de datos.
Para esta actividad contamos con solo una fuente de datos, que es un fichero Excel
denominado BI_UOC_Datos_Hospitalizacionv1.
Este fichero puede descargarse desde la wiki del libro9. Los principales aspectos a destacar
de esta fuente de información son:
El resultado del análisis de los campos anteriores se recoge en la siguiente tabla, que presenta
el resultado del análisis realizado en cada uno de los campos en términos de tipo de datos y
nivel de información contenida. Esta última columna presenta el nivel de información, o bien
refleja si debe omitir el campo.
Este análisis nos permite identificar que, de los 39 campos que tiene cada registro, hay 12 que
se pueden omitir. Estos campos son valores auxiliares que permiten usar el fichero Excel para
crear consultas de negocio comparativas. El modelo MOLAP que crearemos en posteriores
fases de esta actividad permite recrear este tipo de análisis comparativos.
De los 27 campos restantes, existen 8 que pueden estar vacíos o ser opcionales, puesto que,
para algunas hospitalizaciones, el paciente no habrá pasado por todas las unidades y, por lo
tanto, no tendrá asociada una estadía. En este sentido, en el momento de carga de datos,
podemos completar el campo con el valor nulo correspondiente.
3.3. Análisis funcional
En el momento de considerar los requisitos funcionales, es necesario tener en cuenta que cada
requisito tendrá una prioridad asociada y podrá ser exigible o deseable.
En el contexto de esta actividad, los requerimientos exigibles son aquellos que demanda el
enunciado y los deseables son aquellos que complementan la actividad.
Cabe comentar que, en un caso genérico, podemos encontrar otros requerimientos funcionales
como:
• Atributos:
– Episodio: identificación episodio.
– NHC: número de historia clínica.
• Métricas:
– d_hosp: días hospitalizado.
– est_ReaPQ: estadía en servicios especiales de reanimación (en milisegundos).
– est_sep: estadía en servicios especiales (en milisegundos).
– est_UCI: estadía en servicios especiales de Unidades de Cuidados Intensivos (en
milisegundos).
– est_UCI_CCA: estadía en servicios especiales de Unidades de Cuidados Intensivos CCA
(en milisegundos).
– est_uni_coro: estadía en servicios especiales de enfermedades coronarias (en
milisegundos).
– num_unid: número de unidades por las que ha pasado un paciente.
– p_GRD: peso GDR que permite medir la complejidad.
– t_hosp: tiempo de hospitalización.
Las dimensiones corresponden a las perspectivas de negocio sobre las que queremos analizar
el proceso de hospitalización:
4.2. Diseño lógico
Para cada dimensión, se han determinado sus atributos, y para las tablas de hechos, las
principales métricas. De nuevo, se debe tener en cuenta la consideración anterior que detalla
las dimensiones de cada tabla de hecho.
• Tipo de base de datos con el que trabajamos, puesto que cada una de ellas tiene su
particularidad.
• El diseño físico debe estar orientado a generar un buen rendimiento en el procesamiento de
consultas.
• Se debe definir también los procesos de administración futuros del data warehouse.
• El diseño físico inicial deberá revisarse, de forma periódica, para validar que continúa
dando respuesta a las necesidades del cliente.
Una vez determinados qué hechos, dimensiones, métricas y atributos existen, podemos
determinar también las claves foráneas que debe incluir el modelo físico. En este paso, es
necesario tener en cuenta el tamaño adecuado de los atributos (por ejemplo, qué longitud tiene
una cadena). También es relevante acordarse de crear las pertinentes claves primarias, claves
foráneas y disparadores (por ejemplo, para actualizar de forma automática las claves
primarias).
Un detalle importante es que nuestra tabla de hechos tiene cinco referencias temporales. En
lugar de crear cinco dimensiones temporales diferentes, es mucho más lógico crear una única
dimensión temporal a nivel físico y que la tabla de hechos tenga cinco claves foráneas que
apuntan a dicha dimensión, puesto que todas las dimensiones tienen el mismo nivel de
profundidad. A esta única dimensión temporal la llamaremos d_fecha.
Tras esta reflexión, ha llegado el momento de pasar al diseño físico mediante Oracle XE. En
la entrada titulada «Implementación de las tablas del data warehouse en la base de datos» de
la wiki del libro,11 se encontrará el detalle de cómo hacerlo. En la wiki también se encontrará
el script de creación de la base de datos.12
Dichos recursos web pueden accederse mediante los siguientes códigos QR:
Después de crear las distintas tablas en la base de datos, obtendremos el siguiente esquema:
Así, tenemos una tabla de hecho y 8 tablas de dimensiones. Como ya hemos comentado, las 8
dimensiones en realidad representan 13 dimensiones (como podemos validar con las
relaciones entre la tabla de hecho y las dimensiones).
5. Metadatos
En cada fase del diseño de una factoría de información corporativa, debemos tener en cuenta
los metadatos necesarios y asociados. Aunque trabajamos con un ejemplo limitado, podemos
reflexionar sobre los metadatos a considerar. En cuanto al diseño del almacén de datos, es
necesario tener en cuenta los siguientes metadatos:
Parte de esta información está presente en este documento, y también está accesible a través
del sistema gestor del almacén de datos. Frecuentemente, se incluye un gestor de metadatos
para gestionar de forma correcta, y en único punto, este tipo de información y favorecer
posteriores desarrollos.
Un tipo de metadato más vinculado con el ciclo de vida del dato es cuando es creado y
cuando, de ser necesario, es modificado. Aunque no lo hemos contemplado en nuestra
solución, por su limitación de alcance, cada tabla puede incluir un par de campos para
gestionar este tipo de información.
Este ejemplo es pequeño, por lo que parte de lo que vamos a comentar en esta sección es
opcional. La optimización de la factoría de información es un proceso continuo; es necesario
tener en cuenta:
Después de la carga de datos, discutiremos sobre el tamaño actual del almacén y sus
necesidades futuras.
Una vez que el data warehouse está diseñado e implementado en la base de datos, el siguiente
paso es la creación de los procesos de carga de datos en el mismo, tal y como se ve en la
siguiente sección.
6. Carga de datos
Una vez tenemos una propuesta de diseño del almacén de datos y ha sido implementada en la
base de datos con la que trabajamos, es el momento de centrarnos en los procesos ETL. Como
ya sabemos, estos procesos consisten en la extracción, transformación y carga de los datos. En
definitiva, lo que se persigue es estructurar y acomodar los datos de las fuentes de origen en el
almacén de datos.
En nuestro caso particular tenemos solo una fuente de origen, un fichero Excel, y una fuente de
destino, Oracle, la base de datos donde se aloja nuestro almacén de datos.
Los procesos ETL deben conceptualizarse como manipulaciones de flujos de datos. Estos
procesos deben diseñarse teniendo en cuenta diversos factores: (1) cómo debe cargarse de
forma lógica la información, es decir, qué debe cargarse primero y qué después, (2) la ventana
de tiempo disponible, hecho que puede condicionar lo que debemos cargar, y (3) tipo de
carga: inicial o incremental.
En nuestro caso, está claro que esta es una carga inicial, por lo que nuestros procesos no se
diseñarán con el objetivo de repetirse periódicamente. También es cierto que desconocemos la
ventana de tiempo disponible (y no es una condición para esta actividad), pero en el contexto
de producción este es un factor muy relevante. Un diseño incorrecto de los procesos ETL
puede significar que la información no está disponible en el almacén de datos y, por lo tanto,
que consecuentemente no está disponible para usuarios, procesos y aplicaciones que se
apalancan sobre esta información de calidad.
El primer paso en la creación de los procesos ETL es comprender qué procesos son
necesarios y en qué orden deben realizarse. En general, el criterio de los procesos ETL sigue
las siguientes pautas:
Vamos a describir, en este apartado, la funcionalidad a alto nivel de los procesos ETL que
hemos identificado. Tener claro a alto nivel qué debe hacer el ETL ayuda a posteriori en el
proceso de diseño usando una herramienta específica.
En el momento de diseñar los procesos ETL, se empieza siempre por las dimensiones y se
finaliza con la tabla de hecho, ya que necesitamos las claves primarias de cada una de las
dimensiones para insertar valores en la tabla de hecho.
La estrategia, en este caso, es la que sigue:
• Existen varias dimensiones que no cambian en el tiempo y que presentan un número reducido
de casos. Para estas dimensiones, simplemente identificamos los valores que las componen y
hacemos una inserción directa en la base de datos.
• Para el resto de dimensiones, se creará un proceso ETL para cada una de ellas que extraerá
los datos de la fuente de origen, transformará el dato en la medida que lo necesite la
dimensión y realizará un proceso de inserción en la correspondiente tabla en el data mart
previamente creado.
• Finalmente, se creará un proceso ETL para la tabla de hecho que extraerá los datos de la
fuente de origen, recuperará la clave primaria de cada dimensión para cada registro y
realizará el proceso de inserción.
Para cada ETL describimos su objetivo y las tareas (o pasos) que lo componen.
Vamos a revisar brevemente el proceso ETL para la tabla de hechos. La siguiente captura de
pantalla muestra el proceso completo de la carga inicial de la tabla de hechos. Este proceso
ETL está formado por 12 pasos en los que, progresivamente, se capturan, preparan e insertan
los datos:
• Paso 1: extracción de datos de la fuente de origen Excel. En este mismo paso, indicamos qué
valores vamos a omitir en la hoja Excel, puesto que no son necesarios para la tabla de hecho
o para recuperar las claves primarias de las tablas de dimensiones.
• Pasos 2 al 10: cruzamos la información del fichero Excel con la información de cada una de
las dimensiones para recuperar el id correspondiente del registro de la dimensión. Como es
posible apreciar, se empieza en este ejemplo con la dimensión tipo de alta y se finaliza con
la dimensión fecha urgencia.
• Paso final: insertamos el flujo de datos que contiene las métricas y las claves foráneas en las
tablas de dimensiones y en la tabla de hecho.
En la wiki del libro podéis encontrar información detallada sobre cómo se han cargado las
dimensiones estáticas,13 sobre el entorno ETL utilizado para crear los procesos ETL14 y sobre
cómo se han creado los procesos ETL para cargar los datos de las dimensiones dinámicas y
las tablas de hechos.15
Tras el diseño de los procesos de carga y la ejecución de los mismos, podemos conocer el
tamaño del almacén de datos. Esta información va a permitir a futuro optimizar la factoría de
información. Por ejemplo, teniendo en cuenta el tamaño de los registros para este ejemplo, no
se propone una vista por años, pero quizás sería conveniente en el ejemplo real.
Una vez tenemos la información cargada en nuestro almacén de datos, ya podemos pasar a la
fase de explotación.
Una vez realizada la carga de datos en nuestro data warehouse, es el momento de crear un
modelo OLAP. Para ello, debemos identificar qué usuarios son los susceptibles de usar
análisis multidimensional, teniendo en cuenta que este tipo de usuarios son avanzados y, por lo
tanto, buscan analizar ellos mismos la información.
Como se apuntó en el análisis de requerimientos, los usuarios del sistema son la dirección
clínica y el propio centro. Dentro de la dirección clínica y el propio centro, los potenciales
tipos de usuario que pueden usar el modelo OLAP son diversos:
• Responsable del área de hospitalización. Este usuario busca comprender la evolución del
área de hospitalización y tener claro qué servicios son los más demandados para poder
planificar, de forma adecuada, los servicios que se ofrecen. El usuario consultará la
información directamente o a través de la figura de un analista de negocio.
• Dirección clínica. A través de la figura de un analista de negocio, se busca entender cómo ha
evolucionado el área de hospitalización dentro del conjunto de áreas del hospital y cómo lo
que sucede en ella afecta al comportamiento global del hospital.
• Departamento financiero. Cada tipo de estadía tiene asociado un coste para el hospital.
Incluso teniendo un fin social, el hospital debe controlar correctamente los costes asociados
por paciente, para garantizar su sostenibilidad. Por tanto, el analista financiero/contable
deberá ser capaz de cruzar esta información con los costes para poder identificar si se ha
seguido el presupuesto planeado, calcular los costes reales y poder hacer planificaciones
futuras.
Para la creación del modelo OLAP, vamos a hacer uso de Visual Studio 2010, que nos va a
permitir generar de forma sencilla una estructura MOLAP basada en las tablas en Oracle que
hemos diseñado con anterioridad.
Una pregunta natural que surge es la siguiente: ¿qué sentido tiene crear un modelo OLAP?
Crear un modelo OLAP significa crear un cubo que represente el data warehouse o, en
general, un subconjunto del mismo. La importancia de crear este elemento de análisis es
múltiple:
La creación del cubo OLAP necesario para contestar las preguntas analíticas planteadas es un
proceso altamente tecnológico, el cual dependerá de la herramienta a utilizar. El cubo
responderá a los criterios establecidos (dimensiones, hechos, jerarquías de agregación) en el
apartado de diseño del data warehouse. El lector encontrará en la wiki información sobre el
entorno que hemos utilizado para la creación del cubo OLAP,16 sobre cómo enlazar esta
herramienta con los datos del data warehouse,17 sobre cómo crear el cubo OLAP18y sobre
cómo acabar de ajustar el cubo y definir las jerarquías de agregación.19 El cubo resultante y
sus dimensiones se muestran en la siguiente figura:
Una vez generado el cubo, es necesario procesarlo. El procesado tiene dos funciones: la
validación del cubo y la generación del cubo. La validación comprobará que la estructura del
cubo es correcta. La generación es importante porque realizará precálculos del cubo para
mejorar el tiempo de respuesta del sistema. En la wiki del libro se puede ver, paso a paso,
cómo realizar la generación del cubo y acabar de ajustar los últimos detalles del mismo para
su uso.20
1 Según W. H. Inmon (consideradopormuchos el padre delconcepto), un data warehouse es un conjunto de
datosorientadosportemas, integrados, variantes en el tiempo y no volátiles, quetienenporobjetivodarsoporte a la toma de
decisiones. Según Ralph Kimball (considerado el principal promotordelenfoque dimensional para el diseño de almacenes de
datos), un Data Warehouse esunacopia de los datostransaccionalesespecíficamenteestruc¬turadapara la consulta y el análisis.
2 MDX hacereferencia a multidimensional expressions.Se considera el lengua¬je de consulta OLAP estándarde facto en el
mercado.
1 Determinarcorrectamentelas magnitudes quedefinen el proyectoparapodercalcular de forma precisa la viabilidad y
rentabilidaddelproyectoesuna de lasfasesmásrelevantes del proyecto y, es crucial paradeterminarpreviamente y posteriormente
el éxito del proyecto de la implementación del almacén de datos.
2 Esconvenienteconsiderardiferentesescenarios y calcularsucorrespon¬dienteanálisis de viabilidaddelproyecto. En el wiki
esposibleencontrarunaextensión de esteanálisis en la que se incluyen dos escenariosmásquecomplementan el análisisrealizado.
http://cv.uoc.edu/webapps/xwiki/wiki/disenodatawarehouse/
3 Acrónimo de valor actual neto, cuyosignificadoes el valor presente de undeterminadonúmero de flujos de cajafuturos.
4 Acrónimo de tasainterna de retorno, cuyosignificadoes el promediogeomé¬trico de los rendimientosfuturosesperados de
dichainversión, tasa de des¬cuento con la que el valor actual neto o valor presenteneto (VAN o VPN) esigual a cero.
5 Acrónimo de return on investment (retorno de la inversión).
6 Las hojas de datosactualesofrecenfuncionesparacalcular el TIR fácil¬mente.Porejemplo, con Excel la
funcióncorrespondienteesTIR().
7 En el caso de tenerinformaciónpormeses, se podríaajustar, con mayor precisión, el períodonecesarioparaque el proyectollegue
a la rentabilidadestablecidapor la tasa de descuento.
8 Acrónimo de registro de demandaquirúrgica.
9 http://goo.gl/yuvmvy
10 Estructura de cargaintermedia.
11 http://goo.gl/CtxQS0
12 http://goo.gl/iz7RZQ
13 http://goo.gl/tbZPd7
14 http://goo.gl/43IkFw
15 http://goo.gl/xF5sa1
16 http://goo.gl/y2Sgdo
17 http://goo.gl/syLbvD
18 http://goo.gl/66dcVs
19 http://goo.gl/rTFgwG
20 http://goo.gl/2kMOHP
Bibliografía
Referencias
Una vez llegados a este punto, ya tenemos la infraestructura necesaria para la creación de las
consultas que den solución a las necesidades analíticas definidas por los usuarios de negocio.
Como se indica en el reto, el sistema debe ser capaz de responder a las siguientes preguntas:
En este apartado final de la solución, veremos cómo el cubo OLAP que hemos diseñado es
capaz de responder a cada una de preguntas anteriores.
OLAP es una herramienta de alto valor para un usuario que persigue comprender un aspecto de
negocio desde múltiples perspectivas y necesita una herramienta flexible que le proporcione
respuestas, tal y como se van generando preguntas en un proceso de autoservicio.
Está claro que las 14.326 altas han estado precedidas de 83.866 días de hospitalización.
Pero es necesario contextualizar estas métricas. Por ello, una pregunta natural es segmentar
este tipo de información por tipo de admisión. Esto nos da:
Este análisis nos permite entender que, si bien hay más hospitalizaciones programadas, es
cierto que las urgentes generan más días de hospitalización.
Al añadir, por ejemplo, el nivel año de la dimensión fecha alta, descubrimos rápidamente que
hubo más altas de hospitalizaciones en 2012 que en 2013.
También podemos hacernos otras preguntas con respecto a las hospitalizaciones, como por
ejemplo, si ingresan más hombres que mujeres:
Como en los casos anteriores, para responder esta pregunta simplemente tenemos que arrastrar
los niveles y las medidas que nos interesan. Es decir, hospitalizaciones y Desc Servicio.
De igual manera, añadiendo las fechas de ingreso, podríamos estudiar cómo ha evolucionado
el servicio.
Finalmente, este análisis nos permite conocer que el paciente que ingresó en 2008 lo hizo por
cirugía general y digestiva.
Estas son algunas de las preguntas que puede hacerse un usuario. A medida que el usuario
conozca más a fondo los datos presentes como sus capacidades, es probable que, de forma
natural, pida mayor información. Lo que implicará enriquecer el modelo incluyendo nuevas
métricas o más información para las dimensiones.