lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 419f00f 1/4: Add several contractually-define


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 419f00f 1/4: Add several contractually-defined terms to product database
Date: Wed, 7 Aug 2019 10:03:15 -0400 (EDT)

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

    Add several contractually-defined terms to product database
---
 ledger_invariant.cpp      | 12 ++++++++++++
 ledger_invariant.hpp      |  8 +++++++-
 ledger_invariant_init.cpp |  6 ++++++
 product_data.cpp          | 12 ++++++++++++
 product_data.hpp          | 17 +++++++++++++++++
 5 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/ledger_invariant.cpp b/ledger_invariant.cpp
index fa9e544..542fda8 100644
--- a/ledger_invariant.cpp
+++ b/ledger_invariant.cpp
@@ -204,9 +204,15 @@ void LedgerInvariant::Alloc(int len)
     Strings["CsvHeaderName"                 ] = &CsvHeaderName                 
;
     Strings["NoLapseProvisionName"          ] = &NoLapseProvisionName          
;
     Strings["ContractName"                  ] = &ContractName                  
;
+    Strings["DboName"                       ] = &DboName                       
;
     Strings["DboNameLevel"                  ] = &DboNameLevel                  
;
     Strings["DboNameIncreasing"             ] = &DboNameIncreasing             
;
     Strings["DboNameMinDeathBenefit"        ] = &DboNameMinDeathBenefit        
;
+    Strings["GenAcctName"                   ] = &GenAcctName                   
;
+    Strings["GenAcctNameElaborated"         ] = &GenAcctNameElaborated         
;
+    Strings["SepAcctName"                   ] = &SepAcctName                   
;
+    Strings["SpecAmtName"                   ] = &SpecAmtName                   
;
+    Strings["SpecAmtNameElaborated"         ] = &SpecAmtNameElaborated         
;
 
     Strings["AccountValueFootnote"          ] = &AccountValueFootnote          
;
     Strings["AttainedAgeFootnote"           ] = &AttainedAgeFootnote           
;
@@ -565,9 +571,15 @@ LedgerInvariant& LedgerInvariant::PlusEq(LedgerInvariant 
const& a_Addend)
     CsvHeaderName                 = a_Addend.CsvHeaderName;
     NoLapseProvisionName          = a_Addend.NoLapseProvisionName;
     ContractName                  = a_Addend.ContractName;
+    DboName                       = a_Addend.DboName;
     DboNameLevel                  = a_Addend.DboNameLevel;
     DboNameIncreasing             = a_Addend.DboNameIncreasing;
     DboNameMinDeathBenefit        = a_Addend.DboNameMinDeathBenefit;
+    GenAcctName                   = a_Addend.GenAcctName;
+    GenAcctNameElaborated         = a_Addend.GenAcctNameElaborated;
+    SepAcctName                   = a_Addend.SepAcctName;
+    SpecAmtName                   = a_Addend.SpecAmtName;
+    SpecAmtNameElaborated         = a_Addend.SpecAmtNameElaborated;
 
     AccountValueFootnote          = a_Addend.AccountValueFootnote;
     AttainedAgeFootnote           = a_Addend.AttainedAgeFootnote;
diff --git a/ledger_invariant.hpp b/ledger_invariant.hpp
index fa74052..8e9bcd4 100644
--- a/ledger_invariant.hpp
+++ b/ledger_invariant.hpp
@@ -233,7 +233,8 @@ class LMI_SO LedgerInvariant final
     std::string     CsvHeaderName;
     std::string     NoLapseProvisionName;
     std::string     ContractName;
-    // PDF !! 'DboName*' variables are used only to assemble DBO
+    std::string     DboName;
+    // PDF !! 'DboName+' variables are used only to assemble DBO
     // definitions for mce_ill_reg PDFs. Probably those definitions
     // should be moved into '.policy' files instead, in which case
     // the 'DboName*' variables here can be expunged. Incidentally,
@@ -244,6 +245,11 @@ class LMI_SO LedgerInvariant final
     std::string     DboNameIncreasing;
 //  std::string     DboNameReturnOfPremium;
     std::string     DboNameMinDeathBenefit;
+    std::string     GenAcctName;
+    std::string     GenAcctNameElaborated;
+    std::string     SepAcctName;
+    std::string     SpecAmtName;
+    std::string     SpecAmtNameElaborated;
 
     // Ledger column definitions.
     std::string     AccountValueFootnote;
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 088e9b6..989658c 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -316,11 +316,17 @@ void LedgerInvariant::Init(BasicValues const* b)
         CsvHeaderName                  = p.datum("CsvHeaderName"               
   );
         NoLapseProvisionName           = p.datum("NoLapseProvisionName"        
   );
         ContractName                   = p.datum("ContractName"                
   );
+        DboName                        = p.datum("DboName"                     
   );
         // PDF !! It is hoped that these local variables (which
         // duplicate 'dbo_name_option1' etc. above) can be expunged.
         DboNameLevel                   = p.datum("DboNameLevel"                
   );
         DboNameIncreasing              = p.datum("DboNameIncreasing"           
   );
         DboNameMinDeathBenefit         = p.datum("DboNameMinDeathBenefit"      
   );
