lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master b0d4228 1/2: Add new database entities for 77


From: Greg Chicares
Subject: [lmi-commits] [lmi] master b0d4228 1/2: Add new database entities for 7702 and 7702A mortality and indults
Date: Fri, 7 Jun 2019 16:07:01 -0400 (EDT)

branch: master
commit b0d422827ed770f1c3f363f63a89765d1318cd99
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Add new database entities for 7702 and 7702A mortality and indults
---
 db_sort.sed                | 48 ++++++++++++++++++++++++----------------------
 dbdict.cpp                 |  3 +++
 dbdict.hpp                 |  2 ++
 dbnames.hpp                |  2 ++
 dbnames.xpp                |  4 +++-
 oecumenic_enumerations.hpp |  5 +++++
 6 files changed, 40 insertions(+), 24 deletions(-)

diff --git a/db_sort.sed b/db_sort.sed
index 2cf32cb..d7866f8 100644
--- a/db_sort.sed
+++ b/db_sort.sed
@@ -62,29 +62,31 @@
 /DB_AllowCvat\>/           s/^/B01/
 /DB_AllowGpt\>/            s/^/B02/
 /DB_AllowNo7702\>/         s/^/B03/
-/DB_CorridorWhence\>/      s/^/B04/
-/DB_Irc7702NspWhence\>/    s/^/B05/
-/DB_SevenPayWhence\>/      s/^/B06/
-/DB_CorridorTable\>/       s/^/B07/
-/DB_Irc7702NspTable\>/     s/^/B08/
-/DB_SevenPayTable\>/       s/^/B09/
-/DB_Irc7702QTable\>/       s/^/B10/
-/DB_Irc7702QAxisGender\>/  s/^/B11/
-/DB_Irc7702QAxisSmoking\>/ s/^/B12/
-/DB_RatingsAffect7702\>/   s/^/B13/
-/DB_CvatMatChangeDefn\>/   s/^/B14/
-/DB_GptMatChangeDefn\>/    s/^/B15/
-/DB_Irc7702BftIsSpecAmt\>/ s/^/B16/
-/DB_RiskyInitial7702Db\>/  s/^/B17/
-/DB_Irc7702Endowment\>/    s/^/B18/
-/DB_Effective7702DboRop\>/ s/^/B19/
-/DB_TermIsQABOrDb7702\>/   s/^/B20/
-/DB_TermIsQABOrDb7702A\>/  s/^/B21/
-/DB_GioIsQAB\>/            s/^/B22/
-/DB_AdbIsQAB\>/            s/^/B23/
-/DB_SpouseRiderIsQAB\>/    s/^/B24/
-/DB_ChildRiderIsQAB\>/     s/^/B25/
-/DB_WpIsQAB\>/             s/^/B26/
+/DB_Irc7702Obreption\>/    s/^/B04/
+/DB_CorridorWhence\>/      s/^/B05/
+/DB_Irc7702NspWhence\>/    s/^/B06/
+/DB_SevenPayWhence\>/      s/^/B07/
+/DB_Irc7702QWhence\>/      s/^/B08/
+/DB_CorridorTable\>/       s/^/B09/
+/DB_Irc7702NspTable\>/     s/^/B10/
+/DB_SevenPayTable\>/       s/^/B11/
+/DB_Irc7702QTable\>/       s/^/B12/
+/DB_Irc7702QAxisGender\>/  s/^/B13/
+/DB_Irc7702QAxisSmoking\>/ s/^/B14/
+/DB_RatingsAffect7702\>/   s/^/B15/
+/DB_CvatMatChangeDefn\>/   s/^/B16/
+/DB_GptMatChangeDefn\>/    s/^/B17/
+/DB_Irc7702BftIsSpecAmt\>/ s/^/B18/
+/DB_RiskyInitial7702Db\>/  s/^/B19/
+/DB_Irc7702Endowment\>/    s/^/B20/
+/DB_Effective7702DboRop\>/ s/^/B21/
+/DB_TermIsQABOrDb7702\>/   s/^/B22/
+/DB_TermIsQABOrDb7702A\>/  s/^/B23/
+/DB_GioIsQAB\>/            s/^/B24/
+/DB_AdbIsQAB\>/            s/^/B25/
+/DB_SpouseRiderIsQAB\>/    s/^/B26/
+/DB_ChildRiderIsQAB\>/     s/^/B27/
+/DB_WpIsQAB\>/             s/^/B28/
 # DB_Topic_MortalityCharges
 /DB_CsoEra\>/              s/^/C01/
 /DB_CsoMisprint\>/         s/^/C02/
diff --git a/dbdict.cpp b/dbdict.cpp
index 6268b95..2d2d58c 100644
--- a/dbdict.cpp
+++ b/dbdict.cpp
@@ -147,9 +147,11 @@ void DBDictionary::ascribe_members()
     ascribe("AllowCvat"           , &DBDictionary::AllowCvat           );
     ascribe("AllowGpt"            , &DBDictionary::AllowGpt            );
     ascribe("AllowNo7702"         , &DBDictionary::AllowNo7702         );
+    ascribe("Irc7702Obreption"    , &DBDictionary::Irc7702Obreption    );
     ascribe("CorridorWhence"      , &DBDictionary::CorridorWhence      );
     ascribe("Irc7702NspWhence"    , &DBDictionary::Irc7702NspWhence    );
     ascribe("SevenPayWhence"      , &DBDictionary::SevenPayWhence      );
+    ascribe("Irc7702QWhence"      , &DBDictionary::Irc7702QWhence      );
     ascribe("CorridorTable"       , &DBDictionary::CorridorTable       );
     ascribe("Irc7702NspTable"     , &DBDictionary::Irc7702NspTable     );
     ascribe("SevenPayTable"       , &DBDictionary::SevenPayTable       );
