{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 1000 requests per 60 seconds.",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}
Patients
Read complete appointment and bill histories for up to 25 charts
Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart’s resource changed since, the resource comes back snapshot_changed and is restarted without a cursor. readiness says whether the platform has evidence the mirror holds the EHR’s rows — read it before treating an empty history as ‘no visits’. Unknown fields are rejected.
POST
/
patients
/
history
Read complete appointment and bill histories for up to 25 charts
Charts to read, 1–25. Each is answered independently: a chart outside your organization comes back found: false, never as an error that fails the batch.
nextCursor values from a previous response. Each names its own patient and resource; a (patient, resource) without a cursor starts from its first row. Every cursor must name a patient in patientIds and a requested resource.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Max AI Developer Docs","colors":{"primary":"#7C3AED","light":"#A78BFA","dark":"#6D28D9"},"logo":{"light":"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79","dark":"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79"},"favicon":"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79","api":{},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"maxaiinc-02a56fd1","hasAudioNarration":false,"actualSubdomain":"maxaiinc-02a56fd1","customDomains":["docs.maxcare.ai"],"gitSource":{"type":"github","owner":"maxcare-ai","repo":"monorepo","deployBranch":"staging","contentDirectory":"workloads/api-docs-mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aedf59db961f3bf48d52094","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":914},{"language":"default","tag":"Patients","count":74},{"language":"default","tag":"Schedule","count":40},{"language":"default","tag":"EHR live reads","count":30},{"language":"default","tag":"Appointments","count":28},{"language":"default","tag":"Inventory","count":28},{"language":"default","tag":"Notes","count":28},{"language":"default","tag":"Tasks","count":28},{"language":"default","tag":"Guides","count":24},{"language":"default","tag":"Payers","count":20}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts","slug":"/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts","pageMetadata":{"title":"Read complete appointment and bill histories for up to 25 charts","description":"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart's resource changed since, the resource comes back `snapshot_changed` and is restarted without a cursor. `readiness` says whether the platform has evidence the mirror holds the EHR's rows — read it before treating an empty history as 'no visits'. Unknown fields are rejected.","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/history","href":"/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart’s resource changed since, the resource comes back \", _jsx(_components.code, {\n children: \"snapshot_changed\"\n }), \" and is restarted without a cursor. \", _jsx(_components.code, {\n children: \"readiness\"\n }), \" says whether the platform has evidence the mirror holds the EHR’s rows — read it before treating an empty history as ‘no visits’. Unknown fields are rejected.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Read complete appointment and bill histories for up to 25 charts","description":"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart's resource changed since, the resource comes back `snapshot_changed` and is restarted without a cursor. `readiness` says whether the platform has evidence the mirror holds the EHR's rows — read it before treating an empty history as 'no visits'. Unknown fields are rejected.","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/history","href":"/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart's resource changed since, the resource comes back `snapshot_changed` and is restarted without a cursor. `readiness` says whether the platform has evidence the mirror holds the EHR's rows — read it before treating an empty history as 'no visits'. Unknown fields are rejected.","operationId":"PatientHistoryPublicController_readHistory","parameters":["36631fa8-25a5-40c9-8bc8-9b23027260ba"],"requestBody":"e37eca18-84ff-43fe-8a8e-21d5a76c61de","responses":{"200":"f2571dcc-5839-452f-897b-a84688c5deb8","400":"fa5c006b-dd19-452b-ace6-0b2872213e6d","401":"9384e15e-caa4-4b10-9084-22f4dbbd126f","403":"390b8985-155d-4379-95f1-b6be21d32a94","429":"698fef15-4148-4797-bf03-7c3cebf33630"},"security":["7f177d10-eae8-498c-91ad-ad0ce6901fdf"],"summary":"Read complete appointment and bill histories for up to 25 charts","tags":["Patients"],"method":"post","type":"path","servers":["3ade7f71-cf29-4e78-8749-fe19095a8e50"],"path":"/patients/history","baseUrlOptions":["https://api.maxcare.ai/v4"],"title":"Read complete appointment and bill histories for up to 25 charts","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"36631fa8-25a5-40c9-8bc8-9b23027260ba":{"name":"X-Organization-Id","in":"header","required":true,"schema":{"type":"string","isRequired":true,"description":"Target clinic organization ID","uniqueKey":"","typeLabel":"string"},"description":"Target clinic organization ID"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"patientIds":{"description":"Charts to read, 1–25. Each is answered independently: a chart outside your organization comes back `found: false`, never as an error that fails the batch.","example":["pat_c56103bcd39c46d39f3138dd2b5e05f6"],"type":"array","items":{"type":"string","uniqueKey":"patientIds.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"patientIds","typeLabel":"string[]"},"resources":{"type":"array","description":"Resources to read. Defaults to both. `appointments` needs `read:appointments`, `bills` needs `read:bills`.","example":["appointments","bills"],"items":{"type":"string","enum":["appointments","bills"],"uniqueKey":"resources.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"resources","typeLabel":"enum\u003cstring>[]"},"limit":{"type":"number","description":"Rows per patient per resource, 1–200 (default 100). Lowered to fit 2500 rows per response; the applied value is echoed as `limitPerResource`.","example":100,"uniqueKey":"limit","typeLabel":"number"},"coverage":{"type":"object","description":"Window appointment `readiness` is judged over. Defaults to the last two years through today (UTC). Up to ten years.","required":["from","to"],"properties":{"from":{"type":"string","description":"First facility-local day to judge appointment coverage for, `YYYY-MM-DD`.","example":"2024-10-01","isRequired":true,"uniqueKey":"coverage.from","typeLabel":"string"},"to":{"type":"string","description":"Last day, `YYYY-MM-DD`, inclusive.","example":"2026-10-06","isRequired":true,"uniqueKey":"coverage.to","typeLabel":"string"}},"uniqueKey":"coverage","typeLabel":"object"},"cursors":{"description":"`nextCursor` values from a previous response. Each names its own patient and resource; a (patient, resource) without a cursor starts from its first row. Every cursor must name a patient in `patientIds` and a requested resource.","type":"array","items":{"type":"string","uniqueKey":"cursors.items.[INDEX]","typeLabel":"string"},"uniqueKey":"cursors","typeLabel":"string[]"}},"required":["patientIds"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"patientIds":["pat_c56103bcd39c46d39f3138dd2b5e05f6"],"resources":["appointments","bills"],"limit":100,"cursors":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"f2571dcc-5839-452f-897b-a84688c5deb8":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Response code","example":"success","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"data":{"type":"object","properties":{"snapshotAt":{"type":"string","description":"Database time of the snapshot every page in this response was read from.","isRequired":true,"uniqueKey":"data.snapshotAt","typeLabel":"string"},"limitPerResource":{"type":"number","description":"Rows per patient per resource applied to this response.","isRequired":true,"uniqueKey":"data.limitPerResource","typeLabel":"number"},"patients":{"type":"array","items":{"type":"object","properties":{"patientId":{"type":"string","description":"The id as requested.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].patientId","typeLabel":"string"},"found":{"type":"boolean","description":"False for an id that is not a chart in your organization, whether or not it exists elsewhere.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].found","typeLabel":"boolean"},"chart":{"type":"object","properties":{"id":{"type":"string","example":"pat_c56103bcd39c46d39f3138dd2b5e05f6","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.id","typeLabel":"string"},"instanceId":{"type":"string","description":"EHR instance the chart belongs to.","example":"ins_0b6f2a1c9d8e4f7a8b6c5d4e3f2a1b0c","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.instanceId","typeLabel":"string"},"ehrType":{"type":"string","description":"EHR of the instance, lowercase (`modmed`, `ezderm`).","example":"modmed","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.ehrType","typeLabel":"string"},"ehrPatientId":{"oneOf":[{"type":"string","description":"The EHR's own patient id for this chart.","example":"112233","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.ehrPatientId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The EHR's own patient id for this chart.","example":"112233","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.ehrPatientId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.ehrPatientId","typeLabel":"string | null"},"mrn":{"oneOf":[{"type":"string","description":"This chart's MRN in its own EHR. Linked charts keep their own MRNs.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.mrn.oneOf.0","typeLabel":"string"},{"type":"null","description":"This chart's MRN in its own EHR. Linked charts keep their own MRNs.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.mrn.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.mrn","typeLabel":"string | null"},"updatedAt":{"type":"string","description":"The chart's change version: advances on demographic, contact, address and MRN changes on the chart row and when its identity group gains or loses a member.","example":"2026-10-01T14:03:11.412Z","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.updatedAt","typeLabel":"string"},"masterPatientId":{"oneOf":[{"type":"string","example":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.masterPatientId.oneOf.0","typeLabel":"string"},{"type":"null","example":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.masterPatientId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.masterPatientId","typeLabel":"string | null"},"duplicatePatientIds":{"description":"Other charts in this organization linked to the same identity. Never populated from shared phone or email alone.","type":"array","items":{"type":"string","uniqueKey":"data.patients.items.[INDEX].chart.duplicatePatientIds.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.duplicatePatientIds","typeLabel":"string[]"},"identityLinks":{"description":"Evidence behind each linked chart. `legacy_unverified` links are not proof of the same person.","type":"array","items":{"type":"object","properties":{"patientId":{"type":"string","example":"pat_c56103bcd39c46d39f3138dd2b5e05f6","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityLinks.items.[INDEX].patientId","typeLabel":"string"},"basis":{"type":"string","enum":["name_dob","manual","legacy_name_dob_match","legacy_unverified"],"description":"`name_dob`: linked automatically on first name, last name and date of birth (never on phone or email alone). `manual`: linked by a person. `legacy_name_dob_match`: linked before the basis was recorded and the charts' names and dates of birth agree. `legacy_unverified`: linked before the basis was recorded with nothing on the charts corroborating it — it may rest on a shared household phone or email; do not treat it as the same person.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityLinks.items.[INDEX].basis","typeLabel":"enum\u003cstring>"}},"required":["patientId","basis"],"uniqueKey":"data.patients.items.[INDEX].chart.identityLinks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityLinks","typeLabel":"object[]"},"identityReview":{"type":"object","description":"Whether this chart is linked, waiting for identity review, or unmatched.","required":["status","candidates"],"properties":{"status":{"type":"string","enum":["linked","pending_review","unmatched"],"description":"`linked`: the record has an identity (`masterPatientId`). `pending_review`: identity matching found identities it would not link automatically (some identifiers agreed, others did not) and is waiting for a person; the record stays unlinked until then. `unmatched`: no identity and no review waiting.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityReview.status","typeLabel":"enum\u003cstring>"},"candidates":{"description":"With `pending_review`: the identities in this organization the record might belong to. A candidate is not a link — do not merge on it. Empty for any other status.","type":"array","items":{"type":"object","properties":{"masterPatientId":{"type":"string","example":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityReview.candidates.items.[INDEX].masterPatientId","typeLabel":"string"},"matchedOn":{"type":"array","description":"Which identifiers agreed with this identity. A candidate matched on `phone` or `email` alone may be a relative sharing household contact details.","items":{"type":"string","enum":["name_dob","phone","email"],"uniqueKey":"data.patients.items.[INDEX].chart.identityReview.candidates.items.[INDEX].matchedOn.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityReview.candidates.items.[INDEX].matchedOn","typeLabel":"enum\u003cstring>[]"}},"required":["masterPatientId","matchedOn"],"uniqueKey":"data.patients.items.[INDEX].chart.identityReview.candidates.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityReview.candidates","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityReview","typeLabel":"object"},"identityMembershipVersion":{"oneOf":[{"type":"string","description":"Opaque version of the set of charts in this organization sharing this chart's identity; changes when one joins or leaves. Null when unlinked. Compare with `contactSources[*].membershipVersion` from `GET /v4/patients`.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityMembershipVersion.oneOf.0","typeLabel":"string"},{"type":"null","description":"Opaque version of the set of charts in this organization sharing this chart's identity; changes when one joins or leaves. Null when unlinked. Compare with `contactSources[*].membershipVersion` from `GET /v4/patients`.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityMembershipVersion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].chart.identityMembershipVersion","typeLabel":"string | null"}},"required":["id","instanceId","ehrType","ehrPatientId","mrn","updatedAt","masterPatientId","duplicatePatientIds","identityLinks","identityReview","identityMembershipVersion"],"uniqueKey":"data.patients.items.[INDEX].chart","typeLabel":"object"},"appointments":{"type":"object","properties":{"status":{"type":"string","enum":["ok","snapshot_changed"],"description":"`snapshot_changed`: a cursor was sent and this patient's rows for the resource changed since it was issued. No items are returned; restart the resource without a cursor.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.status","typeLabel":"enum\u003cstring>"},"version":{"oneOf":[{"type":"string","description":"Content hash of every row in this (patient, resource) set at the snapshot. Equal versions mean identical sets; a cursor only continues while it holds.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Content hash of every row in this (patient, resource) set at the snapshot. Equal versions mean identical sets; a cursor only continues while it holds.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.version","typeLabel":"string | null"},"totalCount":{"oneOf":[{"type":"number","description":"Rows in the whole set at the snapshot, not on this page.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.totalCount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Rows in the whole set at the snapshot, not on this page.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.totalCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.totalCount","typeLabel":"number | null"},"hasMore":{"type":"boolean","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.hasMore","typeLabel":"boolean"},"nextCursor":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.nextCursor.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.nextCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.nextCursor","typeLabel":"string | null"},"readiness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","stale","partial","failed","not_imported","in_progress","unverified"],"description":"Appointments, for the requested window: `complete` when every scope of the chart's EHR instance has a verified sweep for every day; `stale` when complete but the last week's days were last verified more than an hour ago; `partial` when some days are unverified; `failed` when an unverified day's latest sweep failed; `not_imported` when no day is verified. Bills: `in_progress` while any of this chart's bills is discovered but not yet read in full, otherwise `unverified` — bill discovery keeps no completeness evidence, so the platform does not call a bill history complete.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.status","typeLabel":"enum\u003cstring>"},"requestedFrom":{"type":"string","description":"Appointments: first day of the window judged.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.requestedFrom","typeLabel":"string"},"requestedTo":{"type":"string","description":"Appointments: last day of the window judged.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.requestedTo","typeLabel":"string"},"asOf":{"oneOf":[{"type":"string","description":"Appointments, when complete: oldest verification across scopes and days — the EHR state the window reflects.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.asOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Appointments, when complete: oldest verification across scopes and days — the EHR state the window reflects.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.asOf.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.asOf","typeLabel":"string | null"},"liveAsOf":{"oneOf":[{"type":"string","description":"Appointments: oldest verification of the last week's days.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.liveAsOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Appointments: oldest verification of the last week's days.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.liveAsOf.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.liveAsOf","typeLabel":"string | null"},"excludes":{"description":"Appointment kinds the sync never imports for this EHR, e.g. `virtual_encounters` on EZDerm.","type":"array","items":{"type":"string","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.excludes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.excludes","typeLabel":"string[]"},"scopes":{"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","description":"`fac_…` for a per-facility sweep (ModMed), `practice` for a practice-wide one (EZDerm).","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].scope","typeLabel":"string"},"status":{"type":"string","enum":["complete","partial","not_imported","failed"],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"verifiedDays":{"type":"number","description":"Days in the requested window with a verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].verifiedDays","typeLabel":"number"},"totalDays":{"type":"number","description":"Days in the requested window.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].totalDays","typeLabel":"number"},"firstUnverifiedDay":{"oneOf":[{"type":"string","description":"Earliest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].firstUnverifiedDay.oneOf.0","typeLabel":"string"},{"type":"null","description":"Earliest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].firstUnverifiedDay.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].firstUnverifiedDay","typeLabel":"string | null"},"lastUnverifiedDay":{"oneOf":[{"type":"string","description":"Latest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastUnverifiedDay.oneOf.0","typeLabel":"string"},{"type":"null","description":"Latest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastUnverifiedDay.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastUnverifiedDay","typeLabel":"string | null"},"asOf":{"oneOf":[{"type":"string","description":"Oldest verification among the window's days: the EHR state the whole window reflects.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].asOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Oldest verification among the window's days: the EHR state the whole window reflects.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].asOf","typeLabel":"string | null"},"liveAsOf":{"oneOf":[{"type":"string","description":"Oldest verification among the window's days in the last week, which the rolling sync re-reads.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].liveAsOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Oldest verification among the window's days in the last week, which the rolling sync re-reads.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].liveAsOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].liveAsOf","typeLabel":"string | null"},"lastFailureAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastFailureAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastFailureAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastFailureAt","typeLabel":"string | null"},"lastFailureReason":{"oneOf":[{"type":"string","example":"page-unread","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastFailureReason.oneOf.0","typeLabel":"string"},{"type":"null","example":"page-unread","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastFailureReason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX].lastFailureReason","typeLabel":"string | null"}},"required":["scope","status","verifiedDays","totalDays","firstUnverifiedDay","lastUnverifiedDay","asOf","liveAsOf","lastFailureAt","lastFailureReason"],"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.scopes","typeLabel":"object[]"},"pendingHydration":{"type":"number","description":"Bills: this chart's bills discovered but not yet read in full.","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.pendingHydration","typeLabel":"number"},"basis":{"type":"string","enum":["window","patient"],"description":"Appointments: what `status` rests on — `window` (every facility-day of the window was swept) or `patient` (a refresh read this chart's whole history in one patient-scoped call, see POST /v4/patients/history/refresh).","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.basis","typeLabel":"enum\u003cstring>"},"patientRefresh":{"oneOf":[{"type":"object","required":["status","verifiedAt","requestedAt","lastFailureAt","lastFailureReason"],"properties":{"status":{"type":"string","enum":["complete","stale","in_progress","failed","not_requested"],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.status","typeLabel":"enum\u003cstring>"},"verifiedAt":{"oneOf":[{"type":"string","description":"Start of the last read that returned the whole history.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.verifiedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Start of the last read that returned the whole history.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.verifiedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.verifiedAt","typeLabel":"string | null"},"requestedAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.requestedAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.requestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.requestedAt","typeLabel":"string | null"},"lastFailureAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.lastFailureAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.lastFailureAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.lastFailureAt","typeLabel":"string | null"},"lastFailureReason":{"oneOf":[{"type":"string","example":"possible-truncation","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.lastFailureReason.oneOf.0","typeLabel":"string"},{"type":"null","example":"possible-truncation","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.lastFailureReason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0.lastFailureReason","typeLabel":"string | null"}},"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.patients.items.[INDEX].appointments.readiness.patientRefresh","typeLabel":"object | null"}},"required":["status"],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.readiness","typeLabel":"object"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"apt_9f8e7d6c5b4a39281706f5e4d3c2b1a0","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].id","typeLabel":"string"},"ehrAppointmentId":{"type":"string","description":"The EHR's own appointment id.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].ehrAppointmentId","typeLabel":"string"},"status":{"type":"string","example":"scheduled","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].status","typeLabel":"string"},"integrationStatus":{"oneOf":[{"type":"string","example":"CHECKED_IN","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].integrationStatus.oneOf.0","typeLabel":"string"},{"type":"null","example":"CHECKED_IN","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].integrationStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].integrationStatus","typeLabel":"string | null"},"scheduledStartDate":{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].scheduledStartDate","typeLabel":"string"},"scheduledEndDate":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].scheduledEndDate.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].scheduledEndDate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].scheduledEndDate","typeLabel":"string | null"},"facilityId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].facilityId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].facilityId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].facilityId","typeLabel":"string | null"},"ehrFacilityId":{"oneOf":[{"type":"string","description":"The EHR's own facility id, kept even when the facility is not (or no longer) mirrored.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].ehrFacilityId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The EHR's own facility id, kept even when the facility is not (or no longer) mirrored.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].ehrFacilityId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].ehrFacilityId","typeLabel":"string | null"},"providerId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].providerId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].providerId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].providerId","typeLabel":"string | null"},"appointmentTypeName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].appointmentTypeName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].appointmentTypeName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].appointmentTypeName","typeLabel":"string | null"},"isNewPatient":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].isNewPatient.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].isNewPatient.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].isNewPatient","typeLabel":"boolean | null"},"isCosmetic":{"oneOf":[{"type":"boolean","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].isCosmetic.oneOf.0","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].isCosmetic.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].isCosmetic","typeLabel":"boolean | null"},"createdAt":{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].createdAt","typeLabel":"string"},"lastSyncedAt":{"type":"string","description":"Last time a sync changed this row.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].lastSyncedAt","typeLabel":"string"},"removedFromEhrAt":{"oneOf":[{"type":"string","description":"Set when a sweep that read this appointment's whole week did not return it: deleted in the EHR, or moved to a week not yet re-read. Cleared if a later sweep returns it. Such an appointment should not count as a visit or a booking.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].removedFromEhrAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set when a sweep that read this appointment's whole week did not return it: deleted in the EHR, or moved to a week not yet re-read. Cleared if a later sweep returns it. Such an appointment should not count as a visit or a booking.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].removedFromEhrAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX].removedFromEhrAt","typeLabel":"string | null"}},"required":["id","ehrAppointmentId","status","integrationStatus","scheduledStartDate","scheduledEndDate","facilityId","ehrFacilityId","providerId","appointmentTypeName","isNewPatient","isCosmetic","createdAt","lastSyncedAt","removedFromEhrAt"],"uniqueKey":"data.patients.items.[INDEX].appointments.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].appointments.\\items","typeLabel":"object[]"}},"required":["status","version","totalCount","hasMore","nextCursor","readiness","items"],"uniqueKey":"data.patients.items.[INDEX].appointments","typeLabel":"object"},"bills":{"type":"object","properties":{"status":{"type":"string","enum":["ok","snapshot_changed"],"description":"`snapshot_changed`: a cursor was sent and this patient's rows for the resource changed since it was issued. No items are returned; restart the resource without a cursor.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.status","typeLabel":"enum\u003cstring>"},"version":{"oneOf":[{"type":"string","description":"Content hash of every row in this (patient, resource) set at the snapshot. Equal versions mean identical sets; a cursor only continues while it holds.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Content hash of every row in this (patient, resource) set at the snapshot. Equal versions mean identical sets; a cursor only continues while it holds.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.version","typeLabel":"string | null"},"totalCount":{"oneOf":[{"type":"number","description":"Rows in the whole set at the snapshot, not on this page.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.totalCount.oneOf.0","typeLabel":"number"},{"type":"null","description":"Rows in the whole set at the snapshot, not on this page.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.totalCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.totalCount","typeLabel":"number | null"},"hasMore":{"type":"boolean","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.hasMore","typeLabel":"boolean"},"nextCursor":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.nextCursor.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.nextCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.nextCursor","typeLabel":"string | null"},"readiness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","stale","partial","failed","not_imported","in_progress","unverified"],"description":"Appointments, for the requested window: `complete` when every scope of the chart's EHR instance has a verified sweep for every day; `stale` when complete but the last week's days were last verified more than an hour ago; `partial` when some days are unverified; `failed` when an unverified day's latest sweep failed; `not_imported` when no day is verified. Bills: `in_progress` while any of this chart's bills is discovered but not yet read in full, otherwise `unverified` — bill discovery keeps no completeness evidence, so the platform does not call a bill history complete.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.status","typeLabel":"enum\u003cstring>"},"requestedFrom":{"type":"string","description":"Appointments: first day of the window judged.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.requestedFrom","typeLabel":"string"},"requestedTo":{"type":"string","description":"Appointments: last day of the window judged.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.requestedTo","typeLabel":"string"},"asOf":{"oneOf":[{"type":"string","description":"Appointments, when complete: oldest verification across scopes and days — the EHR state the window reflects.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.asOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Appointments, when complete: oldest verification across scopes and days — the EHR state the window reflects.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.asOf.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.patients.items.[INDEX].bills.readiness.asOf","typeLabel":"string | null"},"liveAsOf":{"oneOf":[{"type":"string","description":"Appointments: oldest verification of the last week's days.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.liveAsOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Appointments: oldest verification of the last week's days.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.liveAsOf.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.patients.items.[INDEX].bills.readiness.liveAsOf","typeLabel":"string | null"},"excludes":{"description":"Appointment kinds the sync never imports for this EHR, e.g. `virtual_encounters` on EZDerm.","type":"array","items":{"type":"string","uniqueKey":"data.patients.items.[INDEX].bills.readiness.excludes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.patients.items.[INDEX].bills.readiness.excludes","typeLabel":"string[]"},"scopes":{"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","description":"`fac_…` for a per-facility sweep (ModMed), `practice` for a practice-wide one (EZDerm).","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].scope","typeLabel":"string"},"status":{"type":"string","enum":["complete","partial","not_imported","failed"],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"verifiedDays":{"type":"number","description":"Days in the requested window with a verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].verifiedDays","typeLabel":"number"},"totalDays":{"type":"number","description":"Days in the requested window.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].totalDays","typeLabel":"number"},"firstUnverifiedDay":{"oneOf":[{"type":"string","description":"Earliest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].firstUnverifiedDay.oneOf.0","typeLabel":"string"},{"type":"null","description":"Earliest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].firstUnverifiedDay.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].firstUnverifiedDay","typeLabel":"string | null"},"lastUnverifiedDay":{"oneOf":[{"type":"string","description":"Latest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastUnverifiedDay.oneOf.0","typeLabel":"string"},{"type":"null","description":"Latest day in the window with no verified sweep.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastUnverifiedDay.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastUnverifiedDay","typeLabel":"string | null"},"asOf":{"oneOf":[{"type":"string","description":"Oldest verification among the window's days: the EHR state the whole window reflects.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].asOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Oldest verification among the window's days: the EHR state the whole window reflects.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].asOf","typeLabel":"string | null"},"liveAsOf":{"oneOf":[{"type":"string","description":"Oldest verification among the window's days in the last week, which the rolling sync re-reads.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].liveAsOf.oneOf.0","typeLabel":"string"},{"type":"null","description":"Oldest verification among the window's days in the last week, which the rolling sync re-reads.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].liveAsOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].liveAsOf","typeLabel":"string | null"},"lastFailureAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastFailureAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastFailureAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastFailureAt","typeLabel":"string | null"},"lastFailureReason":{"oneOf":[{"type":"string","example":"page-unread","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastFailureReason.oneOf.0","typeLabel":"string"},{"type":"null","example":"page-unread","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastFailureReason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX].lastFailureReason","typeLabel":"string | null"}},"required":["scope","status","verifiedDays","totalDays","firstUnverifiedDay","lastUnverifiedDay","asOf","liveAsOf","lastFailureAt","lastFailureReason"],"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.patients.items.[INDEX].bills.readiness.scopes","typeLabel":"object[]"},"pendingHydration":{"type":"number","description":"Bills: this chart's bills discovered but not yet read in full.","uniqueKey":"data.patients.items.[INDEX].bills.readiness.pendingHydration","typeLabel":"number"},"basis":{"type":"string","enum":["window","patient"],"description":"Appointments: what `status` rests on — `window` (every facility-day of the window was swept) or `patient` (a refresh read this chart's whole history in one patient-scoped call, see POST /v4/patients/history/refresh).","uniqueKey":"data.patients.items.[INDEX].bills.readiness.basis","typeLabel":"enum\u003cstring>"},"patientRefresh":{"oneOf":[{"type":"object","required":["status","verifiedAt","requestedAt","lastFailureAt","lastFailureReason"],"properties":{"status":{"type":"string","enum":["complete","stale","in_progress","failed","not_requested"],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.status","typeLabel":"enum\u003cstring>"},"verifiedAt":{"oneOf":[{"type":"string","description":"Start of the last read that returned the whole history.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.verifiedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Start of the last read that returned the whole history.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.verifiedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.verifiedAt","typeLabel":"string | null"},"requestedAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.requestedAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.requestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.requestedAt","typeLabel":"string | null"},"lastFailureAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.lastFailureAt.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.lastFailureAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.lastFailureAt","typeLabel":"string | null"},"lastFailureReason":{"oneOf":[{"type":"string","example":"possible-truncation","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.lastFailureReason.oneOf.0","typeLabel":"string"},{"type":"null","example":"possible-truncation","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.lastFailureReason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0.lastFailureReason","typeLabel":"string | null"}},"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.patients.items.[INDEX].bills.readiness.patientRefresh","typeLabel":"object | null"}},"required":["status"],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.readiness","typeLabel":"object"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"bil_0a1b2c3d4e5f46a7b8c9d0e1f2a3b4c5","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].id","typeLabel":"string"},"ehrBillId":{"type":"string","description":"The EHR's own bill / encounter id.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].ehrBillId","typeLabel":"string"},"dateOfService":{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].dateOfService","typeLabel":"string"},"status":{"type":"string","description":"Workflow status. `new` means discovered but not yet read in full.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].status","typeLabel":"string"},"isBillable":{"oneOf":[{"type":"boolean","description":"False when the EHR flags the visit non-billable; still a visit.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].isBillable.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"False when the EHR flags the visit non-billable; still a visit.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].isBillable.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].isBillable","typeLabel":"boolean | null"},"isCosmetic":{"type":"boolean","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].isCosmetic","typeLabel":"boolean"},"facilityId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].facilityId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].facilityId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].facilityId","typeLabel":"string | null"},"providerId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].providerId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].providerId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].providerId","typeLabel":"string | null"},"updatedAt":{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].updatedAt","typeLabel":"string"},"lastSyncedAt":{"oneOf":[{"type":"string","description":"Null until the bill has been read in full.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].lastSyncedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Null until the bill has been read in full.","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].lastSyncedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].lastSyncedAt","typeLabel":"string | null"},"codingGroups":{"description":"Non-archived coding groups.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"cgr_1a2b3c4d5e6f47a8b9c0d1e2f3a4b5c6","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].id","typeLabel":"string"},"dataSource":{"type":"string","description":"`ehr` is the live EHR mirror; `ehr0` a frozen first-seen snapshot; `agent`/`user`/`manual` are not EHR coding.","example":"ehr","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].dataSource","typeLabel":"string"},"status":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].status.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].status","typeLabel":"string | null"},"updatedAt":{"type":"string","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].updatedAt","typeLabel":"string"},"diagnoses":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"L57.0","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].diagnoses.items.[INDEX].code","typeLabel":"string"},"position":{"type":"number","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].diagnoses.items.[INDEX].position","typeLabel":"number"}},"required":["code","position"],"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].diagnoses.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].diagnoses","typeLabel":"object[]"},"lineItems":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"17000","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems.items.[INDEX].code","typeLabel":"string"},"units":{"type":"string","example":"1.000","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems.items.[INDEX].units","typeLabel":"string"},"position":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems.items.[INDEX].position.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems.items.[INDEX].position.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems.items.[INDEX].position","typeLabel":"number | null"}},"required":["code","units","position"],"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX].lineItems","typeLabel":"object[]"}},"required":["id","dataSource","status","updatedAt","diagnoses","lineItems"],"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX].codingGroups","typeLabel":"object[]"}},"required":["id","ehrBillId","dateOfService","status","isBillable","isCosmetic","facilityId","providerId","updatedAt","lastSyncedAt","codingGroups"],"uniqueKey":"data.patients.items.[INDEX].bills.\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients.items.[INDEX].bills.\\items","typeLabel":"object[]"}},"required":["status","version","totalCount","hasMore","nextCursor","readiness","items"],"uniqueKey":"data.patients.items.[INDEX].bills","typeLabel":"object"}},"required":["patientId","found"],"uniqueKey":"data.patients.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.patients","typeLabel":"object[]"},"groups":{"description":"One entry per linked identity among the requested charts, so a group's completeness reads in one place.","type":"array","items":{"type":"object","properties":{"masterPatientId":{"type":"string","example":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","isRequired":true,"uniqueKey":"data.groups.items.[INDEX].masterPatientId","typeLabel":"string"},"memberIds":{"description":"Every chart in your organization linked to this identity.","type":"array","items":{"type":"string","uniqueKey":"data.groups.items.[INDEX].memberIds.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"data.groups.items.[INDEX].memberIds","typeLabel":"string[]"},"missingMemberIds":{"description":"Members that were not requested. A group is not complete until all are read.","type":"array","items":{"type":"string","uniqueKey":"data.groups.items.[INDEX].missingMemberIds.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"data.groups.items.[INDEX].missingMemberIds","typeLabel":"string[]"},"appointments":{"type":"object","properties":{"status":{"type":"string","enum":["complete","stale","partial","failed","not_imported","in_progress","unverified","missing_members"],"description":"The least complete member's status, or `missing_members` when the group has charts in your organization that were not in `patientIds`.","isRequired":true,"uniqueKey":"data.groups.items.[INDEX].appointments.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"uniqueKey":"data.groups.items.[INDEX].appointments","typeLabel":"object"},"bills":{"type":"object","properties":{"status":{"type":"string","enum":["complete","stale","partial","failed","not_imported","in_progress","unverified","missing_members"],"description":"The least complete member's status, or `missing_members` when the group has charts in your organization that were not in `patientIds`.","isRequired":true,"uniqueKey":"data.groups.items.[INDEX].bills.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"uniqueKey":"data.groups.items.[INDEX].bills","typeLabel":"object"}},"required":["masterPatientId","memberIds","missingMemberIds"],"uniqueKey":"data.groups.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.groups","typeLabel":"object[]"}},"required":["snapshotAt","limitPerResource","patients","groups"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["code","data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"success","data":{"snapshotAt":"\u003cstring>","limitPerResource":123,"patients":[{"patientId":"\u003cstring>","found":true,"chart":{"id":"pat_c56103bcd39c46d39f3138dd2b5e05f6","instanceId":"ins_0b6f2a1c9d8e4f7a8b6c5d4e3f2a1b0c","ehrType":"modmed","ehrPatientId":"112233","mrn":"\u003cstring>","updatedAt":"2026-10-01T14:03:11.412Z","masterPatientId":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","duplicatePatientIds":["\u003cstring>"],"identityLinks":[{"patientId":"pat_c56103bcd39c46d39f3138dd2b5e05f6","basis":"name_dob"}],"identityReview":{"status":"linked","candidates":[{"masterPatientId":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","matchedOn":["name_dob"]}]},"identityMembershipVersion":"\u003cstring>"},"appointments":{"status":"ok","version":"\u003cstring>","totalCount":123,"hasMore":true,"nextCursor":"\u003cstring>","readiness":{"status":"complete","requestedFrom":"\u003cstring>","requestedTo":"\u003cstring>","asOf":"\u003cstring>","liveAsOf":"\u003cstring>","excludes":["\u003cstring>"],"scopes":[{"scope":"\u003cstring>","status":"complete","verifiedDays":123,"totalDays":123,"firstUnverifiedDay":"\u003cstring>","lastUnverifiedDay":"\u003cstring>","asOf":"\u003cstring>","liveAsOf":"\u003cstring>","lastFailureAt":"\u003cstring>","lastFailureReason":"page-unread"}],"pendingHydration":123,"basis":"window","patientRefresh":{"status":"complete","verifiedAt":"\u003cstring>","requestedAt":"\u003cstring>","lastFailureAt":"\u003cstring>","lastFailureReason":"possible-truncation"}},"items":[{"id":"apt_9f8e7d6c5b4a39281706f5e4d3c2b1a0","ehrAppointmentId":"\u003cstring>","status":"scheduled","integrationStatus":"CHECKED_IN","scheduledStartDate":"\u003cstring>","scheduledEndDate":"\u003cstring>","facilityId":"\u003cstring>","ehrFacilityId":"\u003cstring>","providerId":"\u003cstring>","appointmentTypeName":"\u003cstring>","isNewPatient":true,"isCosmetic":true,"createdAt":"\u003cstring>","lastSyncedAt":"\u003cstring>","removedFromEhrAt":"\u003cstring>"}]},"bills":{"status":"ok","version":"\u003cstring>","totalCount":123,"hasMore":true,"nextCursor":"\u003cstring>","readiness":{"status":"complete","requestedFrom":"\u003cstring>","requestedTo":"\u003cstring>","asOf":"\u003cstring>","liveAsOf":"\u003cstring>","excludes":["\u003cstring>"],"scopes":[{"scope":"\u003cstring>","status":"complete","verifiedDays":123,"totalDays":123,"firstUnverifiedDay":"\u003cstring>","lastUnverifiedDay":"\u003cstring>","asOf":"\u003cstring>","liveAsOf":"\u003cstring>","lastFailureAt":"\u003cstring>","lastFailureReason":"page-unread"}],"pendingHydration":123,"basis":"window","patientRefresh":{"status":"complete","verifiedAt":"\u003cstring>","requestedAt":"\u003cstring>","lastFailureAt":"\u003cstring>","lastFailureReason":"possible-truncation"}},"items":[{"id":"bil_0a1b2c3d4e5f46a7b8c9d0e1f2a3b4c5","ehrBillId":"\u003cstring>","dateOfService":"\u003cstring>","status":"\u003cstring>","isBillable":true,"isCosmetic":true,"facilityId":"\u003cstring>","providerId":"\u003cstring>","updatedAt":"\u003cstring>","lastSyncedAt":"\u003cstring>","codingGroups":[{"id":"cgr_1a2b3c4d5e6f47a8b9c0d1e2f3a4b5c6","dataSource":"ehr","status":"\u003cstring>","updatedAt":"\u003cstring>","diagnoses":[{"code":"L57.0","position":123}],"lineItems":[{"code":"17000","units":"1.000","position":123}]}]}]}}],"groups":[{"masterPatientId":"mpt_4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a","memberIds":["\u003cstring>"],"missingMemberIds":["\u003cstring>"],"appointments":{"status":"complete"},"bills":{"status":"complete"}}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"fa5c006b-dd19-452b-ace6-0b2872213e6d":{"description":"Missing or invalid request parameter","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"bad_request","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"'id' must be a valid UUID","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"bad_request","message":"'id' must be a valid UUID","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"},"9384e15e-caa4-4b10-9084-22f4dbbd126f":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"unauthorized","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Invalid or missing API key","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"unauthorized","message":"Invalid or missing API key","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"},"390b8985-155d-4379-95f1-b6be21d32a94":{"description":"Insufficient scope","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"forbidden","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Insufficient scope","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"forbidden","message":"Insufficient scope","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"},"698fef15-4148-4797-bf03-7c3cebf33630":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code","example":"rate_limit_exceeded","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","example":"Rate limit exceeded. Maximum 1000 requests per 60 seconds.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"trace_id":{"type":"string","description":"Trace ID for debugging","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"}},"required":["code","message","trace_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"rate_limit_exceeded","message":"Rate limit exceeded. Maximum 1000 requests per 60 seconds.","trace_id":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7f177d10-eae8-498c-91ad-ad0ce6901fdf":{"api-key":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Marketplace API key","scopes":[],"schemeName":"api-key"}}},"servers":{"3ade7f71-cf29-4e78-8749-fe19095a8e50":{"url":"https://api.maxcare.ai/v4"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"Marketplace API key","scopes":[],"schemeName":"api-key"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Marketplace API key","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"api-key","name":"Authorization"}],"title":"api-key"}]},"originalFileLocation":"openapi-v4.json"},"subdomain":"maxaiinc-02a56fd1","siteName":"Max AI Developer Docs","title":"Read complete appointment and bill histories for up to 25 charts - Max AI Developer Docs","navMaps":{"firstHrefInVersion":{"v4":{"href":"/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts","matchLevel":0},"v3":{"href":"/api-reference/v3/appointment-types/list-appointment-types","matchLevel":2},"v2":{"href":"/api-reference/v2/appointment-types/list-appointment-types","matchLevel":2},"v1":{"href":"/api-reference/v1/appointment-types/list-appointment-types","matchLevel":2}},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T15:43:50.574Z","originalFileLocation":"api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart\u0026#x27;s resource changed since, the resource comes back snapshot_changed and is restarted without a cursor. readiness says whether the platform has evidence the mirror holds the EHR\u0026#x27;s rows — read it before treating an empty history as \u0026#x27;no visits\u0026#x27;. Unknown fields are rejected.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Max AI Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read complete appointment and bill histories for up to 25 charts - Max AI Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart\u0026#x27;s resource changed since, the resource comes back snapshot_changed and is restarted without a cursor. readiness says whether the platform has evidence the mirror holds the EHR\u0026#x27;s rows — read it before treating an empty history as \u0026#x27;no visits\u0026#x27;. Unknown fields are rejected.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Max AI Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://maxaiinc-02a56fd1.mintlify.site/_mintlify/api/og/v2?division=Patients\u0026amp;title=Read+complete+appointment+and+bill+histories+for+up+to+25+charts\u0026amp;description=Every+page+in+a+response+is+read+from+one+database+snapshot.+Each+%28chart%2C+resource%29+pages+on+its+own+cursor%2C+so+a+large+chart+cannot+hold+back+the+others.+A+cur\u0026amp;theme=02e0b3646d3b285707db65d5\u0026amp;signature=bf3c5eb29fcf3d72745fc9deddc9f4246e4757f602d5df1bf6f721bf9df582ea\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Read complete appointment and bill histories for up to 25 charts - Max AI Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart\u0026#x27;s resource changed since, the resource comes back snapshot_changed and is restarted without a cursor. readiness says whether the platform has evidence the mirror holds the EHR\u0026#x27;s rows — read it before treating an empty history as \u0026#x27;no visits\u0026#x27;. Unknown fields are rejected.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://maxaiinc-02a56fd1.mintlify.site/_mintlify/api/og/v2?division=Patients\u0026amp;title=Read+complete+appointment+and+bill+histories+for+up+to+25+charts\u0026amp;description=Every+page+in+a+response+is+read+from+one+database+snapshot.+Each+%28chart%2C+resource%29+pages+on+its+own+cursor%2C+so+a+large+chart+cannot+hold+back+the+others.+A+cur\u0026amp;theme=02e0b3646d3b285707db65d5\u0026amp;signature=bf3c5eb29fcf3d72745fc9deddc9f4246e4757f602d5df1bf6f721bf9df582ea\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/maxaiinc-02a56fd1/qw7ccI6uMOHd5Iws/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Max AI Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.maxcare.ai/#organization\",\"name\":\"Max AI Developer Docs\",\"url\":\"https://docs.maxcare.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/maxaiinc-02a56fd1/3kDaJXdVQ62Q_li2/logo/logo.png?fit=max\u0026auto=format\u0026n=3kDaJXdVQ62Q_li2\u0026q=85\u0026s=593e8b0c409b58f620609de6e29ebb79\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.maxcare.ai#website\",\"name\":\"Max AI Developer Docs\",\"url\":\"https://docs.maxcare.ai\",\"publisher\":{\"@id\":\"https://docs.maxcare.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts#webpage\",\"url\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts\",\"name\":\"Read complete appointment and bill histories for up to 25 charts\",\"description\":\"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart's resource changed since, the resource comes back snapshot_changed and is restarted without a cursor. readiness says whether the platform has evidence the mirror holds the EHR's rows — read it before treating an empty history as 'no visits'. Unknown fields are rejected.\",\"dateModified\":\"2026-11-06T15:43:50.574Z\",\"isPartOf\":{\"@id\":\"https://docs.maxcare.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.maxcare.ai/api-reference/v4/appointment-types/list-appointment-types\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Patients\",\"item\":\"https://docs.maxcare.ai/api-reference/v4/patients/where-each-document-category-is-filed\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Read complete appointment and bill histories for up to 25 charts\",\"item\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts#apireference\",\"headline\":\"Read complete appointment and bill histories for up to 25 charts\",\"name\":\"Read complete appointment and bill histories for up to 25 charts\",\"description\":\"Every page in a response is read from one database snapshot. Each (chart, resource) pages on its own cursor, so a large chart cannot hold back the others. A cursor only continues the exact set it was cut from: if any row of that chart's resource changed since, the resource comes back snapshot_changed and is restarted without a cursor. readiness says whether the platform has evidence the mirror holds the EHR's rows — read it before treating an empty history as 'no visits'. Unknown fields are rejected.\",\"url\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts\",\"mainEntityOfPage\":{\"@id\":\"https://docs.maxcare.ai/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts#webpage\"},\"dateModified\":\"2026-11-06T15:43:50.574Z\",\"publisher\":{\"@id\":\"https://docs.maxcare.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.maxcare.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Max AI Developer Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Max AI Developer Docs","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"API Reference","versions":[{"version":"v4","tag":"Latest","groups":[{"group":"API Reference","pages":[{"group":"Appointment Types","pages":[{"title":"List appointment types","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /appointment-types","href":"/api-reference/v4/appointment-types/list-appointment-types"}]},{"group":"Appointments","pages":[{"title":"List appointments","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /appointments","href":"/api-reference/v4/appointments/list-appointments"},{"title":"Book an appointment","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /appointments","href":"/api-reference/v4/appointments/book-an-appointment"},{"title":"List cancellation reasons","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /appointments/cancel-reasons","href":"/api-reference/v4/appointments/list-cancellation-reasons"},{"title":"List appointment statuses","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /appointments/statuses","href":"/api-reference/v4/appointments/list-appointment-statuses"},{"title":"Get appointment by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /appointments/{id}","href":"/api-reference/v4/appointments/get-appointment-by-id"},{"title":"Reschedule an appointment","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /appointments/{id}","href":"/api-reference/v4/appointments/reschedule-an-appointment"},{"title":"Cancel an appointment","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /appointments/{id}/cancel","href":"/api-reference/v4/appointments/cancel-an-appointment"}]},{"group":"Bank Accounts","pages":[{"title":"List connected bank accounts","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /bank-accounts","href":"/api-reference/v4/bank-accounts/list-connected-bank-accounts"}]},{"group":"Bank Transactions","pages":[{"title":"List bank deposits","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /bank-transactions","href":"/api-reference/v4/bank-transactions/list-bank-deposits"}]},{"group":"Bills","pages":[{"title":"List bills","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /bills","href":"/api-reference/v4/bills/list-bills"},{"title":"Get bill by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /bills/{id}","href":"/api-reference/v4/bills/get-bill-by-id"}]},{"group":"Cancel Reasons","pages":[{"title":"List appointment cancellation reasons","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /cancel-reasons","href":"/api-reference/v4/cancel-reasons/list-appointment-cancellation-reasons"}]},{"group":"Changes","pages":[{"title":"Replay the organization's change feed from a cursor","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /changes","href":"/api-reference/v4/changes/replay-the-organizations-change-feed-from-a-cursor"}]},{"group":"Claims","pages":[{"title":"List claims","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /claims","href":"/api-reference/v4/claims/list-claims"},{"title":"Get claim by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /claims/{id}","href":"/api-reference/v4/claims/get-claim-by-id"}]},{"group":"Deposit matches","pages":[{"title":"Record that a deposit paid one of your remittances","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /deposit-matches","href":"/api-reference/v4/deposit-matches/record-that-a-deposit-paid-one-of-your-remittances"},{"title":"Revoke one of your deposit matches","deprecated":null,"version":null,"openapi":"/openapi-v4.json delete /deposit-matches/{id}","href":"/api-reference/v4/deposit-matches/revoke-one-of-your-deposit-matches"}]},{"group":"Patients","pages":[{"title":"Where each document category is filed","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /documents/categories","href":"/api-reference/v4/patients/where-each-document-category-is-filed"},{"title":"List patients","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients","href":"/api-reference/v4/patients/list-patients"},{"title":"Create a patient","description":"Creates a patient chart in the EHR. With `checkForDuplicates: true`, a dedupe hit WITHHOLDS the write and returns 409 `duplicate_candidates` with the candidate ids — review them and either book against an existing chart or retry without the flag. Send an `Idempotency-Key` header to protect retries for 24 hours. An uncertain vendor outcome returns 409 `ehr_write_uncertain` with `requiresReconciliation: true`; verify the chart in the EHR before attempting another create. The same key remains protected during that retention period.","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients","href":"/api-reference/v4/patients/create-a-patient"},{"title":"Read complete appointment and bill histories for up to 25 charts","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/history","href":"/api-reference/v4/patients/read-complete-appointment-and-bill-histories-for-up-to-25-charts"},{"title":"Read whole appointment histories from the EHR for up to 25 charts","description":"Queues one patient-scoped EHR read per chart. When it finishes, the chart's appointment `readiness` in POST /v4/patients/history reads `complete` with `basis: patient` — independent of any facility sweep or other patient — until it is a day old. EZDerm charts only: ModMed has no verified patient-scoped history call, so ModMed charts answer `unsupported` and keep facility-sweep readiness.","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/history/refresh","href":"/api-reference/v4/patients/read-whole-appointment-histories-from-the-ehr-for-up-to-25-charts"},{"title":"Match a patient by demographics","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/match","href":"/api-reference/v4/patients/match-a-patient-by-demographics"},{"title":"Get patient by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{id}","href":"/api-reference/v4/patients/get-patient-by-id"},{"title":"Update a patient","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /patients/{id}","href":"/api-reference/v4/patients/update-a-patient"},{"title":"List a patient's allergies","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{id}/allergies","href":"/api-reference/v4/patients/list-a-patients-allergies"},{"title":"List a patient's chart documents","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{id}/documents","href":"/api-reference/v4/patients/list-a-patients-chart-documents"},{"title":"File a document on a patient's chart","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/{id}/documents","href":"/api-reference/v4/patients/file-a-document-on-a-patients-chart"},{"title":"Refresh a patient's chart-document list","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/{id}/documents/refresh","href":"/api-reference/v4/patients/refresh-a-patients-chart-document-list"},{"title":"Download one chart document's bytes","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{id}/documents/{documentId}/content","href":"/api-reference/v4/patients/download-one-chart-documents-bytes"},{"title":"Pull one chart document's bytes from the EHR","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/{id}/documents/{documentId}/fetch","href":"/api-reference/v4/patients/pull-one-chart-documents-bytes-from-the-ehr"},{"title":"Attach insurance to an existing patient","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/{id}/insurance","href":"/api-reference/v4/patients/attach-insurance-to-an-existing-patient"},{"title":"Attach an insurance card image","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/{id}/insurance/cards","href":"/api-reference/v4/patients/attach-an-insurance-card-image"},{"title":"Attach insurance with an exact payer","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /patients/{id}/insurance:exact","href":"/api-reference/v4/patients/attach-insurance-with-an-exact-payer"},{"title":"List a patient's lab / pathology results","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{id}/lab-results","href":"/api-reference/v4/patients/list-a-patients-lab-pathology-results"},{"title":"Set a patient's referring provider","deprecated":null,"version":null,"openapi":"/openapi-v4.json put /patients/{id}/referring-provider","href":"/api-reference/v4/patients/set-a-patients-referring-provider"},{"title":"Change an insurance policy's type","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /patients/{patientId}/insurance-policies/{policyId}","href":"/api-reference/v4/patients/change-an-insurance-policys-type"}]},{"group":"EHR live reads","pages":[{"title":"Which live EHR reads each of the organization's EHR instances supports","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/capabilities","href":"/api-reference/v4/ehr-live-reads/which-live-ehr-reads-each-of-the-organizations-ehr-instances-supports"},{"title":"Search the allergen catalog (at most 50 results)","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/catalog/allergens","href":"/api-reference/v4/ehr-live-reads/search-the-allergen-catalog-at-most-50-results"},{"title":"Search SNOMED conditions (at most 50 results)","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/catalog/conditions","href":"/api-reference/v4/ehr-live-reads/search-snomed-conditions-at-most-50-results"},{"title":"Search the drug catalog (at most 50 results)","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/catalog/medications","href":"/api-reference/v4/ehr-live-reads/search-the-drug-catalog-at-most-50-results"},{"title":"Search SNOMED surgical procedures (at most 50 results)","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/catalog/surgeries","href":"/api-reference/v4/ehr-live-reads/search-snomed-surgical-procedures-at-most-50-results"},{"title":"The insurance policy types an EHR instance accepts","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/insurance-policy-types","href":"/api-reference/v4/ehr-live-reads/the-insurance-policy-types-an-ehr-instance-accepts"},{"title":"Find an instance's charts by date of birth and name, active or not","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/search","href":"/api-reference/v4/ehr-live-reads/find-an-instances-charts-by-date-of-birth-and-name-active-or-not"},{"title":"A patient's practice-management alerts","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/alerts","href":"/api-reference/v4/ehr-live-reads/a-patients-practice-management-alerts"},{"title":"A patient's appointments, past and future","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/appointments","href":"/api-reference/v4/ehr-live-reads/a-patients-appointments-past-and-future"},{"title":"A visit's unsigned consents","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/consents","href":"/api-reference/v4/ehr-live-reads/a-visits-unsigned-consents"},{"title":"One consent's PDF","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/consents/{consentRef}/pdf","href":"/api-reference/v4/ehr-live-reads/one-consents-pdf"},{"title":"A patient's demographics as the EHR holds them","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/demographics","href":"/api-reference/v4/ehr-live-reads/a-patients-demographics-as-the-ehr-holds-them"},{"title":"The files in a patient's chart","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/documents","href":"/api-reference/v4/ehr-live-reads/the-files-in-a-patients-chart"},{"title":"One chart file's bytes","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/documents/{ref}/content","href":"/api-reference/v4/ehr-live-reads/one-chart-files-bytes"},{"title":"A patient's visits, any note status","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/encounters","href":"/api-reference/v4/ehr-live-reads/a-patients-visits-any-note-status"},{"title":"One visit","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/encounters/{ref}","href":"/api-reference/v4/ehr-live-reads/one-visit"},{"title":"A visit's post-signoff addenda","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/encounters/{ref}/addenda","href":"/api-reference/v4/ehr-live-reads/a-visits-post-signoff-addenda"},{"title":"A visit's final signed PDF","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/encounters/{ref}/final-pdf","href":"/api-reference/v4/ehr-live-reads/a-visits-final-signed-pdf"},{"title":"A visit's SOAP note","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/encounters/{ref}/soap-note","href":"/api-reference/v4/ehr-live-reads/a-visits-soap-note"},{"title":"A visit's note status","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/encounters/{ref}/status","href":"/api-reference/v4/ehr-live-reads/a-visits-note-status"},{"title":"A patient's active insurance policies","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/insurances","href":"/api-reference/v4/ehr-live-reads/a-patients-active-insurance-policies"},{"title":"A policy's prior authorizations","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/insurances/{policyRef}/prior-authorizations","href":"/api-reference/v4/ehr-live-reads/a-policys-prior-authorizations"},{"title":"Create a prior authorization on a policy","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /ehr/patients/{patientId}/insurances/{policyRef}/prior-authorizations","href":"/api-reference/v4/ehr-live-reads/create-a-prior-authorization-on-a-policy"},{"title":"A patient's lab and pathology results","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/lab-results","href":"/api-reference/v4/ehr-live-reads/a-patients-lab-and-pathology-results"},{"title":"A patient's balance and open charges","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/ledger","href":"/api-reference/v4/ehr-live-reads/a-patients-balance-and-open-charges"},{"title":"A patient's medical history","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/medical-history","href":"/api-reference/v4/ehr-live-reads/a-patients-medical-history"},{"title":"Charts this patient was merged with (ids only)","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/merge-history","href":"/api-reference/v4/ehr-live-reads/charts-this-patient-was-merged-with-ids-only"},{"title":"A patient's sticky note","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/sticky-note","href":"/api-reference/v4/ehr-live-reads/a-patients-sticky-note"},{"title":"Poll a live read that answered 202","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/reads/{readId}","href":"/api-reference/v4/ehr-live-reads/poll-a-live-read-that-answered-202"},{"title":"Language, race, ethnicity and other code lists of an EHR instance","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/reference-data","href":"/api-reference/v4/ehr-live-reads/language-race-ethnicity-and-other-code-lists-of-an-ehr-instance"}]},{"group":"Patient merges","pages":[{"title":"A merge this app requested","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patient-merges/{id}","href":"/api-reference/v4/patient-merges/a-merge-this-app-requested"},{"title":"Merge this chart into another","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /ehr/patients/{patientId}/merge","href":"/api-reference/v4/patient-merges/merge-this-chart-into-another"},{"title":"What merging this chart into another would do","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /ehr/patients/{patientId}/merge-preview","href":"/api-reference/v4/patient-merges/what-merging-this-chart-into-another-would-do"}]},{"group":"Eligibility Checks","pages":[{"title":"List eligibility checks","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /eligibility-checks","href":"/api-reference/v4/eligibility-checks/list-eligibility-checks"},{"title":"Run an eligibility check","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /eligibility-checks","href":"/api-reference/v4/eligibility-checks/run-an-eligibility-check"},{"title":"Get eligibility check by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /eligibility-checks/{id}","href":"/api-reference/v4/eligibility-checks/get-eligibility-check-by-id"}]},{"group":"Emails","pages":[{"title":"List sent emails","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /emails","href":"/api-reference/v4/emails/list-sent-emails"},{"title":"Send emails","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /emails/send","href":"/api-reference/v4/emails/send-emails"},{"title":"Get email by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /emails/{id}","href":"/api-reference/v4/emails/get-email-by-id"}]},{"group":"ERA Payments","pages":[{"title":"List ERA payments","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /era-payments","href":"/api-reference/v4/era-payments/list-era-payments"}]},{"group":"ERA Service Lines","pages":[{"title":"List ERA service lines","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /era-service-lines","href":"/api-reference/v4/era-service-lines/list-era-service-lines"},{"title":"Get ERA service line by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /era-service-lines/{id}","href":"/api-reference/v4/era-service-lines/get-era-service-line-by-id"}]},{"group":"Facilities","pages":[{"title":"List facilities","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /facilities","href":"/api-reference/v4/facilities/list-facilities"},{"title":"Get facility by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /facilities/{id}","href":"/api-reference/v4/facilities/get-facility-by-id"}]},{"group":"Faxes","pages":[{"title":"List faxes","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /faxes","href":"/api-reference/v4/faxes/list-faxes"},{"title":"Send a fax","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /faxes/send","href":"/api-reference/v4/faxes/send-a-fax"},{"title":"List fax cover-page templates","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /faxes/templates","href":"/api-reference/v4/faxes/list-fax-cover-page-templates"},{"title":"Get fax by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /faxes/{id}","href":"/api-reference/v4/faxes/get-fax-by-id"}]},{"group":"Insurance Policies","pages":[{"title":"List insurance policies","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /insurance-policies","href":"/api-reference/v4/insurance-policies/list-insurance-policies"},{"title":"Get insurance policy by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /insurance-policies/{id}","href":"/api-reference/v4/insurance-policies/get-insurance-policy-by-id"},{"title":"List a policy's insurance card images","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /insurance-policies/{id}/attachments","href":"/api-reference/v4/insurance-policies/list-a-policys-insurance-card-images"}]},{"group":"Intramail","pages":[{"title":"List intramail messages","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /intramail/messages","href":"/api-reference/v4/intramail/list-intramail-messages"},{"title":"Send an intramail message (or save a draft)","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /intramail/messages","href":"/api-reference/v4/intramail/send-an-intramail-message-or-save-a-draft"},{"title":"Get an intramail message","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /intramail/messages/{id}","href":"/api-reference/v4/intramail/get-an-intramail-message"},{"title":"Delete a draft","deprecated":null,"version":null,"openapi":"/openapi-v4.json delete /intramail/messages/{id}","href":"/api-reference/v4/intramail/delete-a-draft"},{"title":"Mark read or unread, flag, archive","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /intramail/messages/{id}","href":"/api-reference/v4/intramail/mark-read-or-unread-flag-archive"},{"title":"Reply, reply all or forward","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /intramail/messages/{id}/reply","href":"/api-reference/v4/intramail/reply-reply-all-or-forward"},{"title":"Search intramail recipients","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /intramail/recipients","href":"/api-reference/v4/intramail/search-intramail-recipients"},{"title":"Intramail sync status","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /intramail/status","href":"/api-reference/v4/intramail/intramail-sync-status"}]},{"group":"Inventory","pages":[{"title":"List inventory changes","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/changes","href":"/api-reference/v4/inventory/list-inventory-changes"},{"title":"Get inventory change by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/changes/{id}","href":"/api-reference/v4/inventory/get-inventory-change-by-id"},{"title":"List products in an inventory change","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/changes/{id}/products","href":"/api-reference/v4/inventory/list-products-in-an-inventory-change"},{"title":"List products","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/products","href":"/api-reference/v4/inventory/list-products"},{"title":"Get product by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/products/{id}","href":"/api-reference/v4/inventory/get-product-by-id"},{"title":"Get stock levels","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/stock-levels","href":"/api-reference/v4/inventory/get-stock-levels"},{"title":"Get stock levels with per-lot breakdown","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /inventory/stock-levels/detail","href":"/api-reference/v4/inventory/get-stock-levels-with-per-lot-breakdown"}]},{"group":"Marketplace","pages":[{"title":"List this app's installations","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /marketplace/installations","href":"/api-reference/v4/marketplace/list-this-apps-installations"},{"title":"Get current app context","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /marketplace/me","href":"/api-reference/v4/marketplace/get-current-app-context"},{"title":"List the organization's members","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /marketplace/members","href":"/api-reference/v4/marketplace/list-the-organizations-members"},{"title":"Verify a session token and resolve its organization","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /marketplace/verify-session","href":"/api-reference/v4/marketplace/verify-a-session-token-and-resolve-its-organization"}]},{"group":"Notes","pages":[{"title":"List patient notes","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /notes","href":"/api-reference/v4/notes/list-patient-notes"},{"title":"Get note by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /notes/{id}","href":"/api-reference/v4/notes/get-note-by-id"},{"title":"Edit SOAP note fields","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /notes/{noteId}","href":"/api-reference/v4/notes/edit-soap-note-fields"},{"title":"Upload image to note","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /notes/{noteId}/images","href":"/api-reference/v4/notes/upload-image-to-note"},{"title":"Delete image from note","deprecated":null,"version":null,"openapi":"/openapi-v4.json delete /notes/{noteId}/images/{imageId}","href":"/api-reference/v4/notes/delete-image-from-note"},{"title":"Get signed URL for a note image","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /notes/{noteId}/images/{imageId}/url","href":"/api-reference/v4/notes/get-signed-url-for-a-note-image"},{"title":"Edit impression fields","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /notes/{noteId}/impressions/{impressionId}","href":"/api-reference/v4/notes/edit-impression-fields"}]},{"group":"OAuth","pages":[{"title":"Exchange authorization code for user info","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /oauth/token","href":"/api-reference/v4/oauth/exchange-authorization-code-for-user-info"}]},{"group":"Organization","pages":[{"title":"List the organization's members","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /org/members","href":"/api-reference/v4/organization/list-the-organizations-members"}]},{"group":"Patient Tracking","pages":[{"title":"List a source's facilities","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patient-tracking/facilities","href":"/api-reference/v4/patient-tracking/list-a-sources-facilities"},{"title":"List a source's providers","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patient-tracking/providers","href":"/api-reference/v4/patient-tracking/list-a-sources-providers"},{"title":"Read the tracking board","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patient-tracking/snapshot","href":"/api-reference/v4/patient-tracking/read-the-tracking-board"},{"title":"List patient-tracking sources","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patient-tracking/sources","href":"/api-reference/v4/patient-tracking/list-patient-tracking-sources"}]},{"group":"Pharmacies","pages":[{"title":"List a patient's pharmacies","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{patientId}/pharmacies","href":"/api-reference/v4/pharmacies/list-a-patients-pharmacies"},{"title":"Search the pharmacy directory","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /pharmacies/search","href":"/api-reference/v4/pharmacies/search-the-pharmacy-directory"}]},{"group":"Prescriptions","pages":[{"title":"List a patient's prescriptions","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /patients/{patientId}/prescriptions","href":"/api-reference/v4/prescriptions/list-a-patients-prescriptions"},{"title":"List prescribers","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /prescribers","href":"/api-reference/v4/prescriptions/list-prescribers"},{"title":"List stored prescriptions (change feed)","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /prescriptions","href":"/api-reference/v4/prescriptions/list-stored-prescriptions-change-feed"},{"title":"Create a draft prescription from an existing one","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /prescriptions","href":"/api-reference/v4/prescriptions/create-a-draft-prescription-from-an-existing-one"},{"title":"Get a prescription","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /prescriptions/{id}","href":"/api-reference/v4/prescriptions/get-a-prescription"},{"title":"E-prescribe a pending prescription to a pharmacy","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /prescriptions/{id}/send","href":"/api-reference/v4/prescriptions/e-prescribe-a-pending-prescription-to-a-pharmacy"},{"title":"Void a draft prescription","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /prescriptions/{id}/void","href":"/api-reference/v4/prescriptions/void-a-draft-prescription"}]},{"group":"Payers","pages":[{"title":"Search payers","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /payers","href":"/api-reference/v4/payers/search-payers"},{"title":"Add a directory payer to the practice","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /payers","href":"/api-reference/v4/payers/add-a-directory-payer-to-the-practice"},{"title":"Payer capabilities","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /payers/capabilities","href":"/api-reference/v4/payers/payer-capabilities"},{"title":"Search the EHR's national payer directory","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /payers/directory","href":"/api-reference/v4/payers/search-the-ehrs-national-payer-directory"},{"title":"Get payer by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /payers/{id}","href":"/api-reference/v4/payers/get-payer-by-id"}]},{"group":"Phone Numbers","pages":[{"title":"List organization phone numbers","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /phone-numbers","href":"/api-reference/v4/phone-numbers/list-organization-phone-numbers"}]},{"group":"Prior Authorizations","pages":[{"title":"List prior authorizations","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /prior-authorizations","href":"/api-reference/v4/prior-authorizations/list-prior-authorizations"},{"title":"Get prior authorization by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /prior-authorizations/{id}","href":"/api-reference/v4/prior-authorizations/get-prior-authorization-by-id"},{"title":"List source documents for a prior authorization","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /prior-authorizations/{id}/documents","href":"/api-reference/v4/prior-authorizations/list-source-documents-for-a-prior-authorization"}]},{"group":"Providers","pages":[{"title":"List providers","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /providers","href":"/api-reference/v4/providers/list-providers"},{"title":"Get provider by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /providers/{id}","href":"/api-reference/v4/providers/get-provider-by-id"}]},{"group":"Schedule","pages":[{"title":"List appointment types","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/appointment-types","href":"/api-reference/v4/schedule/list-appointment-types"},{"title":"List availability templates","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/availability-templates","href":"/api-reference/v4/schedule/list-availability-templates"},{"title":"List calendar events","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/calendar-events","href":"/api-reference/v4/schedule/list-calendar-events"},{"title":"What this organization's EHR supports","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/capabilities","href":"/api-reference/v4/schedule/what-this-organizations-ehr-supports"},{"title":"Search the EHR's appointment finder","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/finder","href":"/api-reference/v4/schedule/search-the-ehrs-appointment-finder"},{"title":"Providers and facilities that take an appointment type","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/finder/provider-locations","href":"/api-reference/v4/schedule/providers-and-facilities-that-take-an-appointment-type"},{"title":"Hold a slot","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /schedule/holds","href":"/api-reference/v4/schedule/hold-a-slot"},{"title":"Release a slot hold","deprecated":null,"version":null,"openapi":"/openapi-v4.json delete /schedule/holds/{holdId}","href":"/api-reference/v4/schedule/release-a-slot-hold"},{"title":"Find bookable slots","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /schedule/slots","href":"/api-reference/v4/schedule/find-bookable-slots"},{"title":"List visit reasons","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /visit-reasons","href":"/api-reference/v4/schedule/list-visit-reasons"}]},{"group":"Sync Requests","pages":[{"title":"Request a re-sync of a resource with the EHR","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /sync-requests","href":"/api-reference/v4/sync-requests/request-a-re-sync-of-a-resource-with-the-ehr"},{"title":"Request a re-sync of several resources in one call","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /sync-requests/batch","href":"/api-reference/v4/sync-requests/request-a-re-sync-of-several-resources-in-one-call"},{"title":"Get a sync request by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /sync-requests/{id}","href":"/api-reference/v4/sync-requests/get-a-sync-request-by-id"}]},{"group":"Tasks","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /tasks","href":"/api-reference/v4/tasks/list-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/openapi-v4.json post /tasks","href":"/api-reference/v4/tasks/create-a-task"},{"title":"List task assignee groups","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /tasks/assignee-groups","href":"/api-reference/v4/tasks/list-task-assignee-groups"},{"title":"List task assignees","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /tasks/assignees","href":"/api-reference/v4/tasks/list-task-assignees"},{"title":"Task capabilities","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /tasks/capabilities","href":"/api-reference/v4/tasks/task-capabilities"},{"title":"Get task by ID","deprecated":null,"version":null,"openapi":"/openapi-v4.json get /tasks/{id}","href":"/api-reference/v4/tasks/get-task-by-id"},{"title":"Update task status","deprecated":null,"version":null,"openapi":"/openapi-v4.json patch /tasks/{id}","href":"/api-reference/v4/tasks/update-task-status"}]}]}]},{"version":"v3","pages":[{"title":"v3","href":"/api-reference/v3/appointment-types/list-appointment-types"}]},{"version":"v2","pages":[{"title":"v2","href":"/api-reference/v2/appointment-types/list-appointment-types"}]},{"version":"v1","pages":[{"title":"v1","href":"/api-reference/v1/appointment-types/list-appointment-types"}]}]}]},"basePath":"","title":"Read complete appointment and bill histories for up to 25 charts - Max AI Developer Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}