Skip to main content

Canonical Insurance Data Model β€” ktayl IS

The shared business model every domain builds against. One definition of Customer, Policy, Claim… so APIs, integrations, reporting, AI and audit all speak the same language. This is the conceptual model (entities + relationships + the system of record that owns each); each domain service keeps its own physical schema but must not redefine these core entities β€” it references them by the canonical identifier. Companion: System of Record Β· Capability Map.

:::note Two-layer model This models the ktayl-solution IS (the insurer). Retrieva is a separate product and is not part of this model β€” though its graph pattern is reused for portfolio accumulation (see Capability Map). :::

1. The core entity graph​

2. Entities β€” definition, key attributes, system of record​

EntityWhat it isKey attributesSystem of RecordSoR status
CustomerThe insured corporate group (top of hierarchy)globalCustomerId, name, industry, revenue, countryCRM / MDMπŸ”΄ none yet
LegalEntityA subsidiary/entity of the customer (per-country)entityId, customerId, country, LEI, admittedStatusCRM / MDMπŸ”΄ none yet
BrokerThe intermediary placing businessbrokerId, name, country, commissionTermsCRMπŸ”΄ none yet
SubmissionA request to quote (new business / renewal)submissionId, customerId, brokerId, LOB, statusSubmission HubπŸ”΄ not built
RiskThe insurable object/activity assessedriskId, submissionId, class, occupancyUnderwriting🟑 scaffold
ExposureThe quantified size of a riskTIV, PML, MFL, BI value, catZoneUnderwriting🟑 scaffold
SiteA physical location of exposuresiteId, address, geo, occupancyUnderwriting / Risk Eng🟑 scaffold
QuotePriced terms offeredquoteId, riskId, premium, limits, deductiblesUnderwriting🟑 scaffold
PolicyThe bound contract (the spine)policyId, entityId, inception, expiry, statusPolicy Admin🟒 live (ktayl-policy-service)
CoverageA granted cover within a policycoverageId, policyId, limit, deductible, clausesPolicy Admin🟒 live
PremiumAmounts charged for a policypremiumId, policyId, gross, tax, installmentsBillingπŸ”΄ not built
ClaimA loss event against a policyclaimId, policyId, event, status, causeClaims🟑 scaffold
ReserveMoney set aside for a claimreserveId, claimId, type, amountClaims / Actuarial🟑 scaffold
PaymentCash out (claim) or in (premium)paymentId, ref, amount, currency, dateFinance (ERPNext)🟑 partial
ProgrammeAn international master + local policiesprogrammeId, masterPolicyId, countriesInternational Programmes🟑 scaffold
ReinsuranceTreaty/fac cession of a riskcontractId, type, cededShare, reinsurerReinsurance🟑 scaffold
SurveyA risk-engineering site assessmentsurveyId, siteId, engineer, date, scoreRisk Engineering🟑 scaffold
RecommendationA prevention action from a surveyrecId, surveyId, severity, dueDate, statusRisk Engineering🟑 scaffold

3. The three rules​

  1. One canonical identifier per entity β€” a domain references policyId / globalCustomerId, it does not mint its own. This is what MDM (customer/entity/broker) exists to guarantee.
  2. The SoR owns writes; everyone else holds read projections β€” e.g. Claims reads Policy via the Policy API, never writes policy data.
  3. Cross-domain joins happen in the Data Platform, not by reaching into another domain's database (no shared operational DB β€” blueprint ADR-005).

4. Why this matters against the industry problems​

  • P1 insurability / P3 accumulation need Site + Exposure + Coverage joined across the whole portfolio β€” impossible without a canonical Site/Exposure shared by Underwriting, Risk Engineering and the Data Platform. The canonical model is the precondition for accumulation analysis.
  • P2 margin needs Premium + Claim + Reserve joined by policyId for loss-ratio/combined-ratio β€” which only works if all three domains use the same policyId.

5. Status​

The model is defined; only Policy + Coverage have a live SoR today. The rest are owned by scaffold/gap domains β€” so the immediate foundation work is MDM (Customer/Entity/Broker) + a canonical Site/Exposure, which unlock the analytics that attack P1/P2/P3. See Capability Map Β§roadmap.