Greenway
Access
Section titled “Access”- Register on Greenway’s developer platform; apps can be listed in their app gallery.
- SMART Backend Services with a JWT and a fixed token endpoint. Each tenant has its own base URL, from Greenway’s public list. There is no sandbox.
- Each practice must enable your app after registration.
Known behaviour
Section titled “Known behaviour”Counts work, reads return nothing
Section titled “Counts work, reads return nothing”On a tenant that has not enabled the app, count queries succeed but record reads return HTTP 200 with an empty searchset. Build a probe that tells “refusing reads” apart from “genuinely empty” before concluding a practice has no data.
One tenant, many practices
Section titled “One tenant, many practices”A tenant can serve many practices, so scope your cohort to the practice’s own providers:
Encounter?practitioner.identifier=<NPI>&date=ge<start>&date=lt<end>for each NPI on the practice roster. Treat the date filter as coarse and checkperiod.startyourself.Practitioner?identifier=<NPI>for provider details.- A per-patient cascade for clinical data, following
link.next.
Bulk export
Section titled “Bulk export”Only Group/[id]/$export is documented, and when _since is omitted, only the last 24 hours are
exported — not the full history you might expect.