diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 6db0c70..5602f71 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.10.3","generation_timestamp":"2024-05-28T09:29:16","documenter_version":"1.4.1"}} \ No newline at end of file +{"documenter":{"julia_version":"1.10.3","generation_timestamp":"2024-05-28T10:48:56","documenter_version":"1.4.1"}} \ No newline at end of file diff --git a/dev/api/InsuranceContracts/index.html b/dev/api/InsuranceContracts/index.html index 65dce48..f6d6956 100644 --- a/dev/api/InsuranceContracts/index.html +++ b/dev/api/InsuranceContracts/index.html @@ -1,2 +1,2 @@ -Contract · LifeInsuranceDataModel

InsuranceContracts.jl

+Contract · LifeInsuranceDataModel

InsuranceContracts.jl

diff --git a/dev/api/InsurancePartners/index.html b/dev/api/InsurancePartners/index.html index 69fb769..15d2a34 100644 --- a/dev/api/InsurancePartners/index.html +++ b/dev/api/InsurancePartners/index.html @@ -1,2 +1,2 @@ -Partner · LifeInsuranceDataModel
+Partner · LifeInsuranceDataModel
diff --git a/dev/api/InsuranceProducts/index.html b/dev/api/InsuranceProducts/index.html index 5bd52eb..251fd52 100644 --- a/dev/api/InsuranceProducts/index.html +++ b/dev/api/InsuranceProducts/index.html @@ -1,2 +1,2 @@ -Product · LifeInsuranceDataModel

InsuranceProducts.jl

+Product · LifeInsuranceDataModel

InsuranceProducts.jl

diff --git a/dev/api/InsuranceTariffs/index.html b/dev/api/InsuranceTariffs/index.html index 3b5d0f0..bccd4c7 100644 --- a/dev/api/InsuranceTariffs/index.html +++ b/dev/api/InsuranceTariffs/index.html @@ -1,2 +1,2 @@ -Tariff · LifeInsuranceDataModel

InsuranceTariffs.jl

+Tariff · LifeInsuranceDataModel

InsuranceTariffs.jl

diff --git a/dev/api/LifeInsuranceDataModel/index.html b/dev/api/LifeInsuranceDataModel/index.html index 8479ecb..74c3c01 100644 --- a/dev/api/LifeInsuranceDataModel/index.html +++ b/dev/api/LifeInsuranceDataModel/index.html @@ -1,2 +1,2 @@ -LifeInsuranceDataModel · LifeInsuranceDataModel

LifeInsuranceDataModel.jl

The notion of section is used here to describe object revisions as of a certain pair of points in - 2 dimensional - transaction and reference time. So it is a geometrical metaphor of two crossing cuts = i.e. sections - reducing 2D-transaction and reference time to 1D-reference time using a point in transaction time and reducing 1D-reference time using a point in reference time to yield a point in the version space.

Customizing

Adding bitemporal entities and components

Current entities are Contract, Partner,Product,Tariff.

  • Create packages like InsuranceContracts.jl and include

it in LifeInsuranceDataModel.jl. Export Your new Symbols.

  • Create or update the enumeration function to contain all subcomponents' revision types you assign or add to the root entity of type T:

$BitemporalPostgres.revisionTypes(entity::Val{T})::Vector{T} where {T<:Symbol}$ Example:

  • $BitemporalPostgres.revisionTypes(entity::Val{:Contract})$
  • add functions $get_typeof_revision$ and $get_typeof_component$ for the new revision and component.

Examples:

  • $BitemporalPostgres.get_typeof_revision(component::Contract) :: Type{ContractRevision}$ and
  • $BitemporalPostgres.get_typeof_component(revision::ContractRevision) :: Type{Contract}$
  • Add DDL for your entity or component in functions up and down of package DDL.jl
  • create tables for your structs and
  • and create constraints and triggers using the function $createRevisionsTriggerAndConstraint(trigger::Symbol,constraint::Symbol,table::Symbol,)$

end

UML Model

LifeInsuranceDataModel.compareRevisionsMethod

compareRevisions(t, previous::Dict{String,Any}, current::Dict{String,Any}) where {T<:BitemporalPostgres.ComponentRevision} compare corresponding revision elements and return nothing if equal a pair of both else

source
LifeInsuranceDataModel.csectionFunction

csection(contractid::Integer, tsdbvalidfrom, tsworld_validfrom,activeTransaction::Integer=0)::ContractSectio

csection retrieves the section of a contract or throws NoVersionFound
source
LifeInsuranceDataModel.pisectionMethod

