lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master e689fe4 2/2: Fix defect introduced 20160309T0


From: Greg Chicares
Subject: [lmi-commits] [lmi] master e689fe4 2/2: Fix defect introduced 20160309T0113Z: weird policy-name conditional
Date: Tue, 5 Feb 2019 18:03:11 -0500 (EST)

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

    Fix defect introduced 20160309T0113Z: weird policy-name conditional
    
    Added a new database field to control whether guaranteed-issue contracts
    in Texas should be captioned as substandard.
    
    It is unclear what defect was actually fixed on 20160309T0113Z with
    commit message:
      Fix defect introduced 20050720T1018Z: "substandard standard"
    because TX GI contracts with standard rates still print the antinomical
    "substandard standard" caption. That 2016 revision may simply have
    restricted the antinomy, in practical effect, to a single product--and
    that is the best that can be done unless the word "standard" can be
    omitted altogether.
---
 dbdict.cpp                | 2 ++
 dbdict.hpp                | 1 +
 dbnames.hpp               | 2 ++
 dbnames.xpp               | 1 +
 finra_header_lower.mst    | 8 ++++----
 finra_notes2.mst          | 4 ++--
 ledger_evaluator.cpp      | 1 +
 ledger_invariant.cpp      | 2 ++
 ledger_invariant.hpp      | 1 +
 ledger_invariant_init.cpp | 1 +
 pdf_command_wx.cpp        | 7 +++----
 11 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/dbdict.cpp b/dbdict.cpp
index 90b5244..d3d8b72 100644
--- a/dbdict.cpp
+++ b/dbdict.cpp
@@ -136,6 +136,7 @@ void DBDictionary::ascribe_members()
     ascribe("AllowStateXX"        , &DBDictionary::AllowStateXX        );
     ascribe("AllowForeign"        , &DBDictionary::AllowForeign        );
     ascribe("GroupIndivSelection" , &DBDictionary::GroupIndivSelection );
+    ascribe("TxCallsGuarUwSubstd" , &DBDictionary::TxCallsGuarUwSubstd );
     ascribe("Allowable"           , &DBDictionary::Allowable           );
     ascribe("AllowCvat"           , &DBDictionary::AllowCvat           );
     ascribe("AllowGpt"            , &DBDictionary::AllowGpt            );
@@ -920,6 +921,7 @@ void DBDictionary::write_database_files()
     z.Add({DB_TermIsNotRider      , true});
     // Certain illustration columns are controlled by this:
     z.Add({DB_ErNotionallyPaysTerm, true});
+    z.Add({DB_TxCallsGuarUwSubstd , true});
     // This fixed loan rate varies by duration.
     int dims_1111113[e_number_of_axes] = {1, 1, 1, 1, 1, 1, 3};
     double loanrate[3] = {0.06, 0.05, 0.04};
diff --git a/dbdict.hpp b/dbdict.hpp
index 9b6597b..dae92fd 100644
--- a/dbdict.hpp
+++ b/dbdict.hpp
@@ -118,6 +118,7 @@ class LMI_SO DBDictionary
     database_entity AllowStateXX        ;
     database_entity AllowForeign        ;
     database_entity GroupIndivSelection ;
+    database_entity TxCallsGuarUwSubstd ;
     database_entity Allowable           ;
     database_entity AllowCvat           ;
     database_entity AllowGpt            ;
diff --git a/dbnames.hpp b/dbnames.hpp
index ec55daa..0fe9bf5 100644
--- a/dbnames.hpp
+++ b/dbnames.hpp
@@ -149,6 +149,8 @@ enum e_database_key
 
         ,DB_GroupIndivSelection
 
+        ,DB_TxCallsGuarUwSubstd
+
         ,DB_Allowable
 
     ,DB_Topic_7702And7702A
