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.
- Production
- Preview
GET /ExplanationOfBenefit/{id}
curl -X GET https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/ExplanationOfBenefit/eob-123 \
-H "Accept: application/fhir+json"
GET /ExplanationOfBenefit/{id}
curl -X GET https://fhirtest.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/ExplanationOfBenefit/eob-123 \
-H "Accept: application/fhir+json"
Search
Search for explanations of benefit using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /ExplanationOfBenefit?parameter=value
GET /ExplanationOfBenefit?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /ExplanationOfBenefit/_search
POST /ExplanationOfBenefit/_search
Search Parameters
Patient-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
patient | reference | Yes | REQUIRED The patient for the explanation of benefit | patient=Patient/patient-123 |
created | date | No | When the EOB was created | created=2023-10-15 |
identifier | token | No | Unique identifier for the EOB | identifier=eob-123456 |
status | token | No | Status of the explanation of benefit | status=active |
ID-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
created | date | No | When the EOB was created | created=2023-10-15 |
identifier | token | No | Unique identifier for the EOB | identifier=eob-123456 |
status | token | No | Status of the explanation of benefit | status=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
- Production
- Preview
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"
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"
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"
curl -X POST https://fhirtest.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"
curl -X POST https://fhirtest.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"
curl -X POST https://fhirtest.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
{
"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
{
"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
{
"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
Related 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
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
_countparameter to limit result sets