---
title: Epic API Integration on Truto
slug: epic
category: Healthcare
canonical: "https://truto.one/integrations/detail/epic/"
---

# Epic API Integration on Truto



**Category:** Healthcare  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 143 tools for Epic that AI agents can call directly.

- **get_single_epic_account_by_id** — Get a single Account (premium billing) from Epic by its FHIR id. Returns the FHIR R4 Account resource. Returns: resourceType, id, identifier, name, status, type, and more. Required: id.
- **list_all_epic_accounts** — Search Accounts in Epic. Returns the matching FHIR R4 Account resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, identifier, name, status, type, and more. Required: none strictly; see the search rules above.
- **get_single_epic_adverse_event_by_id** — Get a single AdverseEvent from Epic by its FHIR id. Returns the FHIR R4 AdverseEvent resource. Returns: resourceType, id, actuality, adverse-event-comments, adverse-event-expected, adverse-event-resolved-date, and more. Required: id.
- **list_all_epic_adverse_events** — Search AdverseEvents in Epic. Returns the matching FHIR R4 AdverseEvent resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, actuality, adverse-event-comments, adverse-event-expected, adverse-event-resolved-date, and more. Required: none strictly; see the search rules above.
- **get_single_epic_allergy_intolerance_by_id** — Get a single AllergyIntolerance from Epic by its FHIR id. Returns the FHIR R4 AllergyIntolerance resource. Returns: resourceType, id, category, clinicalStatus, code, criticality, and more. Required: id.
- **list_all_epic_allergy_intolerances** — Search AllergyIntolerances in Epic. Returns the matching FHIR R4 AllergyIntolerance resources from the search Bundle. Epic needs patient. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, category, clinicalStatus, code, criticality, and more. Required: patient.
- **create_a_epic_allergy_intolerance** — Create an AllergyIntolerance in Epic from a FHIR R4 AllergyIntolerance JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, category, clinicalStatus, code, and more. Required: resourceType, patient.
- **get_single_epic_appointment_by_id** — Get a single Appointment from Epic by its FHIR id. Returns the FHIR R4 Appointment resource. Returns: resourceType, id, _status, appointmentType, comment, created, and more. Required: id.
- **list_all_epic_appointments** — Search Appointments in Epic. Returns the matching FHIR R4 Appointment resources from the search Bundle. Epic needs patient. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, _status, appointmentType, comment, created, and more. Required: none strictly; see the search rules above.
- **get_single_epic_binary_by_id** — Get a single Binary document from Epic by its FHIR id. Returns the FHIR R4 Binary resource. The default response is the FHIR Binary resource with the file as base64 in data. Returns: resourceType, id, contentType, data, and more. Required: id.
- **list_all_epic_binaries** — Search Binary documents in Epic. Returns the matching FHIR R4 Binary resources from the search Bundle. Look up one document with _id. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, contentType, data, and more. Required: none strictly; see the search rules above.
- **get_single_epic_body_structure_by_id** — Get a single BodyStructure from Epic by its FHIR id. Returns the FHIR R4 BodyStructure resource. Returns: resourceType, id, active, dental-tooth-eruption-status, location, morphology, and more. Required: id.
- **list_all_epic_body_structures** — Search BodyStructures in Epic. Returns the matching FHIR R4 BodyStructure resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, active, dental-tooth-eruption-status, location, morphology, and more. Required: none strictly; see the search rules above.
- **create_a_epic_body_structure** — Create a BodyStructure in Epic from a FHIR R4 BodyStructure JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, active, dental-tooth-eruption-status, location, and more. Required: resourceType, patient.
- **update_a_epic_body_structure_by_id** — Update a BodyStructure in Epic by FHIR id with a full FHIR R4 BodyStructure JSON body (PUT). Epic supports this only for the sub-APIs listed in its specification.
Returns: resourceType, id, active, dental-tooth-eruption-status, location, and more. Required: id, resourceType, patient.
- **get_single_epic_care_plan_by_id** — Get a single CarePlan from Epic by its FHIR id. Returns the FHIR R4 CarePlan resource. Returns: resourceType, id, _created, _description, _id, _implicitRules, and more. Required: id.
- **list_all_epic_care_plans** — Search CarePlans in Epic. Returns the matching FHIR R4 CarePlan resources from the search Bundle. Epic needs patient (or subject) plus category. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, _created, _description, _id, _implicitRules, and more. Required: none strictly; see the search rules above.
- **get_single_epic_care_team_by_id** — Get a single CareTeam from Epic by its FHIR id. Returns the FHIR R4 CareTeam resource. Returns: resourceType, id, category, participant, status, subject, and more. Required: id.
- **list_all_epic_care_teams** — Search CareTeams in Epic. Returns the matching FHIR R4 CareTeam resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, category, participant, status, subject, and more. Required: none strictly; see the search rules above.
- **epic_care_teams_search** — Search CareTeams in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 CareTeam resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, category, participant, status, subject, and more. Required: none strictly; see the search rules above.
- **get_single_epic_claim_by_id** — Get a single Claim from Epic by its FHIR id. Returns the FHIR R4 Claim resource. Returns: resourceType, id, admissiondate, careTeam, diagnosis, dischargedate, and more. Required: id.
- **get_single_epic_communication_by_id** — Get a single Communication from Epic by its FHIR id. Returns the FHIR R4 Communication resource. Returns: resourceType, id, basedOn, encounter, inResponseTo, partOf, and more. Required: id.
- **list_all_epic_communications** — Search Communications in Epic. Returns the matching FHIR R4 Communication resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, basedOn, encounter, inResponseTo, partOf, and more. Required: none strictly; see the search rules above.
- **create_a_epic_communication** — Create a Communication in Epic from a FHIR R4 Communication JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, basedOn, encounter, inResponseTo, and more. Required: resourceType, basedOn, encounter, payload, recipient, sender, sent, status, subject.
- **get_single_epic_condition_by_id** — Get a single Condition from Epic by its FHIR id. Returns the FHIR R4 Condition resource. Returns: resourceType, id, abatementDateTime, category, clinicalStatus, code, and more. Required: id.
- **list_all_epic_conditions** — Search Conditions in Epic. Returns the matching FHIR R4 Condition resources from the search Bundle. Epic needs patient or subject (or encounter for encounter diagnoses and infections); filter by category for problems, encounter diagnoses, health concerns and others. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, abatementDateTime, category, clinicalStatus, code, and more. Required: none strictly; see the search rules above.
- **epic_conditions_search** — Search Conditions in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 Condition resources from the search Bundle. Epic needs patient or subject (or encounter for encounter diagnoses and infections); filter by category for problems, encounter diagnoses, health concerns and others.
Returns: resourceType, id, abatementDateTime, category, clinicalStatus, code, and more. Required: none strictly; see the search rules above.
- **create_a_epic_condition** — Create a Condition in Epic from a FHIR R4 Condition JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, abatementDateTime, category, clinicalStatus, and more. Required: resourceType, code, onsetPeriod, subject.
- **get_single_epic_consent_by_id** — Get a single Consent from Epic by its FHIR id. Returns the FHIR R4 Consent resource. Returns: resourceType, id, category, comment, dateTime, identifier, and more. Required: id.
- **list_all_epic_consents** — Search Consents in Epic. Returns the matching FHIR R4 Consent resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, category, comment, dateTime, identifier, and more. Required: none strictly; see the search rules above.
- **epic_consents_search** — Search Consents in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 Consent resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, category, comment, dateTime, identifier, and more. Required: none strictly; see the search rules above.
- **get_single_epic_contract_by_id** — Get a single Contract from Epic by its FHIR id. Returns the FHIR R4 Contract resource. Returns: resourceType, id, meta, and more. Required: id.
- **list_all_epic_contracts** — Search Contracts in Epic. Returns the matching FHIR R4 Contract resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, meta, and more. Required: none strictly; see the search rules above.
- **get_single_epic_coverage_by_id** — Get a single Coverage from Epic by its FHIR id. Returns the FHIR R4 Coverage resource. Returns: resourceType, id, beneficiary, class, contained, dependent, and more. Required: id.
- **list_all_epic_coverages** — Search Coverages in Epic. Returns the matching FHIR R4 Coverage resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, beneficiary, class, contained, dependent, and more. Required: none strictly; see the search rules above.
- **get_single_epic_device_by_id** — Get a single Device from Epic by its FHIR id. Returns the FHIR R4 Device resource. Returns: resourceType, id, contact, deviceName, distinctIdentifier, expirationDate, and more. Required: id.
- **list_all_epic_devices** — Search Devices in Epic. Returns the matching FHIR R4 Device resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, contact, deviceName, distinctIdentifier, expirationDate, and more. Required: none strictly; see the search rules above.
- **get_single_epic_device_request_by_id** — Get a single DeviceRequest from Epic by its FHIR id. Returns the FHIR R4 DeviceRequest resource. Returns: resourceType, id, authoredOn, basedOn, codeCodeableConcept, encounter, and more. Required: id.
- **list_all_epic_device_requests** — Search DeviceRequests in Epic. Returns the matching FHIR R4 DeviceRequest resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, authoredOn, basedOn, codeCodeableConcept, encounter, and more. Required: patient.
- **get_single_epic_device_use_statement_by_id** — Get a single DeviceUseStatement from Epic by its FHIR id. Returns the FHIR R4 DeviceUseStatement resource. Returns: resourceType, id, bodySite, device, HealthcareProvider, HealthProfessional, and more. Required: id.
- **list_all_epic_device_use_statements** — Search DeviceUseStatements in Epic. Returns the matching FHIR R4 DeviceUseStatement resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, bodySite, device, HealthcareProvider, HealthProfessional, and more. Required: patient.
- **get_single_epic_diagnostic_report_by_id** — Get a single DiagnosticReport from Epic by its FHIR id. Returns the FHIR R4 DiagnosticReport resource. Returns: resourceType, id, basedOn, category, code, conclusionCode, and more. Required: id.
- **list_all_epic_diagnostic_reports** — Search DiagnosticReports in Epic. Returns the matching FHIR R4 DiagnosticReport resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, basedOn, category, code, conclusionCode, and more. Required: none strictly; see the search rules above.
- **get_single_epic_document_reference_by_id** — Get a single DocumentReference from Epic by its FHIR id. Returns the FHIR R4 DocumentReference resource. Returns: resourceType, id, authenticator, author, category, content, and more. Required: id.
- **list_all_epic_document_references** — Search DocumentReferences in Epic. Returns the matching FHIR R4 DocumentReference resources from the search Bundle. Epic needs patient or subject (some sub-APIs also accept encounter); filter by category and type for clinical notes, CCDAs, results and others. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, authenticator, author, category, content, and more. Required: none strictly; see the search rules above.
- **epic_document_references_search** — Search DocumentReferences in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 DocumentReference resources from the search Bundle. Epic needs patient or subject (some sub-APIs also accept encounter); filter by category and type for clinical notes, CCDAs, results and others.
Returns: resourceType, id, authenticator, author, category, content, and more. Required: none strictly; see the search rules above.
- **create_a_epic_document_reference** — Create a DocumentReference in Epic from a FHIR R4 DocumentReference JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, authenticator, author, category, and more. Required: resourceType.
- **update_a_epic_document_reference_by_id** — Update a DocumentReference in Epic by FHIR id with a full FHIR R4 DocumentReference JSON body (PUT). Epic supports this only for the sub-APIs listed in its specification.
Returns: resourceType, id, authenticator, author, category, and more. Required: id, resourceType.
- **get_single_epic_encounter_by_id** — Get a single Encounter from Epic by its FHIR id. Returns the FHIR R4 Encounter resource. Returns: resourceType, id, account, class, diagnosis, episodeOfCare, and more. Required: id.
- **list_all_epic_encounters** — Search Encounters in Epic. Returns the matching FHIR R4 Encounter resources from the search Bundle. Epic needs patient or subject. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, account, class, diagnosis, episodeOfCare, and more. Required: none strictly; see the search rules above.
- **get_single_epic_endpoint_by_id** — Get a single Endpoint from Epic by its FHIR id. Returns the FHIR R4 Endpoint resource. Returns: resourceType, id, address, connectionType, name, payloadMimeType, and more. Required: id.
- **get_single_epic_episodes_of_care_by_id** — Get a single EpisodeOfCare from Epic by its FHIR id. Returns the FHIR R4 EpisodeOfCare resource. Returns: resourceType, id, diagnosis, episode-comments, episode-name, identifier, and more. Required: id.
- **list_all_epic_episodes_of_care** — Search EpisodeOfCare resources in Epic. Returns the matching FHIR R4 EpisodeOfCare resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, diagnosis, episode-comments, episode-name, identifier, and more. Required: patient, type.
- **epic_episodes_of_care_search** — Search EpisodeOfCare resources in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 EpisodeOfCare resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, diagnosis, episode-comments, episode-name, identifier, and more. Required: patient, type.
- **get_single_epic_explanation_of_benefit_by_id** — Get a single ExplanationOfBenefit from Epic by its FHIR id. Returns the FHIR R4 ExplanationOfBenefit resource. Returns: resourceType, id, adjudication, billablePeriod, careTeam, created, and more. Required: id.
- **list_all_epic_explanation_of_benefits** — Search ExplanationOfBenefit resources in Epic. Returns the matching FHIR R4 ExplanationOfBenefit resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, adjudication, billablePeriod, careTeam, created, and more. Required: patient.
- **get_single_epic_family_member_history_by_id** — Get a single FamilyMemberHistory from Epic by its FHIR id. Returns the FHIR R4 FamilyMemberHistory resource. Returns: resourceType, id, bornDate, bornPeriod, condition, dataAbsentReason, and more. Required: id.
- **list_all_epic_family_member_histories** — Search FamilyMemberHistory resources in Epic. Returns the matching FHIR R4 FamilyMemberHistory resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, bornDate, bornPeriod, condition, dataAbsentReason, and more. Required: patient.
- **epic_family_member_histories_search** — Search FamilyMemberHistory resources in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 FamilyMemberHistory resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, bornDate, bornPeriod, condition, dataAbsentReason, and more. Required: patient.
- **get_single_epic_flag_by_id** — Get a single Flag from Epic by its FHIR id. Returns the FHIR R4 Flag resource. Returns: resourceType, id, category, code, period, status, and more. Required: id.
- **list_all_epic_flags** — Search Flags in Epic. Returns the matching FHIR R4 Flag resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, category, code, period, status, and more. Required: none strictly; see the search rules above.
- **epic_flags_search** — Search Flags in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 Flag resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, category, code, period, status, and more. Required: none strictly; see the search rules above.
- **get_single_epic_goal_by_id** — Get a single Goal from Epic by its FHIR id. Returns the FHIR R4 Goal resource. Returns: resourceType, id, achievementStatus, addresses, category, data-conversion-warning, and more. Required: id.
- **list_all_epic_goals** — Search Goals in Epic. Returns the matching FHIR R4 Goal resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, achievementStatus, addresses, category, data-conversion-warning, and more. Required: none strictly; see the search rules above.
- **get_single_epic_group_by_id** — Get a single Group from Epic by its FHIR id. Returns the FHIR R4 Group resource. Returns: resourceType, id, actual, code, identifier, type, and more. Required: id.
- **list_all_epic_groups** — Search Groups in Epic. Returns the matching FHIR R4 Group resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, actual, code, identifier, type, and more. Required: none strictly; see the search rules above.
- **epic_groups_bulk_member_match** — Start an Epic bulk member match (Group/$bulk-member-match) for payer-to-payer exchange. Send a Parameters body listing the members; Epic returns a Group id to use with bulk_exports.start.
Returns: resourceType and issue (an OperationOutcome) when Epic reports a problem. Required: resourceType, parameter.
- **get_single_epic_immunization_by_id** — Get a single Immunization from Epic by its FHIR id. Returns the FHIR R4 Immunization resource. Returns: resourceType, id, doseQuantity, encounter, expirationDate, identifier, and more. Required: id.
- **list_all_epic_immunizations** — Search Immunizations in Epic. Returns the matching FHIR R4 Immunization resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, doseQuantity, encounter, expirationDate, identifier, and more. Required: patient.
- **get_single_epic_immunization_recommendation_by_id** — Get a single ImmunizationRecommendation from Epic by its FHIR id. Returns the FHIR R4 ImmunizationRecommendation resource. Returns: resourceType, id, date, orderStatus, patient, recommendation, and more. Required: id.
- **list_all_epic_immunization_recommendations** — Search ImmunizationRecommendations in Epic. Returns the matching FHIR R4 ImmunizationRecommendation resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, date, orderStatus, patient, recommendation, and more. Required: patient.
- **get_single_epic_list_by_id** — Get a single List from Epic by its FHIR id. Returns the FHIR R4 List resource. Returns: resourceType, id, code, emptyReason, encounter, entry, and more. Required: id.
- **list_all_epic_lists** — Search Lists in Epic. Returns the matching FHIR R4 List resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, code, emptyReason, encounter, entry, and more. Required: none strictly; see the search rules above.
- **epic_lists_search** — Search Lists in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 List resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, code, emptyReason, encounter, entry, and more. Required: none strictly; see the search rules above.
- **get_single_epic_location_by_id** — Get a single Location from Epic by its FHIR id. Returns the FHIR R4 Location resource. Returns: resourceType, id, address, alias, description, endpoint, and more. Required: id.
- **list_all_epic_locations** — Search Locations in Epic. Returns the matching FHIR R4 Location resources from the search Bundle. Filter by name, address or identifier; no patient is needed. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, address, alias, description, endpoint, and more. Required: none strictly; see the search rules above.
- **get_single_epic_media_by_id** — Get a single Media from Epic by its FHIR id. Returns the FHIR R4 Media resource. Returns: resourceType, id, content, status, and more. Required: id.
- **list_all_epic_media** — Search Media resources in Epic. Returns the matching FHIR R4 Media resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, content, status, and more. Required: none strictly; see the search rules above.
- **get_single_epic_medication_by_id** — Get a single Medication from Epic by its FHIR id. Returns the FHIR R4 Medication resource. Returns: resourceType, id, code, form, identifier, ingredient, and more. Required: id.
- **list_all_epic_medications** — Search Medications in Epic. Returns the matching FHIR R4 Medication resources from the search Bundle. Look up one medication with _id; Epic does not list all medications. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, code, form, identifier, ingredient, and more. Required: none strictly; see the search rules above.
- **get_single_epic_medication_administration_by_id** — Get a single MedicationAdministration from Epic by its FHIR id. Returns the FHIR R4 MedicationAdministration resource. Returns: resourceType, id, meta, and more. Required: id.
- **list_all_epic_medication_administrations** — Search MedicationAdministrations in Epic. Returns the matching FHIR R4 MedicationAdministration resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, meta, and more. Required: none strictly; see the search rules above.
- **get_single_epic_medication_dispense_by_id** — Get a single MedicationDispense from Epic by its FHIR id. Returns the FHIR R4 MedicationDispense resource. Returns: resourceType, id, authoredOn, authorizingPrescription, category, context, and more. Required: id.
- **list_all_epic_medication_dispenses** — Search MedicationDispenses in Epic. Returns the matching FHIR R4 MedicationDispense resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, authoredOn, authorizingPrescription, category, context, and more. Required: none strictly; see the search rules above.
- **get_single_epic_medication_request_by_id** — Get a single MedicationRequest from Epic by its FHIR id. Returns the FHIR R4 MedicationRequest resource. Returns: resourceType, id, authoredOn, basedOn, category, dispenseRequest, and more. Required: id.
- **list_all_epic_medication_requests** — Search MedicationRequests in Epic. Returns the matching FHIR R4 MedicationRequest resources from the search Bundle. Epic needs patient or subject. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, authoredOn, basedOn, category, dispenseRequest, and more. Required: none strictly; see the search rules above.
- **get_single_epic_nutrition_order_by_id** — Get a single NutritionOrder from Epic by its FHIR id. Returns the FHIR R4 NutritionOrder resource. Returns: resourceType, id, dateTime, intent, note, oralDiet, and more. Required: id.
- **list_all_epic_nutrition_orders** — Search NutritionOrders in Epic. Returns the matching FHIR R4 NutritionOrder resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, dateTime, intent, note, oralDiet, and more. Required: patient.
- **get_single_epic_observation_by_id** — Get a single Observation from Epic by its FHIR id. Returns the FHIR R4 Observation resource. Returns: resourceType, id, category, code, issued, performer, and more. Required: id.
- **list_all_epic_observations** — Search Observations in Epic. Returns the matching FHIR R4 Observation resources from the search Bundle. Epic needs patient (or subject) plus category or code; each Observation sub-API (vitals, labs, social history and others) accepts its own parameter set. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, category, code, issued, performer, and more. Required: none strictly; see the search rules above.
- **create_a_epic_observation** — Create an Observation in Epic from a FHIR R4 Observation JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, category, code, issued, and more. Required: resourceType, category, code, subject.
- **update_a_epic_observation_by_id** — Update an Observation in Epic by FHIR id with a full FHIR R4 Observation JSON body (PUT). Epic supports this only for the sub-APIs listed in its specification. Returns: resourceType, id, category, code, issued, and more. Required: id, resourceType.
- **get_single_epic_organization_by_id** — Get a single Organization from Epic by its FHIR id. Returns the FHIR R4 Organization resource. Returns: resourceType, id, active, address, alias, contact, and more. Required: id.
- **list_all_epic_organizations** — Search Organizations in Epic. Returns the matching FHIR R4 Organization resources from the search Bundle. Look up one organization with _id; Epic does not list all organizations. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, active, address, alias, contact, and more. Required: none strictly; see the search rules above.
- **get_single_epic_patient_by_id** — Get a single Patient from Epic by its FHIR id. Returns the FHIR R4 Patient resource. Returns: resourceType, id, active, address, birthDate, communication, and more. Required: id.
- **list_all_epic_patients** — Search Patients in Epic. Returns the matching FHIR R4 Patient resources from the search Bundle. Epic needs at least one identifier or a demographics combination such as family plus birthdate, or name plus gender. A search that matches more than 100 patients fails. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, active, address, birthDate, communication, and more. Required: none strictly; see the search rules above.
- **create_a_epic_patient** — Create a Patient in Epic from a FHIR R4 Patient JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, active, address, birthDate, and more. Required: resourceType, name.
- **epic_patients_search** — Find the single high-confidence Epic patient that matches a set of demographics (the FHIR Patient/$match operation). Send a Parameters body with a resource parameter holding a Patient and onlyCertainMatches set to true. Epic returns one Patient, or an OperationOutcome when no certain match exists.
Returns: resourceType, id, active, name, birthDate, and more. Required: resourceType, parameter.
- **get_single_epic_practitioner_by_id** — Get a single Practitioner from Epic by its FHIR id. Returns the FHIR R4 Practitioner resource. Returns: resourceType, id, active, birthDate, communication, gender, and more. Required: id.
- **list_all_epic_practitioners** — Search Practitioners in Epic. Returns the matching FHIR R4 Practitioner resources from the search Bundle. Epic needs an identifier or a name (family plus given). Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, active, birthDate, communication, gender, and more. Required: none strictly; see the search rules above.
- **get_single_epic_practitioner_role_by_id** — Get a single PractitionerRole from Epic by its FHIR id. Returns the FHIR R4 PractitionerRole resource. Returns: resourceType, id, active, code, endpoint, location, and more. Required: id.
- **list_all_epic_practitioner_roles** — Search PractitionerRoles in Epic. Returns the matching FHIR R4 PractitionerRole resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, active, code, endpoint, location, and more. Required: none strictly; see the search rules above.
- **get_single_epic_procedure_by_id** — Get a single Procedure from Epic by its FHIR id. Returns the FHIR R4 Procedure resource. Returns: resourceType, id, asserter, basedOn, category, code, and more. Required: id.
- **list_all_epic_procedures** — Search Procedures in Epic. Returns the matching FHIR R4 Procedure resources from the search Bundle. Epic needs patient or subject; filter by category for surgeries, orders and interventions. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, asserter, basedOn, category, code, and more. Required: none strictly; see the search rules above.
- **create_a_epic_procedure** — Create a Procedure in Epic from a FHIR R4 Procedure JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, asserter, basedOn, category, and more. Required: resourceType, category, code, status, subject.
- **update_a_epic_procedure_by_id** — Update a Procedure in Epic by FHIR id with a full FHIR R4 Procedure JSON body (PUT). Epic supports this only for the sub-APIs listed in its specification.
Returns: resourceType, id, asserter, basedOn, category, and more. Required: id, resourceType, category, code, status, subject.
- **get_single_epic_provenance_by_id** — Get a single Provenance from Epic by its FHIR id. Returns the FHIR R4 Provenance resource. Returns: resourceType, id, agent, recorded, target, and more. Required: id.
- **get_single_epic_questionnaire_by_id** — Get a single Questionnaire from Epic by its FHIR id. Returns the FHIR R4 Questionnaire resource. Returns: resourceType, id, code, copyright, date, identifier, and more. Required: id.
- **list_all_epic_questionnaires** — Search Questionnaires in Epic. Returns the matching FHIR R4 Questionnaire resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, code, copyright, date, identifier, and more. Required: none strictly; see the search rules above.
- **get_single_epic_questionnaire_response_by_id** — Get a single QuestionnaireResponse from Epic by its FHIR id. Returns the FHIR R4 QuestionnaireResponse resource. Returns: resourceType, id, authored, encounter, identifier, item, and more. Required: id.
- **list_all_epic_questionnaire_responses** — Search QuestionnaireResponses in Epic. Returns the matching FHIR R4 QuestionnaireResponse resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, authored, encounter, identifier, item, and more. Required: none strictly; see the search rules above.
- **create_a_epic_questionnaire_response** — Create a QuestionnaireResponse in Epic from a FHIR R4 QuestionnaireResponse JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, authored, encounter, identifier, and more. Required: resourceType, questionnaire, status, subject.
- **get_single_epic_related_person_by_id** — Get a single RelatedPerson from Epic by its FHIR id. Returns the FHIR R4 RelatedPerson resource. Returns: resourceType, id, address, birthDate, gender, legal-sex, and more. Required: id.
- **list_all_epic_related_persons** — Search RelatedPersons in Epic. Returns the matching FHIR R4 RelatedPerson resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, address, birthDate, gender, legal-sex, and more. Required: none strictly; see the search rules above.
- **get_single_epic_request_group_by_id** — Get a single RequestGroup from Epic by its FHIR id. Returns the FHIR R4 RequestGroup resource. Returns: resourceType, id, action, author, authoredOn, dental-visit-name, and more. Required: id.
- **list_all_epic_request_groups** — Search RequestGroups in Epic. Returns the matching FHIR R4 RequestGroup resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, action, author, authoredOn, dental-visit-name, and more. Required: none strictly; see the search rules above.
- **get_single_epic_research_study_by_id** — Get a single ResearchStudy from Epic by its FHIR id. Returns the FHIR R4 ResearchStudy resource. Returns: resourceType, id, arm, description, identifier, principalInvestigator, and more. Required: id.
- **list_all_epic_research_studies** — Search ResearchStudies in Epic. Returns the matching FHIR R4 ResearchStudy resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, arm, description, identifier, principalInvestigator, and more. Required: identifier, title.
- **get_single_epic_research_subject_by_id** — Get a single ResearchSubject from Epic by its FHIR id. Returns the FHIR R4 ResearchSubject resource. Returns: resourceType, id, assignedArm, identifier, individual, ParticipantID, and more. Required: id.
- **list_all_epic_research_subjects** — Search ResearchSubjects in Epic. Returns the matching FHIR R4 ResearchSubject resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, assignedArm, identifier, individual, ParticipantID, and more. Required: patient.
- **epic_research_subjects_search** — Search ResearchSubjects in Epic with an HTTP POST form body instead of a query string (the FHIR _search interaction), for searches too long for a URL. Returns the matching FHIR R4 ResearchSubject resources from the search Bundle. Epic needs patient or subject for most clinical searches.
Returns: resourceType, id, assignedArm, identifier, individual, ParticipantID, and more. Required: patient.
- **get_single_epic_service_request_by_id** — Get a single ServiceRequest from Epic by its FHIR id. Returns the FHIR R4 ServiceRequest resource. Returns: resourceType, id, asNeededBoolean, authoredOn, basedOn, category, and more. Required: id.
- **list_all_epic_service_requests** — Search ServiceRequests in Epic. Returns the matching FHIR R4 ServiceRequest resources from the search Bundle. Epic needs patient, subject or encounter depending on the sub-API (orders, outside records, pregnancy plans and others). Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, asNeededBoolean, authoredOn, basedOn, category, and more. Required: none strictly; see the search rules above.
- **create_a_epic_service_request** — Create a ServiceRequest in Epic from a FHIR R4 ServiceRequest JSON body. Returns the created resource when Epic honors Prefer: return=representation; otherwise the new id is only in the Location header.
Returns: resourceType, id, asNeededBoolean, authoredOn, basedOn, and more. Required: resourceType, category, code, intent, status, subject.
- **update_a_epic_service_request_by_id** — Update a ServiceRequest in Epic by FHIR id with a full FHIR R4 ServiceRequest JSON body (PUT). Epic supports this only for the sub-APIs listed in its specification.
Returns: resourceType, id, asNeededBoolean, authoredOn, basedOn, and more. Required: id, resourceType, category, code, intent, status, subject.
- **get_single_epic_specimen_by_id** — Get a single Specimen from Epic by its FHIR id. Returns the FHIR R4 Specimen resource. Returns: resourceType, id, collection, condition, identifier, note, and more. Required: id.
- **list_all_epic_specimens** — Search Specimens in Epic. Returns the matching FHIR R4 Specimen resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, collection, condition, identifier, note, and more. Required: none strictly; see the search rules above.
- **get_single_epic_substance_by_id** — Get a single Substance from Epic by its FHIR id. Returns the FHIR R4 Substance resource. Returns: resourceType, id, code, and more. Required: id.
- **list_all_epic_substances** — Search Substances in Epic. Returns the matching FHIR R4 Substance resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, code, and more. Required: none strictly; see the search rules above.
- **get_single_epic_task_by_id** — Get a single Task from Epic by its FHIR id. Returns the FHIR R4 Task resource. Returns: resourceType, id, authoredOn, basedOn, code, encounter, and more. Required: id.
- **list_all_epic_tasks** — Search Tasks in Epic. Returns the matching FHIR R4 Task resources from the search Bundle. Epic needs patient or subject for most clinical searches. Page size is set with limit (sent as _count, 1 to 999); pages follow the Bundle next link.
Returns: resourceType, id, authoredOn, basedOn, code, encounter, and more. Required: none strictly; see the search rules above.
- **update_a_epic_task_by_id** — Update a Task in Epic by FHIR id with a full FHIR R4 Task JSON body (PUT). Epic supports this only for the sub-APIs listed in its specification.
Returns: resourceType, id, authoredOn, basedOn, code, and more. Required: id, resourceType, authoredOn, basedOn, code, encounter, for, intent, lastModified, owner, priority, requester, status.
- **list_all_epic_patient_summaries** — Generate the International Patient Summary (IPS) document for one Epic patient (the FHIR Patient/$summary operation). The patient_id is the Patient FHIR id. Returns an IPS Bundle with a Composition plus the patient, conditions, allergies, medications and immunizations it references.
Returns: resourceType, type, entry, and more. Required: patient_id.
- **list_all_epic_value_set_expansions** — Expand an Epic ValueSet to list the codes the server returns or accepts for an element (the FHIR ValueSet/$expand operation). Pass the element as context, such as Condition.category. Returns one ValueSet with its expansion.
Returns: resourceType, id, url, expansion, and more. Required: context.
- **epic_bulk_exports_start** — Start an Epic FHIR Bulk Data export for a Group of patients (Group/$export, asynchronous). Epic answers 202 with the status URL in the Content-Location header; the last segment of that URL is the bulk request id used by get, delete and bulk_export_files.get. Epic allows one export per group per 24 hours by default.
Returns: resourceType and issue when Epic reports a problem, otherwise an empty body. Required: group_id.
- **get_single_epic_bulk_export_by_id** — Check the status of an Epic Bulk Data export by bulk request id. While the export runs Epic answers 202 with an X-Progress header; when it finishes the body lists the output files (type, url) to download. The same client and user that started the export must call this. Epic suggests polling every 10 minutes for groups under 100 patients and every 30 minutes above that.
Returns: transactionTime, request, requiresAccessToken, output, and error. Required: id.
- **delete_a_epic_bulk_export_by_id** — Cancel an Epic Bulk Data export that is still running, or clean up its files after download, by bulk request id. Epic removes the data itself 14 days after the export finishes. Returns an empty body on success. Required: id.
- **get_single_epic_bulk_export_file_by_id** — Download one output file of a finished Epic Bulk Data export. The id is the output id (last segment of the file url in the status response). Each file holds one FHIR resource type as newline-delimited JSON, returned here as text.
Returns: the file content as a string of NDJSON lines. Required: id, bulk_request_id.
- **create_a_epic_claim_submission** — Submit a prior authorization request to Epic as a Da Vinci PAS Bundle (Claim/$submit). Epic is the payer-side utilization management system. Returns a Bundle with the ClaimResponse.
Returns: resourceType, type, entry, and more. Required: resourceType, type, entry.
- **create_a_epic_claim_inquiry** — Ask Epic for the status of an earlier prior authorization request (Claim/$inquire, the FHIR alternative to an X12 278 inquiry). Returns a Bundle with the current ClaimResponse.
Returns: resourceType, type, entry, and more. Required: resourceType, type, entry.
- **create_a_epic_claim_response_notification** — Tell Epic that a health plan finished or changed a prior authorization decision (ClaimResponse/$notify, Da Vinci PAS). Send a Bundle containing the ClaimResponse.
Returns: resourceType and issue when Epic reports a problem. Required: resourceType, type, entry.
- **create_a_epic_attachment_submission** — Send extra information for a prior authorization review to Epic (the $submit-attachment operation), such as QuestionnaireResponse bundles or DocumentReference PDFs. Used with claim_submissions.create.
Returns: resourceType and parameter or issue. Required: resourceType, parameter.
- **create_a_epic_device_auxiliary_notification** — Send an auxiliary function event to Epic for a Real-Time Location System device. Today this is the staff duress push notification created when a user presses a panic button on an RTLS badge.
Returns: resourceType and parameter. Required: resourceType, parameter.

