Skip to main content

ExplanationOfBenefit

Overview

The ExplanationOfBenefit resource represents the adjudicated claims and benefit determinations within the Payer Patient Access API. It provides detailed information about healthcare services rendered, coverage decisions, and payment determinations made by the payer.

Key Use Cases:

  • Retrieve claim adjudication details
  • Access benefit determination information
  • Support member cost-sharing calculations
  • Track payment and coverage decisions

Relationships to Other Resources:

  • Patient - The individual who received the healthcare services
  • Coverage - Insurance coverage used for the claim
  • Claim - Original claim that was adjudicated
  • Organization - Healthcare provider or payer organization

Resource Schema

Key fields in the ExplanationOfBenefit resource:

{
"resourceType": "ExplanationOfBenefit",
"id": "string",
"identifier": [
{
"system": "http://example.org/eob-id",
"value": "eob-123456"
}
],
"status": "active|cancelled|draft|entered-in-error",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/claim-type",
"code": "professional",
"display": "Professional"
}
]
},
"use": "claim|preauthorization|predetermination",
"patient": {
"reference": "Patient/patient-123"
},
"created": "2023-10-15T10:30:00Z",
"insurer": {
"reference": "Organization/insurer-456"
},
"provider": {
"reference": "Organization/provider-789"
},
"outcome": "complete|error|partial",
"disposition": "Claim processed successfully",
"insurance": [
{
"focal": true,
"coverage": {
"reference": "Coverage/coverage-123"
}
}
],
"item": [
{
"sequence": 1,
"category": {
"coding": [
{
"system": "https://bluebutton.cms.gov/resources/variables/line_cms_type_srvc_cd",
"code": "1",
"display": "Medical care"
}
]
},
"productOrService": {
"coding": [
{
"system": "http://www.ama-assn.org/go/cpt",
"code": "99213",
"display": "Office visit"
}
]
},
"servicedDate": "2023-10-10",
"unitPrice": {
"value": 150.00,
"currency": "USD"
},
"net": {
"value": 150.00,
"currency": "USD"
},
"adjudication": [
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "eligible",
"display": "Eligible Amount"
}
]
},
"amount": {
"value": 120.00,
"currency": "USD"
}
},
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "benefit",
"display": "Benefit Amount"
}
]
},
"amount": {
"value": 96.00,
"currency": "USD"
}
}
]
}
],
"total": [
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "submitted",
"display": "Submitted Amount"
}
]
},
"amount": {
"value": 150.00,
"currency": "USD"
}
},
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "benefit",
"display": "Benefit Amount"
}
]
},
"amount": {
"value": 96.00,
"currency": "USD"
}
}
]
}

Key Fields:

  • status - Current status of the explanation of benefit
  • patient - Reference to the patient who received services
  • created - When the EOB was created
  • insurer - Reference to the insurance organization
  • item - Details of services and adjudication

Operations

Read

Retrieve a specific explanation of benefit by ID.

GET /ExplanationOfBenefit/{id}
Example Request
curl -X GET https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/ExplanationOfBenefit/eob-123 \
-H "Accept: application/fhir+json"

Search for explanations of benefit using various criteria.

GET Method

Use GET for simple searches with parameters in the query string.

GET /ExplanationOfBenefit?parameter=value

POST Method

Use POST for complex searches with form-encoded parameters.

POST /ExplanationOfBenefit/_search

Search Parameters

Patient-based Search:

ParameterTypeRequiredDescriptionExample
patientreferenceYesREQUIRED The patient for the explanation of benefitpatient=Patient/patient-123
createddateNoWhen the EOB was createdcreated=2023-10-15
identifiertokenNoUnique identifier for the EOBidentifier=eob-123456
statustokenNoStatus of the explanation of benefitstatus=active

ID-based Search:

ParameterTypeRequiredDescriptionExample
createddateNoWhen the EOB was createdcreated=2023-10-15
identifiertokenNoUnique identifier for the EOBidentifier=eob-123456
statustokenNoStatus of the explanation of benefitstatus=active

Common Search Patterns

Find EOBs for a patient:

GET /ExplanationOfBenefit?patient=Patient/patient-123&_count=10

Search by identifier:

GET /ExplanationOfBenefit?patient=Patient/patient-123&identifier=eob-123456

Search by creation date range:

GET /ExplanationOfBenefit?patient=Patient/patient-123&created=ge2023-01-01&created=le2023-12-31

Search by status:

GET /ExplanationOfBenefit?patient=Patient/patient-123&status=active

Examples

Request Examples

Search by patient
curl -X POST https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/ExplanationOfBenefit/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&_count=10"
Search by identifier
curl -X POST https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/ExplanationOfBenefit/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&identifier=eob-123456"
Search by date range
curl -X POST https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/ExplanationOfBenefit/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123&created=ge2023-01-01&created=le2023-12-31"

Response Examples

Successful Search Response

