{
  "_id": "6a1045b0acfb0bcc41c9e883",
  "Package": "LifeInsureR",
  "Type": "Package",
  "Version": "1.0.2",
  "Date": "2025-10-23",
  "Title": "Modelling Traditional Life Insurance Contracts",
  "Description": "R6 classes to model traditional life insurance contracts\nlike annuities, whole life insurances or endowments. Such life\ninsurance contracts provide a guaranteed interest and are not\ndirectly linked to the performance of a particular investment\nvehicle, but they typically provide (discretionary) profit\nparticipation. This package provides a framework to model such\ncontracts in a very generic (cash-flow-based) way and includes\nmodelling profit participation schemes, dynamic increases or\nmore general contract layers, as well as contract changes (like\nsum increases or premium waivers). All relevant quantities like\npremium decomposition, reserves and benefits over the whole\ncontract period are calculated and potentially exported to\n'Excel'. Mortality rates are given using the 'MortalityTables'\npackage.",
  "Authors@R": "c(person(\"Reinhold\", \"Kainhofer\", role=c(\"aut\", \"cre\", \"cph\"), email=\"reinhold@kainhofer.com\"))",
  "Author": "Reinhold Kainhofer [aut, cre, cph]",
  "Maintainer": "Reinhold Kainhofer <reinhold@kainhofer.com>",
  "Encoding": "UTF-8",
  "License": "MIT + file LICENSE",
  "RoxygenNote": "7.3.3",
  "Collate": "'HelperFunctions.R' 'InsuranceParameters.R'\n'ProfitParticipation_Functions.R' 'ProfitParticipation.R'\n'InsuranceTarif.R' 'InsuranceContract.R' 'RegisterLITariff.R'\n'RoundingHelper.R' 'Templating.R' 'contractGrid.R'\n'create_LIR_project.R' 'debugging.R'\n'exportInsuranceContract_xlsx.R' 'showVmGlgExamples.R'\n'exportInsuranceContractExample.R'",
  "VignetteBuilder": "knitr",
  "Roxygen": "list(markdown = TRUE)",
  "URL": "https://gitlab.open-tools.net/R/LifeInsureR,\nhttps://github.com/kainhofer/LifeInsureR",
  "BugReports": "https://gitlab.open-tools.net/R/LifeInsureR/-/issues",
  "Config/pak/sysreqs": "cmake libfontconfig1-dev libfreetype6-dev\nlibfribidi-dev make libharfbuzz-dev libicu-dev libpng-dev\nlibuv1-dev libxml2-dev",
  "Repository": "https://kainhofer.r-universe.dev",
  "Date/Publication": "2026-01-11 00:07:45 UTC",
  "RemoteUrl": "https://github.com/kainhofer/lifeinsurer",
  "RemoteRef": "HEAD",
  "RemoteSha": "2977e941941b3c3d649d8badad3e7a8684f2090e",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-11 05:53:02 UTC",
    "User": "root"
  },
  "MD5sum": "0f66c445f1131d6e3a2219c8afdab603",
  "_user": "kainhofer",
  "_type": "src",
  "_file": "LifeInsureR_1.0.2.tar.gz",
  "_fileid": "0f35de2beb9fa4d30066214d7645919793b4c70e86f4d3e567c7bdd68d04fd87",
  "_filesize": 996287,
  "_sha256": "0f35de2beb9fa4d30066214d7645919793b4c70e86f4d3e567c7bdd68d04fd87",
  "_created": "2026-05-11T05:53:02.000Z",
  "_published": "2026-05-22T12:01:52.654Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77375288109,
      "time": 249,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "6911286182"
    },
    {
      "job": 77375287865,
      "time": 202,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "6911278143"
    },
    {
      "job": 77375287906,
      "time": 156,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "6911267290"
    },
    {
      "job": 77375287701,
      "time": 162,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "6911268549"
    },
    {
      "job": 77375287664,
      "time": 272,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6911235015"
    },
    {
      "job": 77375287299,
      "time": 133,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7159983482"
    },
    {
      "job": 77375287978,
      "time": 159,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "6911268070"
    },
    {
      "job": 77375288141,
      "time": 151,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "6911266351"
    },
    {
      "job": 77375287898,
      "time": 157,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "6911267593"
    }
  ],
  "_buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/kainhofer/lifeinsurer",
  "_commit": {
    "id": "2977e941941b3c3d649d8badad3e7a8684f2090e",
    "author": "Kainhofer Reinhold <reinhold@kainhofer.com>",
    "committer": "Kainhofer Reinhold <reinhold@kainhofer.com>",
    "message": "Fix benefit CF vector for wholelife tariffs\n\nself$getPolicyTerm will be cut to the mortality table, and cflen will be derived from it, so getPolicyTerm() will never be larger than cflen! We need to check the actual policyPeriod of the contract without cutting to the mortality table (annuities already do this).\n",
    "time": 1768090065
  },
  "_maintainer": {
    "name": "Reinhold Kainhofer",
    "email": "reinhold@kainhofer.com",
    "login": "kainhofer",
    "uuid": 4689419
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5",
      "role": "Depends"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "MortalityTables",
      "role": "Imports"
    },
    {
      "package": "objectProperties",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "openxlsx",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "abind",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Imports"
    },
    {
      "package": "kableExtra",
      "role": "Imports"
    },
    {
      "package": "pander",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "magrittr",
      "role": "Suggests"
    },
    {
      "package": "tibble",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "fs",
      "role": "Suggests"
    },
    {
      "package": "here",
      "role": "Suggests"
    },
    {
      "package": "purrr",
      "role": "Suggests"
    }
  ],
  "_owner": "kainhofer",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-24",
      "n": 4
    },
    {
      "week": "2025-30",
      "n": 1
    },
    {
      "week": "2025-47",
      "n": 10
    },
    {
      "week": "2025-48",
      "n": 5
    },
    {
      "week": "2025-49",
      "n": 2
    },
    {
      "week": "2025-52",
      "n": 5
    },
    {
      "week": "2026-01",
      "n": 6
    },
    {
      "week": "2026-02",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "CRAN_V1.0.1",
      "date": "2025-06-14"
    },
    {
      "name": "V1.0.1",
      "date": "2025-06-14"
    }
  ],
  "_stars": 2,
  "_contributors": [
    {
      "user": "kainhofer",
      "count": 317,
      "uuid": 4689419
    }
  ],
  "_userbio": {
    "uuid": 4689419,
    "type": "user",
    "name": "Reinhold Kainhofer"
  },
  "_downloads": {
    "count": 654,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/LifeInsureR"
  },
  "_devurl": "https://github.com/kainhofer/lifeinsurer",
  "_searchresults": 17,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/LifeInsureR.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/kainhofer/lifeinsurer",
  "_realowner": "kainhofer",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2023-11-06"
    },
    {
      "version": "1.0.1",
      "date": "2025-06-15"
    }
  ],
  "_exports": [
    "age.exactRounded",
    "age.yearDifference",
    "applyHook",
    "CalculationEnum",
    "contractGrid",
    "contractGridPremium",
    "costs.baseAlpha",
    "costs.scaleAlpha",
    "costsDisplayTable",
    "deathBenefit.annuityDecreasing",
    "deathBenefit.linearDecreasing",
    "expect_equal_abs",
    "exportInsuranceContract.xlsx",
    "exportInsuranceContractExample",
    "fallbackFields",
    "fillFields",
    "fillNAgaps",
    "filterProfitRates",
    "freqCharge",
    "get.tariff",
    "get.tariffs",
    "head0",
    "initializeCosts",
    "InsuranceContract",
    "InsuranceContract.ParameterDefaults",
    "InsuranceContract.ParametersFallback",
    "InsuranceContract.ParametersFill",
    "InsuranceContract.ParameterStructure",
    "InsuranceContract.Values",
    "InsuranceTarif",
    "isRegularPremiumContract",
    "isSinglePremiumContract",
    "LIC_debug_configure",
    "makeContractGridDimname",
    "makeContractGridDimnames",
    "pad0",
    "padLast",
    "PaymentTimeEnum",
    "PP.base.contractualReserve",
    "PP.base.meanContractualReserve",
    "PP.base.meanZillmerReserve",
    "PP.base.meanZillmerReserveForward",
    "PP.base.NULL",
    "PP.base.previousContractualReserve",
    "PP.base.PreviousZillmerReserve",
    "PP.base.sumInsured",
    "PP.base.totalProfitAssignment",
    "PP.base.ZillmerReserveT2",
    "PP.base.ZillmerRiskPremium",
    "PP.benefit.None",
    "PP.benefit.Profit",
    "PP.benefit.ProfitGuaranteeSupporting",
    "PP.benefit.ProfitPlusGuaranteedInterest",
    "PP.benefit.ProfitPlusHalfGuaranteedInterest",
    "PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal",
    "PP.benefit.ProfitPlusHalfTotalInterest",
    "PP.benefit.ProfitPlusInterestMinGuaranteeTotal",
    "PP.benefit.ProfitPlusTerminalBonusReserve",
    "PP.benefit.ProfitPlusTotalInterest",
    "PP.benefit.TerminalBonus",
    "PP.benefit.TerminalBonus5Years",
    "PP.benefit.TerminalBonus5YearsProRata",
    "PP.calculate.RateOnBase",
    "PP.calculate.RateOnBaseMin0",
    "PP.calculate.RateOnBaseSGFFactor",
    "PP.calculate.RatePlusGuaranteeOnBase",
    "PP.rate.expenseProfit",
    "PP.rate.interestProfit",
    "PP.rate.interestProfit2",
    "PP.rate.interestProfit2PlusGuarantee",
    "PP.rate.interestProfitPlusGuarantee",
    "PP.rate.riskProfit",
    "PP.rate.sumProfit",
    "PP.rate.terminalBonus",
    "PP.rate.terminalBonusFund",
    "PP.rate.totalInterest",
    "PP.rate.totalInterest2",
    "premiumRefundPeriod.default",
    "prepare.tariff",
    "ProfitComponentsEnum",
    "ProfitParticipation",
    "PVfactory",
    "register.company",
    "register.tariff",
    "rollingmean",
    "round_half_up",
    "RoundingHelper",
    "setCost",
    "SexEnum",
    "showVmGlgExamples",
    "sumProfits",
    "TariffTypeEnum",
    "testProfitParticipation",
    "testVmGlgExample",
    "valueOrFunction",
    "vmGlgExample.generateTest"
  ],
  "_help": [
    {
      "page": "age.exactRounded",
      "title": "Calculate the age of the insured based on exact age at contract closing, rounded to the nearest birthday.",
      "topics": [
        "age.exactRounded"
      ]
    },
    {
      "page": "age.yearDifference",
      "title": "Calculate the age of the insured based on the difference of the bith year and contract closing year.",
      "topics": [
        "age.yearDifference"
      ]
    },
    {
      "page": "applyHook",
      "title": "If 'hook' is a function, apply it to 'val', otherwise return 'val' unchanged",
      "topics": [
        "applyHook"
      ]
    },
    {
      "page": "CalculationSingleEnum-class",
      "title": "Enum to define how much of a contract needs to be calculated automatically.",
      "topics": [
        "CalculationEnum",
        "CalculationSingleEnum-class"
      ]
    },
    {
      "page": "contractGrid",
      "title": "Create a grid of InsuranceContract objects or premiums with each axis representing one varying parameter",
      "topics": [
        "contractGrid",
        "contractGridPremium"
      ]
    },
    {
      "page": "costs.baseAlpha",
      "title": "Helper function to define base costs with base alpha, but otherwise unchanged costs",
      "topics": [
        "costs.baseAlpha"
      ]
    },
    {
      "page": "costs.scaleAlpha",
      "title": "Helper function to modify alpha costs of an insurance contract individually",
      "topics": [
        "costs.scaleAlpha"
      ]
    },
    {
      "page": "costsDisplayTable",
      "title": "Helper function to display all cost definitions in a concise table",
      "topics": [
        "costsDisplayTable"
      ]
    },
    {
      "page": "costValuesAsDF",
      "title": "Convert the multi-dimensional costs array to a data.frame for output to a file",
      "topics": [
        "costValuesAsDF"
      ]
    },
    {
      "page": "deathBenefit.annuityDecreasing",
      "title": "Describes the death benefit of a decreasing whole life insurance (after a possible deferall period)",
      "topics": [
        "deathBenefit.annuityDecreasing"
      ]
    },
    {
      "page": "deathBenefit.linearDecreasing",
      "title": "Describes the death benefit of a linearly decreasing whole life insurance (after a possible deferall period)",
      "topics": [
        "deathBenefit.linearDecreasing"
      ]
    },
    {
      "page": "expect_equal_abs",
      "title": "Expect approximate equality by absolute tolerance",
      "topics": [
        "expect_equal_abs"
      ]
    },
    {
      "page": "exportInsuranceContract.xlsx",
      "title": "Export an insurance contract (object of class InsuranceContract) to an 'Excel' file",
      "topics": [
        "exportInsuranceContract.xlsx"
      ]
    },
    {
      "page": "exportInsuranceContractExample",
      "title": "Export the example calculations of an insurance contract",
      "topics": [
        "exportInsuranceContractExample"
      ]
    },
    {
      "page": "fallbackFields",
      "title": "Replace missing values in ields by default fallback values",
      "topics": [
        "fallbackFields"
      ]
    },
    {
      "page": "fillFields",
      "title": "Overwrite all existing fields with default values given",
      "topics": [
        "fillFields"
      ]
    },
    {
      "page": "fillNAgaps",
      "title": "Replace all 'NA' entries of a vector with the previous non-NA value",
      "topics": [
        "fillNAgaps"
      ]
    },
    {
      "page": "filterProfitRates",
      "title": "Filter the whole data.frame of profit rates for the given profit classes",
      "topics": [
        "filterProfitRates"
      ]
    },
    {
      "page": "freqCharge",
      "title": "Defines a frequency charge (surcharge for monthly/quarterly/semiannual) premium payments",
      "topics": [
        "freqCharge"
      ]
    },
    {
      "page": "get.tariff",
      "title": "Retrieve a LifeInsureR tariff registered with the package",
      "topics": [
        "get.tariff"
      ]
    },
    {
      "page": "get.tariffs",
      "title": "Retrieve a LifeInsureR tariff registered with the package",
      "topics": [
        "get.tariffs"
      ]
    },
    {
      "page": "head0",
      "title": "Set all entries of the given vector to 0 up until index 'start'",
      "topics": [
        "head0"
      ]
    },
    {
      "page": "initializeCosts",
      "title": "Initialize or modify a data structure for the definition of InsuranceTarif costs",
      "topics": [
        "initializeCosts"
      ]
    },
    {
      "page": "InsuranceContract",
      "title": "Base Class for Insurance ContractsA",
      "topics": [
        "InsuranceContract"
      ]
    },
    {
      "page": "InsuranceContract.ParameterDefaults",
      "title": "Default parameters for the InsuranceContract class.",
      "topics": [
        "InsuranceContract.ParameterDefaults"
      ]
    },
    {
      "page": "InsuranceContract.ParametersFallback",
      "title": "Use fallback values for missing contract parameters",
      "topics": [
        "InsuranceContract.ParametersFallback"
      ]
    },
    {
      "page": "InsuranceContract.ParametersFill",
      "title": "Initialize the insurance contract parameters from passed arguments",
      "topics": [
        "InsuranceContract.ParametersFill"
      ]
    },
    {
      "page": "InsuranceContract.ParameterStructure",
      "title": "Full insurance contract parameter structure.",
      "topics": [
        "InsuranceContract.ParameterStructure"
      ]
    },
    {
      "page": "InsuranceContract.Values",
      "title": "Data structure (filled only with NULL) for insurance contract class member values.",
      "topics": [
        "InsuranceContract.Values"
      ]
    },
    {
      "page": "InsuranceTarif",
      "title": "Base class for traditional Insurance Tarifs (with fixed guarantee, profit sharing and no unit-linked component)",
      "topics": [
        "InsuranceTarif"
      ]
    },
    {
      "page": "isRegularPremiumContract",
      "title": "Determine whether a contract (given all parameters) is a contract with regular premiums",
      "topics": [
        "isRegularPremiumContract"
      ]
    },
    {
      "page": "isSinglePremiumContract",
      "title": "Determine whether a contract (given all parameters) is a single-premium contract or with regular premiums",
      "topics": [
        "isSinglePremiumContract"
      ]
    },
    {
      "page": "LIC_debug_configure",
      "title": "Configure LifeInsureR debug options interactively",
      "topics": [
        "LIC_debug_configure"
      ]
    },
    {
      "page": "makeContractGridDimname",
      "title": "Create human-readable labels for the dimensions in a 'contractGrid()'",
      "topics": [
        "makeContractGridDimname",
        "makeContractGridDimnames"
      ]
    },
    {
      "page": "pad0",
      "title": "Pad a vector with 0 to a desired length",
      "topics": [
        "pad0"
      ]
    },
    {
      "page": "padLast",
      "title": "Pad the vector 'v' to length 'l' by repeating the last entry of the vector.",
      "topics": [
        "padLast"
      ]
    },
    {
      "page": "PaymentTimeSingleEnum-class",
      "title": "Enum to describe when a benefit or premium payment is due (in advance or in arrears)",
      "topics": [
        "PaymentTimeEnum",
        "PaymentTimeSingleEnum-class"
      ]
    },
    {
      "page": "premiumRefundPeriod.default",
      "title": "Default premium refund period: for deferred contracts the deferral period, otherwise the whole contract",
      "topics": [
        "premiumRefundPeriod.default"
      ]
    },
    {
      "page": "prepare.tariff",
      "title": "Create template code files for a new tarif",
      "topics": [
        "prepare.tariff"
      ]
    },
    {
      "page": "ProfitComponentsMultipleEnum-class",
      "title": "Enum to define the different components of profit participation.",
      "topics": [
        "ProfitComponentsEnum",
        "ProfitComponentsMultipleEnum-class"
      ]
    },
    {
      "page": "ProfitParticipation",
      "title": "Base Class for Profit Participation Schemes",
      "topics": [
        "ProfitParticipation"
      ]
    },
    {
      "page": "ProfitParticipationFunctions",
      "title": "Helper functions for profit participation",
      "topics": [
        "getTerminalBonusReserve",
        "PP.base.contractualReserve",
        "PP.base.meanContractualReserve",
        "PP.base.meanZillmerReserve",
        "PP.base.meanZillmerReserveForward",
        "PP.base.NULL",
        "PP.base.previousContractualReserve",
        "PP.base.PreviousZillmerReserve",
        "PP.base.sumInsured",
        "PP.base.totalProfitAssignment",
        "PP.base.ZillmerReserveT2",
        "PP.base.ZillmerRiskPremium",
        "PP.benefit.None",
        "PP.benefit.Profit",
        "PP.benefit.ProfitGuaranteeSupporting",
        "PP.benefit.ProfitPlusGuaranteedInterest",
        "PP.benefit.ProfitPlusHalfGuaranteedInterest",
        "PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal",
        "PP.benefit.ProfitPlusHalfTotalInterest",
        "PP.benefit.ProfitPlusInterestMinGuaranteeTotal",
        "PP.benefit.ProfitPlusTerminalBonusReserve",
        "PP.benefit.ProfitPlusTotalInterest",
        "PP.benefit.TerminalBonus",
        "PP.benefit.TerminalBonus5Years",
        "PP.benefit.TerminalBonus5YearsProRata",
        "PP.calculate.RateOnBase",
        "PP.calculate.RateOnBaseMin0",
        "PP.calculate.RateOnBaseSGFFactor",
        "PP.calculate.RatePlusGuaranteeOnBase",
        "PP.rate.expenseProfit",
        "PP.rate.interestProfit",
        "PP.rate.interestProfit2",
        "PP.rate.interestProfit2PlusGuarantee",
        "PP.rate.interestProfitPlusGuarantee",
        "PP.rate.riskProfit",
        "PP.rate.sumProfit",
        "PP.rate.terminalBonus",
        "PP.rate.terminalBonusFund",
        "PP.rate.totalInterest",
        "PP.rate.totalInterest2",
        "ProfitParticipationFunctions",
        "sumProfits"
      ]
    },
    {
      "page": "PVfactory",
      "title": "PVfactory (R6Class for present values with arbitrary dimensions)",
      "topics": [
        "PVfactory"
      ]
    },
    {
      "page": "register.company",
      "title": "Register a company with a given shortcut",
      "topics": [
        "register.company"
      ]
    },
    {
      "page": "register.tariff",
      "title": "Register a tariff with the package",
      "topics": [
        "register.tariff"
      ]
    },
    {
      "page": "rollingmean",
      "title": "Calculate the rolling mean of length 2",
      "topics": [
        "rollingmean"
      ]
    },
    {
      "page": "round_half_up",
      "title": "Round Numbers Using Mathematical (Half-Up) Rounding",
      "topics": [
        "round_half_up"
      ]
    },
    {
      "page": "RoundingHelper",
      "title": "Helper object to define rounding rules for the InsuranceContract, InsuranceTarif and ProfitParticipation classes.",
      "topics": [
        "RoundingHelper"
      ]
    },
    {
      "page": "setCost",
      "title": "Update one component of an InsuranceTarif's cost structure",
      "topics": [
        "setCost"
      ]
    },
    {
      "page": "SexSingleEnum-class",
      "title": "Enum to describe possible sexes in an insurance contract or tariff.",
      "topics": [
        "SexEnum",
        "SexSingleEnum-class"
      ]
    },
    {
      "page": "showVmGlgExamples",
      "title": "Display insurance contract calculation example",
      "topics": [
        "showVmGlgExamples"
      ]
    },
    {
      "page": "TariffTypeSingleEnum-class",
      "title": "An enum specifying the main characteristics of the tarif.",
      "topics": [
        "TariffTypeEnum",
        "TariffTypeSingleEnum-class"
      ]
    },
    {
      "page": "testProfitParticipation",
      "title": "Test profit participation values against reference data",
      "topics": [
        "testProfitParticipation"
      ]
    },
    {
      "page": "testVmGlgExample",
      "title": "Perform unit tests of given standard values of the insurance contract example",
      "topics": [
        "testVmGlgExample"
      ]
    },
    {
      "page": "valueOrFunction",
      "title": "If 'val' is a function, evaluate it, otherwise return 'val'",
      "topics": [
        "valueOrFunction"
      ]
    },
    {
      "page": "vmGlgExample.generateTest",
      "title": "Generate testthat output for unit-testing a tarif implementation",
      "topics": [
        "vmGlgExample.generateTest"
      ]
    }
  ],
  "_readme": "https://github.com/kainhofer/lifeinsurer/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "cpp11",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "highr",
    "htmltools",
    "isoband",
    "jquerylib",
    "jsonlite",
    "kableExtra",
    "knitr",
    "labeling",
    "lifecycle",
    "lubridate",
    "magrittr",
    "memoise",
    "mime",
    "MortalityTables",
    "objectProperties",
    "objectSignals",
    "openxlsx",
    "pander",
    "pillar",
    "pkgconfig",
    "pracma",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "rstudioapi",
    "S7",
    "sass",
    "scales",
    "stringi",
    "stringr",
    "svglite",
    "systemfonts",
    "textshaping",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "tinytex",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "xml2",
    "yaml",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "creating-company-specific-implementations-as-package.Rmd",
      "filename": "creating-company-specific-implementations-as-package.html",
      "title": "Creating Company-Specific LifeInsureR Implementations (using an RStudio Package Template)",
      "author": "Reinhold Kainhofer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Creating an RStudio project from the template",
        "Implementing a full portfolio calculation",
        "Steps to implement batch-testing a whole (sub-)portfolio",
        "General Overview of the batch-calculation procedure",
        "Column Mapping"
      ],
      "created": "2023-09-13 00:31:52",
      "modified": "2023-10-27 10:18:13",
      "commits": 6
    },
    {
      "source": "using-the-lifeinsurer-package.Rmd",
      "filename": "using-the-lifeinsurer-package.html",
      "title": "Using the LifeInsureR Package",
      "author": "Reinhold Kainhofer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "General Overview of the Concepts",
        "A simple example: Term life insurance",
        "Product description",
        "Tariff implementation (InsuranceTarif)",
        "Creating a contract",
        "Creating tables with various parameters",
        "All possible parameters",
        "Tarif and Contract Specification",
        "Creating the tariff",
        "Sample tariffs for the most common life insurance types",
        "Determining Sum Insured from the premium",
        "Providing additional capital at contract inception",
        "Premium Waivers",
        "Calculation Approach",
        "Valuation",
        "Cash Flows",
        "Cost structure",
        "Frequency charges",
        "Security loadings",
        "Rounding values",
        "Creating premium and contract grids",
        "Exporting contract data to Excel",
        "Creating examples for the Austrian Financial Market Authority",
        "Contracts combining multiple contract layers / slices",
        "Dynamic increases",
        "General biometric riders",
        "Extending a contract beyond its maturity",
        "Handling contracts with increases",
        "Fixed yearly premium increases",
        "Fixed yearly benefit increases with constant premium",
        "Dynamic Increases",
        "Profit participation",
        "Advance profit participation (premium rebate)",
        "The ProfitParticiption class",
        "Existing functions to use",
        "Example profit scheme",
        "Using the profit scheme in a tariff or contract",
        "Modifying the default calculation approach",
        "Debugging LifeInsureR-based Tariffs"
      ],
      "created": "2023-10-22 08:26:31",
      "modified": "2026-01-02 16:52:49",
      "commits": 9
    }
  ],
  "_score": 5.911690158753861,
  "_indexed": true,
  "_nocasepkg": "lifeinsurer",
  "_universes": [
    "kainhofer"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-05-11T05:56:36.000Z",
      "distro": "noble",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "bfeb8d47a207a91a6d54fb66d39157bd4a3c3f73fd39ea51717932a734b543b2",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-05-11T05:55:51.000Z",
      "distro": "noble",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "0912063e521242cfb0b9024633c4b1484f317d9f14eedb246a8a369995edd4e4",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-05-11T05:55:31.000Z",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "81689cc16888848105dd938c39b2de22604b32b2af2911cfa4fed64c5dd424b6",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-05-11T05:55:27.000Z",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "f579f2a89bc2c24527ae3150d45d6fc2e5bdac07088c4418de5e0783fbb376c1",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-11T05:54:59.000Z",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "c17ae0b673c3a5f9ee3f6818ab9af6605abb656f67b0878b116db8ec68d9e6a3",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-11T05:54:43.000Z",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "23d28a83968b29ec257f8e19d8f8eab6dc4d385673b2886682d8d1b4dabec79b",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-11T05:54:59.000Z",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "2ab7a9b0a23c71bb842dc83ae465a46344d26d8eb9f02cb605362097e3406ce7",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.2",
      "date": "2026-05-22T12:01:34.000Z",
      "commit": "2977e941941b3c3d649d8badad3e7a8684f2090e",
      "fileid": "91958de98ccb5cd1f3ea4461e0747e769873b9fa44feb73ef799c524025275fc",
      "status": "success",
      "buildurl": "https://github.com/r-universe/kainhofer/actions/runs/25652731761"
    }
  ]
}