This project is an attempt to create a foundation for an open source system for managing life insurance policies by an insurer.
of this project are:
- open source development
- performant and highly scalable web app for* dialog processing of insurance contracts and.
- provision of services for operation
- runnability on laptops as well as on servers
- use of cloud development environments
- Use of collaboration platforms in the cloud
- Product-agnostic management system, i.e. maximum encapsulation of product-specific knowledge in product-specific components
- bases of calclulation
- Tariff functions
- Metadata of tariff functions for use in interfaces for dialogs and services.
- control and validation of inputs for product-specific business processes
- Use of an actuary-friendly development environment with regard to programming language and existing libraries
- Use of an application stack that is as coherent as possible and supports tests across all levels from actuarial functions to persistence to the browser, i.e. no environmental break, between actuarial product development of and development of the management system.
- Use of existing actuarial software https://github.com/JuliaActuary/LifeContingencies.jl
- Audit-proof storage of contracts through bitemporal persistence: https://github.com/Actuarial-Sciences-for-Africa-ASA/BitemporalPostgres.jl
Bitemporal CRUD actions for the entire data model.
Clicking changes to the display of the latest contract version.Editing requires an active workflow (transaction). This is created by creating a new contract, or by opening a contract mutation.
Without a loaded contract, the button for creating a contract is displayed.
If an unprocessed contract has been selected in the search, the button to open a mutation will appear. In both cases, to open a workflow, the validity start date must be specified. After that, the contract will appear as in process.This state remains until
- the workflow is rolled back or
- committed.
Other workflow-related commands provide
- push the state of changes onto a stack
- pop the state of changes from the stack
- persist the state of changes, which empties the stack of changes
Clicking opens the section for viewing / editing contractor relationships.
If the contract is mutable.
- Selection of a contract partner role and
- a partner
activate the button to insert a new partner relationship].
Clicking opens the section for viewing / editing product items.
### 2.2.2.1 Contract version - product items - tariff items functional area.Clicking opens the section for viewing / editing tariff items.
Clicking the "select" button changes the button to "calculator"
Clicking the button "calculator" calculation window opens the calculation window:
Different calculation targets can be specified.After specifying the calculation target, the parameters can be entered.
Input dialog
When all mandatory parameters are occupied, calculation can be performed.
Parameters and calculation result can be synchronized into the corresponding, i.e. existing if necessary, contract fields with the same name
Clicking opens the section for displaying / editing partner relationships for tariff items.
Clicking a version node opens the version view
Retroactive mutations shadow previously entered mutations with the same or later effective date.
Clicking changes to the display of the latest partner version.Display partner version.
The partner management is rudimentary. It contains only the tariff relevant partner data and editing is not possible in the webapp, only via the contract API example: here .
Clicking changes to the display of the latest partner version.Display product version The product management is rudimentary. It contains only the tariff relevant partner data and editing is not possible in the webapp, only via the contract API example: here .
The semantics of this field are clear from the tariff debugger scripts.
Pension SingleLifeRisk JointLifeRisk
This field defines the dynamic attributes of the tariff items.
The package needs a POSTGRES database, the configuration folder and product data see: testScript
When the gitpod workspace is started, the database is pre-installed and three products / contracts are loaded. VS code is started.
In the terminal view start Julia
``julia --project=.and load the start script>
include("run.jl")```
Here you need some patience, the application will become reactive :-).
VS Code automatically starts a browser session. If not, the port display
Menu -> View -> Open View -> Ports
and click the port for the Application Web Server.
BE PATIENT! Initialization takes some time. It gets reactive then!
Three contracts are preloaded: pension, SingleLifeRisk, JointLifeRisk