API Documentation
Beneficiary Claims Data API (BCDA) uses Bulk Fast Healthcare Interoperability Resources (FHIR) to share claims data. You can use a variety of tools or client software programs to access the sandbox and production environments.
Getting started
-
Learn about BCDA
Explore the documentation, Data Dictionary, and sample files.
-
Use the sandbox
The sandbox environment allows anyone to try the API and download test claims data. Learn how to get a bearer token and access the sandbox.
-
Get production access
Eligible model entities must have production credentials to access their enrollees' claims data.
Endpoints
Endpoints request data by resource type. Data is returned for enrollees attributed to your organization, but you can’t make requests for individual patient data.
/metadata
Request the FHIR CapabilityStatement for basic information on the API, like its version and whether it’s currently active. This does not require authorization.
/Group
Use the /Group endpoint to request the ExplanationOfBenefit, Patient, and Coverage resource types. For partially adjudicated claims, this includes Claim and ClaimResponse. Provide the all
or runout
identifier to indicate whose data you’d like returned:
- /Group/all: returns data for all Medicare enrollees currently attributed to your model entity
- /Group/runout: returns data for Medicare enrollees attributed to your model entity during the previous year, but not the current year. The data will have a service date no later than December 31 of the previous year.
Using the _since parameter with /Group will return resources updated after the date provided for existing enrollees and all resources for newly attributed enrollees.
This lets you retrieve all new claims data with a single request. If you don’t apply _since, BCDA will return data as early as 2014.
/Patient
Similar to /Group/all, use the /Patient endpoint to request data for all Medicare enrollees currently attributed to your model entity.
Using the _since parameter with /Patient will return resources updated after the date provided for existing and newly attributed enrollees.
Newly attributed enrollees are those who’ve been assigned to your model entity since your last attribution date. If you don’t apply _since, BCDA will return data as early as 2014.
/jobs
Request information about previous job requests, including the job ID, creation time, completion time, and original job request.
If you can’t remember the job ID after starting a job, use this endpoint to retrieve the ID. Each entry in the resource bundle is in the FHIR Task format.
/attribution_status
Request a datetime and timestamp for when your enrollee list or runout files were last updated.
Attribution files are updated once per month. It can be useful to retrieve all claims data for newly attributed enrollees to get a full picture of their health histories.
Parameters
Use parameters during job requests to filter or specify the resources returned:
-
The _type parameter: Limit your request to specific resource types. Instead of receiving data from all available resource types, specify 1 or more.
-
The _since parameter: Apply a date boundary to your requests. Instead of receiving the full record of historical data, filter for resources last updated after a specified date.
Explore how to filter claims data
Additional resources
BCDA provides Medicare claims data using the NDJSON format.
- FHIR/HL7
- Bulk FHIR specification
- CARIN Blue Button Implementation Guide
- Intro to the JSON Format and NDJSON
- JSON format viewer/validator (raw text/JSON format converter)
- How to validate FHIR data