## How it works

1. **Link your customer's Epic account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Epic.** The Proxy API is a 1-to-1 mapping of the Epic API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Ship Epic as a procurement-unblocking integration** — Health systems won't buy clinical software that forces double documentation in Epic. Offering a native Epic integration via Truto removes the single biggest objection in enterprise healthcare sales cycles.
- **Embed AI scribe and documentation workflows into Epic** — Let physicians use your AI note-taking or summarization product without leaving Epic by writing generated notes back as DocumentReferences and tasks tied to the correct patient and encounter.
- **Power remote patient monitoring with discrete clinical data** — Push device readings, vitals, and home-collected measurements directly into Epic flowsheets as Observations so clinicians review patient-generated data in their native workflow instead of a separate RPM dashboard.
- **Automate digital intake and pre-visit workflows** — Pull upcoming Appointments, update Patient demographics and Coverage, and write back completed intake forms as QuestionnaireResponses so patients arrive fully registered.
- **Run population health and analytics at scale** — Use FHIR Bulk Export to pull clinical cohorts asynchronously for risk stratification, quality measures, and AI model training without hammering synchronous APIs or getting rate limited.

## What you can build

- **Patient identity matching and chart lookup** — Use patient search and demographic lookup to reliably map your internal users to the correct Epic MRN before any read or write operation.
- **Clinical snapshot for pre-visit context** — Assemble a longitudinal patient view by pulling Conditions, Allergies, Medications, Immunizations, Observations, and Encounters in a single workflow.
- **Note write-back to the Epic chart** — Create DocumentReferences to push AI-generated notes, PDFs, summaries, or transcripts directly into the patient chart for clinician review and signoff.
- **Flowsheet-ready vitals and lab ingestion** — Write discrete Observations from connected devices or home monitoring into Epic so clinicians see structured vitals, not free-text attachments.
- **Digital intake form sync** — Fetch Questionnaires from Epic, render them in your product, and post QuestionnaireResponses back so patient-completed intake lands in the chart automatically.
- **Bulk cohort export for analytics pipelines** — Kick off Group-level bulk exports, poll for completion, and stream the resulting NDJSON files into your data warehouse for population health and reporting.

