Search & pagination
Type-level search is a GET against the resource type with query parameters:
curl "{fhir_base_url}/Condition?patient=Patient/synthetic-patient-1&clinical-status=active" \
-H "Authorization: Bearer $SMART_ACCESS_TOKEN" \
-H "Accept: application/fhir+json"
Search requires an s in your granted scope for that resource
(patient/Condition.rs), and only searchable resources advertise a search
route at all — check the API reference per resource.
Results are searchset Bundles
{
"resourceType": "Bundle",
"type": "searchset",
"link": [
{ "relation": "self", "url": "…" },
{ "relation": "next", "url": "…&_page_token=eyJvZmZzZXQiOjEwfQ" }
],
"entry": [
{ "fullUrl": "…", "resource": { "resourceType": "Condition", … }, "search": { "mode": "match" } }
]
}
An empty entry array with a 200 status is a valid result: nothing matched
(or your scope's context contains no matching data).
Universal parameters
Every searchable resource supports:
| Parameter | Purpose |
|---|---|
_id |
Match a specific logical id |
_lastUpdated |
Filter by modification time (ge, lt, … prefixes) |
_count |
Page-size hint |
_page_token |
Opaque pagination cursor |
Resource-specific parameters (like Patient?family= or
Condition?clinical-status=) are listed per resource in the reference and
advertised in the CapabilityStatement.
Pagination is cursor-based
Follow the Bundle's next link until it disappears:
_page_tokenis opaque — never parse, construct, or store one long-term; tokens belong to the query that issued them.- There is no
totalcount guarantee and no way to jump to page N; iterate. _countis a hint; the server may return fewer entries per page.
Date parameters
Date-typed parameters accept FHIR prefixes: ge (on or after), le, gt,
lt, eq. Ranges combine two parameters:
/Appointment?patient=Patient/{id}&date=ge2026-08-01&date=lt2026-09-01
Deliberately not supported
_sort, _include, _revinclude, chained parameters, bulk export, and
FHIR Subscriptions are not part of the current registry. Don't send them —
requests that were already invalid may be rejected more strictly over time.
Fetch referenced resources (like an Appointment's Practitioner) with
follow-up reads under their own scopes.