National Directory of Healthcare Providers & Services (NDH) Implementation Guide
2.0.0-current - ci-build

National Directory of Healthcare Providers & Services (NDH) Implementation Guide, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-ndh/ and changes regularly. See the Directory of published versions

## 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 | Maturity Level: 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
- Examples for this Profile: Acme of CT QHP Bronze, Acme of CT QHP Gold, Blue Cross Blue Shied CT Insurance, Medicare Advantage Plan and Medicare Advantage Plan
- CapabilityStatements using this Profile: NDH Server Capability Statement

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
InsurancePlan | C | 0..* | InsurancePlan | Details of a Health Insurance product/plan provided by an organization Constraints: ipn-1, network-or-NatlDirwork, plan-type-is-distinct
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ C | 0..* | Identifier | Business Identifier for Product
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. Fixed Value: active
type | S Σ | 1..1 | CodeableConcept | Product Type Binding: Insurance Product Type (extensible)
name | S Σ C | 0..1 | string | Official name
ownedBy | Σ | 0..1 | Reference(NDH Organization Profile) | Plan issuer
administeredBy | Σ | 0..1 | Reference(NDH Organization Profile) | Product administrator
coverageArea | S Σ | 0..* | Reference(NDH Location Profile) | Where product applies
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | Technical endpoint
network | S | 0..* | Reference(NDH Network Profile) | What networks are Included
coverage |  | 0..* | BackboneElement | Coverage details
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of coverage Binding: Insurance Coverage Type (extensible)
network | S | 0..* | Reference(NDH Network Profile) | What networks provide coverage
benefit |  | 1..* | BackboneElement | List of benefits
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of benefit Binding: Benefit Type Value Set (extensible)
plan |  | 0..* | BackboneElement | Cost sharing details for the plan
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | Categorization of the cost sharing for the plan Binding: Insuranceplan Plan Type (extensible)
coverageArea | Σ | 0..* | Reference(NDH Location Profile) | Where product applies
network |  | 0..* | Reference(NDH Network Profile) | What networks provide coverage
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
InsurancePlan.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
InsurancePlan.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
InsurancePlan.type | Base | extensible | Insurance Product Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​type | Base | extensible | Insurance Coverage Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​benefit.type | Base | extensible | Benefit Type Value Set | 📦2.0.0-current | This IG
InsurancePlan.plan.type | Base | extensible | Insuranceplan Plan Type | 📦1.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | InsurancePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | InsurancePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | InsurancePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
ipn-1 | error | InsurancePlan | The organization SHALL at least have a name or an idendtifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
network-or-NatlDirwork | error | InsurancePlan | If an insuranceplan does not define a network, then each plan must define one | `network.exists() or coverage.network.exists() or plan.network.exists()`
plan-type-is-distinct | error | InsurancePlan | Each InsurancePlan.plan should have a distinct plan.type. | `plan.type.coding.code.isDistinct()`

