canonical: https://jentic.com/apis/eyefinity.com/eyefinity-ehr-fhir-api

# Eyefinity EHR FHIR API

Jentic publishes the only available OpenAPI specification for Eyefinity EHR FHIR API, keeping it validated and agent-ready. The API exposes a slice of the Encompass EHR through the FHIR R4 standard, focusing on patient demographics, clinical conditions, and the FHIR capability statement endpoint. It is intended for integrators building patient-record reads against Encompass-powered optometry practices and complies with the ONC information-blocking interoperability requirements.

## For AI agents

Read patient demographics and clinical conditions from Encompass EHR through a FHIR R4 interface, with OAuth 2.0 authorisation against the Eyefinity authority server.

## Scope

Does not handle billing, scheduling, or clinical writes - use for FHIR R4 reads of Patient and Condition resources from Encompass EHR only.

## Capabilities

- Search Patient resources by demographic parameters via GET /Patient
- Retrieve a single Patient record by FHIR resource id via GET /Patient/{id}
- Query Condition resources to access a patient's diagnoses and clinical conditions
- Read the server's FHIR capability statement from /metadata to discover supported interactions
- Authorise reads with OAuth 2.0 authorization-code flow against fhirauthority.eyefinity.com

## Use cases

### Patient Demographic Lookup

Query Encompass-based optometry practices for patient demographic data through a standard FHIR R4 interface. Use GET /Patient with search parameters or GET /Patient/{id} when the FHIR id is already known. The OAuth 2.0 authorization-code flow at fhirauthority.eyefinity.com gates access and limits returned data to the scopes granted by the practice.

Example prompt: Call GET /Patient with family=Smith and birthdate=1985-04-12 to retrieve matching patient resources from the Encompass EHR.

### Condition History Read

Retrieve the documented clinical conditions for an optometry patient by querying the FHIR Condition resource. Useful for downstream applications that need a patient's diagnoses to drive eligibility, referral, or care-coordination logic. The Condition endpoint returns FHIR R4 Condition resources scoped to the practice that authorised the access token.

Example prompt: Call GET /Condition?patient={patient_id} to fetch the Condition resources for the patient and summarise the active diagnoses.

### Capability Discovery

Read the FHIR /metadata endpoint to discover which FHIR interactions and resources the Eyefinity EHR server supports before issuing real reads. The capability statement is the canonical way to confirm that Patient and Condition reads are exposed for a given deployment and to detect changes between releases.

Example prompt: Call GET /metadata and parse the rest.resource list to confirm Patient and Condition are exposed before issuing further reads.

### Agent EHR Read via Jentic

An AI agent that helps optometry staff triage requests can use Jentic to discover and call Eyefinity EHR FHIR operations without hand-coding the FHIR client. Through Jentic the agent searches for the intent, loads the operation schema, and executes the call with an OAuth 2.0 token kept inside your Jentic One instance rather than in the agent's context.

Example prompt: Through Jentic, search 'look up an Eyefinity EHR patient', load GET /Patient, and execute it with the family-name parameter for an inbound staff request.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /Patient | Search Patient resources |
| GET | /Patient/{id} | Read a Patient by id |
| GET | /Condition | Search Condition resources |
| GET | /metadata | Read the FHIR capability statement |

## Key resources

- **Patient** — Search and read patient demographic resources
- **Condition** — Retrieve clinical conditions documented for patients
- **metadata** — FHIR capability statement for the server

## Why Jentic

- **Setup:** Wiring the Eyefinity EHR FHIR API by hand means running the OAuth 2.0 flow against fhirauthority.eyefinity.com, targeting the fhirapi.eyefinity.com R4 base, and learning FHIR search semantics yourself. Through Jentic you install once, import the Eyefinity EHR FHIR API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** This API puts the resource id in the URL path (/Patient/{id}), so a rule can pin your agent to reads of the Patient and Condition resources it needs. You choose the operations it may call, and this surface is read-only, so no clinical writes, billing, or scheduling are included unless you add them.
- **Credential handling:** Your Eyefinity OAuth 2.0 credential is stored once, encrypted, by your own Jentic One instance and a scoped access token is injected at execution time. The underlying client secret and refresh token never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'look up an Eyefinity EHR patient' or 'read a patient's conditions', and Jentic returns the matching /Patient or /Condition operation with its FHIR R4 search schema so the agent calls the right endpoint without learning FHIR search semantics from the docs.

## Related APIs

- **Eyefinity Optometry EHR FHIR API** — Sister Eyefinity FHIR API with a much wider resource set including Procedure, Observation, MedicationRequest, AllergyIntolerance and CarePlan.
- **ezBookkeeping API** — ezBookkeeping covers personal-finance ledgers - useful when an agent needs to record patient-billing payments alongside clinical reads.

## FAQ

### Why is there no official OpenAPI spec for Eyefinity EHR FHIR API?

Eyefinity does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Eyefinity EHR FHIR API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Eyefinity EHR FHIR API use?

The spec declares OAuth 2.0 with the authorization-code flow against https://fhirauthority.eyefinity.com/core/connect/authorize and the token endpoint at https://fhirauthority.eyefinity.com/core/connect/token. Through Jentic, the access token lives in the vault and never enters the agent's prompt context.

### Can I retrieve a patient's conditions with the Eyefinity EHR FHIR API?

Yes. Issue GET /Condition with a patient parameter to return FHIR R4 Condition resources scoped to that patient, provided the access token has been granted the necessary scope by the practice.

### What FHIR resources does this API support?

The OpenAPI spec covers Patient (search and read by id) and Condition (search), plus the standard /metadata capability endpoint. Other FHIR resources commonly available in EHRs are not exposed in this spec - use the sister Eyefinity Optometry EHR FHIR API for a wider resource set.

### How do I look up a patient through Jentic?

Run pip install jentic, search 'look up an Eyefinity EHR patient', load the GET /Patient operation, then execute with family-name and birth-date parameters. Jentic injects the OAuth 2.0 token from the vault when the call runs.

### What are the rate limits for the Eyefinity EHR FHIR API?

The spec does not declare explicit rate limits; treat this as a clinical system and pace reads conservatively, honour any 429 responses with backoff, and avoid running unbounded patient searches during business hours.

### Can I limit what my agent is allowed to do with the Eyefinity EHR FHIR API?

Yes. Because Jentic One is self-hosted, your own rules decide which operations and credentials the agent may use, and this surface is read-only, so it can only fetch Patient and Condition resources with no clinical writes, billing, or scheduling. Each resource id sits in the URL path, such as /Patient/{id}, so you can pin the agent to reads of just the Patient and Condition resources it needs. You choose the exact operations it may call, and anything you do not grant stays off limits.
