Healthcare · Beta
Tebra
API integration
Ship Healthcare features without building the integration. Full Tebra API access via Proxy and 50+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Tebra
Common scenarios for SaaS companies building Tebra integrations for their customers.
Embed Tebra sync in your AI medical scribe
Offer ambient clinical intelligence to independent practices by pulling daily schedules from Tebra and writing finalized SOAP notes back as DocumentReferences. Truto handles the FHIR auth and pagination so you can focus on note quality.
Power RPM programs for chronic care clinics
Identify eligible hypertension or diabetes patients using Tebra conditions and care plans, then stream home device readings back as Observations. This enables your customers to bill RPM CPT codes without manual chart entry.
Launch a digital front door for private practices
Pre-populate intake forms and triage flows with existing allergies, medications, and immunizations from Tebra, keeping charts current before the provider enters the room. Ideal for intake, scheduling, and virtual care SaaS targeting outpatient clinics.
Enable instant referral and care transitions
Fetch C-CDA 2.1 summaries, diagnostic reports, and problem lists from Tebra to give specialists a complete clinical profile at the moment of referral. Replaces faxed charts and manual record requests in care coordination platforms.
Build pre-visit context for telehealth and triage apps
Query upcoming encounters, then hydrate patient demographics, conditions, and medications to prepopulate provider-facing screens. Lets your platform act on real clinical context the moment a visit begins.
What You Can Build
Ship these features with Truto + Tebra
Concrete product features your team can ship faster by leveraging Truto’s Tebra integration instead of building from scratch.
Daily encounter roster sync
Pull today's scheduled Encounters from Tebra and hydrate each with patient, condition, and medication context for provider-facing dashboards.
Clinical note writeback
Push AI-generated SOAP notes, PDFs, or structured documents into the patient's Tebra chart via the DocumentReference API.
Vitals and device reading ingestion
Post Observation records from home monitoring devices mapped to LOINC codes so readings appear directly on the Tebra patient chart.
Comprehensive patient medical record viewer
Render a full longitudinal view using Tebra's clinical patients, allergies, problems, medications, immunizations, vitals, and C-CDA 2.1 summary endpoints.
Problem list and care plan eligibility engine
Scan Conditions, CarePlans, Goals, and CareTeams to automatically identify patients eligible for chronic care management or disease-specific programs.
Allergy and immunization reconciliation
Compare patient-reported updates against Tebra's AllergyIntolerance and Immunization records to flag discrepancies before the visit.
SuperAI
Tebra AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_tebra_patients
Search patient records in Tebra (FHIR R4 Patient search, US Core / USCDI v1). Returns matching FHIR Patient resources from the searchset Bundle. Returns: resourceType, id, identifier, name, gender, birthDate, address. No parameter is required alone; send at least one of _id, identifier, name, birthdate with name, or gender with name.
get_single_tebra_patient_by_id
Get one patient from Tebra by FHIR logical id (FHIR R4 Patient read). Returns the FHIR Patient resource. Returns: resourceType, id, identifier, name, gender, birthDate, address. Required: id.
list_all_tebra_allergy_intolerances
Search allergy or intolerance records in Tebra (FHIR R4 AllergyIntolerance search, US Core / USCDI v1). Returns matching FHIR AllergyIntolerance resources from the searchset Bundle. Returns: resourceType, id, clinicalStatus, code, criticality, reaction. Required: patient.
get_single_tebra_allergy_intolerance_by_id
Get one allergy or intolerance from Tebra by FHIR logical id (FHIR R4 AllergyIntolerance read). Returns the FHIR AllergyIntolerance resource. Returns: resourceType, id, clinicalStatus, code, criticality, reaction. Required: id.
list_all_tebra_care_plans
Search care plan records in Tebra (FHIR R4 CarePlan search, US Core / USCDI v1). Returns matching FHIR CarePlan resources from the searchset Bundle. Returns: resourceType, id, status, intent, category, activity. Required: patient, category.
get_single_tebra_care_plan_by_id
Get one care plan from Tebra by FHIR logical id (FHIR R4 CarePlan read). Returns the FHIR CarePlan resource. Returns: resourceType, id, status, intent, category, activity. Required: id.
list_all_tebra_care_teams
Search care team records in Tebra (FHIR R4 CareTeam search, US Core / USCDI v1). Returns matching FHIR CareTeam resources from the searchset Bundle. Returns: resourceType, id, status, participant. Required: patient, status.
get_single_tebra_care_team_by_id
Get one care team from Tebra by FHIR logical id (FHIR R4 CareTeam read). Returns the FHIR CareTeam resource. Returns: resourceType, id, status, participant. Required: id.
list_all_tebra_conditions
Search condition (problem, health concern or encounter diagnosis) records in Tebra (FHIR R4 Condition search, US Core / USCDI v1). Returns matching FHIR Condition resources from the searchset Bundle. Returns: resourceType, id, clinicalStatus, category, code, onsetDateTime. Required: patient.
get_single_tebra_condition_by_id
Get one condition (problem, health concern or encounter diagnosis) from Tebra by FHIR logical id (FHIR R4 Condition read). Returns the FHIR Condition resource. Returns: resourceType, id, clinicalStatus, category, code, onsetDateTime. Required: id.
list_all_tebra_diagnostic_reports
Search diagnostic report records in Tebra (FHIR R4 DiagnosticReport search, US Core / USCDI v1). Returns matching FHIR DiagnosticReport resources from the searchset Bundle. Returns: resourceType, id, status, category, code, issued, result. Required: patient.
get_single_tebra_diagnostic_report_by_id
Get one diagnostic report from Tebra by FHIR logical id (FHIR R4 DiagnosticReport read). Returns the FHIR DiagnosticReport resource. Returns: resourceType, id, status, category, code, issued, result. Required: id.
list_all_tebra_document_references
Search document reference (including clinical notes) records in Tebra (FHIR R4 DocumentReference search, US Core / USCDI v1). Returns matching FHIR DocumentReference resources from the searchset Bundle. Returns: resourceType, id, status, type, category, date, content. Required: patient.
get_single_tebra_document_reference_by_id
Get one document reference (including clinical notes) from Tebra by FHIR logical id (FHIR R4 DocumentReference read). Returns the FHIR DocumentReference resource. Returns: resourceType, id, status, type, category, date, content. Required: id.
list_all_tebra_encounters
Search encounter records in Tebra (FHIR R4 Encounter search, US Core / USCDI v1). Returns matching FHIR Encounter resources from the searchset Bundle. Returns: resourceType, id, status, class, type, period, participant. Required: patient.
get_single_tebra_encounter_by_id
Get one encounter from Tebra by FHIR logical id (FHIR R4 Encounter read). Returns the FHIR Encounter resource. Returns: resourceType, id, status, class, type, period, participant. Required: id.
list_all_tebra_goals
Search goal records in Tebra (FHIR R4 Goal search, US Core / USCDI v1). Returns matching FHIR Goal resources from the searchset Bundle. Returns: resourceType, id, lifecycleStatus, description, target. Required: patient.
get_single_tebra_goal_by_id
Get one goal from Tebra by FHIR logical id (FHIR R4 Goal read). Returns the FHIR Goal resource. Returns: resourceType, id, lifecycleStatus, description, target. Required: id.
list_all_tebra_immunizations
Search immunization records in Tebra (FHIR R4 Immunization search, US Core / USCDI v1). Returns matching FHIR Immunization resources from the searchset Bundle. Returns: resourceType, id, status, vaccineCode, occurrenceDateTime, lotNumber. Required: patient.
get_single_tebra_immunization_by_id
Get one immunization from Tebra by FHIR logical id (FHIR R4 Immunization read). Returns the FHIR Immunization resource. Returns: resourceType, id, status, vaccineCode, occurrenceDateTime, lotNumber. Required: id.
list_all_tebra_devices
Search implantable device records in Tebra (FHIR R4 Device search, US Core / USCDI v1). Returns matching FHIR Device resources from the searchset Bundle. Returns: resourceType, id, udiCarrier, status, type. Required: patient.
get_single_tebra_device_by_id
Get one implantable device from Tebra by FHIR logical id (FHIR R4 Device read). Returns the FHIR Device resource. Returns: resourceType, id, udiCarrier, status, type. Required: id.
list_all_tebra_observations
Search observation (vital signs, laboratory results, smoking status) records in Tebra (FHIR R4 Observation search, US Core / USCDI v1). Returns matching FHIR Observation resources from the searchset Bundle. Returns: resourceType, id, status, category, code, valueQuantity, effectiveDateTime. Required: patient.
get_single_tebra_observation_by_id
Get one observation (vital signs, laboratory results, smoking status) from Tebra by FHIR logical id (FHIR R4 Observation read). Returns the FHIR Observation resource. Returns: resourceType, id, status, category, code, valueQuantity, effectiveDateTime. Required: id.
list_all_tebra_locations
Search location records in Tebra (FHIR R4 Location search, US Core / USCDI v1). Returns matching FHIR Location resources from the searchset Bundle. Returns: resourceType, id, name, address, status. Required: name.
get_single_tebra_location_by_id
Get one location from Tebra by FHIR logical id (FHIR R4 Location read). Returns the FHIR Location resource. Returns: resourceType, id, name, address, status. Required: id.
list_all_tebra_medications
Search medication records in Tebra (FHIR R4 Medication search, US Core / USCDI v1). Returns matching FHIR Medication resources from the searchset Bundle. Returns: resourceType, id, code, form. No parameters are documented; read a medication by id with the get method.
get_single_tebra_medication_by_id
Get one medication from Tebra by FHIR logical id (FHIR R4 Medication read). Returns the FHIR Medication resource. Returns: resourceType, id, code, form. Required: id.
list_all_tebra_medication_requests
Search medication request records in Tebra (FHIR R4 MedicationRequest search, US Core / USCDI v1). Returns matching FHIR MedicationRequest resources from the searchset Bundle. Returns: resourceType, id, status, intent, medicationCodeableConcept, dosageInstruction. Required: patient, intent.
get_single_tebra_medication_request_by_id
Get one medication request from Tebra by FHIR logical id (FHIR R4 MedicationRequest read). Returns the FHIR MedicationRequest resource. Returns: resourceType, id, status, intent, medicationCodeableConcept, dosageInstruction. Required: id.
list_all_tebra_organizations
Search organization records in Tebra (FHIR R4 Organization search, US Core / USCDI v1). Returns matching FHIR Organization resources from the searchset Bundle. Returns: resourceType, id, name, address, telecom. Required: name.
get_single_tebra_organization_by_id
Get one organization from Tebra by FHIR logical id (FHIR R4 Organization read). Returns the FHIR Organization resource. Returns: resourceType, id, name, address, telecom. Required: id.
list_all_tebra_practitioners
Search practitioner records in Tebra (FHIR R4 Practitioner search, US Core / USCDI v1). Returns matching FHIR Practitioner resources from the searchset Bundle. Returns: resourceType, id, identifier, name, telecom. Required: name.
get_single_tebra_practitioner_by_id
Get one practitioner from Tebra by FHIR logical id (FHIR R4 Practitioner read). Returns the FHIR Practitioner resource. Returns: resourceType, id, identifier, name, telecom. Required: id.
list_all_tebra_practitioner_roles
Search practitioner role records in Tebra (FHIR R4 PractitionerRole search, US Core / USCDI v1). Returns matching FHIR PractitionerRole resources from the searchset Bundle. Returns: resourceType, id, practitioner, organization, specialty. No parameter is required; narrow with specialty or practitioner.
get_single_tebra_practitioner_role_by_id
Get one practitioner role from Tebra by FHIR logical id (FHIR R4 PractitionerRole read). Returns the FHIR PractitionerRole resource. Returns: resourceType, id, practitioner, organization, specialty. Required: id.
list_all_tebra_procedures
Search procedure records in Tebra (FHIR R4 Procedure search, US Core / USCDI v1). Returns matching FHIR Procedure resources from the searchset Bundle. Returns: resourceType, id, status, code, performedDateTime. Required: patient.
get_single_tebra_procedure_by_id
Get one procedure from Tebra by FHIR logical id (FHIR R4 Procedure read). Returns the FHIR Procedure resource. Returns: resourceType, id, status, code, performedDateTime. Required: id.
list_all_tebra_provenances
Search provenance records in Tebra (FHIR R4 Provenance search, US Core / USCDI v1). Returns matching FHIR Provenance resources from the searchset Bundle. Returns: resourceType, id, target, recorded, agent. No single parameter is required by the schema; send patient or _id together with _revinclude=Provenance:target.
get_single_tebra_provenance_by_id
Get one provenance from Tebra by FHIR logical id (FHIR R4 Provenance read). Returns the FHIR Provenance resource. Returns: resourceType, id, target, recorded, agent. Required: id.
list_all_tebra_clinical_patients
Get the demographics of the patient who owns the API key (Tebra Clinical REST API). Returns the patient object with patientId, dob, gender, firstName, lastName, race, ethnicity and communication. The patient is fixed by the key; no id is passed. No parameter is required.
list_all_tebra_clinical_encounters
List encounters of the API key patient in Tebra (Clinical REST API): visit, care team and health concerns. Returns participant, period, location and diagnosis per encounter. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_medical_allergies
List medication allergies of the API key patient in Tebra (Clinical REST API). Returns code (RxNorm), allergen, reaction, severity, startDate and status per allergy. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_care_plans
List care plans and assessments of the API key patient in Tebra (Clinical REST API). Returns context period, addresses and activity per plan. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_problems
List the problem list of the API key patient in Tebra (Clinical REST API). Returns code (SNOMED CT), name, startDate, endDate and status per problem. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_devices
List implantable device unique device identifiers (UDI) of the API key patient in Tebra (Clinical REST API). Returns deviceIdentifier, carrierHRF, name and comments per device. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_procedures
List procedures of the API key patient in Tebra (Clinical REST API). Returns code (CPT), name, date and status per procedure. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_goals
List goals linked to the encounters of the API key patient in Tebra (Clinical REST API). Returns statusDate and description per goal. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_vital_signs
List vital signs of the API key patient in Tebra (Clinical REST API). Returns code (LOINC), name, date, value and unit per reading. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_smoking_statuses
List the smoking status of the API key patient in Tebra (Clinical REST API). Returns the SNOMED CT smoking status code and its text. The PDF documents the path /patient/smokingStatus; the live OpenAPI serves it at /patient/observation/socialHistory/smokingStatus, which this method uses. No parameter is required.
list_all_tebra_clinical_diagnostic_reports
List laboratory tests and results of the API key patient in Tebra (Clinical REST API). Returns issued, status and nested observation results per report. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_immunizations
List immunizations of the API key patient in Tebra (Clinical REST API). Returns code (CVX), name, date, status, lotNumber, manufacturer and notes per vaccine. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_medication_statements
List medications of the API key patient in Tebra (Clinical REST API). Returns medication (RxNorm code and name), dosage sig, startDate and endDate per statement. No parameter is required; narrow with startDate and endDate.
list_all_tebra_clinical_summaries
Get a C-CDA 2.1 summary document (Common Clinical Data Set) of the API key patient from Tebra (Clinical REST API). Returns contentType and content (the document, base64 encoded). No parameter is required; narrow with startDate and endDate.
Why Truto
Why use Truto’s MCP server for Tebra
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Tebra in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Tebra account
Use Truto’s frontend SDK to connect your customer’s Tebra account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Tebra
Truto’s Proxy API is a 1-to-1 mapping of the Tebra API. You call us, we call Tebra, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Tebra’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Tebra on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication does Tebra use, and does Truto handle it?
Tebra exposes two distinct API surfaces: the provider-level FHIR R4 APIs used for system-to-system access and the patient-level Clinical REST APIs authenticated via patient-owned API keys (ONC 21st Century Cures Act). Truto manages token exchange, storage, and refresh for both models so your end users complete a standard connection flow.
Which clinical resources are available through the integration?
Through the FHIR R4 surface you can read Patients, Encounters, Conditions, AllergyIntolerances, Medications, MedicationRequests, Immunizations, DiagnosticReports, Observations, DocumentReferences, CarePlans, CareTeams, Goals, Procedures, Devices, Practitioners, PractitionerRoles, Organizations, Locations, and Provenances. The patient-level Clinical REST surface additionally exposes clinical patients, encounters, allergies, care plans, problems, devices, procedures, goals, vital signs, smoking statuses, diagnostic reports, immunizations, medication statements, and full C-CDA 2.1 summaries.
Can we write data back to Tebra, or is this read-only?
The current Truto tool inventory for Tebra covers read operations (list and get) across FHIR R4 and Clinical REST resources. Writeback patterns such as posting DocumentReferences or Observations are supported by Tebra's API and can be enabled on request — reach out to the Truto team to prioritize specific write endpoints.
What's the difference between the FHIR resources and the clinical_* resources?
The FHIR R4 endpoints (e.g., list_all_tebra_patients, list_all_tebra_encounters) follow US Core / USCDI v1 standards and are designed for provider-level system-to-system integrations. The clinical_* endpoints (e.g., list_all_tebra_clinical_patients, list_all_tebra_clinical_summaries) are patient-scoped REST APIs built for consumer-facing apps authorized directly by a patient.
How fresh is the data returned from Tebra?
Truto proxies calls directly to Tebra's APIs, so each list or get request returns the current state of the record at query time. There is no intermediate cache, which is important for workflows like pre-visit chart prep and RPM eligibility checks.
What kinds of practices will my users typically be connecting?
Tebra is used almost exclusively by independent and private outpatient practices — solo providers up to mid-sized groups across primary care, mental health, physical and speech therapy, and other ambulatory specialties. It is not used by large inpatient hospital systems, so plan onboarding and sales motion around private practice workflows.
From the Blog
Tebra integration guides
Deep dives, architecture guides, and practical tutorials for building Tebra integrations.
Tebra
Get Tebra integrated into your app
Our team understands what it takes to make a Tebra integration successful. A short, crisp 30 minute call with folks who understand the problem.