This structure is derived from InsurancePlan

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
InsurancePlan | C | 0..* | InsurancePlan | Details of a Health Insurance product/plan provided by an organization Constraints: network-or-NatlDirwork, plan-type-is-distinct
meta |  |  |  |
lastUpdated |  | 1..1 | instant | When the resource version last changed
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
identifier | S | 0..* | Identifier | Business Identifier for Product
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
assigner |  | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
status | S | 1..1 | code | draft | active | retired | unknown Fixed Value: active
type | S | 1..1 | CodeableConcept | Product Type Binding: Insurance Product Type (extensible)
name | S | 0..1 | string | Official name
ownedBy |  | 0..1 | Reference(NDH Organization Profile) | Plan issuer
administeredBy |  | 0..1 | Reference(NDH Organization Profile) | Product administrator
coverageArea | S | 0..* | Reference(NDH Location Profile) | Where product applies
contact |  |  |  |
telecom |  |  |  |
Slices for extension |  |  |  | Content/Rules for all slices
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | Technical endpoint
network | S | 0..* | Reference(NDH Network Profile) | What networks are Included
coverage |  |  |  |
type |  | 1..1 | CodeableConcept | Type of coverage Binding: Insurance Coverage Type (extensible)
network | S | 0..* | Reference(NDH Network Profile) | What networks provide coverage
benefit |  |  |  |
type |  | 1..1 | CodeableConcept | Type of benefit Binding: Benefit Type Value Set (extensible)
plan |  | 0..* | BackboneElement | Cost sharing details for the plan
identifier |  |  |  |
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
assigner |  | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
type |  | 0..1 | CodeableConcept | Categorization of the cost sharing for the plan Binding: Insuranceplan Plan Type (extensible)
coverageArea |  | 0..* | Reference(NDH Location Profile) | Where product applies
network |  | 0..* | Reference(NDH Network Profile) | What networks provide coverage
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
InsurancePlan.type | Base | extensible | Insurance Product Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​type | Base | extensible | Insurance Coverage Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​benefit.type | Base | extensible | Benefit Type Value Set | 📦2.0.0-current | This IG
InsurancePlan.plan.type | Base | extensible | Insuranceplan Plan Type | 📦1.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
network-or-NatlDirwork | error | InsurancePlan | If an insuranceplan does not define a network, then each plan must define one | `network.exists() or coverage.network.exists() or plan.network.exists()`
plan-type-is-distinct | error | InsurancePlan | Each InsurancePlan.plan should have a distinct plan.type. | `plan.type.coding.code.isDistinct()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
InsurancePlan | C | 0..* | InsurancePlan | Details of a Health Insurance product/plan provided by an organization Constraints: ipn-1, network-or-NatlDirwork, plan-type-is-distinct
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | Σ | 0..1 | id | Version specific identifier
lastUpdated | Σ | 1..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ C | 0..* | Identifier | Business Identifier for Product
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 0..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. Fixed Value: active
type | S Σ | 1..1 | CodeableConcept | Product Type Binding: Insurance Product Type (extensible)
name | S Σ C | 0..1 | string | Official name
alias |  | 0..* | string | Alternate names
period |  | 0..1 | Period | When the product is available
ownedBy | Σ | 0..1 | Reference(NDH Organization Profile) | Plan issuer
administeredBy | Σ | 0..1 | Reference(NDH Organization Profile) | Product administrator
coverageArea | S Σ | 0..* | Reference(NDH Location Profile) | Where product applies
contact |  | 0..* | BackboneElement | Contact for the product
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
purpose |  | 0..1 | CodeableConcept | The type of contact Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.
name |  | 0..1 | HumanName | A name associated with the contact
telecom |  | 0..* | ContactPoint | Contact details (telephone, email, etc.) for a contact
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
system | Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
address |  | 0..1 | Address | Visiting or postal addresses for the contact
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | Technical endpoint
network | S | 0..* | Reference(NDH Network Profile) | What networks are Included
coverage |  | 0..* | BackboneElement | Coverage details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of coverage Binding: Insurance Coverage Type (extensible)
network | S | 0..* | Reference(NDH Network Profile) | What networks provide coverage
benefit |  | 1..* | BackboneElement | List of benefits
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of benefit Binding: Benefit Type Value Set (extensible)
requirement |  | 0..1 | string | Referral requirements
limit |  | 0..* | BackboneElement | Benefit limits
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
value |  | 0..1 | Quantity | Maximum value allowed
code |  | 0..1 | CodeableConcept | Benefit limit details
plan |  | 0..* | BackboneElement | Cost sharing details for the plan
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
identifier | Σ | 0..* | Identifier | Business Identifier for Product
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 0..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
type |  | 0..1 | CodeableConcept | Categorization of the cost sharing for the plan Binding: Insuranceplan Plan Type (extensible)
coverageArea | Σ | 0..* | Reference(NDH Location Profile) | Where product applies
network |  | 0..* | Reference(NDH Network Profile) | What networks provide coverage
generalCost |  | 0..* | BackboneElement | Overall costs
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | Type of cost
groupSize |  | 0..1 | positiveInt | Number of enrollees
cost |  | 0..1 | Money | Cost value
comment |  | 0..1 | string | Additional cost information
specificCost |  | 0..* | BackboneElement | Specific costs
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
category |  | 1..1 | CodeableConcept | General category of benefit
benefit |  | 0..* | BackboneElement | Benefits list
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of specific benefit
cost |  | 0..* | BackboneElement | List of the costs
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of cost
applicability |  | 0..1 | CodeableConcept | in-network | out-of-network | other Binding: BenefitCostApplicability (required): Whether the cost applies to in-network or out-of-network providers.
qualifiers |  | 0..* | CodeableConcept | Additional information about the cost
value |  | 0..1 | Quantity | The actual cost value
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
InsurancePlan.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
InsurancePlan.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std.
InsurancePlan.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
InsurancePlan.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
InsurancePlan.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
InsurancePlan.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
InsurancePlan.type | Base | extensible | Insurance Product Type | 📦1.0.0 | THO v7.1
InsurancePlan.contact.​purpose | Base | extensible | Contact entity type | 📍4.0.1 | FHIR Std.
InsurancePlan.contact.​telecom.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
InsurancePlan.contact.​telecom.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
InsurancePlan.coverage.​type | Base | extensible | Insurance Coverage Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​benefit.type | Base | extensible | Benefit Type Value Set | 📦2.0.0-current | This IG
InsurancePlan.plan.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
InsurancePlan.plan.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
InsurancePlan.plan.type | Base | extensible | Insuranceplan Plan Type | 📦1.0.0 | THO v7.1
InsurancePlan.plan.specificCost.​benefit.cost.applicability | Base | required | Benefit cost applicability | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | InsurancePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | InsurancePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | InsurancePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
ipn-1 | error | InsurancePlan | The organization SHALL at least have a name or an idendtifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
network-or-NatlDirwork | error | InsurancePlan | If an insuranceplan does not define a network, then each plan must define one | `network.exists() or coverage.network.exists() or plan.network.exists()`
plan-type-is-distinct | error | InsurancePlan | Each InsurancePlan.plan should have a distinct plan.type. | `plan.type.coding.code.isDistinct()`

This structure is derived from InsurancePlan

Summary

Mandatory: 2 elements(1 nested mandatory element)
Must-Support: 7 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

- NDH Organization Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization)
- NDH Location Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Location)
- NDH Endpoint Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint)
- NDH Network Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
InsurancePlan | C | 0..* | InsurancePlan | Details of a Health Insurance product/plan provided by an organization Constraints: ipn-1, network-or-NatlDirwork, plan-type-is-distinct
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ C | 0..* | Identifier | Business Identifier for Product
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. Fixed Value: active
type | S Σ | 1..1 | CodeableConcept | Product Type Binding: Insurance Product Type (extensible)
name | S Σ C | 0..1 | string | Official name
ownedBy | Σ | 0..1 | Reference(NDH Organization Profile) | Plan issuer
administeredBy | Σ | 0..1 | Reference(NDH Organization Profile) | Product administrator
coverageArea | S Σ | 0..* | Reference(NDH Location Profile) | Where product applies
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | Technical endpoint
network | S | 0..* | Reference(NDH Network Profile) | What networks are Included
coverage |  | 0..* | BackboneElement | Coverage details
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of coverage Binding: Insurance Coverage Type (extensible)
network | S | 0..* | Reference(NDH Network Profile) | What networks provide coverage
benefit |  | 1..* | BackboneElement | List of benefits
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of benefit Binding: Benefit Type Value Set (extensible)
plan |  | 0..* | BackboneElement | Cost sharing details for the plan
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | Categorization of the cost sharing for the plan Binding: Insuranceplan Plan Type (extensible)
coverageArea | Σ | 0..* | Reference(NDH Location Profile) | Where product applies
network |  | 0..* | Reference(NDH Network Profile) | What networks provide coverage
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
InsurancePlan.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
InsurancePlan.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
InsurancePlan.type | Base | extensible | Insurance Product Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​type | Base | extensible | Insurance Coverage Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​benefit.type | Base | extensible | Benefit Type Value Set | 📦2.0.0-current | This IG
InsurancePlan.plan.type | Base | extensible | Insuranceplan Plan Type | 📦1.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | InsurancePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | InsurancePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | InsurancePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
ipn-1 | error | InsurancePlan | The organization SHALL at least have a name or an idendtifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
network-or-NatlDirwork | error | InsurancePlan | If an insuranceplan does not define a network, then each plan must define one | `network.exists() or coverage.network.exists() or plan.network.exists()`
plan-type-is-distinct | error | InsurancePlan | Each InsurancePlan.plan should have a distinct plan.type. | `plan.type.coding.code.isDistinct()`

Differential View

This structure is derived from InsurancePlan

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
InsurancePlan | C | 0..* | InsurancePlan | Details of a Health Insurance product/plan provided by an organization Constraints: network-or-NatlDirwork, plan-type-is-distinct
meta |  |  |  |
lastUpdated |  | 1..1 | instant | When the resource version last changed
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
identifier | S | 0..* | Identifier | Business Identifier for Product
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
assigner |  | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
status | S | 1..1 | code | draft | active | retired | unknown Fixed Value: active
type | S | 1..1 | CodeableConcept | Product Type Binding: Insurance Product Type (extensible)
name | S | 0..1 | string | Official name
ownedBy |  | 0..1 | Reference(NDH Organization Profile) | Plan issuer
administeredBy |  | 0..1 | Reference(NDH Organization Profile) | Product administrator
coverageArea | S | 0..* | Reference(NDH Location Profile) | Where product applies
contact |  |  |  |
telecom |  |  |  |
Slices for extension |  |  |  | Content/Rules for all slices
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | Technical endpoint
network | S | 0..* | Reference(NDH Network Profile) | What networks are Included
coverage |  |  |  |
type |  | 1..1 | CodeableConcept | Type of coverage Binding: Insurance Coverage Type (extensible)
network | S | 0..* | Reference(NDH Network Profile) | What networks provide coverage
benefit |  |  |  |
type |  | 1..1 | CodeableConcept | Type of benefit Binding: Benefit Type Value Set (extensible)
plan |  | 0..* | BackboneElement | Cost sharing details for the plan
identifier |  |  |  |
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
assigner |  | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
type |  | 0..1 | CodeableConcept | Categorization of the cost sharing for the plan Binding: Insuranceplan Plan Type (extensible)
coverageArea |  | 0..* | Reference(NDH Location Profile) | Where product applies
network |  | 0..* | Reference(NDH Network Profile) | What networks provide coverage
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
InsurancePlan.type | Base | extensible | Insurance Product Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​type | Base | extensible | Insurance Coverage Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​benefit.type | Base | extensible | Benefit Type Value Set | 📦2.0.0-current | This IG
InsurancePlan.plan.type | Base | extensible | Insuranceplan Plan Type | 📦1.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
network-or-NatlDirwork | error | InsurancePlan | If an insuranceplan does not define a network, then each plan must define one | `network.exists() or coverage.network.exists() or plan.network.exists()`
plan-type-is-distinct | error | InsurancePlan | Each InsurancePlan.plan should have a distinct plan.type. | `plan.type.coding.code.isDistinct()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
InsurancePlan | C | 0..* | InsurancePlan | Details of a Health Insurance product/plan provided by an organization Constraints: ipn-1, network-or-NatlDirwork, plan-type-is-distinct
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | Σ | 0..1 | id | Version specific identifier
lastUpdated | Σ | 1..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ C | 0..* | Identifier | Business Identifier for Product
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 0..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. Fixed Value: active
type | S Σ | 1..1 | CodeableConcept | Product Type Binding: Insurance Product Type (extensible)
name | S Σ C | 0..1 | string | Official name
alias |  | 0..* | string | Alternate names
period |  | 0..1 | Period | When the product is available
ownedBy | Σ | 0..1 | Reference(NDH Organization Profile) | Plan issuer
administeredBy | Σ | 0..1 | Reference(NDH Organization Profile) | Product administrator
coverageArea | S Σ | 0..* | Reference(NDH Location Profile) | Where product applies
contact |  | 0..* | BackboneElement | Contact for the product
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
purpose |  | 0..1 | CodeableConcept | The type of contact Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.
name |  | 0..1 | HumanName | A name associated with the contact
telecom |  | 0..* | ContactPoint | Contact details (telephone, email, etc.) for a contact
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
system | Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
address |  | 0..1 | Address | Visiting or postal addresses for the contact
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | Technical endpoint
network | S | 0..* | Reference(NDH Network Profile) | What networks are Included
coverage |  | 0..* | BackboneElement | Coverage details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of coverage Binding: Insurance Coverage Type (extensible)
network | S | 0..* | Reference(NDH Network Profile) | What networks provide coverage
benefit |  | 1..* | BackboneElement | List of benefits
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of benefit Binding: Benefit Type Value Set (extensible)
requirement |  | 0..1 | string | Referral requirements
limit |  | 0..* | BackboneElement | Benefit limits
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
value |  | 0..1 | Quantity | Maximum value allowed
code |  | 0..1 | CodeableConcept | Benefit limit details
plan |  | 0..* | BackboneElement | Cost sharing details for the plan
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
identifier | Σ | 0..* | Identifier | Business Identifier for Product
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 0..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
type |  | 0..1 | CodeableConcept | Categorization of the cost sharing for the plan Binding: Insuranceplan Plan Type (extensible)
coverageArea | Σ | 0..* | Reference(NDH Location Profile) | Where product applies
network |  | 0..* | Reference(NDH Network Profile) | What networks provide coverage
generalCost |  | 0..* | BackboneElement | Overall costs
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 0..1 | CodeableConcept | Type of cost
groupSize |  | 0..1 | positiveInt | Number of enrollees
cost |  | 0..1 | Money | Cost value
comment |  | 0..1 | string | Additional cost information
specificCost |  | 0..* | BackboneElement | Specific costs
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
category |  | 1..1 | CodeableConcept | General category of benefit
benefit |  | 0..* | BackboneElement | Benefits list
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of specific benefit
cost |  | 0..* | BackboneElement | List of the costs
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | CodeableConcept | Type of cost
applicability |  | 0..1 | CodeableConcept | in-network | out-of-network | other Binding: BenefitCostApplicability (required): Whether the cost applies to in-network or out-of-network providers.
qualifiers |  | 0..* | CodeableConcept | Additional information about the cost
value |  | 0..1 | Quantity | The actual cost value
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
InsurancePlan.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
InsurancePlan.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std.
InsurancePlan.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
InsurancePlan.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
InsurancePlan.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
InsurancePlan.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
InsurancePlan.type | Base | extensible | Insurance Product Type | 📦1.0.0 | THO v7.1
InsurancePlan.contact.​purpose | Base | extensible | Contact entity type | 📍4.0.1 | FHIR Std.
InsurancePlan.contact.​telecom.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
InsurancePlan.contact.​telecom.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
InsurancePlan.coverage.​type | Base | extensible | Insurance Coverage Type | 📦1.0.0 | THO v7.1
InsurancePlan.coverage.​benefit.type | Base | extensible | Benefit Type Value Set | 📦2.0.0-current | This IG
InsurancePlan.plan.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
InsurancePlan.plan.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
InsurancePlan.plan.type | Base | extensible | Insuranceplan Plan Type | 📦1.0.0 | THO v7.1
InsurancePlan.plan.specificCost.​benefit.cost.applicability | Base | required | Benefit cost applicability | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | InsurancePlan | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | InsurancePlan | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | InsurancePlan | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | InsurancePlan | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
ipn-1 | error | InsurancePlan | The organization SHALL at least have a name or an idendtifier, and possibly more than one | `(identifier.count() + name.count()) > 0`
network-or-NatlDirwork | error | InsurancePlan | If an insuranceplan does not define a network, then each plan must define one | `network.exists() or coverage.network.exists() or plan.network.exists()`
plan-type-is-distinct | error | InsurancePlan | Each InsurancePlan.plan should have a distinct plan.type. | `plan.type.coding.code.isDistinct()`