diff --git a/dbnames.xpp b/dbnames.xpp
index d277d89..dbe7b22 100644
--- a/dbnames.xpp
+++ b/dbnames.xpp
@@ -62,6 +62,7 @@
 {DB_AllowStateXX,DB_Topic_Underwriting,"AllowStateXX","Allow state 'XX': 0=no, 
1=yes [not yet implemented]",}, \
 {DB_AllowForeign,DB_Topic_Underwriting,"AllowForeign","Allow foreign-country 
multiplier for cost of insurance charges: 0=no, 1=yes [not yet implemented]",}, 
\
 {DB_GroupIndivSelection,DB_Topic_Underwriting,"GroupIndivSelection","For group 
insurance, allow individual selection of specified amount: 0=no, 1=yes",}, \
+{DB_TxCallsGuarUwSubstd,DB_Topic_Underwriting,"TxCallsGuarUwSubstd","Guaranteed
 issue must be called substandard in Texas: 0=no, 1=yes",}, \
 {DB_Allowable,DB_Topic_Underwriting,"Allowable","A catchall category for rules 
not otherwise expressible",}, \
 {DB_Topic_7702And7702A,DB_FIRST,"7702 and 7702A","Internal Revenue Code 
sections 7702 and 7702A",}, \
 {DB_AllowCvat,DB_Topic_7702And7702A,"AllowCvat","Allow cash value accumulation 
test: 0=no, 1=yes",}, \
diff --git a/finra_header_lower.mst b/finra_header_lower.mst
index e6fee20..ab55b47 100644
--- a/finra_header_lower.mst
+++ b/finra_header_lower.mst
@@ -40,12 +40,12 @@
               Fully underwritten,
             {{/UWTypeIsMedical}}
             {{^UWTypeIsMedical}}
-                {{#UWTypeIsGuaranteedIssueInTexasWithFootnote}}
+                {{#CallGuarUwSubstd}}
                     Substandard ***,
-                {{/UWTypeIsGuaranteedIssueInTexasWithFootnote}}
-                {{^UWTypeIsGuaranteedIssueInTexasWithFootnote}}
+                {{/CallGuarUwSubstd}}
+                {{^CallGuarUwSubstd}}
                     {{UWType}},
-                {{/UWTypeIsGuaranteedIssueInTexasWithFootnote}}
+                {{/CallGuarUwSubstd}}
             {{/UWTypeIsMedical}}
             {{UWClass}}, Initial Death Benefit Option: {{InitDBOpt}}<br>
             {{#UWClassIsRated}}
diff --git a/finra_notes2.mst b/finra_notes2.mst
index 1aae2c3..688891b 100644
--- a/finra_notes2.mst
+++ b/finra_notes2.mst
@@ -176,12 +176,12 @@ The state of issue is {{StateOfJurisdiction}}.
     </p>
 {{/HasComplianceTrackingNumber}}
 
-{{#UWTypeIsGuaranteedIssueInTexasWithFootnote}}
+{{#CallGuarUwSubstd}}
     <p>
     *** This policy is classified as substandard guaranteed issue
     per the requirements of the Texas Insurance Department.
     </p>
-{{/UWTypeIsGuaranteedIssueInTexasWithFootnote}}
+{{/CallGuarUwSubstd}}
 
 <p align="center"><b>GUARANTEED PRINCIPAL ACCOUNT</b></p>
 
diff --git a/ledger_evaluator.cpp b/ledger_evaluator.cpp
index 2aa6423..336e812 100644
--- a/ledger_evaluator.cpp
+++ b/ledger_evaluator.cpp
@@ -533,6 +533,7 @@ format_map_t static_formats()
     ,{"AllowExperienceRating"           , f1}
     ,{"UseExperienceRating"             , f1}
     ,{"GroupIndivSelection"             , f1}
+    ,{"TxCallsGuarUwSubstd"             , f1}
     ,{"UsePartialMort"                  , f1}
     ,{"WriteTsvFile"                    , f1}
 
diff --git a/ledger_invariant.cpp b/ledger_invariant.cpp
index a0e3802..3513227 100644
--- a/ledger_invariant.cpp
+++ b/ledger_invariant.cpp
@@ -142,6 +142,7 @@ void LedgerInvariant::Alloc(int len)
     OtherScalars    ["RetAge"                ] = &RetAge                 ;
     OtherScalars    ["EndtAge"               ] = &EndtAge                ;
     OtherScalars    ["GroupIndivSelection"   ] = &GroupIndivSelection    ;
+    OtherScalars    ["TxCallsGuarUwSubstd"   ] = &TxCallsGuarUwSubstd    ;
     OtherScalars    ["AllowExperienceRating" ] = &AllowExperienceRating  ;
     OtherScalars    ["UseExperienceRating"   ] = &UseExperienceRating    ;
     OtherScalars    ["UsePartialMort"        ] = &UsePartialMort         ;
@@ -659,6 +660,7 @@ LedgerInvariant& LedgerInvariant::PlusEq(LedgerInvariant 
const& a_Addend)
     StateOfJurisdiction           = a_Addend.StateOfJurisdiction;
     PremiumTaxState               = a_Addend.PremiumTaxState;
     GroupIndivSelection           = GroupIndivSelection   || 
a_Addend.GroupIndivSelection;
+    TxCallsGuarUwSubstd           = TxCallsGuarUwSubstd   || 
a_Addend.TxCallsGuarUwSubstd;
     AllowExperienceRating         = AllowExperienceRating || 
a_Addend.AllowExperienceRating;
     UseExperienceRating           = UseExperienceRating   || 
a_Addend.UseExperienceRating;
     UsePartialMort                = a_Addend.UsePartialMort;
diff --git a/ledger_invariant.hpp b/ledger_invariant.hpp
index ddb2835..25ac68c 100644
--- a/ledger_invariant.hpp
+++ b/ledger_invariant.hpp
@@ -166,6 +166,7 @@ class LMI_SO LedgerInvariant
     double          RetAge;
     double          EndtAge;
     double          GroupIndivSelection;
+    double          TxCallsGuarUwSubstd;
     double          AllowExperienceRating;
     double          UseExperienceRating;
     double          UsePartialMort;
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 10fde49..65643b4 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -257,6 +257,7 @@ void LedgerInvariant::Init(BasicValues const* b)
     RetAge                  = b->yare_input_.RetirementAge;
     EndtAge                 = b->yare_input_.IssueAge + b->GetLength();
     b->database().query_into(DB_GroupIndivSelection, GroupIndivSelection);
+    b->database().query_into(DB_TxCallsGuarUwSubstd, TxCallsGuarUwSubstd);
     AllowExperienceRating   = b->database().query<bool>(DB_AllowExpRating);
     UseExperienceRating     = b->yare_input_.UseExperienceRating;
     UsePartialMort          = b->yare_input_.UsePartialMortality;
diff --git a/pdf_command_wx.cpp b/pdf_command_wx.cpp
index e4f5b56..62e62d3 100644
--- a/pdf_command_wx.cpp
+++ b/pdf_command_wx.cpp
@@ -2825,13 +2825,12 @@ class pdf_illustration_finra : public pdf_illustration
             add_variable("ContractNameCap", s);
             }
 
-        auto const& policy_name = invar.PolicyLegalName;
         auto const& state_of_jurisdiction = invar.StateOfJurisdiction;
 
         add_variable
-            ("UWTypeIsGuaranteedIssueInTexasWithFootnote"
-            ,    invar.UWType == "Guaranteed issue"
-              && policy_name == "Flexible Premium Variable Adjustable Life 
Insurance Policy"
+            ("CallGuarUwSubstd"
+            ,    invar.TxCallsGuarUwSubstd
+              && invar.UWType == "Guaranteed issue"
               && state_of_jurisdiction == "TX"
             );
 



reply via email to

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