lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5631] Convert term rider at a given age or duration


From: Greg Chicares
Subject: [lmi-commits] [5631] Convert term rider at a given age or duration
Date: Fri, 21 Dec 2012 08:51:20 +0000

Revision: 5631
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5631
Author:   chicares
Date:     2012-12-21 08:51:20 +0000 (Fri, 21 Dec 2012)
Log Message:
-----------
Convert term rider at a given age or duration

Modified Paths:
--------------
    lmi/trunk/basic_values.hpp
    lmi/trunk/dbdict.cpp
    lmi/trunk/dbdict.hpp
    lmi/trunk/dbnames.hpp
    lmi/trunk/dbnames.xpp
    lmi/trunk/ihs_avmly.cpp
    lmi/trunk/ihs_basicval.cpp

Modified: lmi/trunk/basic_values.hpp
===================================================================
--- lmi/trunk/basic_values.hpp  2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/basic_values.hpp  2012-12-21 08:51:20 UTC (rev 5631)
@@ -290,6 +290,8 @@
     int                          MaxIncrAge;
     bool                         WaivePmTxInt1035;
     bool                         AllowTerm;
+    int                          TermForcedConvAge;
+    int                          TermForcedConvDur;
     bool                         TermIsDbFor7702;
     bool                         TermIsDbFor7702A;
     double                       ExpPerKLimit;

Modified: lmi/trunk/dbdict.cpp
===================================================================
--- lmi/trunk/dbdict.cpp        2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/dbdict.cpp        2012-12-21 08:51:20 UTC (rev 5631)
@@ -279,6 +279,7 @@
     ascribe("TermMinIssAge"       , &DBDictionary::TermMinIssAge       );
     ascribe("TermMaxIssAge"       , &DBDictionary::TermMaxIssAge       );
     ascribe("TermForcedConvAge"   , &DBDictionary::TermForcedConvAge   );
+    ascribe("TermForcedConvDur"   , &DBDictionary::TermForcedConvDur   );
     ascribe("MaxTermProportion"   , &DBDictionary::MaxTermProportion   );
     ascribe("TermCoiRate"         , &DBDictionary::TermCoiRate         );
     ascribe("TermPremRate"        , &DBDictionary::TermPremRate        );
@@ -761,6 +762,7 @@
     Add(database_entity(DB_TermMinIssAge       , 0.0));
     Add(database_entity(DB_TermMaxIssAge       , 0.0));
     Add(database_entity(DB_TermForcedConvAge   , 0.0));
+    Add(database_entity(DB_TermForcedConvDur   , 0.0));
     Add(database_entity(DB_MaxTermProportion   , 0.0));
     Add(database_entity(DB_TermCoiRate         , 0.0));
     Add(database_entity(DB_TermPremRate        , 0.0));

Modified: lmi/trunk/dbdict.hpp
===================================================================
--- lmi/trunk/dbdict.hpp        2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/dbdict.hpp        2012-12-21 08:51:20 UTC (rev 5631)
@@ -255,6 +255,7 @@
     database_entity TermMinIssAge       ;
     database_entity TermMaxIssAge       ;
     database_entity TermForcedConvAge   ;
+    database_entity TermForcedConvDur   ;
     database_entity MaxTermProportion   ;
     database_entity TermCoiRate         ;
     database_entity TermPremRate        ;

Modified: lmi/trunk/dbnames.hpp
===================================================================
--- lmi/trunk/dbnames.hpp       2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/dbnames.hpp       2012-12-21 08:51:20 UTC (rev 5631)
@@ -325,6 +325,7 @@
         ,DB_TermMinIssAge
         ,DB_TermMaxIssAge
         ,DB_TermForcedConvAge
+        ,DB_TermForcedConvDur
         ,DB_MaxTermProportion
         ,DB_TermCoiRate
         ,DB_TermPremRate

Modified: lmi/trunk/dbnames.xpp
===================================================================
--- lmi/trunk/dbnames.xpp       2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/dbnames.xpp       2012-12-21 08:51:20 UTC (rev 5631)
@@ -194,7 +194,8 @@
 {DB_TermTable,DB_Topic_Riders,"TermTable","Term rider current mortality charge 
table (index in mortality table database)",}, \
 {DB_TermMinIssAge,DB_Topic_Riders,"TermMinIssAge","Term rider minimum issue 
age",}, \
 {DB_TermMaxIssAge,DB_Topic_Riders,"TermMaxIssAge","Term rider maximum issue 
age",}, \
-{DB_TermForcedConvAge,DB_Topic_Riders,"TermForcedConvAge","Age at which term 
rider converts to base policy with no positive election required",}, \
+{DB_TermForcedConvAge,DB_Topic_Riders,"TermForcedConvAge","Minimum age at 
which term rider converts to base policy with no positive election required",}, 
\
+{DB_TermForcedConvDur,DB_Topic_Riders,"TermForcedConvDur","Minimum number of 
years after which term rider converts to base policy with no positive election 
required",}, \
 {DB_MaxTermProportion,DB_Topic_Riders,"MaxTermProportion","Term rider as 
maximum proportion of total coverage [not yet implemented]",}, \
 {DB_TermCoiRate,DB_Topic_Riders,"TermCoiRate","[not yet implemented--use 
external table instead]",}, \
 {DB_TermPremRate,DB_Topic_Riders,"TermPremRate","[not yet implemented--use 
external table instead]",}, \

Modified: lmi/trunk/ihs_avmly.cpp
===================================================================
--- lmi/trunk/ihs_avmly.cpp     2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/ihs_avmly.cpp     2012-12-21 08:51:20 UTC (rev 5631)
@@ -1712,11 +1712,9 @@
         return;
         }
 
-    // TODO ?? Assumes that term rider lasts exactly as long as no-lapse 
guarantee.
-    // DATABASE !! Similar entities should be established for term.
     if
-        (  (BasicValues::NoLapseMinDur <= Year)
-        && (BasicValues::NoLapseMinAge <= Year + BasicValues::GetIssueAge())
+        (  (TermForcedConvDur <= Year)
+        && (TermForcedConvAge <= Year + BasicValues::GetIssueAge())
         )
         {
         EndTermRider();

Modified: lmi/trunk/ihs_basicval.cpp
===================================================================
--- lmi/trunk/ihs_basicval.cpp  2012-12-20 12:06:21 UTC (rev 5630)
+++ lmi/trunk/ihs_basicval.cpp  2012-12-21 08:51:20 UTC (rev 5631)
@@ -713,6 +713,8 @@
     MaxIncrAge          = static_cast<int>(Database_->Query(DB_MaxIncrAge));
     WaivePmTxInt1035    = Database_->Query(DB_WaivePremTaxInt1035  );
     AllowTerm           = Database_->Query(DB_AllowTerm            );
+    TermForcedConvAge   = 
static_cast<int>(Database_->Query(DB_TermForcedConvAge));
+    TermForcedConvDur   = 
static_cast<int>(Database_->Query(DB_TermForcedConvDur));
     TermIsDbFor7702     = Database_->Query(DB_TermIsDbFor7702      );
     TermIsDbFor7702A    = Database_->Query(DB_TermIsDbFor7702A     );
     ExpPerKLimit        = Database_->Query(DB_ExpSpecAmtLimit      );




reply via email to

[Prev in Thread] Current Thread [Next in Thread]