This structure is derived from InsurancePlan

Summary

Mandatory: 2 elements(1 nested mandatory element)
Must-Support: 7 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

- NDH Organization Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization)
- NDH Location Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Location)
- NDH Endpoint Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint)
- NDH Network Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary

Maturity: 4

Other representations of profile: CSV, Excel, Schematron

### Notes:

### Search Parameters

#### Search Parameter defined by the NDH IG

SearchParameter Name | Type | Example
--- | --- | ---
coverage-area | reference | `GET [base]/InsurancePlan?coverage-area.contains=41.809006\|-71.41177`
coverage-benefit-type | token | `GET [base]/InsurancePlan?coverage-benefit-type=pcpov`
coverage-type | token | `GET [base]/InsurancePlan?coverage-type=medical`
coverage-network | reference | `GET [base]/InsurancePlan?coverage-network.type=ntwk&coverage-network.address-state=CT`
network | reference | `GET [base]/InsurancePlan?network.type=ntwk&network.address-state=CT`
plan-network | reference | `GET [base]/InsurancePlan?plan-network.type=ntwk&plan-network.address-state=CT
plan-type | token | `GET [base]/InsurancePlan?plan-type=gold
verification-status | 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
- InsurancePlan Search Parameter from Registry

SearchParameter Name | Type | Example
--- | --- | ---
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

_include | Example
--- | ---
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 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).