## FAQs

### How does authentication to Epic work through Truto?

Epic uses SMART on FHIR OAuth 2.0, with separate flows for provider-facing (EHR launch / backend services with JWT client assertion) and patient-facing (standalone OAuth) apps. Truto handles the token exchange, refresh, and per-tenant Epic endpoint routing so you don't manage client assertions or discovery manually.

### Which Epic FHIR resources are supported?

Truto exposes Epic's FHIR R4 surface including Patient, Appointment, Encounter, Condition, Observation, AllergyIntolerance, Medication, MedicationRequest, Immunization, DocumentReference, Questionnaire/QuestionnaireResponse, ServiceRequest, Procedure, Coverage, CarePlan, CareTeam, DiagnosticReport, Task, Claim-related resources, and bulk export operations, among others.

### Can we write data back to Epic, or is it read-only?

Write-back is supported for the resources Epic allows via FHIR, including creating DocumentReferences, Observations, Conditions, Patients, QuestionnaireResponses, ServiceRequests, Procedures, Communications, and BodyStructures, plus updates to Tasks, ServiceRequests, DocumentReferences, Observations, Procedures, and BodyStructures.

### How do we handle large data pulls without hitting rate limits?

Use the FHIR Bulk Data endpoints: start an asynchronous Group export, poll the export job, then download the NDJSON output files. This is the recommended pattern for population health and analytics workloads instead of synchronous paginated reads.

