[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