How the filter works
datematches appointments whosestart_atfalls on that calendar day in UTC. An appointment at 6 PM Pacific on 14 April is 01:00 UTC on 15 April, so it appears underdate=2026-04-15.- Results are paginated (
page,limitup to 100), neweststart_atfirst. - Appointments are those in HealOS: created through the API or the dashboard. Appointments that exist only in your EHR are not listed.
Steps
1
Ask for one day
200 with data (the appointments) and meta
(page, limit, total_pages).2
Read every page
While
meta.page is less than meta.total_pages, ask again with
page=2, page=3 and so on.3
Repeat for each day in the range
Move the
date forward one day at a time until the end of the range. To
cover a whole local day, also fetch the UTC day after it and keep only the
appointments whose start_at falls inside your local day.Script
Node.js 18 or later:HEALOS_API_KEY=hlsk_... node appointments.mjs 2026-04-13 2026-04-19.
appointments.mjs
Expected outcomes
Each appointment carries
id, patient_id, patient_name, provider_id,
provider_name, appointment_type, visit_type, start_at,
duration_minutes, status (SCHEDULED, COMPLETED, CANCELLED or
NO_SHOW), notes, repeat_rule and your external_id. See
List appointments for the
full schema.
