Siempre que el valor de un elemento de datos se deriva de los valores de uno o varios otros elementos de datos, podemos decir que el valor derivado depende de los valores utilizados para derivarlo. Si posteriormente cambian uno o varios de los valores de los que depende, se debe recalcular el elemento de datos derivado para obtener el nuevo valor.
El gestor de dependencias utiliza los términos siguientes para encapsular estos conceptos:
Elemento de datos derivado cuyo valor se calcula a partir de otros elementos de datos (precedentes).
Elemento de datos cuyo valor puede utilizarse para calcular elementos de datos derivados (dependientes).
Registro del hecho de que el valor de un determinado dependiente depende del valor de un precedente en particular.
Registro del hecho de que el valor de un precedente en particular se ha modificado de alguna manera.
Conjunto de elementos de cambios de precedente, agrupados conjuntamente para el proceso; se utiliza para identificar dependientes potencialmente afectados que requieren recálculo.
Recálculo de un dependiente que queda potencialmente afectado por uno o varios de los cambios en los precedentes de un conjunto de cambios de precedente.
Estos conceptos se describen mejor mediante un ejemplo.
Digamos que la titularidad de un demandante para beneficiarse se calcula a partir de datos tales como:
Juan, un demandante, tiene dos casos (123 y 124) y María, otro demandante, tiene un caso (125). También hay casos y detalles personales para otros demandantes y también algunas tarifas de pensión que se utilizan para otros cálculos.
En este ejemplo, la titularidad calculada para cada caso es un dependiente y los detalles personales, pruebas y tarifas/umbrales son precedentes.
Podemos trazar una matriz dispersa que muestre las dependencias entre los dependientes y los precedentes (una "X" indica la presencia de una dependencia):
Precedente | Titularidad del caso 123 | Titularidad del caso 124 | Titularidad del caso 125 | Titularidad del caso 126 |
---|---|---|---|---|
Detalles personales de Juan | X | X | ||
Detalles personales de María | X | |||
Detalles personales de Fran | ||||
Pruebas del caso 123 | X | |||
Pruebas del caso 124 | X | |||
Pruebas del caso 125 | X | |||
Pruebas del caso 126 | X | |||
Tarifas de prestación | X | X | X | X |
Umbrales de ingresos | X | X | X | X |
Tarifas de pensión |
Por lo tanto, para examinar algunos ejemplos de la matriz de dependencias:
Tenga en cuenta que la matriz se puede leer:
A medida que crece el número de precedentes y dependientes en el sistema, la matriz de dependencias aumenta de tamaño. Dado que la matriz sólo se ha llenado escasamente (es decir, cada dependiente depende sólo de una pequeña fracción de los precedentes disponible), los datos de la matriz se almacenan sólo para las dependencias que están presentes, como se indica a continuación:
Dependiente | Precedente | |
---|---|---|
Titularidad del caso 123 | depende de | Detalles personales de Juan |
Titularidad del caso 123 | depende de | Pruebas del caso 123 |
Titularidad del caso 123 | depende de | Tarifas de prestación |
Titularidad del caso 123 | depende de | Umbrales de ingresos |
Titularidad del caso 124 | depende de | Detalles personales de Juan |
Titularidad del caso 124 | depende de | Pruebas del caso 124 |
Titularidad del caso 124 | depende de | Tarifas de prestación |
Titularidad del caso 124 | depende de | Umbrales de ingresos |
Titularidad del caso 125 | depende de | Detalles personales de María |
Titularidad del caso 125 | depende de | Pruebas del caso 125 |
Titularidad del caso 125 | depende de | Tarifas de prestación |
Titularidad del caso 125 | depende de | Umbrales de ingresos |
Titularidad del caso 126 | depende de | Pruebas del caso 126 |
Titularidad del caso 126 | depende de | Tarifas de prestación |
Titularidad del caso 126 | depende de | Umbrales de ingresos |
(Tenga en cuenta que la tabla anterior se muestra ordenada por dependiente, lo que hace que sea más fácil ver el conjunto de dependencias para cada dependiente, pero también se podría mostrar ordenada por precedente, lo que haría más fácil ver los dependientes potencialmente afectados por un cambio en el valor que dicho precedente.)
Supongamos que los detalles personales de Juan cambian. Puesto que las dependencias están registradas en los detalles personales de Juan, el Gestor de dependencia es capaz de identificar que los casos 123 y 124 requieren recálculo. Cuando se recalculan los casos, los valores de titularidad cambian (debido al cambio en los detalles personales de Juan); pero tenga en cuenta que en situaciones típicas, las propias dependencias no cambian: antes del recálculo, el caso 123 dependía de los detalles personales de Juan, de las pruebas almacenadas para el caso, de las tarifas de prestación y de los umbrales de ingresos y, después del recálculo lo mismo es cierto.
Es posible que cambie más de un valor de precedente de forma simultánea, por ejemplo, si la agencia opta por modificar las tarifas de prestación y los umbrales de ingresos, se deben recalcular todos los casos. Ingenuamente, cada caso se identificaría dos veces (una por el cambio en las tarifas de prestación y otra de nuevo por el cambio en los umbrales de ingresos); sin embargo, el Gestor de dependencias soporta la agrupación de estos dos cambios de precedentes en un conjunto de cambios de precedente. Cuando el Gestor de dependencias procesa el conjunto de cambios de precedente filtra automáticamente los dependientes duplicados identificados para realizar el trabajo mínimo necesario para recalcular los dependientes.