# NDH InsurancePlan Profile - National Directory of Healthcare Providers & Services (NDH) Implementation Guide v2.0.0-current

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **NDH InsurancePlan Profile**

## Resource Profile: NDH InsurancePlan Profile 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-InsurancePlan | *Version*:2.0.0-current | |
| * Standards status: *[Trial-use](http://hl7.org/fhir/R4/versions.html#std-process) | [Maturity Level](http://hl7.org/fhir/versions.html#maturity): 4 | *Computable Name*:NdhInsurancePlan |

 
An InsurancePlan is a discrete package of health insurance coverage benefits that are offered under a particular network type. A given payer’s products typically differ by network type and/or covered benefits. A plan pairs a product’s covered benefits with the particular cost sharing structure offered to a consumer. A given product may comprise multiple plans (i.e. each plan offers different cost sharing requirements for the same set of covered benefits). InsurancePlan describes a health insurance offering comprised of a list of covered benefits (i.e. the product), costs associated with those benefits (i.e. the plan), and additional information about the offering, such as who it is owned and administered by, a coverage area, contact information, etc. 

### Background & scope

Each insurancePlan has a type which describe the product. An insurancePlan may offer its coverage benefits under a particular network. If an insurancePlan does not have a network, each plan of the insurancePlan must define a distinct plan type (InsurancePlace.plan.type).

InsurancePlan describes a health insurance offering comprised of a list of covered benefits (i.e. the product), costs associated with those benefits (i.e. the insurance plan), and additional information about the offering, such as who own it, who administer it, coverage area, contact information, etc.

To change a network in an insurance plan, adjust the insurancePlan.period and genderate a fresh new insurance plan.

**Usages:**

* Refer to this Profile: [NDH InsurancePlan Reference](StructureDefinition-base-ext-insuranceplan-reference.md)
* Examples for this Profile: [Acme of CT QHP Bronze](InsurancePlan-AcmeQHPBronze.md), [Acme of CT QHP Gold](InsurancePlan-AcmeQHPGold.md), [Blue Cross Blue Shied CT Insurance](InsurancePlan-BlueCrossBlueShield-CT.md), [Medicare Advantage Plan](InsurancePlan-MedicareAdvantage.md) and [Medicare Advantage Plan](InsurancePlan-MedicareAdvantageHMO.md)
* CapabilityStatements using this Profile: [NDH Server Capability Statement](CapabilityStatement-ndh-server.md)

You can also check for [usages in the FHIR IG Statistics](https://packages2.fhir.org/xig/hl7.fhir.us.ndh|current/StructureDefinition/ndh-InsurancePlan)

### Formal Views of Profile Content

 [Description of Profiles, Differentials, Snapshots and how the different presentations work](http://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#structure-definitions). 

 

Other representations of profile: [CSV](StructureDefinition-ndh-InsurancePlan.csv), [Excel](StructureDefinition-ndh-InsurancePlan.xlsx), [Schematron](StructureDefinition-ndh-InsurancePlan.sch) 

### Notes:

### Search Parameters

#### Search Parameter defined by the NDH IG

| | | |
| :--- | :--- | :--- |
| [coverage-area](SearchParameter-insuranceplan-coverage-area.md) | reference | `GET [base]/InsurancePlan?coverage-area.contains=41.809006\|-71.41177` |
| [coverage-benefit-type](SearchParameter-insuranceplan-coverage-benefit-type.md) | token | `GET [base]/InsurancePlan?coverage-benefit-type=pcpov` |
| [coverage-type](SearchParameter-insuranceplan-coverage-type.md) | token | `GET [base]/InsurancePlan?coverage-type=medical` |
| [coverage-network](SearchParameter-insuranceplan-coverage-network.md) | reference | `GET [base]/InsurancePlan?coverage-network.type=ntwk&coverage-network.address-state=CT` |
| [network](SearchParameter-insuranceplan-network.md) | reference | `GET [base]/InsurancePlan?network.type=ntwk&network.address-state=CT` |
| [plan-network](SearchParameter-insuranceplan-plan-network.md) | reference | `GET [base]/InsurancePlan?plan-network.type=ntwk&plan-network.address-state=CT |
| [plan-type](SearchParameter-insuranceplan-plan-type.md) | token | `GET [base]/InsurancePlan?plan-type=gold |
| [verification-status](SearchParameter-verification-status.md) | token | `GET [base]/InsurancePlan?verification-status=complete` |

#### Search Parameter defined by FHIR Search Parameter Registry and used by the NDH IG

Since there is no direct individual url for each Search Parameter defined by FHIR Serach Parameter Registry, we have provided the following links for you to access more information about them.

* [Search Parameter Registry](https://hl7.org/fhir/R4/searchparameter-registry.html)
* [InsurancePlan Search Parameter from Registry](https://hl7.org/fhir/R4/insuranceplan.html#search)

| | | |
| :--- | :--- | :--- |
| address | string | `GET [base]/InsurancePlan?address=456 Main Street` |
| address-city | string | `GET [base]/InsurancePlan?address-city=Norwalk` |
| address-country | string | `GET [base]/InsurancePlan?address-country=USA` |
| address-postalcode | string | `GET [base]/InsurancePlan?address-postalcode=34997` |
| address-state | string | `GET [base]/InsurancePlan?address-state=FL` |
| administered-by | reference | `GET [base]/InsurancePlan?administered-by.name=HOPE INC` |
| endpoint | reference | `GET [base]/InsurancePlan?endpoint.connection-type=hl7-fhir-rest` |
| identifier | token | `GET [base]/InsurancePlan?identifier=12345` |
| name | string | `GET [base]/InsurancePlan?name=Florida Blue` |
| owned-by | reference | `GET [base]/InsurancePlan?owned-by.name=Florida Blue` |
| status | token | `GET [base]/InsurancePlan?status=active` |
| type | token | `GET [base]/InsurancePlan?type=commppo` |

#### _include Search Parameter

| | |
| :--- | :--- |
| InsurancePlan:administered-by | `GET [base]/InsurancePlan?_include=InsurancePlan:administered-by` |
| InsurancePlan:endpoint | `GET [base]/InsurancePlan?_include=InsurancePlan:endpoint` |
| InsurancePlan:owned-by | `GET [base]/InsurancePlan?_include=InsurancePlan:owned-by` |
| InsurancePlan:coverage-area | `GET [base]/InsurancePlan?_include=InsurancePlan:coverage-area` |
| InsurancePlan:coverage-network | `GET [base]/InsurancePlan?_include=InsurancePlan:coverage-network` |
| InsurancePlan:plan-network | `GET [base]/InsurancePlan?_include=InsurancePlan:plan-network` |
| InsurancePlan:network | `GET [base]/InsurancePlan?_include=InsurancePlan:network` |

If you only want to search for networks associated with an InsurancePlan, you can use the following approach: The primary resource in this context is the Organization, while the InsurancePlan resources serve as references to it. To accomplish this, the _revinclude feature is utilized. As the Network resource profile is derived from the Organization resource, the type=ntwk parameter must be included in your search.

`GET [base]/Organization?type=ntwk&_revinclude=InsurancePlan:network`

The relationship between InsurancePlans and Networks is many-to-many. A plan may be associated with multipe networks. The NDH model is having InsurancePlan reference networks.

#### Special Search Parameters

The search parameters outlined above are straightforward for basic scenarios but have limitations in handling complex combination queries. To enhance these capabilities, employing the special search parameters [_filter](https://hl7.org/fhir/R5/search_filter.html#3.2.3) is recommended.

### InsurancePlan and Network relationship

The Insurance Plan resource defines three levels of networks: the base level network, the coverage level network, and the plan level network. The base level network is intended to apply to all coverage and plans when appropriate. For example, if dental services are included in the base level network and are covered at the coverage level, they would apply. Networks at the coverage level are specific to that coverage and are in addition to the base level network. Networks at the plan level are specific to the particular plan and incorporate any networks defined at both the base level and the coverage level. For instance, in a Platinum plan, the network may include more expensive venues that are not covered in lower-priced plans.

### InsurancePlan type, network diagram

A payer’s products typically differ by network type and/or covered benefits. A insurance plan pairs a product’s covered benefits with the particular cost sharing structure offered to a consumer. A given payer’s product may comprise multiple insurance plans (i.e. each insurance plan offers different cost sharing requirements for the same set of covered benefits).



## Resource Content

```json
{
  "resourceType" : "StructureDefinition",
  "id" : "ndh-InsurancePlan",
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode" : "pa"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 4,
    "_valueInteger" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org/fhir/us/ndh/ImplementationGuide/hl7.fhir.us.ndh"
      }]
    }
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "trial-use",
    "_valueCode" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org/fhir/us/ndh/ImplementationGuide/hl7.fhir.us.ndh"
      }]
    }
  }],
  "url" : "http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-InsurancePlan",
  "version" : "2.0.0-current",
  "name" : "NdhInsurancePlan",
  "title" : "NDH InsurancePlan Profile",
  "status" : "active",
  "date" : "2026-03-23T21:58:05+00:00",
  "publisher" : "HL7 International / Patient Administration",
  "contact" : [{
    "name" : "HL7 International / Patient Administration",
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/pafm"
    },
    {
      "system" : "email",
      "value" : "pafm@lists.hl7.org"
    }]
  }],
  "description" : "An InsurancePlan is a discrete package of health insurance coverage benefits that are offered under a particular network type. A given payer’s products \ntypically differ by network type and/or covered benefits. A plan pairs a product’s covered benefits with the particular cost sharing structure offered to a consumer. \nA given product may comprise multiple plans (i.e. each plan offers different cost sharing requirements for the same set of covered benefits).\nInsurancePlan describes a health insurance offering comprised of a list of covered benefits (i.e. the product), costs associated with those benefits (i.e. the plan), \nand additional information about the offering, such as who it is owned and administered by, a coverage area, contact information, etc.",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "urn:iso:std:iso:3166",
      "code" : "US",
      "display" : "United States of America"
    }]
  }],
  "fhirVersion" : "4.0.1",
  "mapping" : [{
    "identity" : "ndh-to-plannet-insuranceplan",
    "uri" : "http://hl7.org/fhir/us/davinci-pdex-plan-net",
    "name" : "NDH to Plan-Net InsurancePlan Mapping",
    "comment" : "Maps NDH InsurancePlan profile to the Plan-Net InsurancePlan profile, noting elements not present in Plan-Net."
  },
  {
    "identity" : "w5",
    "uri" : "http://hl7.org/fhir/fivews",
    "name" : "FiveWs Pattern Mapping"
  },
  {
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  }],
  "kind" : "resource",
  "abstract" : false,
  "type" : "InsurancePlan",
  "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/InsurancePlan",
  "derivation" : "constraint",
  "differential" : {
    "element" : [{
      "id" : "InsurancePlan",
      "path" : "InsurancePlan",
      "constraint" : [{
        "key" : "network-or-NatlDirwork",
        "severity" : "error",
        "human" : "If an insuranceplan does not define a network, then each plan must define one",
        "expression" : "network.exists() or coverage.network.exists() or plan.network.exists()",
        "source" : "http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-InsurancePlan"
      },
      {
        "key" : "plan-type-is-distinct",
        "severity" : "error",
        "human" : "Each InsurancePlan.plan should have a distinct plan.type.",
        "expression" : "plan.type.coding.code.isDistinct()",
        "source" : "http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-InsurancePlan"
      }],
      "mapping" : [{
        "identity" : "ndh-to-plannet-insuranceplan",
        "map" : "InsurancePlan",
        "comment" : "Top-level mapping from NDH to Plan-Net"
      }]
    },
    {
      "id" : "InsurancePlan.meta.lastUpdated",
      "path" : "InsurancePlan.meta.lastUpdated",
      "min" : 1,
      "mapping" : [{
        "identity" : "ndh-to-plannet-insuranceplan",
        "map" : "InsurancePlan.meta.lastUpdated",
        "comment" : ", is required in NDH"
      }]
    },
    {
      "id" : "InsurancePlan.extension",
      "path" : "InsurancePlan.extension",
      "slicing" : {
        "discriminator" : [{
          "type" : "value",
          "path" : "url"
        }],
        "ordered" : false,
        "rules" : "open"
      }
    },
    {
      "id" : "InsurancePlan.extension:verification-status",
      "path" : "InsurancePlan.extension",
      "sliceName" : "verification-status",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status"]
      }],
      "mapping" : [{
        "identity" : "ndh-to-plannet-insuranceplan",
        "map" : "Not in Plan-Net",
        "comment" : ", NDH-specific"
      }]
    },
    {
      "id" : "InsurancePlan.identifier",
      "path" : "InsurancePlan.identifier",
      "mustSupport" : true,
      "mapping" : [{
        "identity" : "ndh-to-plannet-insuranceplan",
        "map" : "InsurancePlan.identifier"
      }]
    },
    {
      "id" : "InsurancePlan.identifier.extension:identifier-status",
      "path" : "InsurancePlan.identifier.extension",
      "sliceName" : "identifier-status",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status"]
      }],
      "mapping" : [{
        "identity" : "ndh-to-plannet-insuranceplan",
        "map" : "Not in Plan-Net",
        "comment" : ", NDH-specific"
      }]
    },
    {
      "id" : "InsurancePlan.identifier.assigner",
      "path" : "InsurancePlan.identifier.assigner",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization"]
      }]
    },
    {
      "id" : "InsurancePlan.status",
      "path" : "InsurancePlan.status",
      "min" : 1,
      "fixedCode" : "active",
      "mustSupport" : true
    },
    {
      "id" : "InsurancePlan.type",
      "path" : "InsurancePlan.type",
      "short" : "Product Type",
      "min" : 1,
      "max" : "1",
      "mustSupport" : true,
      "binding" : {
        "strength" : "extensible",
        "valueSet" : "http://terminology.hl7.org/ValueSet/insurance-product-type"
      }
    },
    {
      "id" : "InsurancePlan.name",
      "path" : "InsurancePlan.name",
      "mustSupport" : true
    },
    {
      "id" : "InsurancePlan.ownedBy",
      "path" : "InsurancePlan.ownedBy",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization"]
      }]
    },
    {
      "id" : "InsurancePlan.administeredBy",
      "path" : "InsurancePlan.administeredBy",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization"]
      }]
    },
    {
      "id" : "InsurancePlan.coverageArea",
      "path" : "InsurancePlan.coverageArea",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Location"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "InsurancePlan.contact.telecom.extension:contactpoint-availabletime",
      "path" : "InsurancePlan.contact.telecom.extension",
      "sliceName" : "contactpoint-availabletime",
      "min" : 0,
      "max" : "*",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime"]
      }]
    },
    {
      "id" : "InsurancePlan.contact.telecom.extension:via-intermediary",
      "path" : "InsurancePlan.contact.telecom.extension",
      "sliceName" : "via-intermediary",
      "short" : "Via Intermediary",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary"]
      }]
    },
    {
      "id" : "InsurancePlan.endpoint",
      "path" : "InsurancePlan.endpoint",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint"]
      }],
      "mapping" : [{
        "identity" : "ndh-to-plannet-insuranceplan",
        "map" : "InsurancePlan.endpoint",
        "comment" : ", using NDH Endpoint Profile"
      }]
    },
    {
      "id" : "InsurancePlan.network",
      "path" : "InsurancePlan.network",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "InsurancePlan.coverage.type",
      "path" : "InsurancePlan.coverage.type",
      "binding" : {
        "strength" : "extensible",
        "valueSet" : "http://terminology.hl7.org/ValueSet/insurance-coverage-type"
      }
    },
    {
      "id" : "InsurancePlan.coverage.network",
      "path" : "InsurancePlan.coverage.network",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "InsurancePlan.coverage.benefit.type",
      "path" : "InsurancePlan.coverage.benefit.type",
      "binding" : {
        "strength" : "extensible",
        "valueSet" : "http://hl7.org/fhir/us/ndh/ValueSet/BenefitTypeVS"
      }
    },
    {
      "id" : "InsurancePlan.plan",
      "path" : "InsurancePlan.plan",
      "short" : "Cost sharing details for the plan"
    },
    {
      "id" : "InsurancePlan.plan.identifier.extension:identifier-status",
      "path" : "InsurancePlan.plan.identifier.extension",
      "sliceName" : "identifier-status",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status"]
      }]
    },
    {
      "id" : "InsurancePlan.plan.identifier.assigner",
      "path" : "InsurancePlan.plan.identifier.assigner",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization"]
      }]
    },
    {
      "id" : "InsurancePlan.plan.type",
      "path" : "InsurancePlan.plan.type",
      "short" : "Categorization of the cost sharing for the plan",
      "binding" : {
        "strength" : "extensible",
        "valueSet" : "http://terminology.hl7.org/ValueSet/insuranceplan-plan-type"
      }
    },
    {
      "id" : "InsurancePlan.plan.coverageArea",
      "path" : "InsurancePlan.plan.coverageArea",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Location"]
      }]
    },
    {
      "id" : "InsurancePlan.plan.network",
      "path" : "InsurancePlan.plan.network",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network"]
      }]
    }]
  }
}

```
