Cálculo de costo cobertura VNT (Monto en Riesgo)
Función
general
-
Permite calcular el importe de costo cobertura para
el producto VNT, tomando en cuenta el Monto en Riesgo de la póliza.
-
El nombre que se utiliza en el diseñador de productos para referenciar
a esta rutina es "CPREMAPV"
Información
técnica
|
|
Identificación
|
Tipo
|
insCalcPremApv |
Función |
Parámetros
de entrada
-
Tipo de registro: Tipo de registro (Solicitud, cotización,
póliza).
-
Ramo: Código de ramo asociado a la póliza en tratamiento.
-
Producto: Código del producto asociado a la póliza
en tratamiento.
-
Póliza: Número identificativo de la póliza
en tratamiento.
-
Certificado: Número identificativo del certificado en tratamiento.
-
Fecha de efecto: Fecha de efecto o ejecución de la operación.
-
Fecha de inicio de vigencia de la póliza/certificado.
-
Moneda: Código de la moneda asociada a la cobertura a la
que se le realiza el cálculo de la prima.
-
Cobertura: Código de la cobertura a la que se le realiza
el cálculo de la prima.
-
Cobertura básica: Código de la cobertura básica
del producto.
-
Capital: Capital de la cobertura a la que se le realiza el cálculo
de la prima.
Proceso
Se determina la edad real del cliente. Para determinar esto se debe buscar
en la tabla de clientes asociados a la póliza (Roles) el cliente
cuya figura sea asegurado principal (nRole 2) y se calcula la edad real
del cliente efectuando la diferencia en años entre la fecha pasada
como parámetro y la fecha de nacimiento del cliente (Client.dBirthDate).
-
Se calcula el número de años transcurridos
entre la fecha de emisión y la fecha de proceso, pasada como parámetro
-
W_YEARS = YEARS( P_DEFFECDATE - CERTIFICAT.STARTDATE
)
-
Se buscan los “Recargos o Descuentos sobre la edad"
asociados al asegurado y la cobertura indicados como parámetros:
-
Se leen los recargos/descuentos asociados al asegurado/cobertura
indicado (insured_expdis) que tenga asociada información en el campo
de “Edad” (insured_expdis.nAge <> 0).
-
Se verifica si el recargo/descuento se puede aplicar
según el indicador de "recargo temporal o permanente" y las fechas
de inicio y fin de vigencia. Si el recargo es "temporal", se verifica si
la fecha de efecto de la transacción se encuentra dentro de la fecha
de inicio y fin de vigencia asociado al recargo/descuento.
-
Por cada recargo/descuento se procede a re-calcular
la edad actuarial de la siguiente manera:
-
Si el registro corresponde a “Recargo” entonces,
Edad actuarial = Edad actuarial + Edad indicada
-
Si el registro corresponde a “Descuento” entonces,
Edad actuarial = Edad actuarial – Edad indicada
-
Nota: Pueden existir recargos/descuentos que
se aplican para todas las coberturas (nCover = 0)
-
Se determina la tasa (nRate) y el costo fijo a aplicar
a la cobertura mediante la lectura a la tabla de tarifas de VNT (Tar_APV)
tomando en cuenta el ramo, producto, poliza, cobertura, fecha de efecto
de la operación, la edad actuarial del asegurado determinada
en el paso anterior y el capital de la cobertura y el tipo de cálculo,
el cual debe ser "Costo cobertura" (campo nTypeCalc = 2). La tasa se almacena
en la variable W_RATE y el costo fijo en W_COST. El costo fijo W_COST será
agregado al final de la rutina, una vez aplicados los recargos/descuentos
-
Si el tipo de tarifa registrada es "porcentaje" (valor 1 del campo nType_tar),
entonces se hace W_RATE = W_RATE / 100; en caso contrario se hace W_RATE
= W_RATE / 1000.
-
Se invoca a la rutina de cálculo de valor de saldo promedio para
la póliza/certificado en tratamiento: ROU_AVG_BALANCE(). El valor
retornado debe ser expresado en UT. (La rutina acepta un parámetro
que indica la moneda en que se desea que retorne el monto.). El valor
retornado se almacena en la variable W_AVG_BALANCE.
-
Se lee de la tabla de tarifas de VNT (TAR_APV.) el valor del máximo
capital final registrado para esta cobertura ( Max (TAR_APV.nEND_CAPITAL))
para la cobertura en tratamiento. Este capital se almacena en la variabla
W_MAX_CAPITAL
-
Se asigna a la variable W_VALUE_A la suma de:
W_MAX_CAPITAL
-
Se asigna a la variable W_VALUE_X el valor del capital
asegurado de la cobertura (pasado como parámetro).
-
Se asigna a la variable W_VALUE_Y la operación
de : Capital asegurado de la cobertura + (W_CREDITS - W_DEBITS) -
W_AVG_BALANCE , donde:
- W_CREDITS = Sumatoria de todos los movimientos de
aporte de la póliza.
-
W_DEBITS = Sumatoria de todos los movimientos de
rescate total, rescate parcial y traspasos.
-
Se asigna a la variable W_VALUE_B, el mayor valor
entre W_VALUE_X, W_VALUE_Y
-
Se asigna a la variable W_AMOUNT_AT_RISK el menor
valor entre W_VALUE_A y W_VALUE_B
-
El monto de la prima es igual a:
-
CC = W_AMOUNT_AT_RISK * W_RATE
-
Se aplican los recargos/descuentos asociados a la
póliza-certificado en tratamiento (disc_xprem) sobre el costo cobertura
calculado anteriormente:
-
Se buscan todos los “Recargos/Descuentos” (no tomar
en cuenta los impuestos) asociados a la póliza/certificado en tratamiento
(disc_xprem), que apliquen para la figura/cobertura en tratamiento (según
dsex_condi).
-
Se toma el porcentaje asociado al nivel de la póliza/certificado
en tratamiento (disc_xprem.nPercent). En caso que no se haya indicado “porcentaje”
al nivel de la póliza, se toma como porcentaje/tasa el indicado
para el producto (dsex_condi.nRate).
-
Por cada recargo/descuento, se calcula el ajuste
sobre el costo cobertura y el nuevo monto de prima a cobrar o costo cobertura:
-
Si el registro corresponde a “Recargo”, entonces
el ajuste costo cobertura (CCA) = (CC * Porcentaje/100) + Monto fijo
-
Si el registro corresponde a “Descuento”, entonces
el ajuste costo cobertura (CCA) = ( (CC * Porcentaje/100) + Monto
fijo ) * -1
-
Costo cobertura (CC) = CC + Ajuste (CCA)
- Se aplican los “Recargos o Descuentos" asociados
al asegurado y la cobertura indicados como parámetros:
-
Se leen los recargos/descuentos asociados al asegurado/cobertura
indicado (insured_expdis) que no tengan asociada información en
el campo de “Edad” (insured_expdis.nAge = 0).
-
Se verifica si el recargo/descuento se puede aplicar
según el indicador de "recargo temporal o permanente" y las fechas
de inicio y fin de vigencia. Si el recargo es "temporal", se verifica si
la fecha de efecto de la transacción se encuentra dentro de la fecha
de inicio y fin de vigencia asociado al recargo/descuento.
-
Por cada recargo/descuento, se calcula el ajuste
sobre el costo cobertura y el nuevo monto de prima a cobrar o costo cobertura:
-
Si el tipo de unidad es "Porcentaje":
-
Si el registro corresponde a “Recargo”, entonces
el ajuste costo cobertura (CCA) = (CC * Porcentaje/100) + Monto fijo
-
Si el registro corresponde a “Descuento”, entonces
el ajuste costo cobertura (CCA) = ( (CC * Porcentaje/100) + Monto
fijo ) * -1
-
Si el tipo de unidad es "Pormilaje":
-
Si el registro corresponde a “Recargo”, entonces
el ajuste costo cobertura (CCA) = (Capital de la cobertura * Tasa/1000)
+ Monto fijo
-
Si el registro corresponde a “Descuento”, entonces
el ajuste costo cobertura (CCA) = ( (Capital de la cobertura * Tasa/1000)
+ Monto fijo ) * -1
-
Costo cobertura (CC) = CC + Ajuste (CCA) + W_COST
-
Nota: Pueden existir recargos/descuentos que
se aplican para todas las coberturas (nCover = 0)
Parámetros
de salida
-
Tasa: Tasa aplicar al capital de la cobertura.
-
Prima: Prima a aplicar en base a la tasa.