lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 20b8ec6 5/6: Add a new element for input vers


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 20b8ec6 5/6: Add a new element for input version 9
Date: Wed, 25 Jul 2018 21:11:31 -0400 (EDT)

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

    Add a new element for input version 9
    
    Added <IsInforce>, which is presently unused.
    
    The problem that this may someday solve is that at present a cell is
    considered to be inforce iff
        EffectiveDate != InforceAsOfDate
    but, for new business, it is all too easy to make a cell "inforce" by
    accident, e.g., by decrementing 'EffectiveDate' while leaving
    'InforceAsOfDate' unchanged.
    
    Release candidate 20180719T1706Z can be put into production without
    this change, without causing any harm. Files saved with that version
    will lack <IsInforce>, which will therefore be given a default value
    that is not used. The schema will consider these files defective, but
    files created by lmi are not subject to schema validation, so that
    doesn't matter.
---
 cell.rnc   | 2 ++
 cell.xsd   | 6 ++++++
 input.cpp  | 2 ++
 input.hpp  | 1 +
 sample.cns | 3 +++
 sample.ill | 1 +
 6 files changed, 15 insertions(+)

diff --git a/cell.rnc b/cell.rnc
index e296289..8e5c2b9 100644
--- a/cell.rnc
+++ b/cell.rnc
@@ -284,6 +284,8 @@ cell_element = element cell
      element Internal1035ExchangeFromMec      {yes_or_no}
     ,## * Tax basis of 1035 exchange from the same insurer.
      element Internal1035ExchangeTaxBasis     {xsd:double}
+    ,## * Treat this life as inforce. Default: 'Yes'.
+     element IsInforce                        {yes_or_no}
     ,## Insurance age on effective date.
      element IssueAge                         {age_int}
     ,## Most recent group-underwriting date, for group contracts that
diff --git a/cell.xsd b/cell.xsd
index 85ebd04..5324169 100644
--- a/cell.xsd
+++ b/cell.xsd
@@ -141,6 +141,7 @@
         <xs:element ref="Internal1035ExchangeAmount"/>
         <xs:element ref="Internal1035ExchangeFromMec"/>
         <xs:element ref="Internal1035ExchangeTaxBasis"/>
+        <xs:element ref="IsInforce"/>
         <xs:element ref="IssueAge"/>
         <xs:element ref="LastCoiReentryDate"/>
         <xs:element ref="LastMaterialChangeDate"/>
@@ -805,6 +806,11 @@ subject to premium tax.</xs:documentation>
       <xs:documentation>* Tax basis of 1035 exchange from the same 
insurer.</xs:documentation>
     </xs:annotation>
   </xs:element>
+  <xs:element name="IsInforce" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Treat this life as inforce. Default: 
'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
   <xs:element name="IssueAge" type="age_int">
     <xs:annotation>
       <xs:documentation>Insurance age on effective date.</xs:documentation>
diff --git a/input.cpp b/input.cpp
index 1486e65..32a6257 100644
--- a/input.cpp
+++ b/input.cpp
@@ -124,6 +124,7 @@ Input::Input()
 //    ,AmortizePremiumLoad              ("")
 //    ,ContractNumber                   ("")
 //    ,MasterContractNumber             ("")
+//    ,IsInforce                        ("")
 //    ,InforceAsOfDate                  ("")
 //    ,InforceYear                      ("")
 //    ,InforceMonth                     ("")
@@ -370,6 +371,7 @@ void Input::AscribeMembers()
     ascribe("AmortizePremiumLoad"             , &Input::AmortizePremiumLoad    
         );
     ascribe("ContractNumber"                  , &Input::ContractNumber         
         );
     ascribe("MasterContractNumber"            , &Input::MasterContractNumber   
         );
+    ascribe("IsInforce"                       , &Input::IsInforce              
         );
     ascribe("InforceAsOfDate"                 , &Input::InforceAsOfDate        
         );
     ascribe("InforceYear"                     , &Input::InforceYear            
         );
     ascribe("InforceMonth"                    , &Input::InforceMonth           
         );
diff --git a/input.hpp b/input.hpp
index f58b65c..1bf6c14 100644
--- a/input.hpp
+++ b/input.hpp
@@ -324,6 +324,7 @@ class LMI_SO Input final
     mce_yes_or_no            AmortizePremiumLoad             ;
     datum_string             ContractNumber                  ;
     datum_string             MasterContractNumber            ;
+    mce_yes_or_no            IsInforce                       ;
     tnr_date                 InforceAsOfDate                 ;
     tnr_duration             InforceYear                     ;
     tnr_month                InforceMonth                    ;
diff --git a/sample.cns b/sample.cns
index bebdc59..0d08bd1 100644
--- a/sample.cns
+++ b/sample.cns
@@ -104,6 +104,7 @@
       <Internal1035ExchangeAmount>0</Internal1035ExchangeAmount>
       <Internal1035ExchangeFromMec>No</Internal1035ExchangeFromMec>
       <Internal1035ExchangeTaxBasis>0</Internal1035ExchangeTaxBasis>
+      <IsInforce>No</IsInforce>
       <IssueAge>45</IssueAge>
       <LastCoiReentryDate>2458301</LastCoiReentryDate>
       <LastMaterialChangeDate>2458301</LastMaterialChangeDate>
@@ -302,6 +303,7 @@
       <Internal1035ExchangeAmount>0</Internal1035ExchangeAmount>
       <Internal1035ExchangeFromMec>No</Internal1035ExchangeFromMec>
       <Internal1035ExchangeTaxBasis>0</Internal1035ExchangeTaxBasis>
+      <IsInforce>No</IsInforce>
       <IssueAge>45</IssueAge>
       <LastCoiReentryDate>2458301</LastCoiReentryDate>
       <LastMaterialChangeDate>2458301</LastMaterialChangeDate>
@@ -500,6 +502,7 @@
       <Internal1035ExchangeAmount>0</Internal1035ExchangeAmount>
       <Internal1035ExchangeFromMec>No</Internal1035ExchangeFromMec>
       <Internal1035ExchangeTaxBasis>0</Internal1035ExchangeTaxBasis>
+      <IsInforce>No</IsInforce>
       <IssueAge>45</IssueAge>
       <LastCoiReentryDate>2458301</LastCoiReentryDate>
       <LastMaterialChangeDate>2458301</LastMaterialChangeDate>
diff --git a/sample.ill b/sample.ill
index 4012b5a..def273d 100644
--- a/sample.ill
+++ b/sample.ill
@@ -103,6 +103,7 @@
     <Internal1035ExchangeAmount>0</Internal1035ExchangeAmount>
     <Internal1035ExchangeFromMec>No</Internal1035ExchangeFromMec>
     <Internal1035ExchangeTaxBasis>0</Internal1035ExchangeTaxBasis>
+    <IsInforce>No</IsInforce>
     <IssueAge>45</IssueAge>
     <LastCoiReentryDate>2458301</LastCoiReentryDate>
     <LastMaterialChangeDate>2458301</LastMaterialChangeDate>



reply via email to

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