Authenticate the member-facing application via SMART on FHIR standalone launch, obtaining patient/*.read or patient/ExplanationOfBenefit.read scope from the payer's authorization server
Retrieve the member's ExplanationOfBenefit resources: GET /ExplanationOfBenefit?patient=<patient-id>&_sort=-created to get the most recent claims; the payer server must support this mandatory search parameter combination per the CARIN BB CapabilityStatement
Identify the EOB profile type from ExplanationOfBenefit.type.coding using the C4BB claim type value set: Professional/NonClinician, Inpatient Institutional, Outpatient Institutional, or Pharmacy — each has a distinct C4BB sub-profile
Parse profile-specific fields: for Inpatient Institutional EOBs, check the admission/discharge dates in item.servicedPeriod and DRG in diagnosisRelatedGroup; for Pharmacy EOBs, check the NCPDP claim number and compound drug indicators
Use _include to retrieve related Coverage and Patient resources in a single request: GET /ExplanationOfBenefit?patient=<id>&_include=ExplanationOfBenefit:patient&_include=ExplanationOfBenefit:coverage
Validate the received EOB resources against the CARIN BB v2.1.0 package (hl7.fhir.us.carin-bb#2.1.0) to confirm adjudication slices (submitted, eligible, benefit, member-paid) are present as required
Known gotchas
All four C4BB EOB sub-profiles (Inpatient, Outpatient, Pharmacy, Professional/NonClinician) derive from the abstract C4BB-ExplanationOfBenefit base profile — servers must return resources conforming to the concrete sub-profile, not just the abstract base
The C4BB payer must support the patient search parameter on ExplanationOfBenefit — this is a SHALL requirement; payers that require a claim ID or date range as mandatory search parameters are non-conformant
CARIN BB v2.2.0 introduced Basis profiles (e.g., C4BB-ExplanationOfBenefit-Inpatient-Institutional-Basis) that relax some constraints for non-adjudicated data — confirm whether you need the full adjudicated profile or the Basis variant
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp