The IFRS 17 methodology

This module is the MeshWeaver implementation of the model behind our popular open-source IFRS 17 Calculation Engine (MIT licence). That engine was originally built for Systemorph Cloud: a set of Jupyter notebooks whose C# cells run against the Systemorph Cloud API. Its notebooks carry the methodology in their markdown cells, next to the code.

The pages in this section port that prose to the mesh. We kept the methodology and the formulas. We dropped what only made sense on Systemorph Cloud: notebook imports, workspaces, data-source set-up, database scaffolding and export mappings. Where a dimension or a scope of the original has a counterpart here, the page names it and links its node.

Read every page with one question in mind: does the port do this yet? The original engine covers more than this module does today. Each page says, section by section, what the MeshWeaver code implements and what it does not. The formulas the port does implement, with numbers, are on The IFRS 17 formulas.

The pages and where they come from

Page Ported from (notebook in the open-source repo) In the MeshWeaver port
Overview ifrs17/OverviewCalculationEngine.ipynb the map of the whole method
Data model ifrs17/DataModel/DataStructure.ipynb dimensions and parameters ported as NodeTypes
Input data ifrs17-template/OverviewIFRS17Template.ipynb, ifrs17-template/InputFormatDescription.ipynb inputs are mesh nodes, not files
Analysis-of-change structure ifrs17/Import/1ImportScope-Identities.ipynb ported
Present values ifrs17/Import/2ImportScope-PresentValue.ipynb ported, except amortization factors
Actuals and deferrals ifrs17/Import/3ImportScope-Actuals.ipynb, …/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb not ported
Technical margin, CSM and loss component ifrs17/Import/4ImportScope-TechnicalMargin.ipynb partly ported
The CSM / loss-component switch ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb the multiple-switch logic is ported
Reports and financial performance ifrs17/Report/ReportScopes.ipynb FX translation and the AoC report only

The notebook paths are relative to the root of Systemorph/IFRS17CalculationEngine.

The same idea, a different host

On Systemorph Cloud a scope is a C# interface evaluated by the platform's scope engine; the business logic lives in default interface members, and WithApplicability picks the implementation for an identity. The MeshWeaver port keeps that shape: the scopes are interfaces under Ifrs17/Engine/Source/ and Ifrs17/Report/Source/, the applicability rules are the same, and the scope abstractions ship with the module itself (Ifrs17/Source/IScope.cs, ScopeBase.cs, namespace MeshWeaver.BusinessRules). What changed is everything around it: the data are mesh nodes typed by the module's NodeTypes, the queries are mesh queries (Ifrs17/Engine/Source/Ifrs17DataSource.cs), and nothing is imported from a file.