[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5444] Improve documentation
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5444] Improve documentation |
Date: |
Tue, 10 Apr 2012 17:12:15 +0000 |
Revision: 5444
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5444
Author: chicares
Date: 2012-04-10 17:12:14 +0000 (Tue, 10 Apr 2012)
Log Message:
-----------
Improve documentation
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/cell.rnc
lmi/trunk/cell.xsd
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2012-04-10 17:07:36 UTC (rev 5443)
+++ lmi/trunk/ChangeLog 2012-04-10 17:12:14 UTC (rev 5444)
@@ -29971,3 +29971,14 @@
Regenerate enumerations, using the technique described 20120325T1232Z.
This makes it easier to annotate them.
+20120410T1707Z <address@hidden> [573]
+
+ cell.rnc
+Alter layout in anticipation of adding annotations.
+
+20120410T1712Z <address@hidden> [573]
+
+ cell.rnc
+ cell.xsd
+Improve documentation.
+
Modified: lmi/trunk/cell.rnc
===================================================================
--- lmi/trunk/cell.rnc 2012-04-10 17:07:36 UTC (rev 5443)
+++ lmi/trunk/cell.rnc 2012-04-10 17:12:14 UTC (rev 5444)
@@ -27,404 +27,456 @@
cell_element = element cell
{attribute version {"6"}
- ,##
+ ,## Accidental death benefit: elected or not.
element AccidentalDeathBenefit {yes_or_no}
- ,##
+ ,## Insured's address: number and street.
element Address {text}
- ,##
+ ,## Agent's address: number and street.
element AgentAddress {text}
- ,##
+ ,## Agent's address: city.
element AgentCity {text}
- ,##
+ ,## Agent ID code.
element AgentId {text}
- ,##
+ ,## Agent's full name.
element AgentName {text}
- ,##
+ ,## Agent's phone number.
element AgentPhone {text}
- ,##
+ ,## Agent's address: state.
element AgentState {state}
- ,##
+ ,## Agent's address: zip code.
element AgentZipCode {text}
- ,##
+ ,## Amortize premium load (occasionally used for BOLI).
element AmortizePremiumLoad {yes_or_no}
- ,##
+ ,## Special logic, if any, to avoid a MEC.
element AvoidMecMethod {mec_avoid_method}
- ,##
+ ,## Custom-blend rates by gender.
element BlendGender {yes_or_no}
- ,##
+ ,## Custom-blend rates by smoking.
element BlendSmoking {yes_or_no}
- ,##
+ ,## Negative surrender charge as proportion of total account value.
element CashValueEnhancementRate {numeric_sequence}
- ,##
+ ,## Child(ren) term rider: elected or not.
element ChildRider {yes_or_no}
- ,##
+ ,## Child(ren) term rider: face amount.
element ChildRiderAmount {nonnegative_double}
- ,##
+ ,## Insured's address: city.
element City {text}
- ,##
+ ,## Free-form comments.
element Comments {text}
- ,##
+ ,## Corporation's address: number and street.
element CorporationAddress {text}
- ,##
+ ,## Corporation's address: city.
element CorporationCity {text}
- ,##
+ ,## Corporation's name.
element CorporationName {text}
- ,##
+ ,## Corporation's planned premium.
element CorporationPayment {payment_sequence}
- ,##
+ ,## Corporation's premium mode.
element CorporationPaymentMode {mode_sequence}
- ,##
+ ,## Corporation's tabular-premium multiplier.
element CorporationPremiumTableFactor {nonnegative_double}
- ,##
+ ,## Corporation's address: state.
element CorporationState {state}
- ,##
+ ,## Corporation's tax bracket.
element CorporationTaxBracket {numeric_sequence}
- ,##
+ ,## Corporation's address: zip code.
element CorporationZipCode {text}
- ,##
+ ,## Insured's address: country.
element Country {country}
- ,##
+ ,## COI multiplier for country.
element CountryCoiMultiplier {nonnegative_double}
- ,##
+ ,## User-designed supplemental illustration: elected or not.
element CreateSupplementalReport {yes_or_no}
- ,##
+ ,## Multiplier for current COI rates.
element CurrentCoiMultiplier {numeric_sequence}
- ,##
+ ,## Insured's date of birth.
element DateOfBirth {calendar_date_int}
- ,##
+ ,## Death benefit option.
element DeathBenefitOption {dbo_sequence}
- ,##
+ ,## [obsolete]
element DeathBenefitOptionFromIssue {dbopt}
- ,##
+ ,## [obsolete]
element DeathBenefitOptionFromRetirement {dbopt}
- ,##
+ ,## 7702 definitional test.
element DefinitionOfLifeInsurance {defn_life_ins}
- ,##
+ ,## 7702A definition of material change.
element DefinitionOfMaterialChange {defn_material_change}
- ,##
+ ,## Dump-in: i.e., first-year-only extra premium other than a 1035
exchange.
element Dumpin {nonnegative_double}
- ,##
+ ,## Effective date: for UL, date of first monthly deduction.
element EffectiveDate {calendar_date_int}
- ,##
+ ,## Use today's date as effective date: handy for new business.
element EffectiveDateToday {yes_or_no}
- ,##
+ ,## Employee class, used for grouping individuals in order to make
+ ## input easier. E.g., specified amount for 'partners' might be
+ ## two times salary, while 'all others' get a flat $50K.
element EmployeeClass {text}
- ,##
+ ,## Factor for amortizing mortality profit into future charges.
element ExperienceRatingInitialKFactor {nonnegative_double}
- ,##
+ ,## Overridden reserve rate for experience rating.
element ExperienceReserveRate {proportion_double}
- ,##
+ ,## Amount of 1035 exchange from a different insurer.
element External1035ExchangeAmount {nonnegative_double}
- ,##
+ ,## Tax basis of 1035 exchange from a different insurer.
element External1035ExchangeBasis {nonnegative_double}
- ,##
+ ,## MEC status of 1035 exchange from a different insurer.
element External1035ExchangeFromMec {yes_or_no}
- ,##
+ ,## Extra charge on separate-account assets. The motivation is to
+ ## let end users add a negotiated asset trailer without changing
+ ## the product database, but the field may be used for any extra
+ ## charge in the nature of M&E.
element ExtraCompensationOnAssets {numeric_sequence}
- ,##
+ ,## Extra premium load. The motivation is to let end users add a
+ ## negotiated commission without changing the product database,
+ ## but the field may be used for any extra load on premium.
element ExtraCompensationOnPremium {numeric_sequence}
- ,##
+ ,## Extra policy fee. The motivation is to let end users add an
+ ## additional monthly custodial fee for a custom fund, but the
+ ## field may be used for any extra monthly fee.
element ExtraMonthlyCustodialFee {numeric_sequence}
- ,##
+ ,## Annual flat extra per thousand of specified amount.
element FlatExtra {numeric_sequence}
- ,##
+ ,## Agency or brokerage code.
element Franchise {text}
- ,##
+ ,## As yet unused: cf. 'fund_input_method'.
element FundAllocations {numeric_sequence}
- ,##
+ ,## Fund-allocation override: cf. 'fund_input_method'.
element FundChoiceType {fund_input_method}
- ,##
+ ,## Insured's gender for insurance purposes.
element Gender {gender}
- ,##
+ ,## General-account interest rate as a decimal: e.g., '0.03' for 3%.
element GeneralAccountRate {numeric_sequence}
- ,##
+ ,## General-account rate: before or after spread.
element GeneralAccountRateType {gen_acct_rate_type}
- ,##
+ ,## Type of underwriting, e.g. guaranteed issue.
element GroupUnderwritingType {uw_basis}
- ,##
+ ,## Honeymoon: elected or not. This is a temporary secondary
+ ## guarantee that enhances surrender values in early years, by
+ ## setting a minimum CSV equal to gross premium accumulated at a
+ ## special interest rate, with no monthly deductions taken.
element HoneymoonEndorsement {yes_or_no}
- ,##
+ ,## Interest spread for honeymoon value, which grows at the net
+ ## general account rate less this decrement.
element HoneymoonValueSpread {numeric_sequence}
- ,##
+ ,## Include this life in composite: default = 'Yes'. This field
+ ## permits excluding certain lives from a composite without
+ ## deleting them from a census.
element IncludeInComposite {yes_or_no}
- ,##
+ ,## [obsolete]
element IndividualPaymentAmount {nonnegative_double}
- ,##
+ ,## [obsolete]
element IndividualPaymentMode {mode}
- ,##
+ ,## [obsolete]
element IndividualPaymentStrategy {pmt_strategy}
- ,##
+ ,## [obsolete]
element IndividualPaymentToAge {age_int}
- ,##
+ ,## [obsolete]
element IndividualPaymentToAlternative {to_point}
- ,##
+ ,## [obsolete]
element IndividualPaymentToDuration {duration_int}
- ,##
+ ,## Date as of which inforce values are provided. This is taken to
+ ## refer to the first moment of the day, before monthiversary
+ ## processing. Some admin systems find it more convenient to
+ ## provide values as of the last moment of the preceding day; in
+ ## that case, this field should indicate the day following that
+ ## preceding day.
element InforceAsOfDate {calendar_date_int}
- ,##
+ ,## Inforce account value before last material change, for 7702A.
element InforceAvBeforeLastMc {nonnegative_double}
- ,##
+ ,## [obsolete]
element InforceContractMonth {month_int}
- ,##
+ ,## [obsolete]
element InforceContractYear {duration_int}
- ,##
+ ,## Inforce cumulative 7702 guideline level premium.
element InforceCumulativeGlp {nonnegative_double}
- ,##
+ ,## Inforce cumulative no-lapse premium, for contracts that offer
+ ## a no-lapse guarantee as long as a cumulative minimum premium
+ ## is paid.
element InforceCumulativeNoLapsePremium {nonnegative_double}
- ,##
+ ,## Inforce cumulative payments: sum of all gross premiums,
+ ## including dump-ins and 1035 exchange proceeds.
element InforceCumulativePayments {nonnegative_double}
- ,##
+ ,## Inforce 7702A deemed cash value.
element InforceDcv {nonnegative_double}
- ,##
+ ,## Inforce account value in the general account.
element InforceGeneralAccountValue {nonnegative_double}
- ,##
+ ,## Inforce 7702 guideline level premium.
element InforceGlp {nonnegative_double}
- ,##
+ ,## Inforce 7702 guideline single premium.
element InforceGsp {nonnegative_double}
- ,##
+ ,## Inforce honeymoon value. Zero if honeymoon has expired or
+ ## was never present.
element InforceHoneymoonValue {nonnegative_double}
- ,##
+ ,## MEC status of inforce contract.
element InforceIsMec {yes_or_no}
- ,##
+ ,## Inforce 7702A least death benefit.
element InforceLeastDeathBenefit {nonnegative_double}
- ,##
+ ,## [obsolete]
element InforceMonth {month_int}
- ,##
+ ,## Inforce net reserve for experience rating.
element InforceNetExperienceReserve {xsd:double}
- ,##
+ ,## Inforce balance (total indebtedness) for preferred loans.
element InforcePreferredLoanBalance {nonnegative_double}
- ,##
+ ,## Inforce loaned account value (excluding accrued interest) for
+ ## preferred loans.
element InforcePreferredLoanValue {nonnegative_double}
- ,##
+ ,## Inforce balance (total indebtedness) for regular loans.
element InforceRegularLoanBalance {nonnegative_double}
- ,##
+ ,## Inforce loaned account value (excluding accrued interest) for
+ ## regular loans.
element InforceRegularLoanValue {nonnegative_double}
- ,##
+ ,## Inforce account value in all separate accounts, combined.
element InforceSeparateAccountValue {nonnegative_double}
- ,##
+ ,## Inforce 7702A seven-pay premium.
element InforceSevenPayPremium {nonnegative_double}
- ,##
+ ,## Inforce tax basis.
element InforceTaxBasis {nonnegative_double}
- ,##
+ ,## [obsolete]
element InforceYear {duration_int}
- ,##
+ ,## Inforce year-to-date "net" COI charge for experience rating.
element InforceYtdNetCoiCharge {nonnegative_double}
- ,##
+ ,## Investment management fee of a custom fund.
element InputFundManagementFee {nonnegative_double}
- ,##
+ ,## Insured's full name.
element InsuredName {text}
- ,##
+ ,## Insured's tabular-premium multiplier.
element InsuredPremiumTableFactor {nonnegative_double}
- ,##
+ ,## Amount of 1035 exchange from the same insurer; distinguished
+ ## from external 1035 because an internal exchange may not be
+ ## subject to premium tax.
element Internal1035ExchangeAmount {nonnegative_double}
- ,##
+ ,## Tax basis of 1035 exchange from the same insurer.
element Internal1035ExchangeBasis {nonnegative_double}
- ,##
+ ,## MEC status of 1035 exchange from the same insurer.
element Internal1035ExchangeFromMec {yes_or_no}
- ,##
+ ,## Insurance age on effective date.
element IssueAge {age_int}
- ,##
+ ,## Most recent group-underwriting date, for group contracts that
+ ## reenter a select and ultimate table of COI rates periodically
+ ## upon successful re-underwriting (for active lives only).
element LastCoiReentryDate {calendar_date_int}
- ,##
+ ,## Date of most recent 7702A material change.
element LastMaterialChangeDate {calendar_date_int}
- ,##
+ ,## [obsolete]
element LoanAmount {nonnegative_double}
- ,##
+ ,## [obsolete]
element LoanFromAge {age_int}
- ,##
+ ,## [obsolete]
element LoanFromAlternative {from_point}
- ,##
+ ,## [obsolete]
element LoanFromDuration {duration_int}
- ,##
+ ,## Loan interest rate, if it is variable.
element LoanRate {proportion_double}
- ,##
+ ,## Loan rate: fixed or variable.
element LoanRateType {loan_rate_type}
- ,##
+ ,## [obsolete]
element LoanToAge {age_int}
- ,##
+ ,## [obsolete]
element LoanToAlternative {to_point}
- ,##
+ ,## [obsolete]
element LoanToDuration {duration_int}
- ,##
+ ,## Proportion of males when rates are custom-blended by gender.
element MaleProportion {proportion_double}
- ,##
+ ,## Maximum net amount at risk, as constrained by reinsurance.
+ ## Some contracts in the high-net-worth market force money out to
+ ## prevent corridor death benefit from exceeding available
+ ## reinsurance.
element MaximumNaar {nonnegative_double}
- ,##
+ ,## New loan taken in cash (excluding capitalized interest).
element NewLoan {numeric_sequence}
- ,##
+ ,## Proportion of nonsmokers when rates are custom-blended by smoking.
element NonsmokerProportion {proportion_double}
- ,##
+ ,## Number of identical lives represented by a single census cell.
+ ## It is sometimes convenient to approximate a population by
+ ## specifying a few cells and indicating the number of lives each
+ ## one represents.
element NumberOfIdenticalLives {xsd:nonNegativeInteger}
- ,##
+ ,## Override country COI multiplier.
element OverrideCoiMultiplier {yes_or_no}
- ,##
+ ,## Override reserve rate for experience rating.
element OverrideExperienceReserveRate {yes_or_no}
- ,##
+ ,## Override investment management fee: used only with custom funds.
element OverrideFundManagementFee {yes_or_no}
- ,##
+ ,## Multiplier applied to partial-mortality table.
element PartialMortalityMultiplier {numeric_sequence}
- ,##
+ ,## Insured's planned premium.
element Payment {payment_sequence}
- ,##
+ ,## Insured's premium mode.
element PaymentMode {mode_sequence}
- ,##
+ ,## Policy number: a unique identifier, which, despite its
+ ## commonly-used name, is often not purely numeric.
element PolicyNumber {text}
- ,##
+ ,## Interest decrement applied to crediting rate after the
+ ## honeymoon expires--designed to recover the cost of providing
+ ## the honeymoon.
element PostHoneymoonSpread {proportion_double}
- ,##
+ ,## 7702A "amounts paid" for each "contract year" since beginning
+ ## of most recent seven-pay period; zero if not in a seven-pay
+ ## period.
element PremiumHistory {numeric_sequence}
- ,##
+ ,## State to which premium tax is paid.
element PremiumTaxState {state}
- # Enumerators for 'ProductName' depend on run-time context.
- ,##
+ ,## Product (plan): enumerators depend on run-time context.
element ProductName {text}
- ,##
+ ,## Projected salary: used for salary-based benefits.
element ProjectedSalary {numeric_sequence}
- ,##
+ ,## Retirees allowed to enroll (or not). This is handy for
+ ## warning when retirees are unintentionally included in a
+ ## census.
element RetireesCanEnroll {yes_or_no}
- ,##
+ ,## Insured's retirement age.
element RetirementAge {age_int}
- ,##
+ ,## Order in which different individuals in a census are
+ ## processed: cf. 'run_order'.
element RunOrder {run_order}
- ,##
+ ,## Maximum salary-based specified amount.
element SalarySpecifiedAmountCap {nonnegative_double}
- ,##
+ ,## Salary multiple used to determine specified amount.
element SalarySpecifiedAmountFactor {nonnegative_double}
- ,##
+ ,## Amount to be subtracted from salary-based specified amount,
+ ## intended to represent basic group term coverage.
element SalarySpecifiedAmountOffset {nonnegative_double}
- ,##
+ ,## Separate-account hypothetical rate as a decimal: e.g., '0.06' for 6%.
element SeparateAccountRate {numeric_sequence}
- ,##
+ ,## Separate-account rate: before or after spread.
element SeparateAccountRateType {sep_acct_rate_type}
- ,##
+ ,## Insured's smoking or tobacco use.
element Smoking {smoking}
- ,##
+ ,## Expense and general-account basis for a solve: lmi permits
+ ## solves on guaranteed and midpoint bases as well as current.
element SolveBasis {gen_basis}
- ,##
+ ,## Age at which a solve begins (inclusive).
element SolveBeginTime {duration_int}
- ,##
+ ,## Policy year in which a solve begins (inclusive).
element SolveBeginYear {duration_int}
- ,##
+ ,## Age at which a solve ends (exclusive).
element SolveEndTime {duration_int}
- ,##
+ ,## Policy year at which a solve ends (exclusive).
element SolveEndYear {duration_int}
- ,##
+ ,## Point at which a solve begins.
element SolveFromWhich {from_point}
- ,##
+ ,## Separate-account basis for a solve: lmi permits solves on
+ ## the basis of the hypothetical rate, half that rate, or zero.
element SolveSeparateAccountBasis {sep_basis}
- ,##
+ ,## Solve goal.
element SolveTarget {solve_target}
- ,##
+ ,## Cash surrender value used as solve goal.
element SolveTargetCashSurrenderValue {nonnegative_double}
- ,##
+ ,## Age at which a solve target is to be achieved.
element SolveTargetTime {duration_int}
- ,##
+ ,## Policy year in which a solve target is to be achieved.
element SolveTargetYear {duration_int}
- ,##
+ ,## Point at which a solve target is to be achieved.
element SolveTgtAtWhich {to_point}
- ,##
+ ,## Point at which a solve ends.
element SolveToWhich {to_point}
- ,##
+ ,## Parameter to be solved for.
element SolveType {solve_type}
- ,##
+ ,## Specified amount for each policy year since issue: used only
+ ## for certain surrender charges.
element SpecamtHistory {numeric_sequence}
- ,##
+ ,## Specified amount.
element SpecifiedAmount {specamt_sequence}
- ,##
+ ,## [obsolete]
element SpecifiedAmountFromIssue {nonnegative_double}
- ,##
+ ,## [obsolete]
element SpecifiedAmountFromRetirement {nonnegative_double}
- ,##
+ ,## [obsolete]
element SpecifiedAmountStrategyFromIssue {sa_strategy}
- ,##
+ ,## Spouse's insurance age on effective date of spouse rider.
element SpouseIssueAge {age_int}
- ,##
+ ,## Spouse term rider: elected or not.
element SpouseRider {yes_or_no}
- ,##
+ ,## Spouse term rider: face amount.
element SpouseRiderAmount {nonnegative_double}
- ,##
+ ,## Insured's address: state.
element State {state}
- ,##
+ ,## State that approves policy form and rate filing, and governs
+ ## everything else except premium tax.
element StateOfJurisdiction {state}
- ,##
+ ,## Substandard table rating.
element SubstandardTable {table_rating}
- ,##
+ ,## User-designed supplemental illustration: first column.
element SupplementalReportColumn00 {report_column}
- ,##
+ ,## User-designed supplemental illustration: second column.
element SupplementalReportColumn01 {report_column}
- ,##
+ ,## User-designed supplemental illustration: third column.
element SupplementalReportColumn02 {report_column}
- ,##
+ ,## User-designed supplemental illustration: fourth column.
element SupplementalReportColumn03 {report_column}
- ,##
+ ,## User-designed supplemental illustration: fifth column.
element SupplementalReportColumn04 {report_column}
- ,##
+ ,## User-designed supplemental illustration: sixth column.
element SupplementalReportColumn05 {report_column}
- ,##
+ ,## User-designed supplemental illustration: seventh column.
element SupplementalReportColumn06 {report_column}
- ,##
+ ,## User-designed supplemental illustration: eighth column.
element SupplementalReportColumn07 {report_column}
- ,##
+ ,## User-designed supplemental illustration: ninth column.
element SupplementalReportColumn08 {report_column}
- ,##
+ ,## User-designed supplemental illustration: tenth column.
element SupplementalReportColumn09 {report_column}
- ,##
+ ,## User-designed supplemental illustration: eleventh column.
element SupplementalReportColumn10 {report_column}
- ,##
+ ,## User-designed supplemental illustration: twelfth column.
element SupplementalReportColumn11 {report_column}
- ,##
+ ,## Presumed age at death, for partial mortality.
element SurviveToAge {age_int}
- ,##
+ ,## Presumed moment of death, for partial mortality.
element SurviveToType {survival_limit}
- ,##
+ ,## Presumed policy year of death, for partial mortality.
element SurviveToYear {duration_int}
- ,##
+ ,## Insured's tax bracket.
element TaxBracket {numeric_sequence}
- ,##
+ ,## Order in which term and base are affected by changes in total
+ ## specified amount.
element TermAdjustmentMethod {term_adj_method}
- ,##
+ ,## Term rider on main insured: elected or not.
element TermRider {yes_or_no}
- ,##
+ ,## Term rider on main insured: face amount.
element TermRiderAmount {nonnegative_double}
- ,##
+ ,## Term rider as proportion of term and base combined.
element TermRiderProportion {proportion_double}
- ,##
+ ,## Treat term rider as proportion of term and base combined.
element TermRiderUseProportion {yes_or_no}
- ,##
+ ,## Initial specified amount of term and base combined, when term
+ ## rider is specified as a proportion of this total.
element TotalSpecifiedAmount {nonnegative_double}
- ,##
+ ,## Underwriting class.
element UnderwritingClass {class}
- ,##
+ ,## Use mean separate-account fee: cf. 'fund_input_method'.
element UseAverageOfAllFunds {yes_or_no}
- ,##
+ ,## Use current declared rate (read from authenticated database)
+ ## instead of entering the crediting rate explicitly.
element UseCurrentDeclaredRate {yes_or_no}
- ,##
+ ,## Let date of birth override issue age.
element UseDOB {yes_or_no}
- ,##
+ ,## Use experience rating, on the few contracts that offer it.
element UseExperienceRating {yes_or_no}
- ,##
+ ,## Illustrate "partial mortality": i.e., reflect assumed deaths
+ ## in a composite illustration.
element UsePartialMortality {yes_or_no}
- ,##
+ ,## Waiver of premium benefit: elected or not.
element WaiverOfPremiumBenefit {yes_or_no}
- ,##
+ ,## Reinterpret input withdrawals as loans after tax basis recovered.
element WithdrawToBasisThenLoan {yes_or_no}
- ,##
+ ,## Partial surrender.
element Withdrawal {numeric_sequence}
- ,##
+ ,## [obsolete]
element WithdrawalAmount {nonnegative_double}
- ,##
+ ,## [obsolete]
element WithdrawalFromAge {age_int}
- ,##
+ ,## [obsolete]
element WithdrawalFromAlternative {from_point}
- ,##
+ ,## [obsolete]
element WithdrawalFromDuration {duration_int}
- ,##
+ ,## [obsolete]
element WithdrawalToAge {age_int}
- ,##
+ ,## [obsolete]
element WithdrawalToAlternative {to_point}
- ,##
+ ,## [obsolete]
element WithdrawalToDuration {duration_int}
- ,##
+ ,## Insured's address: zip code.
element ZipCode {text}
}
@@ -438,62 +490,78 @@
# Numeric-range types.
+## Floating-point number greater than or equal to zero.
nonnegative_double = xsd:double {minInclusive = "0"
}
+## Floating-point number between zero and one, inclusive.
proportion_double = xsd:double {minInclusive = "0"
maxInclusive = "1" }
-# Calendar-date bounds: [1752-09-14, 9999-12-31]
+## Julian Day Number between 1752-09-14 and 9999-12-31, inclusive.
calendar_date_int = xsd:nonNegativeInteger {minInclusive = "2361222"
maxInclusive = "5373484"}
+## Attained age: integer between zero and 99, inclusive.
age_int = xsd:nonNegativeInteger {
maxInclusive = "99" }
+## Time interval in years: integer between zero and 100, inclusive.
duration_int = xsd:nonNegativeInteger {
maxInclusive = "100" }
+## Time interval in months: integer between zero and eleven, inclusive.
month_int = xsd:nonNegativeInteger {
maxInclusive = "11" }
# Enumerations.
+## 'Yes' or 'No'. 'No' is listed first because it is usually the better
default.
yes_or_no =
"No"
| "Yes"
+## Gender. 'Unisex' is for contracts that don't distinguish rates by gender.
gender =
"Female"
| "Male"
| "Unisex"
+## Smoking. 'Unismoke' is for contracts that don't distinguish rates
+## by smoking. Some contracts speak of tobacco use instead of smoking,
+## but none use both, so a single set of enumerators suffices.
smoking =
"Smoker"
| "Nonsmoker"
| "Unismoke"
+## Underwriting class. Use "Rated" for contracts with table ratings.
class =
"Preferred"
| "Standard"
| "Rated"
| "Ultra"
+## Death benefit option: 'A' = level; 'B' = increasing; 'ROP' = return of
premium.
dbopt =
"A"
| "B"
| "ROP"
+## Payment mode.
mode =
"Annual"
| "Semiannual"
| "Quarterly"
| "Monthly"
+## Basis for expense and general-account rates.
gen_basis =
"Current"
| "Guaranteed"
| "Midpoint"
+## Basis for separate-account rates.
sep_basis =
"Hypothetical"
| "Zero"
| "Half of hypothetical"
+## Type of underwriting.
uw_basis =
"Medical"
| "Paramedical"
@@ -501,6 +569,7 @@
| "Simplified issue"
| "Guaranteed issue"
+## Industry-standard table rating, or 'None'.
table_rating =
"None"
| "A=+25%"
@@ -514,6 +583,7 @@
| "L=+300%"
| "P=+400%"
+## Parameter to be solved for.
solve_type =
"No solve"
| "Specified amount"
@@ -522,12 +592,17 @@
| "Loan"
| "Withdrawal"
+## Solve goal.
solve_target =
"Endowment"
| "Target CSV"
| "CSV = tax basis"
| "Avoid MEC"
+## Optional strategy to determine payment as a function of specified amount.
+## 'PmtInputScalar' is obsolete.
+## 'PmtMEP' uses 7702A 7PP rate.
+## 'Table' uses an external table (e.g., New York Table D for group insurance).
pmt_strategy =
"PmtInputScalar"
| "PmtMinimum"
@@ -538,6 +613,9 @@
| "PmtCorridor"
| "PmtTable"
+## Optional strategy to determine specified amount as a function of premium.
+## 'SAInputScalar' is obsolete.
+## 'SAMEP' uses 7702A 7PP rate.
sa_strategy =
"SAInputScalar"
| "SAMaximum"
@@ -548,38 +626,67 @@
| "SACorridor"
| "SASalary"
+## General-account rate: before or after spread.
gen_acct_rate_type =
"Credited rate"
| "Earned rate"
+## Separate-account rate: before or after spread.
sep_acct_rate_type =
"Net rate"
| "Gross rate"
+## Loan rate: fixed or variable.
loan_rate_type =
"Fixed loan rate"
| "Variable loan rate"
+## Fund-allocation overrides, for payments that aren't peremptorily
+## allocated to the general account (e.g., employer payments on some
+## group UL contracts might always go into the general account).
+## Conceptually:
+## 'Average': use mean separate-account fee.
+## 'Override': use scalar input separate-account fee.
+## 'Choose': respect input fund allocations.
+## However, there's no GUI for fund allocation yet, so, for the nonce,
+## the meanings in practice are:
+## 'Average': allocate all payments to separate account.
+## 'Choose': allocate all payments to general account.
+## Reason: the GUI, once it exists, will by default allocate all
+## payments to the general account if no separate-account funds are
+## selected.
fund_input_method =
"Average fund"
| "Override fund"
| "Choose funds"
+## Order in which different individuals in a census are processed.
+## By default, illustrations are created independently, in series:
+## one life at a time. Alternatively, all lives may be run together
+## in parallel, which requires more memory but permits them to affect
+## each other, as when individual charges depend on total case assets.
run_order =
"Life by life"
| "Month by month"
+## Presumed moment of death, for partial mortality.
survival_limit =
"No survival limit"
| "Survive to age limit"
| "Survive to duration limit"
| "Survive to life expectancy"
+## Order in which term and base are affected by changes in total
+## specified amount.
term_adj_method =
"Adjust base first"
| "Adjust term first"
| "Adjust base and term proportionately"
+## USPS two-letter abbreviations for the fifty US states, plus
+## 'DC' (District of Columbia)
+## 'PR' (Puerto Rico)
+## and 'XX', a fictitious state used for non-US business.
state =
"AL" | "AK" | "AZ" | "AR" | "CA" | "CO" | "CT" | "DE" | "DC" | "FL"
| "GA" | "HI" | "ID" | "IL" | "IN" | "IA" | "KS" | "KY" | "LA" | "ME"
@@ -589,6 +696,7 @@
| "WI" | "WY"
| "XX"
+## International standard country code [ISO 3166-1-Alpha-2 as of 2000-08-21].
country =
"AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AN" | "AO" | "AQ"
| "AR" | "AS" | "AT" | "AU" | "AW" | "AZ" | "BA" | "BB" | "BD" | "BE"
@@ -615,15 +723,21 @@
| "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN"
| "VU" | "WF" | "WS" | "YE" | "YT" | "YU" | "ZA" | "ZM" | "ZW"
+## 7702 definitional test, if any.
defn_life_ins =
"CVAT"
| "GPT"
| "Not 7702 compliant"
+## Special logic, if any, to avoid a MEC. Formerly, another choice
+## tried to avoid a MEC by increasing the specified amount, but that
+## proved unworkable (e.g., because of underwriting).
mec_avoid_method =
"Allow MEC"
| "Reduce premium"
+## 7702A definition of material change. For the nonce, use
+## "Earlier of" with CVAT, and "adjustment event" with GPT.
defn_material_change =
"Unnecessary premium"
| "Benefit increase"
@@ -631,18 +745,21 @@
| "Earlier of increase or unnecessary premium"
| "GPT adjustment event"
+## Inclusive start of a half-open interval, used e.g. for input sequences.
from_point =
"Issue"
| "Year"
| "Age"
| "Retirement"
+## Exclusive end of a half-open interval used e.g. for input sequences.
to_point =
"Retirement"
| "Year"
| "Age"
| "Maturity"
+## Column on optional supplemental report.
report_column =
"[none]"
| "AttainedAge"
Modified: lmi/trunk/cell.xsd
===================================================================
--- lmi/trunk/cell.xsd 2012-04-10 17:07:36 UTC (rev 5443)
+++ lmi/trunk/cell.xsd 2012-04-10 17:12:14 UTC (rev 5444)
@@ -244,248 +244,1120 @@
</xs:attribute>
</xs:complexType>
</xs:element>
- <xs:element name="AccidentalDeathBenefit" type="yes_or_no"/>
- <xs:element name="Address" type="xs:string"/>
- <xs:element name="AgentAddress" type="xs:string"/>
- <xs:element name="AgentCity" type="xs:string"/>
- <xs:element name="AgentId" type="xs:string"/>
- <xs:element name="AgentName" type="xs:string"/>
- <xs:element name="AgentPhone" type="xs:string"/>
- <xs:element name="AgentState" type="state"/>
- <xs:element name="AgentZipCode" type="xs:string"/>
- <xs:element name="AmortizePremiumLoad" type="yes_or_no"/>
- <xs:element name="AvoidMecMethod" type="mec_avoid_method"/>
- <xs:element name="BlendGender" type="yes_or_no"/>
- <xs:element name="BlendSmoking" type="yes_or_no"/>
- <xs:element name="CashValueEnhancementRate" type="xs:string"/>
- <xs:element name="ChildRider" type="yes_or_no"/>
- <xs:element name="ChildRiderAmount" type="nonnegative_double"/>
- <xs:element name="City" type="xs:string"/>
- <xs:element name="Comments" type="xs:string"/>
- <xs:element name="CorporationAddress" type="xs:string"/>
- <xs:element name="CorporationCity" type="xs:string"/>
- <xs:element name="CorporationName" type="xs:string"/>
- <xs:element name="CorporationPayment" type="xs:string"/>
- <xs:element name="CorporationPaymentMode" type="xs:string"/>
- <xs:element name="CorporationPremiumTableFactor" type="nonnegative_double"/>
- <xs:element name="CorporationState" type="state"/>
- <xs:element name="CorporationTaxBracket" type="xs:string"/>
- <xs:element name="CorporationZipCode" type="xs:string"/>
- <xs:element name="Country" type="country"/>
- <xs:element name="CountryCoiMultiplier" type="nonnegative_double"/>
- <xs:element name="CreateSupplementalReport" type="yes_or_no"/>
- <xs:element name="CurrentCoiMultiplier" type="xs:string"/>
- <xs:element name="DateOfBirth" type="calendar_date_int"/>
- <xs:element name="DeathBenefitOption" type="xs:string"/>
- <xs:element name="DeathBenefitOptionFromIssue" type="dbopt"/>
- <xs:element name="DeathBenefitOptionFromRetirement" type="dbopt"/>
- <xs:element name="DefinitionOfLifeInsurance" type="defn_life_ins"/>
- <xs:element name="DefinitionOfMaterialChange" type="defn_material_change"/>
- <xs:element name="Dumpin" type="nonnegative_double"/>
- <xs:element name="EffectiveDate" type="calendar_date_int"/>
- <xs:element name="EffectiveDateToday" type="yes_or_no"/>
- <xs:element name="EmployeeClass" type="xs:string"/>
- <xs:element name="ExperienceRatingInitialKFactor" type="nonnegative_double"/>
- <xs:element name="ExperienceReserveRate" type="proportion_double"/>
- <xs:element name="External1035ExchangeAmount" type="nonnegative_double"/>
- <xs:element name="External1035ExchangeBasis" type="nonnegative_double"/>
- <xs:element name="External1035ExchangeFromMec" type="yes_or_no"/>
- <xs:element name="ExtraCompensationOnAssets" type="xs:string"/>
- <xs:element name="ExtraCompensationOnPremium" type="xs:string"/>
- <xs:element name="ExtraMonthlyCustodialFee" type="xs:string"/>
- <xs:element name="FlatExtra" type="xs:string"/>
- <xs:element name="Franchise" type="xs:string"/>
- <xs:element name="FundAllocations" type="xs:string"/>
- <xs:element name="FundChoiceType" type="fund_input_method"/>
- <xs:element name="Gender" type="gender"/>
- <xs:element name="GeneralAccountRate" type="xs:string"/>
- <xs:element name="GeneralAccountRateType" type="gen_acct_rate_type"/>
- <xs:element name="GroupUnderwritingType" type="uw_basis"/>
- <xs:element name="HoneymoonEndorsement" type="yes_or_no"/>
- <xs:element name="HoneymoonValueSpread" type="xs:string"/>
- <xs:element name="IncludeInComposite" type="yes_or_no"/>
- <xs:element name="IndividualPaymentAmount" type="nonnegative_double"/>
- <xs:element name="IndividualPaymentMode" type="mode"/>
- <xs:element name="IndividualPaymentStrategy" type="pmt_strategy"/>
- <xs:element name="IndividualPaymentToAge" type="age_int"/>
- <xs:element name="IndividualPaymentToAlternative" type="to_point"/>
- <xs:element name="IndividualPaymentToDuration" type="duration_int"/>
- <xs:element name="InforceAsOfDate" type="calendar_date_int"/>
- <xs:element name="InforceAvBeforeLastMc" type="nonnegative_double"/>
- <xs:element name="InforceContractMonth" type="month_int"/>
- <xs:element name="InforceContractYear" type="duration_int"/>
- <xs:element name="InforceCumulativeGlp" type="nonnegative_double"/>
- <xs:element name="InforceCumulativeNoLapsePremium"
type="nonnegative_double"/>
- <xs:element name="InforceCumulativePayments" type="nonnegative_double"/>
- <xs:element name="InforceDcv" type="nonnegative_double"/>
- <xs:element name="InforceGeneralAccountValue" type="nonnegative_double"/>
- <xs:element name="InforceGlp" type="nonnegative_double"/>
- <xs:element name="InforceGsp" type="nonnegative_double"/>
- <xs:element name="InforceHoneymoonValue" type="nonnegative_double"/>
- <xs:element name="InforceIsMec" type="yes_or_no"/>
- <xs:element name="InforceLeastDeathBenefit" type="nonnegative_double"/>
- <xs:element name="InforceMonth" type="month_int"/>
- <xs:element name="InforceNetExperienceReserve" type="xs:double"/>
- <xs:element name="InforcePreferredLoanBalance" type="nonnegative_double"/>
- <xs:element name="InforcePreferredLoanValue" type="nonnegative_double"/>
- <xs:element name="InforceRegularLoanBalance" type="nonnegative_double"/>
- <xs:element name="InforceRegularLoanValue" type="nonnegative_double"/>
- <xs:element name="InforceSeparateAccountValue" type="nonnegative_double"/>
- <xs:element name="InforceSevenPayPremium" type="nonnegative_double"/>
- <xs:element name="InforceTaxBasis" type="nonnegative_double"/>
- <xs:element name="InforceYear" type="duration_int"/>
- <xs:element name="InforceYtdNetCoiCharge" type="nonnegative_double"/>
- <xs:element name="InputFundManagementFee" type="nonnegative_double"/>
- <xs:element name="InsuredName" type="xs:string"/>
- <xs:element name="InsuredPremiumTableFactor" type="nonnegative_double"/>
- <xs:element name="Internal1035ExchangeAmount" type="nonnegative_double"/>
- <xs:element name="Internal1035ExchangeBasis" type="nonnegative_double"/>
- <xs:element name="Internal1035ExchangeFromMec" type="yes_or_no"/>
- <xs:element name="IssueAge" type="age_int"/>
- <xs:element name="LastCoiReentryDate" type="calendar_date_int"/>
- <xs:element name="LastMaterialChangeDate" type="calendar_date_int"/>
- <xs:element name="LoanAmount" type="nonnegative_double"/>
- <xs:element name="LoanFromAge" type="age_int"/>
- <xs:element name="LoanFromAlternative" type="from_point"/>
- <xs:element name="LoanFromDuration" type="duration_int"/>
- <xs:element name="LoanRate" type="proportion_double"/>
- <xs:element name="LoanRateType" type="loan_rate_type"/>
- <xs:element name="LoanToAge" type="age_int"/>
- <xs:element name="LoanToAlternative" type="to_point"/>
- <xs:element name="LoanToDuration" type="duration_int"/>
- <xs:element name="MaleProportion" type="proportion_double"/>
- <xs:element name="MaximumNaar" type="nonnegative_double"/>
- <xs:element name="NewLoan" type="xs:string"/>
- <xs:element name="NonsmokerProportion" type="proportion_double"/>
- <xs:element name="NumberOfIdenticalLives" type="xs:nonNegativeInteger"/>
- <xs:element name="OverrideCoiMultiplier" type="yes_or_no"/>
- <xs:element name="OverrideExperienceReserveRate" type="yes_or_no"/>
- <xs:element name="OverrideFundManagementFee" type="yes_or_no"/>
- <xs:element name="PartialMortalityMultiplier" type="xs:string"/>
- <xs:element name="Payment" type="xs:string"/>
- <xs:element name="PaymentMode" type="xs:string"/>
- <xs:element name="PolicyNumber" type="xs:string"/>
- <xs:element name="PostHoneymoonSpread" type="proportion_double"/>
- <xs:element name="PremiumHistory" type="xs:string"/>
- <xs:element name="PremiumTaxState" type="state"/>
- <xs:element name="ProductName" type="xs:string"/>
- <xs:element name="ProjectedSalary" type="xs:string"/>
- <xs:element name="RetireesCanEnroll" type="yes_or_no"/>
- <xs:element name="RetirementAge" type="age_int"/>
- <xs:element name="RunOrder" type="run_order"/>
- <xs:element name="SalarySpecifiedAmountCap" type="nonnegative_double"/>
- <xs:element name="SalarySpecifiedAmountFactor" type="nonnegative_double"/>
- <xs:element name="SalarySpecifiedAmountOffset" type="nonnegative_double"/>
- <xs:element name="SeparateAccountRate" type="xs:string"/>
- <xs:element name="SeparateAccountRateType" type="sep_acct_rate_type"/>
- <xs:element name="Smoking" type="smoking"/>
- <xs:element name="SolveBasis" type="gen_basis"/>
- <xs:element name="SolveBeginTime" type="duration_int"/>
- <xs:element name="SolveBeginYear" type="duration_int"/>
- <xs:element name="SolveEndTime" type="duration_int"/>
- <xs:element name="SolveEndYear" type="duration_int"/>
- <xs:element name="SolveFromWhich" type="from_point"/>
- <xs:element name="SolveSeparateAccountBasis" type="sep_basis"/>
- <xs:element name="SolveTarget" type="solve_target"/>
- <xs:element name="SolveTargetCashSurrenderValue" type="nonnegative_double"/>
- <xs:element name="SolveTargetTime" type="duration_int"/>
- <xs:element name="SolveTargetYear" type="duration_int"/>
- <xs:element name="SolveTgtAtWhich" type="to_point"/>
- <xs:element name="SolveToWhich" type="to_point"/>
- <xs:element name="SolveType" type="solve_type"/>
- <xs:element name="SpecamtHistory" type="xs:string"/>
- <xs:element name="SpecifiedAmount" type="xs:string"/>
- <xs:element name="SpecifiedAmountFromIssue" type="nonnegative_double"/>
- <xs:element name="SpecifiedAmountFromRetirement" type="nonnegative_double"/>
- <xs:element name="SpecifiedAmountStrategyFromIssue" type="sa_strategy"/>
- <xs:element name="SpouseIssueAge" type="age_int"/>
- <xs:element name="SpouseRider" type="yes_or_no"/>
- <xs:element name="SpouseRiderAmount" type="nonnegative_double"/>
- <xs:element name="State" type="state"/>
- <xs:element name="StateOfJurisdiction" type="state"/>
- <xs:element name="SubstandardTable" type="table_rating"/>
- <xs:element name="SupplementalReportColumn00" type="report_column"/>
- <xs:element name="SupplementalReportColumn01" type="report_column"/>
- <xs:element name="SupplementalReportColumn02" type="report_column"/>
- <xs:element name="SupplementalReportColumn03" type="report_column"/>
- <xs:element name="SupplementalReportColumn04" type="report_column"/>
- <xs:element name="SupplementalReportColumn05" type="report_column"/>
- <xs:element name="SupplementalReportColumn06" type="report_column"/>
- <xs:element name="SupplementalReportColumn07" type="report_column"/>
- <xs:element name="SupplementalReportColumn08" type="report_column"/>
- <xs:element name="SupplementalReportColumn09" type="report_column"/>
- <xs:element name="SupplementalReportColumn10" type="report_column"/>
- <xs:element name="SupplementalReportColumn11" type="report_column"/>
- <xs:element name="SurviveToAge" type="age_int"/>
- <xs:element name="SurviveToType" type="survival_limit"/>
- <xs:element name="SurviveToYear" type="duration_int"/>
- <xs:element name="TaxBracket" type="xs:string"/>
- <xs:element name="TermAdjustmentMethod" type="term_adj_method"/>
- <xs:element name="TermRider" type="yes_or_no"/>
- <xs:element name="TermRiderAmount" type="nonnegative_double"/>
- <xs:element name="TermRiderProportion" type="proportion_double"/>
- <xs:element name="TermRiderUseProportion" type="yes_or_no"/>
- <xs:element name="TotalSpecifiedAmount" type="nonnegative_double"/>
- <xs:element name="UnderwritingClass" type="class"/>
- <xs:element name="UseAverageOfAllFunds" type="yes_or_no"/>
- <xs:element name="UseCurrentDeclaredRate" type="yes_or_no"/>
- <xs:element name="UseDOB" type="yes_or_no"/>
- <xs:element name="UseExperienceRating" type="yes_or_no"/>
- <xs:element name="UsePartialMortality" type="yes_or_no"/>
- <xs:element name="WaiverOfPremiumBenefit" type="yes_or_no"/>
- <xs:element name="WithdrawToBasisThenLoan" type="yes_or_no"/>
- <xs:element name="Withdrawal" type="xs:string"/>
- <xs:element name="WithdrawalAmount" type="nonnegative_double"/>
- <xs:element name="WithdrawalFromAge" type="age_int"/>
- <xs:element name="WithdrawalFromAlternative" type="from_point"/>
- <xs:element name="WithdrawalFromDuration" type="duration_int"/>
- <xs:element name="WithdrawalToAge" type="age_int"/>
- <xs:element name="WithdrawalToAlternative" type="to_point"/>
- <xs:element name="WithdrawalToDuration" type="duration_int"/>
- <xs:element name="ZipCode" type="xs:string"/>
+ <xs:element name="AccidentalDeathBenefit" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Accidental death benefit: elected or
not.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Address" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's address: number and
street.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentAddress" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agent's address: number and street.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentCity" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agent's address: city.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agent ID code.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agent's full name.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentPhone" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agent's phone number.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentState" type="state">
+ <xs:annotation>
+ <xs:documentation>Agent's address: state.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AgentZipCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agent's address: zip code.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AmortizePremiumLoad" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Amortize premium load (occasionally used for
BOLI).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AvoidMecMethod" type="mec_avoid_method">
+ <xs:annotation>
+ <xs:documentation>Special logic, if any, to avoid a
MEC.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BlendGender" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Custom-blend rates by gender.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BlendSmoking" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Custom-blend rates by smoking.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CashValueEnhancementRate" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Negative surrender charge as proportion of total
account value.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ChildRider" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Child(ren) term rider: elected or
not.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ChildRiderAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Child(ren) term rider: face amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="City" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's address: city.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Comments" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Free-form comments.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationAddress" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's address: number and
street.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationCity" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's address: city.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's name.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationPayment" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's planned premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationPaymentMode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's premium mode.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationPremiumTableFactor" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Corporation's tabular-premium
multiplier.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationState" type="state">
+ <xs:annotation>
+ <xs:documentation>Corporation's address: state.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationTaxBracket" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's tax bracket.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporationZipCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Corporation's address: zip code.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Country" type="country">
+ <xs:annotation>
+ <xs:documentation>Insured's address: country.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CountryCoiMultiplier" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>COI multiplier for country.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CreateSupplementalReport" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: elected or
not.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CurrentCoiMultiplier" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Multiplier for current COI rates.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfBirth" type="calendar_date_int">
+ <xs:annotation>
+ <xs:documentation>Insured's date of birth.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeathBenefitOption" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Death benefit option.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeathBenefitOptionFromIssue" type="dbopt">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeathBenefitOptionFromRetirement" type="dbopt">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DefinitionOfLifeInsurance" type="defn_life_ins">
+ <xs:annotation>
+ <xs:documentation>7702 definitional test.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DefinitionOfMaterialChange" type="defn_material_change">
+ <xs:annotation>
+ <xs:documentation>7702A definition of material change.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Dumpin" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Dump-in: i.e., first-year-only extra premium other
than a 1035 exchange.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="EffectiveDate" type="calendar_date_int">
+ <xs:annotation>
+ <xs:documentation>Effective date: for UL, date of first monthly
deduction.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="EffectiveDateToday" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Use today's date as effective date: handy for new
business.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="EmployeeClass" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Employee class, used for grouping individuals in order
to make
+input easier. E.g., specified amount for 'partners' might be
+two times salary, while 'all others' get a flat $50K.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExperienceRatingInitialKFactor" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Factor for amortizing mortality profit into future
charges.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExperienceReserveRate" type="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Overridden reserve rate for experience
rating.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="External1035ExchangeAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Amount of 1035 exchange from a different
insurer.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="External1035ExchangeBasis" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Tax basis of 1035 exchange from a different
insurer.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="External1035ExchangeFromMec" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>MEC status of 1035 exchange from a different
insurer.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraCompensationOnAssets" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Extra charge on separate-account assets. The
motivation is to
+let end users add a negotiated asset trailer without changing
+the product database, but the field may be used for any extra
+charge in the nature of M&E.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraCompensationOnPremium" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Extra premium load. The motivation is to let end users
add a
+negotiated commission without changing the product database,
+but the field may be used for any extra load on premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraMonthlyCustodialFee" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Extra policy fee. The motivation is to let end users
add an
+additional monthly custodial fee for a custom fund, but the
+field may be used for any extra monthly fee.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FlatExtra" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Annual flat extra per thousand of specified
amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Franchise" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Agency or brokerage code.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FundAllocations" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>As yet unused: cf.
'fund_input_method'.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FundChoiceType" type="fund_input_method">
+ <xs:annotation>
+ <xs:documentation>Fund-allocation override: cf.
'fund_input_method'.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gender" type="gender">
+ <xs:annotation>
+ <xs:documentation>Insured's gender for insurance
purposes.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="GeneralAccountRate" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>General-account interest rate as a decimal: e.g.,
'0.03' for 3%.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="GeneralAccountRateType" type="gen_acct_rate_type">
+ <xs:annotation>
+ <xs:documentation>General-account rate: before or after
spread.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="GroupUnderwritingType" type="uw_basis">
+ <xs:annotation>
+ <xs:documentation>Type of underwriting, e.g. guaranteed
issue.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="HoneymoonEndorsement" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Honeymoon: elected or not. This is a temporary
secondary
+guarantee that enhances surrender values in early years, by
+setting a minimum CSV equal to gross premium accumulated at a
+special interest rate, with no monthly deductions taken.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="HoneymoonValueSpread" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Interest spread for honeymoon value, which grows at
the net
+general account rate less this decrement.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IncludeInComposite" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Include this life in composite: default = 'Yes'. This
field
+permits excluding certain lives from a composite without
+deleting them from a census.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IndividualPaymentAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IndividualPaymentMode" type="mode">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IndividualPaymentStrategy" type="pmt_strategy">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IndividualPaymentToAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IndividualPaymentToAlternative" type="to_point">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IndividualPaymentToDuration" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceAsOfDate" type="calendar_date_int">
+ <xs:annotation>
+ <xs:documentation>Date as of which inforce values are provided. This is
taken to
+refer to the first moment of the day, before monthiversary
+processing. Some admin systems find it more convenient to
+provide values as of the last moment of the preceding day; in
+that case, this field should indicate the day following that
+preceding day.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceAvBeforeLastMc" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce account value before last material change, for
7702A.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceContractMonth" type="month_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceContractYear" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceCumulativeGlp" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce cumulative 7702 guideline level
premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceCumulativeNoLapsePremium" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce cumulative no-lapse premium, for contracts
that offer
+a no-lapse guarantee as long as a cumulative minimum premium
+is paid.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceCumulativePayments" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce cumulative payments: sum of all gross premiums,
+including dump-ins and 1035 exchange proceeds.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceDcv" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce 7702A deemed cash value.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceGeneralAccountValue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce account value in the general
account.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceGlp" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce 7702 guideline level
premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceGsp" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce 7702 guideline single
premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceHoneymoonValue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce honeymoon value. Zero if honeymoon has expired
or
+was never present.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceIsMec" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>MEC status of inforce contract.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceLeastDeathBenefit" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce 7702A least death benefit.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceMonth" type="month_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceNetExperienceReserve" type="xs:double">
+ <xs:annotation>
+ <xs:documentation>Inforce net reserve for experience
rating.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforcePreferredLoanBalance" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce balance (total indebtedness) for preferred
loans.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforcePreferredLoanValue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce loaned account value (excluding accrued
interest) for
+preferred loans.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceRegularLoanBalance" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce balance (total indebtedness) for regular
loans.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceRegularLoanValue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce loaned account value (excluding accrued
interest) for
+regular loans.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceSeparateAccountValue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce account value in all separate accounts,
combined.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceSevenPayPremium" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce 7702A seven-pay premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceTaxBasis" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce tax basis.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceYear" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InforceYtdNetCoiCharge" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Inforce year-to-date "net" COI charge for experience
rating.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InputFundManagementFee" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Investment management fee of a custom
fund.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InsuredName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's full name.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InsuredPremiumTableFactor" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Insured's tabular-premium
multiplier.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Internal1035ExchangeAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Amount of 1035 exchange from the same insurer;
distinguished
+from external 1035 because an internal exchange may not be
+subject to premium tax.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Internal1035ExchangeBasis" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Tax basis of 1035 exchange from the same
insurer.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Internal1035ExchangeFromMec" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>MEC status of 1035 exchange from the same
insurer.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IssueAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>Insurance age on effective date.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LastCoiReentryDate" type="calendar_date_int">
+ <xs:annotation>
+ <xs:documentation>Most recent group-underwriting date, for group
contracts that
+reenter a select and ultimate table of COI rates periodically
+upon successful re-underwriting (for active lives only).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LastMaterialChangeDate" type="calendar_date_int">
+ <xs:annotation>
+ <xs:documentation>Date of most recent 7702A material
change.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanFromAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanFromAlternative" type="from_point">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanFromDuration" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanRate" type="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Loan interest rate, if it is
variable.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanRateType" type="loan_rate_type">
+ <xs:annotation>
+ <xs:documentation>Loan rate: fixed or variable.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanToAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanToAlternative" type="to_point">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LoanToDuration" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaleProportion" type="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Proportion of males when rates are custom-blended by
gender.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaximumNaar" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Maximum net amount at risk, as constrained by
reinsurance.
+Some contracts in the high-net-worth market force money out to
+prevent corridor death benefit from exceeding available
+reinsurance.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="NewLoan" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>New loan taken in cash (excluding capitalized
interest).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="NonsmokerProportion" type="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Proportion of nonsmokers when rates are custom-blended
by smoking.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="NumberOfIdenticalLives" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Number of identical lives represented by a single
census cell.
+It is sometimes convenient to approximate a population by
+specifying a few cells and indicating the number of lives each
+one represents.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="OverrideCoiMultiplier" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Override country COI multiplier.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="OverrideExperienceReserveRate" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Override reserve rate for experience
rating.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="OverrideFundManagementFee" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Override investment management fee: used only with
custom funds.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PartialMortalityMultiplier" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Multiplier applied to partial-mortality
table.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Payment" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's planned premium.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PaymentMode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's premium mode.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PolicyNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Policy number: a unique identifier, which, despite its
+commonly-used name, is often not purely numeric.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostHoneymoonSpread" type="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Interest decrement applied to crediting rate after the
+honeymoon expires--designed to recover the cost of providing
+the honeymoon.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PremiumHistory" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>7702A "amounts paid" for each "contract year" since
beginning
+of most recent seven-pay period; zero if not in a seven-pay
+period.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PremiumTaxState" type="state">
+ <xs:annotation>
+ <xs:documentation>State to which premium tax is paid.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ProductName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Product (plan): enumerators depend on run-time
context.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ProjectedSalary" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Projected salary: used for salary-based
benefits.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RetireesCanEnroll" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Retirees allowed to enroll (or not). This is handy for
+warning when retirees are unintentionally included in a
+census.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RetirementAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>Insured's retirement age.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RunOrder" type="run_order">
+ <xs:annotation>
+ <xs:documentation>Order in which different individuals in a census are
+processed: cf. 'run_order'.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SalarySpecifiedAmountCap" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Maximum salary-based specified
amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SalarySpecifiedAmountFactor" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Salary multiple used to determine specified
amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SalarySpecifiedAmountOffset" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Amount to be subtracted from salary-based specified
amount,
+intended to represent basic group term coverage.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SeparateAccountRate" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Separate-account hypothetical rate as a decimal: e.g.,
'0.06' for 6%.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SeparateAccountRateType" type="sep_acct_rate_type">
+ <xs:annotation>
+ <xs:documentation>Separate-account rate: before or after
spread.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Smoking" type="smoking">
+ <xs:annotation>
+ <xs:documentation>Insured's smoking or tobacco use.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveBasis" type="gen_basis">
+ <xs:annotation>
+ <xs:documentation>Expense and general-account basis for a solve: lmi
permits
+solves on guaranteed and midpoint bases as well as current.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveBeginTime" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Age at which a solve begins
(inclusive).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveBeginYear" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Policy year in which a solve begins
(inclusive).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveEndTime" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Age at which a solve ends
(exclusive).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveEndYear" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Policy year at which a solve ends
(exclusive).</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveFromWhich" type="from_point">
+ <xs:annotation>
+ <xs:documentation>Point at which a solve begins.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveSeparateAccountBasis" type="sep_basis">
+ <xs:annotation>
+ <xs:documentation>Separate-account basis for a solve: lmi permits solves
on
+the basis of the hypothetical rate, half that rate, or zero.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveTarget" type="solve_target">
+ <xs:annotation>
+ <xs:documentation>Solve goal.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveTargetCashSurrenderValue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Cash surrender value used as solve
goal.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveTargetTime" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Age at which a solve target is to be
achieved.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveTargetYear" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Policy year in which a solve target is to be
achieved.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveTgtAtWhich" type="to_point">
+ <xs:annotation>
+ <xs:documentation>Point at which a solve target is to be
achieved.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveToWhich" type="to_point">
+ <xs:annotation>
+ <xs:documentation>Point at which a solve ends.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SolveType" type="solve_type">
+ <xs:annotation>
+ <xs:documentation>Parameter to be solved for.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpecamtHistory" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Specified amount for each policy year since issue:
used only
+for certain surrender charges.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpecifiedAmount" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Specified amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpecifiedAmountFromIssue" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpecifiedAmountFromRetirement" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpecifiedAmountStrategyFromIssue" type="sa_strategy">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpouseIssueAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>Spouse's insurance age on effective date of spouse
rider.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpouseRider" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Spouse term rider: elected or not.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SpouseRiderAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Spouse term rider: face amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="State" type="state">
+ <xs:annotation>
+ <xs:documentation>Insured's address: state.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StateOfJurisdiction" type="state">
+ <xs:annotation>
+ <xs:documentation>State that approves policy form and rate filing, and
governs
+everything else except premium tax.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SubstandardTable" type="table_rating">
+ <xs:annotation>
+ <xs:documentation>Substandard table rating.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn00" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: first
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn01" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: second
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn02" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: third
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn03" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: fourth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn04" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: fifth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn05" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: sixth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn06" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: seventh
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn07" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: eighth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn08" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: ninth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn09" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: tenth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn10" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: eleventh
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SupplementalReportColumn11" type="report_column">
+ <xs:annotation>
+ <xs:documentation>User-designed supplemental illustration: twelfth
column.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SurviveToAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>Presumed age at death, for partial
mortality.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SurviveToType" type="survival_limit">
+ <xs:annotation>
+ <xs:documentation>Presumed moment of death, for partial
mortality.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SurviveToYear" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>Presumed policy year of death, for partial
mortality.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TaxBracket" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's tax bracket.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TermAdjustmentMethod" type="term_adj_method">
+ <xs:annotation>
+ <xs:documentation>Order in which term and base are affected by changes
in total
+specified amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TermRider" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Term rider on main insured: elected or
not.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TermRiderAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Term rider on main insured: face
amount.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TermRiderProportion" type="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Term rider as proportion of term and base
combined.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TermRiderUseProportion" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Treat term rider as proportion of term and base
combined.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TotalSpecifiedAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Initial specified amount of term and base combined,
when term
+rider is specified as a proportion of this total.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="UnderwritingClass" type="class">
+ <xs:annotation>
+ <xs:documentation>Underwriting class.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="UseAverageOfAllFunds" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Use mean separate-account fee: cf.
'fund_input_method'.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="UseCurrentDeclaredRate" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Use current declared rate (read from authenticated
database)
+instead of entering the crediting rate explicitly.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="UseDOB" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Let date of birth override issue
age.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="UseExperienceRating" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Use experience rating, on the few contracts that offer
it.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="UsePartialMortality" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Illustrate "partial mortality": i.e., reflect assumed
deaths
+in a composite illustration.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WaiverOfPremiumBenefit" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Waiver of premium benefit: elected or
not.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawToBasisThenLoan" type="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>Reinterpret input withdrawals as loans after tax basis
recovered.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Withdrawal" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Partial surrender.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalAmount" type="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalFromAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalFromAlternative" type="from_point">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalFromDuration" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalToAge" type="age_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalToAlternative" type="to_point">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="WithdrawalToDuration" type="duration_int">
+ <xs:annotation>
+ <xs:documentation>[obsolete]</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ZipCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Insured's address: zip code.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
<!-- It is infeasible to validate an input sequence with a regex. -->
<!-- Numeric-range types. -->
<xs:simpleType name="nonnegative_double">
+ <xs:annotation>
+ <xs:documentation>Floating-point number greater than or equal to
zero.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:double">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="proportion_double">
+ <xs:annotation>
+ <xs:documentation>Floating-point number between zero and one,
inclusive.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:double">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
- <!-- Calendar-date bounds: [1752-09-14, 9999-12-31] -->
<xs:simpleType name="calendar_date_int">
+ <xs:annotation>
+ <xs:documentation>Julian Day Number between 1752-09-14 and 9999-12-31,
inclusive.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="2361222"/>
<xs:maxInclusive value="5373484"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="age_int">
+ <xs:annotation>
+ <xs:documentation>Attained age: integer between zero and 99,
inclusive.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="99"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="duration_int">
+ <xs:annotation>
+ <xs:documentation>Time interval in years: integer between zero and 100,
inclusive.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="month_int">
+ <xs:annotation>
+ <xs:documentation>Time interval in months: integer between zero and
eleven, inclusive.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="11"/>
</xs:restriction>
</xs:simpleType>
<!-- Enumerations. -->
<xs:simpleType name="yes_or_no">
+ <xs:annotation>
+ <xs:documentation>'Yes' or 'No'. 'No' is listed first because it is
usually the better default.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="No"/>
<xs:enumeration value="Yes"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="gender">
+ <xs:annotation>
+ <xs:documentation>Gender. 'Unisex' is for contracts that don't
distinguish rates by gender.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Female"/>
<xs:enumeration value="Male"/>
@@ -493,6 +1365,11 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="smoking">
+ <xs:annotation>
+ <xs:documentation>Smoking. 'Unismoke' is for contracts that don't
distinguish rates
+by smoking. Some contracts speak of tobacco use instead of smoking,
+but none use both, so a single set of enumerators suffices.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Smoker"/>
<xs:enumeration value="Nonsmoker"/>
@@ -500,6 +1377,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="class">
+ <xs:annotation>
+ <xs:documentation>Underwriting class. Use "Rated" for contracts with
table ratings.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Preferred"/>
<xs:enumeration value="Standard"/>
@@ -508,6 +1388,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dbopt">
+ <xs:annotation>
+ <xs:documentation>Death benefit option: 'A' = level; 'B' = increasing;
'ROP' = return of premium.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
@@ -515,6 +1398,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="mode">
+ <xs:annotation>
+ <xs:documentation>Payment mode.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Annual"/>
<xs:enumeration value="Semiannual"/>
@@ -523,6 +1409,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="gen_basis">
+ <xs:annotation>
+ <xs:documentation>Basis for expense and general-account
rates.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Current"/>
<xs:enumeration value="Guaranteed"/>
@@ -530,6 +1419,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="sep_basis">
+ <xs:annotation>
+ <xs:documentation>Basis for separate-account rates.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Hypothetical"/>
<xs:enumeration value="Zero"/>
@@ -537,6 +1429,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="uw_basis">
+ <xs:annotation>
+ <xs:documentation>Type of underwriting.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Medical"/>
<xs:enumeration value="Paramedical"/>
@@ -546,6 +1441,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="table_rating">
+ <xs:annotation>
+ <xs:documentation>Industry-standard table rating, or
'None'.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="None"/>
<xs:enumeration value="A=+25%"/>
@@ -561,6 +1459,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="solve_type">
+ <xs:annotation>
+ <xs:documentation>Parameter to be solved for.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="No solve"/>
<xs:enumeration value="Specified amount"/>
@@ -571,6 +1472,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="solve_target">
+ <xs:annotation>
+ <xs:documentation>Solve goal.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Endowment"/>
<xs:enumeration value="Target CSV"/>
@@ -579,6 +1483,12 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="pmt_strategy">
+ <xs:annotation>
+ <xs:documentation>Optional strategy to determine payment as a function
of specified amount.
+'PmtInputScalar' is obsolete.
+'PmtMEP' uses 7702A 7PP rate.
+'Table' uses an external table (e.g., New York Table D for group
insurance).</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="PmtInputScalar"/>
<xs:enumeration value="PmtMinimum"/>
@@ -591,6 +1501,11 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="sa_strategy">
+ <xs:annotation>
+ <xs:documentation>Optional strategy to determine specified amount as a
function of premium.
+'SAInputScalar' is obsolete.
+'SAMEP' uses 7702A 7PP rate.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="SAInputScalar"/>
<xs:enumeration value="SAMaximum"/>
@@ -603,24 +1518,49 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="gen_acct_rate_type">
+ <xs:annotation>
+ <xs:documentation>General-account rate: before or after
spread.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Credited rate"/>
<xs:enumeration value="Earned rate"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="sep_acct_rate_type">
+ <xs:annotation>
+ <xs:documentation>Separate-account rate: before or after
spread.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Net rate"/>
<xs:enumeration value="Gross rate"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="loan_rate_type">
+ <xs:annotation>
+ <xs:documentation>Loan rate: fixed or variable.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Fixed loan rate"/>
<xs:enumeration value="Variable loan rate"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="fund_input_method">
+ <xs:annotation>
+ <xs:documentation>Fund-allocation overrides, for payments that aren't
peremptorily
+allocated to the general account (e.g., employer payments on some
+group UL contracts might always go into the general account).
+Conceptually:
+'Average': use mean separate-account fee.
+'Override': use scalar input separate-account fee.
+'Choose': respect input fund allocations.
+However, there's no GUI for fund allocation yet, so, for the nonce,
+the meanings in practice are:
+'Average': allocate all payments to separate account.
+'Choose': allocate all payments to general account.
+Reason: the GUI, once it exists, will by default allocate all
+payments to the general account if no separate-account funds are
+selected.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Average fund"/>
<xs:enumeration value="Override fund"/>
@@ -628,12 +1568,22 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="run_order">
+ <xs:annotation>
+ <xs:documentation>Order in which different individuals in a census are
processed.
+By default, illustrations are created independently, in series:
+one life at a time. Alternatively, all lives may be run together
+in parallel, which requires more memory but permits them to affect
+each other, as when individual charges depend on total case
assets.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Life by life"/>
<xs:enumeration value="Month by month"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="survival_limit">
+ <xs:annotation>
+ <xs:documentation>Presumed moment of death, for partial
mortality.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="No survival limit"/>
<xs:enumeration value="Survive to age limit"/>
@@ -642,6 +1592,10 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="term_adj_method">
+ <xs:annotation>
+ <xs:documentation>Order in which term and base are affected by changes
in total
+specified amount.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Adjust base first"/>
<xs:enumeration value="Adjust term first"/>
@@ -649,6 +1603,12 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="state">
+ <xs:annotation>
+ <xs:documentation>USPS two-letter abbreviations for the fifty US states,
plus
+ 'DC' (District of Columbia)
+ 'PR' (Puerto Rico)
+and 'XX', a fictitious state used for non-US business.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="AL"/>
<xs:enumeration value="AK"/>
@@ -706,6 +1666,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="country">
+ <xs:annotation>
+ <xs:documentation>International standard country code [ISO
3166-1-Alpha-2 as of 2000-08-21].</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="AD"/>
<xs:enumeration value="AE"/>
@@ -949,6 +1912,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="defn_life_ins">
+ <xs:annotation>
+ <xs:documentation>7702 definitional test, if any.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="CVAT"/>
<xs:enumeration value="GPT"/>
@@ -956,12 +1922,21 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="mec_avoid_method">
+ <xs:annotation>
+ <xs:documentation>Special logic, if any, to avoid a MEC. Formerly,
another choice
+tried to avoid a MEC by increasing the specified amount, but that
+proved unworkable (e.g., because of underwriting).</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Allow MEC"/>
<xs:enumeration value="Reduce premium"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="defn_material_change">
+ <xs:annotation>
+ <xs:documentation>7702A definition of material change. For the nonce, use
+"Earlier of" with CVAT, and "adjustment event" with GPT.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Unnecessary premium"/>
<xs:enumeration value="Benefit increase"/>
@@ -971,6 +1946,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="from_point">
+ <xs:annotation>
+ <xs:documentation>Inclusive start of a half-open interval, used e.g. for
input sequences.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Issue"/>
<xs:enumeration value="Year"/>
@@ -979,6 +1957,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="to_point">
+ <xs:annotation>
+ <xs:documentation>Exclusive end of a half-open interval used e.g. for
input sequences.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Retirement"/>
<xs:enumeration value="Year"/>
@@ -987,6 +1968,9 @@
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="report_column">
+ <xs:annotation>
+ <xs:documentation>Column on optional supplemental
report.</xs:documentation>
+ </xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="[none]"/>
<xs:enumeration value="AttainedAge"/>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5444] Improve documentation,
Greg Chicares <=