ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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

FieldCardinalityRole
status0..1draft | active | retired | unknown.
type0..*Medical, dental, vision, travel, ...
name0..1Marketing name.
ownedBy0..1Issuing Organization.
administeredBy0..1Administering Organization.
coverageArea0..*Geographic areas covered.
network0..*Partner provider networks.
coverage0..*Benefits by category.
plan0..*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

json insuranceplan-mutuelle-fr.json
{
  "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 generalCost does not help the patient choose.