ExplanationOfBenefit Search Bundle
{
"resourceType": "Bundle",
"type": "searchset",
"total": 1,
"entry": [
{
"resource": {
"resourceType": "ExplanationOfBenefit",
"id": "eob-123",
"identifier": [
{
"system": "http://example.org/eob-id",
"value": "eob-123456"
}
],
"status": "active",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/claim-type",
"code": "professional",
"display": "Professional"
}
]
},
"use": "claim",
"patient": {
"reference": "Patient/patient-123"
},
"created": "2023-10-15T10:30:00Z",
"insurer": {
"reference": "Organization/insurer-456"
},
"provider": {
"reference": "Organization/provider-789"
},
"outcome": "complete",
"disposition": "Claim processed successfully",
"insurance": [
{
"focal": true,
"coverage": {
"reference": "Coverage/coverage-123"
}
}
],
"item": [
{
"sequence": 1,
"category": {
"coding": [
{
"system": "https://bluebutton.cms.gov/resources/variables/line_cms_type_srvc_cd",
"code": "1",
"display": "Medical care"
}
]
},
"productOrService": {
"coding": [
{
"system": "http://www.ama-assn.org/go/cpt",
"code": "99213",
"display": "Office visit"
}
]
},
"servicedDate": "2023-10-10",
"unitPrice": {
"value": 150.00,
"currency": "USD"
},
"net": {
"value": 150.00,
"currency": "USD"
},
"adjudication": [
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "eligible",
"display": "Eligible Amount"
}
]
},
"amount": {
"value": 120.00,
"currency": "USD"
}
},
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "benefit",
"display": "Benefit Amount"
}
]
},
"amount": {
"value": 96.00,
"currency": "USD"
}
}
]
}
],
"total": [
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "submitted",
"display": "Submitted Amount"
}
]
},
"amount": {
"value": 150.00,
"currency": "USD"
}
},
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "benefit",
"display": "Benefit Amount"
}
]
},
"amount": {
"value": 96.00,
"currency": "USD"
}
}
]
}
}
]
}

Individual ExplanationOfBenefit Response

Single ExplanationOfBenefit Resource
{
"resourceType": "ExplanationOfBenefit",
"id": "eob-456",
"identifier": [
{
"system": "http://example.org/eob-id",
"value": "eob-789012"
}
],
"status": "active",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/claim-type",
"code": "pharmacy",
"display": "Pharmacy"
}
]
},
"use": "claim",
"patient": {
"reference": "Patient/patient-123"
},
"created": "2023-09-20T14:15:00Z",
"insurer": {
"reference": "Organization/insurer-456"
},
"provider": {
"reference": "Organization/pharmacy-123"
},
"outcome": "complete",
"disposition": "Prescription claim processed",
"insurance": [
{
"focal": true,
"coverage": {
"reference": "Coverage/coverage-123"
}
}
],
"item": [
{
"sequence": 1,
"category": {
"coding": [
{
"system": "https://bluebutton.cms.gov/resources/variables/line_cms_type_srvc_cd",
"code": "2",
"display": "Prescription drugs"
}
]
},
"productOrService": {
"coding": [
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "197361",
"display": "Lisinopril 10 MG Oral Tablet"
}
]
},
"servicedDate": "2023-09-15",
"quantity": {
"value": 30,
"unit": "tablets"
},
"unitPrice": {
"value": 25.00,
"currency": "USD"
},
"net": {
"value": 25.00,
"currency": "USD"
},
"adjudication": [
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "eligible",
"display": "Eligible Amount"
}
]
},
"amount": {
"value": 25.00,
"currency": "USD"
}
},
{
"category": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/adjudication",
"code": "benefit",
"display": "Benefit Amount"
}
]
},
"amount": {
"value": 20.00,
"currency": "USD"
}
}
]
}
]
}

Empty Result Set

No ExplanationOfBenefit Found
{
"resourceType": "Bundle",
"type": "searchset",
"total": 0,
"entry": []
}

Integration Patterns

Common Workflows

1. Member Claims History

# Step 1: Get all EOBs for patient
GET /ExplanationOfBenefit?patient=Patient/patient-123

# Step 2: Filter by date range for recent claims
GET /ExplanationOfBenefit?patient=Patient/patient-123&created=ge2023-01-01

# Step 3: Get specific EOB details
GET /ExplanationOfBenefit/eob-123

2. Claim Status Verification

# Step 1: Search by claim identifier
GET /ExplanationOfBenefit?patient=Patient/patient-123&identifier=eob-123456

# Step 2: Check claim status
GET /ExplanationOfBenefit?patient=Patient/patient-123&status=active

# Step 3: Get related coverage information
GET /Coverage/coverage-123
  • Patient - The individual who received the healthcare services
  • Coverage - Insurance coverage used for the claim
  • Claim - Original claim that was adjudicated
  • Organization - Healthcare provider or payer organization

Include Parameters

Use _include and _revinclude to fetch related resources:

# Get EOBs with patient details
GET /ExplanationOfBenefit?patient=Patient/patient-123&_include=ExplanationOfBenefit:patient

# Get EOBs with coverage details
GET /ExplanationOfBenefit?patient=Patient/patient-123&_include=ExplanationOfBenefit:coverage

Error Handling

The ExplanationOfBenefit resource follows standard FHIR error handling patterns. For detailed error responses and troubleshooting guidance, see the Common Errors page.

ExplanationOfBenefit-Specific Error Scenarios

  • 404 Not Found: EOB ID doesn't exist or record is not accessible
  • 400 Bad Request: Invalid search parameters or malformed date formats
  • Empty Results: No EOBs match the search criteria

Troubleshooting Tips

  • No Results for Patient: Verify patient reference format and ensure patient exists
  • Date Format Issues: Ensure dates are in YYYY-MM-DD or ISO 8601 format
  • Identifier Problems: Verify identifier format and system values
  • Performance Issues: Use _count parameter to limit result sets

Supported Profiles