InsurancePlan — detail: health insurance product
A catalogued health insurance product: benefits, premiums, provider network. Catalog counterpart of Coverage (which is the instance subscribed by a member).
Role of insurance plan
InsurancePlan = editorial catalog. Coverage = instance subscribed by a Patient. On the US side, the Da Vinci PDEX Plan Net standard publishes all plans of a payer via InsurancePlan to help patients compare (ONC Rules 2026 interoperability).
Key fields
| Field | Cardinality | Role |
|---|---|---|
status | 0..1 | draft | active | retired | unknown. |
type | 0..* | Medical, dental, vision, travel, ... |
name | 0..1 | Marketing name. |
ownedBy | 0..1 | Issuing Organization. |
administeredBy | 0..1 | Administering Organization. |
coverageArea | 0..* | Geographic areas covered. |
network | 0..* | Partner provider networks. |
coverage | 0..* | Benefits by category. |
plan | 0..* | Sub-plans (tiers, options). |
plan, coverage, network
coverage = which services are covered (inpatient 100%, vision $350). plan = pricing sub-options (essential, comfort, premium). network = network of contracted practitioners.
Example: FR mutuelle
{
"resourceType": "InsurancePlan",
"id": "mut-acme-essentiel",
"identifier": [{ "system": "http://example.org/insurance-plans", "value": "ACME-ESS-2026" }],
"status": "active",
"type": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/insurance-plan-type",
"code": "medical",
"display": "Medical"
}]
}],
"name": "ACME Essential Health Plan 2026",
"ownedBy": { "reference": "Organization/mutuelle-acme" },
"administeredBy": { "reference": "Organization/mutuelle-acme" },
"period": { "start": "2026-01-01", "end": "2026-12-31" },
"coverage": [{
"type": {
"coding": [{ "system": "http://terminology.hl7.org/CodeSystem/coverage-class", "code": "plan", "display": "Plan" }]
},
"benefit": [{
"type": { "text": "Inpatient" },
"limit": [{
"value": { "value": 100, "unit": "%" }
}]
}, {
"type": { "text": "Vision" },
"limit": [{
"value": { "value": 350, "unit": "EUR" }
}]
}]
}],
"plan": [{
"type": {
"coding": [{ "system": "http://terminology.hl7.org/CodeSystem/insurance-plan-type", "code": "medical" }]
},
"generalCost": [{
"type": { "text": "Monthly adult premium" },
"cost": { "value": 45, "currency": "EUR" }
}]
}]
} Common pitfalls
- Confusion with Coverage — InsurancePlan = product (catalog), Coverage = contract instance for an insured person.
- Untyped coverage.benefit — without a coded
type, mechanical comparison is impossible. - plan without cost — a plan without
generalCostdoes not help the patient choose.