Insurance Plan IG
Implement the PMJAY InsurancePlan bundle to read policy benefits, limits, documents, claim conditions, and eligibility rules.
The InsurancePlan bundle is the digital policy source for PMJAY. Use it before treatment selection, eligibility checks, preauthorisation, and claims.
Core APIs
| Direction | API | Purpose |
|---|---|---|
| Provider to payer | /v1/insuranceplan/request | Request the digital policy definition. |
| Payer to provider | /v1/insuranceplan/on_request | Return the InsurancePlan bundle. |
| Provider to payer | /v1/coverageeligibility/check | Validate a beneficiary against the policy. |
| Payer to provider | /v1/coverageeligibility/on_check | Return the eligibility result. |
Both APIs use an asynchronous NHCX model. The provider sends an encrypted request. The payer sends an encrypted callback.
InsurancePlan request
Send a FHIR Task resource in a Bundle.
Use Task code poll.
Provide at least 1 input.
Use both inputs when they are available.
| Task field | Cardinality | Example | Purpose |
|---|---|---|---|
Task.resourceType | 1..1 | Task | Wrap the plan request. |
Task.status | 1..1 | requested | Mark the request as active. |
Task.intent | 1..1 | order | Request payer action. |
Task.code.coding.system | 1..1 | https://nhcx.abdm.gov.in/api | Identify the API namespace. |
Task.code.coding.code | 1..1 | poll | Fetch the InsurancePlan. |
Task.input.type.coding.code | 1..1 | policyNumber | Send the policy code. |
Task.input.valueString | 0..1 | POL987654321 | Identify the policy. |
Task.input.type.coding.code | 0..1 | providerId | Send the provider ID. |
Task.input.valueString | 0..1 | HFR123456 | Identify the hospital. |
{
"resourceType": "Task",
"status": "requested",
"intent": "order",
"code": {
"coding": [
{
"system": "https://nhcx.abdm.gov.in/api",
"code": "poll"
}
]
},
"input": [
{
"type": { "coding": [{ "code": "policyNumber" }] },
"valueString": "POL987654321"
},
{
"type": { "coding": [{ "code": "providerId" }] },
"valueString": "HFR123456"
}
]
}Callback bundle
The decrypted callback is a FHIR Bundle with type collection.
It can contain these resources.
| Resource | Use |
|---|---|
| InsurancePlan | Holds policy, package, cost, condition, document, and limit data. |
| Organization | Identifies the payer and provider. |
| Questionnaire | Holds STG, past history, family history, and document questions. |
Policy structure approaches
The guide shows 2 ways to represent benefits. A payer can use either model. Your HMIS must parse both models when the payer supports both.
Plan to specific cost model
Use this model for PMJAY package cost rules.
| InsurancePlan path | PMJAY concept |
|---|---|
plan.specificCost.category | Speciality, such as General Medicine. |
plan.specificCost.benefit | Package or service. |
benefit.cost | Package cost. |
cost.qualifiers | Implant, stratification, investigation, or medicine qualifier. |
Coverage to benefit model
Use this model for coverage limits and benefit limits.
| Path | Example | Meaning |
|---|---|---|
coverage.type.coding.code | IP | In-patient coverage. |
coverage.network | Apollo Hospitals Network | Empanelled provider network. |
benefit.type.coding.code | ICU | ICU benefit. |
benefit.requirement | Pre-authorisation required | Authorization rule. |
limit.value.value | 500000 | Benefit limit. |
limit.value.unit | INR | Currency. |
Key InsurancePlan fields
| Element | Required | Use |
|---|---|---|
InsurancePlan.plan | No | Holds all cost rules for the plan. |
plan.extension:claim-exclusion | No | Lists excluded conditions or procedures. |
plan.extension:claimCondition | No | Lists claim rules. |
plan.extension:claimSupportingInfoRequirement | No | Lists mandatory documents. |
plan.identifier | No | Stores the business policy identifier. |
plan.type | Yes | Identifies the plan type. |
plan.network | No | Lists the provider network. |
plan.generalCost | No | Stores the overall PMJAY sum insured. |
plan.specificCost | No | Stores category and package costs. |
specificCost.category | Yes | Identifies the speciality. |
benefit.type | Yes | Identifies the package. |
benefit.cost.type | Yes | Identifies the cost type. |
benefit.cost.qualifiers | No | Adds implant or stratification rules. |
benefit.cost.value | No | Stores the cost or extra amount. |
Claim condition examples
| Condition | HMIS rule |
|---|---|
reserved_for_govt_yn | Block a private facility when the value reserves the benefit for government facilities. |
auto_approve_yn | Mark the package as eligible for auto approval. |
enhancement_applicable_yn | Block enhancement when the value is false. |
quantity_allowed | Enforce the allowed package quantity. |
implant_applicable_yn | Enable implant fields only when the value is true. |
strat_applicable_yn | Enable stratification fields only when the value is true. |
cyclic_proc_yn | Permit repeat cycles for dialysis-like benefits. |
los | Check the maximum length of stay. |
Standalone | Do not combine the package with another procedure. |
Unspecified | Allow free-entry package name and cost when the policy permits it. |
CoverageEligibility after InsurancePlan
Use CoverageEligibility after you fetch the InsurancePlan. Use the policy code, provider ID, payer ID, and beneficiary identifier.
| Purpose | What the payer verifies |
|---|---|
discovery | Active policies for the beneficiary. |
validation | Eligibility before treatment. |
benefits | Coverage limits and benefit amounts. |
auth-requirements | Preauth requirement, documents, and STGs. |
Combined operational view
| Hospital step | InsurancePlan use |
|---|---|
| Registration | Load the policy and the provider-specific packages. |
| Coverage validation | Confirm active coverage and wallet balance. |
| Benefit selection | Restrict package choices to the plan. |
| Preauthorisation | Attach STGs and mandatory documents from plan rules. |
| Claim | Attach final documents from plan and eligibility rules. |
Provider responsibilities
- Retrieve the digital policy with InsurancePlan APIs.
- Store benefits and costs in a queryable format.
- Validate eligibility with CoverageEligibility APIs.
- Check documents and conditions before submission.
- Use the callback payload after JWE decryption.
Payer responsibilities
- Publish accurate InsurancePlan bundles.
- Maintain current policy and package definitions.
- Validate eligibility requests.
- Return encrypted callbacks through NHCX.
Sources
- insurance-plan-ig.md (NHCX sandbox portal)
