Universal Data Model
A normalized insurance schema underlying every Insurance Blueprint form: parties carry roles, anything insurable is one general entity, coverages are typed, and endorsements are attached forms. One integration handles every line of business.
Insurance Blueprint Universal Data Model
A single normalized schema for all forms. Instead of flat, form-shaped fields, it models the real insurance entities — party + role, a general insurable, typed coverage, and form (endorsement) attachments — so it maps cleanly onto a carrier policy system.
Envelope (top-level)
No vehicles[], locations[], named_insured, certificate_holder, or endorsements: string[] fields — those are all expressed through the entities below.
PartyRole (party + role)
Party
Insurable (anything at risk)
Coverage
FormRef (endorsement = a form)
Identity / Identifier / License
Address
Model the entities, not the paperwork
Parties Carry Roles
A named insured, additional insured, certificate holder, and carrier are one Party playing a role — not three different shapes. Add a role, not a new entity.
One General Insurable
A car, a house, an airplane, a server, or a concert are all an Insurable with a subtype. Coverage points at what it covers — no per-line vehicles[]/locations[] arrays.
Endorsements Are Forms
An endorsement is a real, editioned FormRef attached to a coverage — drawn from the IBP forms catalog — not an opaque string code.
Carrier-System Naming
Identity vs identifier vs license are distinct. Dates are effective_dt/expiration_dt, money is *_amt, booleans are *_ind — so the model maps straight onto a policy database.
Semantic versioning with migration guides
The Universal Data Model uses semantic versioning (MAJOR.MINOR.PATCH). Breaking changes increment the major version and ship with a migration guide.
Migration guide required.
Backward compatible.
No schema change.