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.