@@ -669,6 +671,7 @@ sample::sample()
     Add({DB_CorridorWhence      , oe_7702_corr_from_table});
     Add({DB_Irc7702NspWhence    , oe_7702_nsp_reciprocal_cvat_corridor});
     Add({DB_SevenPayWhence      , oe_7702_7pp_from_table});
+    Add({DB_Irc7702QWhence      , oe_7702_q_external_table});
 
     // This is just a sample product, so make do with plausible
     // all-male seven-pay premiums, and use GPT corridor factors for
diff --git a/dbdict.hpp b/dbdict.hpp
index d9fed4b..7b8a94b 100644
--- a/dbdict.hpp
+++ b/dbdict.hpp
@@ -126,9 +126,11 @@ class LMI_SO DBDictionary
     database_entity AllowCvat           ;
     database_entity AllowGpt            ;
     database_entity AllowNo7702         ;
+    database_entity Irc7702Obreption    ;
     database_entity CorridorWhence      ;
     database_entity Irc7702NspWhence    ;
     database_entity SevenPayWhence      ;
+    database_entity Irc7702QWhence      ;
     database_entity CorridorTable       ;
     database_entity Irc7702NspTable     ;
     database_entity SevenPayTable       ;
diff --git a/dbnames.hpp b/dbnames.hpp
index 814fea3..e15015d 100644
--- a/dbnames.hpp
+++ b/dbnames.hpp
@@ -158,10 +158,12 @@ enum e_database_key
         ,DB_AllowCvat
         ,DB_AllowGpt
         ,DB_AllowNo7702
+        ,DB_Irc7702Obreption
 
         ,DB_CorridorWhence
         ,DB_Irc7702NspWhence
         ,DB_SevenPayWhence
+        ,DB_Irc7702QWhence
         ,DB_CorridorTable
         ,DB_Irc7702NspTable
         ,DB_SevenPayTable
diff --git a/dbnames.xpp b/dbnames.xpp
index c880700..50cd56c 100644
--- a/dbnames.xpp
+++ b/dbnames.xpp
@@ -68,13 +68,15 @@
 {DB_AllowCvat,DB_Topic_7702And7702A,"AllowCvat","Allow cash value accumulation 
test: 0=no, 1=yes",}, \
 {DB_AllowGpt,DB_Topic_7702And7702A,"AllowGpt","Allow guideline premium test: 
0=no, 1=yes",}, \
 {DB_AllowNo7702,DB_Topic_7702And7702A,"AllowNo7702","Allow 7702 to be ignored 
(foreign): 0=no, 1=yes",}, \
+{DB_Irc7702Obreption,DB_Topic_7702And7702A,"Irc7702Obreption","Prevent the 
product verifier from treating a frank error as such, due to some indult): 0=no 
[other values to be added later]",}, \
 {DB_CorridorWhence,DB_Topic_7702And7702A,"CorridorWhence","Source of CVAT 
'corridor' factors: 0=first principles, 1=table",}, \
 {DB_Irc7702NspWhence,DB_Topic_7702And7702A,"Irc7702NspWhence","Source of 7702 
and 7702A net single premium rates: 0=first principles, 1=table, 2=reciprocal 
of CVAT corridor",}, \
 {DB_SevenPayWhence,DB_Topic_7702And7702A,"SevenPayWhence","Source of 7702A 
seven-pay premium rates: 0=first principles, 1=table",}, \
+{DB_Irc7702QWhence,DB_Topic_7702And7702A,"Irc7702QWhence","Source of 7702 and 
7702A annual mortality rates: 0=builtin tables, 1=external tables",}, \
 {DB_CorridorTable,DB_Topic_7702And7702A,"CorridorTable","CVAT 'corridor' 
factors (index in mortality table database)",}, \
 {DB_Irc7702NspTable,DB_Topic_7702And7702A,"Irc7702NspTable","7702 and 7702A 
net single premium rates per $1 (index in mortality table database)",}, \
 {DB_SevenPayTable,DB_Topic_7702And7702A,"SevenPayTable","7702A annual 
seven-pay premium rates per $1 (index in mortality table database)",}, \
-{DB_Irc7702QTable,DB_Topic_7702And7702A,"Irc7702QTable","7702 and 7702A annual 
mortality rate (index in mortality table database)",}, \
+{DB_Irc7702QTable,DB_Topic_7702And7702A,"Irc7702QTable","7702 and 7702A annual 
mortality rates (index in mortality table database)",}, \
 {DB_Irc7702QAxisGender,DB_Topic_7702And7702A,"Irc7702QAxisGender","7702 and 
7702A mortality varies by gender: 0=no, 1=yes",}, \
 {DB_Irc7702QAxisSmoking,DB_Topic_7702And7702A,"Irc7702QAxisSmoking","7702 and 
7702A mortality varies by smoking: 0=no, 1=yes",}, \
 {DB_RatingsAffect7702,DB_Topic_7702And7702A,"RatingsAffect7702","Flat extras 
and table ratings affect 7702 and 7702A calculations: 0=no, 1=yes",}, \
diff --git a/oecumenic_enumerations.hpp b/oecumenic_enumerations.hpp
index bb891cd..ed2227d 100644
--- a/oecumenic_enumerations.hpp
+++ b/oecumenic_enumerations.hpp
@@ -44,6 +44,11 @@ enum oenum_7702_nsp_whence
     ,oe_7702_nsp_reciprocal_cvat_corridor
     };
 
+enum oenum_7702_q_whence
+    {oe_7702_q_builtin
+    ,oe_7702_q_external_table
+    };
+
 enum oenum_7702_term
     {oe_7702_term_is_ignored
     ,oe_7702_term_is_db



reply via email to

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