+        GenAcctName                    = p.datum("GenAcctName"                 
   );
+        GenAcctNameElaborated          = p.datum("GenAcctNameElaborated"       
   );
+        SepAcctName                    = p.datum("SepAcctName"                 
   );
+        SpecAmtName                    = p.datum("SpecAmtName"                 
   );
+        SpecAmtNameElaborated          = p.datum("SpecAmtNameElaborated"       
   );
 
         AccountValueFootnote           = p.datum("AccountValueFootnote"        
   );
         AttainedAgeFootnote            = p.datum("AttainedAgeFootnote"         
   );
diff --git a/product_data.cpp b/product_data.cpp
index f0507f3..55279d2 100644
--- a/product_data.cpp
+++ b/product_data.cpp
@@ -223,10 +223,16 @@ void product_data::ascribe_members()
     ascribe("CsvHeaderName"                 , &product_data::CsvHeaderName     
            );
     ascribe("NoLapseProvisionName"          , 
&product_data::NoLapseProvisionName          );
     ascribe("ContractName"                  , &product_data::ContractName      
            );
+    ascribe("DboName"                       , &product_data::DboName           
            );
     ascribe("DboNameLevel"                  , &product_data::DboNameLevel      
            );
     ascribe("DboNameIncreasing"             , &product_data::DboNameIncreasing 
            );
     ascribe("DboNameReturnOfPremium"        , 
&product_data::DboNameReturnOfPremium        );
     ascribe("DboNameMinDeathBenefit"        , 
&product_data::DboNameMinDeathBenefit        );
+    ascribe("GenAcctName"                   , &product_data::GenAcctName       
            );
+    ascribe("GenAcctNameElaborated"         , 
&product_data::GenAcctNameElaborated         );
+    ascribe("SepAcctName"                   , &product_data::SepAcctName       
            );
+    ascribe("SpecAmtName"                   , &product_data::SpecAmtName       
            );
+    ascribe("SpecAmtNameElaborated"         , 
&product_data::SpecAmtNameElaborated         );
     ascribe("AccountValueFootnote"          , 
&product_data::AccountValueFootnote          );
     ascribe("AttainedAgeFootnote"           , 
&product_data::AttainedAgeFootnote           );
     ascribe("CashSurrValueFootnote"         , 
&product_data::CashSurrValueFootnote         );
@@ -508,10 +514,16 @@ sample::sample()
     item("CsvHeaderName")              = glossed_string("Cash Surr");
     item("NoLapseProvisionName")       = glossed_string("No-lapse Provision");
     item("ContractName")               = glossed_string("contract"); // 
Alternatively, "policy" or "certificate".
+    item("DboName")                    = glossed_string("Death Benefit 
Option");
     item("DboNameLevel")               = glossed_string("A");
     item("DboNameIncreasing")          = glossed_string("B");
     item("DboNameReturnOfPremium")     = glossed_string("ROP");
     item("DboNameMinDeathBenefit")     = glossed_string("MDB");
+    item("GenAcctName")                = glossed_string("General Account");
+    item("GenAcctNameElaborated")      = glossed_string("General Account 
(GA)");
+    item("SepAcctName")                = glossed_string("Separate Account");
+    item("SpecAmtName")                = glossed_string("Specified Amount");
+    item("SpecAmtNameElaborated")      = glossed_string("Specified (Face) 
Amount");
     item("MarketingNameFootnote")      = glossed_string("Policy form 
UL32768-NY is marketed as 'UL Supreme'.");
 
     item("ADDTerseName")               = glossed_string("Accident");
diff --git a/product_data.hpp b/product_data.hpp
index 70d14d5..e20e84b 100644
--- a/product_data.hpp
+++ b/product_data.hpp
@@ -189,10 +189,27 @@ class LMI_SO product_data
     glossed_string CsvHeaderName;
     glossed_string NoLapseProvisionName;
     glossed_string ContractName;
+    glossed_string DboName;
     glossed_string DboNameLevel;
     glossed_string DboNameIncreasing;
     glossed_string DboNameReturnOfPremium;
     glossed_string DboNameMinDeathBenefit;
+    glossed_string GenAcctName;
+    glossed_string GenAcctNameElaborated;
+    glossed_string SepAcctName;
+    glossed_string SpecAmtName;
+    glossed_string SpecAmtNameElaborated;
+
+    // Underwriting terms.
+    glossed_string UwBasisMedical;
+    glossed_string UwBasisParamedical;
+    glossed_string UwBasisNonmedical;
+    glossed_string UwBasisSimplified;
+    glossed_string UwBasisGuaranteed;
+    glossed_string UwClassPreferred;
+    glossed_string UwClassStandard;
+    glossed_string UwClassRated;
+    glossed_string UwClassUltra;
 
     // TODO ?? Most of the following are missing from the GUI.
 



reply via email to

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