{"resourceType": "CapabilityStatement", "id": "e416f849-2794-4f89-9883-b1d0e185c9ac", "text": {"status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Blue Button API: Direct</div>"}, "name": "RestServer", "status": "active", "date": "2026-07-12T18:00:01.274+00:00", "publisher": "Centers for Medicare & Medicaid Services", "kind": "instance", "software": {"name": "Blue Button API: Direct", "version": "2.251.0"}, "implementation": {"description": "gov.cms.bfd:bfd-server-war", "url": "https://sandbox.bluebutton.cms.gov/v2/fhir"}, "fhirVersion": "4.0.1", "format": ["application/json", "application/fhir+json"], "rest": [{"mode": "server", "resource": [{"type": "Coverage", "profile": "http://hl7.org/fhir/StructureDefinition/Coverage", "interaction": [{"code": "read"}, {"code": "search-type"}], "searchInclude": ["*", "Coverage:beneficiary"], "searchRevInclude": ["Claim:mbi", "ClaimResponse:mbi", "Coverage:beneficiary", "ExplanationOfBenefit:patient"], "searchParam": [{"name": "beneficiary", "type": "reference", "documentation": "Fetch _Beneficiary_ data using a FHIR _IdType_ identifier; an IdType\nrepresents the logical identity for a resource, or as much of that\nidentity that is known. In FHIR, every resource must have a _logical ID_ which is\ndefined by the [FHIR specification](https://www.hl7.org/fhir/r4/datatypes.html#id) as:\n\n`Any combination of upper or lower case ASCII letters ('A'..'Z', and 'a'..'z', numerals ('0'..'9'),\n'-' and '.', with a length limit of 64 characters. (This might be an integer, an un-prefixed OID, UUID\nor any other identifier pattern that meets these constraints.)`\n\nThis class contains that logical ID, and can optionally also contain a relative or absolute URL\nrepresenting the resource identity; the following are all valid values for IdType, and all might\nrepresent the same resource:\n- `beneficiary=567834`\n- `beneficiary=1234`"}, {"name": "_count", "type": "string", "documentation": "Provides the number of records to be used for pagination.\n\nExamples:\n  - `_count=10`: return 10 values.\n"}, {"name": "_lastUpdated", "type": "date", "documentation": "Only satisfy the Search if the Beneficiary's `last_updated` Date falls within a specified _DateRange_.\nA _DateRange_ can be defined by providing less than `lt` and/or greater than `gt` values.\nThis parameter can be included in a request one or more times.\n\nInexact timestamps are accepted, but not recommended, since the input will implicitly be converted to use the server's timezone.\n\nExamples:\n  - `_lastUpdated=gt2023-01-02T00:00+00:00&_lastUpdated=lt2023-05-01T00:00+00:00` defines a range between two provided dates\n  - `_lastUpdated=gt2023-01-02T00:00+00:00` defines a range between the provided date and today\n  - `_lastUpdated=lt2023-05-01T00:00+00:00` defines a range from the earliest available records until the provided date"}, {"name": "_profile", "type": "string", "documentation": "Filters the response to contain only _Coverage_ data that support the specified profile.\n\nThe following are all valid values for profile:\n- `http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Coverage`\n- `http://hl7.org/fhir/us/insurance-card/StructureDefinition/C4DIC-Coverage`"}, {"name": "startIndex", "type": "string", "documentation": "When fetching a _Bundle Response_ using pagination, this URL parameter represents an offset\n(starting point) into the list of elements for the _Request_.\nIt is optional and defaults to 1 if not supplied.\nA value 0 is not allowed and negative indices are not currently supported.\n\nExample:\n   - `startIndex=100`"}]}, {"type": "ExplanationOfBenefit", "profile": "http://hl7.org/fhir/StructureDefinition/ExplanationOfBenefit", "interaction": [{"code": "read"}, {"code": "search-type"}], "searchInclude": ["*", "ExplanationOfBenefit:patient"], "searchRevInclude": ["Claim:mbi", "ClaimResponse:mbi", "Coverage:beneficiary", "ExplanationOfBenefit:patient"], "searchParam": [{"name": "patient", "type": "reference", "documentation": "**NOTE: TO MAKE A REQUEST TO THIS ENDPOINT IT IS REQUIRED TO CHOOSE ONE OUT OF THE FOLLOWING THREE PARAMETERS AT A GIVEN TIME (_id, identifier, _has:Coverage.extension)**\n\nFetch _Patient_ data using a FHIR _IdType_ identifier; an IdType\nrepresents the logical identity for a resource, or as much of that\nidentity that is known. In FHIR, every resource must have a _logical ID_ which is\ndefined by the [FHIR specification](https://www.hl7.org/fhir/r4/datatypes.html#id) as:\n\n`Any combination of upper or lower case ASCII letters ('A'..'Z', and 'a'..'z', numerals ('0'..'9'),\n'-' and '.', with a length limit of 64 characters. (This might be an integer, an un-prefixed OID, UUID\nor any other identifier pattern that meets these constraints.)`\n\nThis class contains that logical ID, and can optionally also contain a relative or absolute URL\nrepresenting the resource identity; the following are all valid values for IdType, and all might\nrepresent the same resource:\n  - `_id=567834`\n  - `_id=1234`"}, {"name": "_count", "type": "string", "documentation": "Provides the number of records to be used for pagination.\n\nExamples:\n  - `_count=10`: return 10 values.\n"}, {"name": "_lastUpdated", "type": "date", "documentation": "Only satisfy the Search if the Beneficiary's `last_updated` Date falls within a specified _DateRange_.\nA _DateRange_ can be defined by providing less than `lt` and/or greater than `gt` values.\nThis parameter can be included in a request one or more times.\n\nInexact timestamps are accepted, but not recommended, since the input will implicitly be converted to use the server's timezone.\n\nExamples:\n  - `_lastUpdated=gt2023-01-02T00:00+00:00&_lastUpdated=lt2023-05-01T00:00+00:00` defines a range between two provided dates\n  - `_lastUpdated=gt2023-01-02T00:00+00:00` defines a range between the provided date and today\n  - `_lastUpdated=lt2023-05-01T00:00+00:00` defines a range from the earliest available records until the provided date"}, {"name": "excludeSAMHSA", "type": "string", "documentation": "The _Substance Abuse and Mental Health Services Administration_ (SAMHSA)\nis the agency within the U.S. Department of HHS that leads public health efforts to advance the behavioral health of the nation.\nSetting this flag to _true_, modifies the request to filter out all SAMSHA-related claims from the response.\n\nExamples:\n   - `excludeSAMHSA=true`"}, {"name": "includeTaxNumbers", "type": "string", "documentation": "Setting this flag to _true_, provides tax number in the EOB transformed data for the response.\n\nExample:\n   - `includeTaxNumbers=true`"}, {"name": "service-date", "type": "date", "documentation": "Only satisfy the Search request if a claim's _billable period_\nfalls within a specified _DateRange_. A _DateRange_ can be\ndefined by providing less than `lt` and/or greater than `gt` values.\nThis parameter can be included in a request one or more times.\n\nExamples:\n  - `service-date=gt2023-01-02&service-date=lt2023-05-01` defines a range between two provided dates\n  - `service-date=gt2023-01-02` defines a range between the provided date and today\n  - `service-date=lt2023-05-01` defines a range from the earliest available records until the provided date"}, {"name": "startIndex", "type": "string", "documentation": "When fetching a _Bundle Response_ using pagination, this URL parameter represents an offset\n(starting point) into the list of elements for the _Request_.\nIt is optional and defaults to 1 if not supplied.\nA value 0 is not allowed and negative indices are not currently supported.\n\nExample:\n   - `startIndex=100`"}, {"name": "type", "type": "token", "documentation": "One or more comma-delimited claim types that filters the response to contain only EoBs that include the specified claim types.\nThis is optional and defaults to `*` denoting all types.\nSupported values for claim type:\n   - `*` all types (default)\n   - `carrier`\n   - `dme`\n   - `hha`\n   - `hospice`\n   - `inpatient`\n   - `outpatient`\n   - `partd`\n   - `snf`\n\nExamples:\n   - `type=carrier,inpatient,snf,dme`\n   - `type=outpatient`\n   - `type=*`"}]}, {"type": "Patient", "profile": "http://hl7.org/fhir/StructureDefinition/Patient", "interaction": [{"code": "read"}, {"code": "search-type"}], "searchInclude": ["*"], "searchRevInclude": ["Claim:mbi", "ClaimResponse:mbi", "Coverage:beneficiary", "ExplanationOfBenefit:patient"], "searchParam": [{"name": "_id", "type": "token", "documentation": "**NOTE: TO MAKE A REQUEST TO THIS ENDPOINT IT IS REQUIRED TO CHOOSE ONE OUT OF THE FOLLOWING THREE PARAMETERS AT A GIVEN TIME (_id, identifier, _has:Coverage.extension)**\n\nFetch _Patient_ data using a FHIR _IdType_ identifier; an IdType\nrepresents the logical identity for a resource, or as much of that\nidentity that is known. In FHIR, every resource must have a _logical ID_ which is\ndefined by the [FHIR specification](https://www.hl7.org/fhir/r4/datatypes.html#id) as:\n\n`Any combination of upper or lower case ASCII letters ('A'..'Z', and 'a'..'z', numerals ('0'..'9'),\n'-' and '.', with a length limit of 64 characters. (This might be an integer, an un-prefixed OID, UUID\nor any other identifier pattern that meets these constraints.)`\n\nThis class contains that logical ID, and can optionally also contain a relative or absolute URL\nrepresenting the resource identity; the following are all valid values for IdType, and all might\nrepresent the same resource:\n  - `_id=567834`\n  - `_id=1234`"}, {"name": "_count", "type": "string", "documentation": "Provides the number of records to be used for pagination.\n\nExamples:\n  - `_count=10`: return 10 values.\n"}, {"name": "_lastUpdated", "type": "date", "documentation": "Only satisfy the Search if the Beneficiary's `last_updated` Date falls within a specified _DateRange_.\nA _DateRange_ can be defined by providing less than `lt` and/or greater than `gt` values.\nThis parameter can be included in a request one or more times.\n\nInexact timestamps are accepted, but not recommended, since the input will implicitly be converted to use the server's timezone.\n\nExamples:\n  - `_lastUpdated=gt2023-01-02T00:00+00:00&_lastUpdated=lt2023-05-01T00:00+00:00` defines a range between two provided dates\n  - `_lastUpdated=gt2023-01-02T00:00+00:00` defines a range between the provided date and today\n  - `_lastUpdated=lt2023-05-01T00:00+00:00` defines a range from the earliest available records until the provided date"}, {"name": "startIndex", "type": "string", "documentation": "When fetching a _Bundle Response_ using pagination, this URL parameter represents an offset\n(starting point) into the list of elements for the _Request_.\nIt is optional and defaults to 1 if not supplied.\nA value 0 is not allowed and negative indices are not currently supported.\n\nExample:\n   - `startIndex=100`"}, {"name": "identifier", "type": "token", "documentation": "**NOTE: TO MAKE A REQUEST TO THIS ENDPOINT IT IS REQUIRED TO CHOOSE ONE OUT OF THE FOLLOWING THREE PARAMETERS AT A GIVEN TIME (_id, identifier, _has:Coverage.extension)**\n\nFetch _Patient_ data using a FHIR _identifier_; an identifier contains a set of values that\ninclude the logical identity for a resource. In FHIR, the _identifier_ is a parent element\ndefined by the [FHIR specification](https://www.hl7.org/fhir/r4/datatypes-definitions.html#Identifier) as:\n\n`A string, typically numeric or alphanumeric, that is associated with a single object or entity within a given system.\nTypically, identifiers are used to connect content in resources to external content available in other frameworks or protocols.\nIdentifiers are associated with objects and may be changed or retired due to human or system process and errors.`\n\nThis class contains the identifier, which is usually represented as a URL, along with a single, url encoded, pipe-delimited key|value pair, with the value as\n(mbi, hicn, etc); the following are all valid values for Identifier, and all might represent the same resource:\n  - `identifier=https://bluebutton.cms.gov/resources/identifier/hicn-hash|<your hicn hash>`\n  - `identifier=https://bluebutton.cms.gov/resources/identifier/mbi-hash|<your mbi hash>`"}, {"name": "_has:Coverage.extension", "type": "token", "documentation": "**NOTE: TO MAKE A REQUEST TO THIS ENDPOINT IT IS REQUIRED TO CHOOSE ONE OUT OF THE FOLLOWING THREE PARAMETERS AT A GIVEN TIME (_id, identifier, _has:Coverage.extension)**\n\nWhen searching for a Patient's Part D events information, this resource identifies\nthe Part D contract value that will be used when determining eligibility.\n\nExample:\n   - `_has:Coverage.extension=<Part D Contract ID Here>`\n   - `_has:Coverage.extension=ABCD`"}, {"name": "_has:Coverage.rfrncyr", "type": "token", "documentation": "When searching for a Patient's Part D events information, this resource identifies\nthe reference year that will be applied when determining applicable Part D events.\n\nExample:\n   - `_has:Coverage.rfrncyr=2023`"}, {"name": "cursor", "type": "string", "documentation": "Provides a pagination cursor or numeric _offset_ for processing Patient's Part D events information.\n\nExamples:\n   - `cursor=200` the first record is the 201st record\n   - `cursor=1000` the first record is the 1001st record"}]}], "security": {"cors": true, "service": [{"text": "OAuth", "coding": [{"system": "http://hl7.org/fhir/restful-security-service", "code": "OAuth", "display": "OAuth"}]}, {"text": "OAuth2 using SMART-on-FHIR profile (see http://docs.smarthealthit.org)", "coding": [{"system": "http://hl7.org/fhir/restful-security-service", "code": "SMART-on-FHIR", "display": "SMART-on-FHIR"}]}], "extension": [{"url": "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris", "extension": [{"url": "token", "valueUri": "https://sandbox.bluebutton.cms.gov/v2/o/token"}, {"url": "authorize", "valueUri": "https://sandbox.bluebutton.cms.gov/v2/o/authorize"}, {"url": "revoke", "valueUri": "https://sandbox.bluebutton.cms.gov/v2/o/revoke_token"}]}]}}]}