Search Pagination
If a FHIR® API search returns more than 10 FHIR resources, you must apply pagination to the request you send to the 1up FHIR Server to get to all remaining results.
Count Parameter
By default the number if resources per page is set to 10, however this is configurable using the _count
parameter. You can set the value to any integer between 1 and 100.
For example, {baseUrl}/r4/ExplanationOfBenefit?_count=50
returns the first 50 FHIR resources in the response.
This response indicates there are 258 total resources that match the search parameters. By default the response contains the first 10 of these FHIR resources (or the number that the _count
parameter is set to), with links at the bottom to continue paging through the results.
To get the next page of FHIR resources from this response, you use the URL in the next
segment. Use the same authorization method (either OAuth 2.0 access bearer token or client credentials headers), and send a GET request to that link with the provided parameters. To go to the previous results page, use the URL in the prior
segment.
The FHIR Server uses the _after
parameter to locate the response.
If you don’t want to generate a link for the last page of results, specify the _offset
parameter.
Skip Parameter
To navigate to a specific location in the search results, you can specify the _skip
parameter in your query.
For example, baseUrl}/r4/ExplanationOfBenefit?_skip=50
skips the first 50 results, and starts returning the 51st FHIR resource (paginating as described above from there).
The maximum supported _skip
value is 9990. If you specify a value higher than 9990, you receive the following error.
{
"resourceType": "OperationOutcome",
"id": "8f2zehl4iwh",
"issue": [
{
"severity": "error",
"code": "invalid",
"details": {
"text": "illegal_argument_exception reason: Result window is too large, from + size must be less than or equal to: [10000] but was [10001]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting."
}
}
]
}