### How fresh is the data returned from Epic?

Reads hit Epic's FHIR APIs in real time, so data reflects the live chart at query time. Bulk exports are point-in-time snapshots generated when the export job runs. Truto does not cache clinical data between calls.

### Does each customer need their own Epic app registration?

Yes. Each Epic customer organization provisions access to your app on their instance, and production use requires registration on Epic's App Orchard / Showroom and health-system-specific go-lives. Truto manages the per-connection credentials and endpoints so onboarding new health systems doesn't require code changes.

## Related reading

- [Connect Epic to Claude: Analyze Labs, Vitals, and Care Plans](https://truto.one/blog/connect-epic-to-claude-analyze-labs-vitals-and-care-plans/) — A technical guide to generating a managed MCP server for Epic, enabling Claude to securely query FHIR data, analyze vitals, and review patient care plans.
- [Connect Epic to ChatGPT: Manage Patient Records and History](https://truto.one/blog/connect-epic-to-chatgpt-manage-patient-records-and-history/) — Learn how to connect Epic to ChatGPT using a managed MCP server. This guide covers FHIR API quirks, dynamic tool generation, and building clinical AI workflows.
- [Connect Epic to AI Agents: Automate FHIR Data and Clinical Ops](https://truto.one/blog/connect-epic-to-ai-agents-automate-fhir-data-and-clinical-ops/) — Learn how to connect Epic to AI agents using Truto's /tools endpoint. Bypass FHIR quirks and bind Epic operations directly to your LLM workflows.
