# tleehealth

> Telehealth and practice management: scheduling across offices, prescriptions and
> refills, labs, after-visit summaries and a patient portal. One account can own many
> practices; each has locations, a team and its own bill. Patient advocates run care
> plans and log navigation time, and the superbill turns it into Medicare's
> care-management codes (PIN, CHI, CCM).

Pricing: $10 per team seat per month, or $199/month for up to 1,000 seats. Patients and leads are free.

## API (https://tleehealth.com/api/v1)
Authenticate with a session cookie or `Authorization: Bearer th_live_...` (create a key in the app under Settings).
- GET /health
- GET /me                                   your practices and user type in each
- GET /schedule?date=YYYY-MM-DD&org=<id>    the day's appointments
- GET /orgs/:org/today                      appointments + refills, labs and summaries waiting on a human
- GET|POST /orgs/:org/people?type=team|patient|lead
- GET|POST /orgs/:org/appointments, PATCH /orgs/:org/appointments/:id
- GET /orgs/:org/patients/:id               the chart (audit-logged)
- POST /orgs/:org/patients/:id/medications | labs | refills
- POST /orgs/:org/refills/:id/approve|deny, /orgs/:org/labs/:id/release
- PUT /orgs/:org/appointments/:id/summary, POST /orgs/:org/summaries/:id/sign
- GET /portal                               a patient's own visits, meds, results and summaries
- GET /records/providers?q=mychart name      providers to connect: every Epic/MyChart organization, plus any SMART on FHIR server by address
- POST /records/connect                     {"provider_id"} or {"fhir_base"}: returns authorize_url; the patient signs in there and allows access
- GET /records                              connections, personal information, counts per category
- GET /records/items?category=&q=&connection=  imported records: visits, after-visit summaries, notes, labs, imaging, meds, conditions, allergies, immunizations, procedures
- GET /records/files/:id                    an attached file (PDF summary, note, image)
- POST /records/connections/:id/sync, DELETE /records/connections/:id (deletes everything imported)
- PUT /records/connections/:id/share        {"org_id","shared"}: show a connection to a practice you are a patient of
- GET /records/export?format=zip|bundle     download everything: readable files + raw FHIR, or one FHIR Bundle
- GET /orgs/:org/patients/:id/records       what that patient shared with the practice (audit-logged)
- GET|PUT /orgs/:org/call-settings          AI calls: on/off, hours before/after, calling window, attempts
- POST /orgs/:org/appointments/:id/call     call the patient now ({"kind":"reminder"|"followup"})
- GET /orgs/:org/calls/:id                  outcome, summary and transcript; POST .../resolve when handled
- GET|PUT /orgs/:org/patients/:id/care-plan, POST .../care-plan/items, PATCH /orgs/:org/care-plan-items/:id
                                            goals and tasks with owners and due dates; shared plans show in the portal
- POST /orgs/:org/patients/:id/programs     enroll in PIN, PIN peer support, CHI or CCM (consent, initiating visit, billing practitioner)
- PATCH /orgs/:org/programs/:id             consent (renews it), billing practitioner, end
- POST /orgs/:org/programs/:id/time         log navigation minutes ({"minutes", "activity", "note", "performed_on"})
- GET /orgs/:org/caseload?month=YYYY-MM     enrollments, minutes toward G0023/G0024, G0019/G0022, 99490/99439, open tasks
- GET /orgs/:org/superbill?month=YYYY-MM&format=csv
                                            the month's billable codes per patient, ready or on hold with the reason

## Tools
- CLI + TUI: npm i -g @profullstack/tleehealth  (or: curl -fsSL https://tleehealth.com/install.sh | sh)
- MCP: npx -y @profullstack/tleehealth-mcp