function pisection(historyid::Integer, versionid::Integer, tsdbvalidfrom, tsworldvalidfrom)::Vector{ProductItemSection}

pisection retrieves the vector of a contract's productitem sections
source
LifeInsuranceDataModel.prsectionFunction

prsection(productid::Integer, tsdbvalidfrom, tsworld_validfrom, activeTransaction::Integer=0)::ProductSection

prsection retrieves a section of a product or throws NoVersionFound
source
LifeInsuranceDataModel.psectionFunction

psection(partnerid::Integer, tsdbvalidfrom, tsworld_validfrom, activeTransaction::Integer=0)::PartnerSection

psection retrieves a section of a partner  or throws NoVersionFound
source
LifeInsuranceDataModel.tsectionFunction

tsection(tariffid::Integer, tsdbvalidfrom, tsworld_validfrom, activeTransaction::Integer=0)::TariffSection

tsection retrieves a section of a tariff or throws NoVersionFound
source
+LifeInsuranceDataModel · LifeInsuranceDataModel

LifeInsuranceDataModel.jl

The notion of section is used here to describe object revisions as of a certain pair of points in - 2 dimensional - transaction and reference time. So it is a geometrical metaphor of two crossing cuts = i.e. sections - reducing 2D-transaction and reference time to 1D-reference time using a point in transaction time and reducing 1D-reference time using a point in reference time to yield a point in the version space.

Customizing

Adding bitemporal entities and components

Current entities are Contract, Partner,Product,Tariff.

  • Create packages like InsuranceContracts.jl and include

it in LifeInsuranceDataModel.jl. Export Your new Symbols.

  • Create or update the enumeration function to contain all subcomponents' revision types you assign or add to the root entity of type T:

$BitemporalPostgres.revisionTypes(entity::Val{T})::Vector{T} where {T<:Symbol}$ Example:

  • $BitemporalPostgres.revisionTypes(entity::Val{:Contract})$
  • add functions $get_typeof_revision$ and $get_typeof_component$ for the new revision and component.

Examples:

  • $BitemporalPostgres.get_typeof_revision(component::Contract) :: Type{ContractRevision}$ and
  • $BitemporalPostgres.get_typeof_component(revision::ContractRevision) :: Type{Contract}$
  • Add DDL for your entity or component in functions up and down of package DDL.jl
  • create tables for your structs and
  • and create constraints and triggers using the function $createRevisionsTriggerAndConstraint(trigger::Symbol,constraint::Symbol,table::Symbol,)$

end

UML Model

LifeInsuranceDataModel.compareRevisionsMethod

compareRevisions(t, previous::Dict{String,Any}, current::Dict{String,Any}) where {T<:BitemporalPostgres.ComponentRevision} compare corresponding revision elements and return nothing if equal a pair of both else

source
LifeInsuranceDataModel.csectionFunction

csection(contractid::Integer, tsdbvalidfrom, tsworld_validfrom,activeTransaction::Integer=0)::ContractSectio

csection retrieves the section of a contract or throws NoVersionFound
source
LifeInsuranceDataModel.pisectionMethod

function pisection(historyid::Integer, versionid::Integer, tsdbvalidfrom, tsworldvalidfrom)::Vector{ProductItemSection}

pisection retrieves the vector of a contract's productitem sections
source
LifeInsuranceDataModel.prsectionFunction

prsection(productid::Integer, tsdbvalidfrom, tsworld_validfrom, activeTransaction::Integer=0)::ProductSection

prsection retrieves a section of a product or throws NoVersionFound
source
LifeInsuranceDataModel.psectionFunction

psection(partnerid::Integer, tsdbvalidfrom, tsworld_validfrom, activeTransaction::Integer=0)::PartnerSection

psection retrieves a section of a partner  or throws NoVersionFound
source
LifeInsuranceDataModel.tsectionFunction

tsection(tariffid::Integer, tsdbvalidfrom, tsworld_validfrom, activeTransaction::Integer=0)::TariffSection

tsection retrieves a section of a tariff or throws NoVersionFound
source
diff --git a/dev/index.html b/dev/index.html index 03a1e2b..711fabf 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Home · LifeInsuranceDataModel

LifeInsuranceDataModel.jl

Beware, Work In Progress

LifeInsuranceDataModel provides an API for a prototype bitemporal data model for life insurance contracts, partners, products and tariffs. UML Model

Index

+Home · LifeInsuranceDataModel

LifeInsuranceDataModel.jl

Beware, Work In Progress

LifeInsuranceDataModel provides an API for a prototype bitemporal data model for life insurance contracts, partners, products and tariffs. UML Model

Index