EHR and EMR System Adapters in Iguana
Some integrations need more than message routing or data transformation. They need a complete connection to a specific EHR or EMR platform. These connections often involve detailed authentication steps, batching rules, request patterns, retries, error handling, and strict security requirements. Building all of this by hand can take a lot of time.
To make this easier, Iguana includes several prebuilt EHR and EMR adapters. These adapters follow a consistent design that handles the workflow needed to communicate with real clinical systems. You can use them as they are, customize them, or use them as a template when building a new adapter.
This post explains the EHR and EMR adapters included with Iguana, what makes them different from standard Components, and how you can create your own adapter using the Shell Adapter.
What an EHR or EMR Adapter Is
An EHR or EMR adapter is a specialized Component built to integrate with a specific healthcare application. It contains all the pieces needed to communicate with that system in a reliable and repeatable way.
A typical adapter includes:
- Authentication and credential handling
- A consistent request and response structure
- Secure storage of sensitive fields
- Support for batching or paginated endpoints
- Graceful error handling and retry logic
- Helper functions for common API operations
- Input and output patterns that fit into Iguana workflows
These features allow the adapter to stay stable even when an external system rate limits, times out, or returns inconsistent responses.
Built In EHR and EMR Adapters
Iguana includes several prebuilt adapters for popular healthcare platforms. These adapters follow a shared structure so they are easy to understand and configure.
Epic EHR Adapter (FHIR)
The Epic adapter handles the common FHIR based workflows used in Epic environments. It includes:
- OAuth authentication for Epic
- Standardized read, write, and search patterns for FHIR resources
- Structure for logging responses
- Fields for base URLs, resource paths, and client credentials
It is well suited for projects that involve exchanging FHIR data with Epic systems.
Athenahealth EHR Adapter
The Athenahealth adapter supports Athena's REST based API workflows. It manages:
- OAuth authentication
- Required request headers and parameters
- Standard request building
- Error handling based on Athenahealth's response rules
This adapter works across Athena's scheduling, clinical, and administrative APIs.
eClinicalWorks EMR Adapter (eCW)
The eCW adapter is designed for eClinicalWorks systems. It covers:
- Authentication specific to eCW
- Request and response structures used by the eCW API
- Error and retry logic
- Secure storage of API credentials
This avoids the need to reverse engineer the eCW API on your own.
Additional Adapters
More adapters added to iNTERFACEWARE's official Collections over time. The important point is that all adapters in Iguana use the same clear pattern. Once you learn one adapter, the others feel familiar.
What Makes These Adapters Special
EHR and EMR adapters differ from standard Components because they handle the full lifecycle of communication with a clinical system. This includes:
Authentication
External systems usually require OAuth, API keys, or client credentials. The adapter manages these steps and stores the values safely.
Batching and pagination
Some APIs return large result sets. Adapters include logic for looping through these segments and processing each one.
Canonical request pattern
Adapters use a consistent structure for building requests. This reduces confusion and keeps the code organized.
Error handling and retries
Real systems return timeouts, throttling messages, and other errors. Adapters include built in logic to handle these cases cleanly.
Security fields
Credentials and sensitive values appear on the card but are stored securely in Iguana.
Clean boundaries
The adapter communicates with the EHR or EMR system. The rest of the interface can stay simple.
This pattern leads to reliable and maintainable clinical integrations.
Creating Your Own Adapter With the Shell Adapter
If you need an adapter for a system that is not already provided, you can create one using the Shell Adapter. The Shell Adapter is a starter Component that includes the internal structure used by all official Iguana adapters.
The Shell Adapter provides:
- A prepared dashboard card
- Authentication placeholders
- A complete Translator project
- A standardized request and response workflow
- Error handling templates
- Space to implement your own API calls
To build an adapter, you usually:
- Review the external system's API documentation
- Add any custom fields you need through config.json
- Implement authentication using the provided structure
- Create helper functions for each API endpoint
- Follow the request pattern used by other adapters
- Test each call and refine the retry and error logic
- Commit your changes and deploy the adapter in your environment
Using the Shell Adapter saves significant time because the framework is already in place.
Why the Adapter Pattern Scales
Using an adapter based approach helps teams build stronger, more predictable integrations. When every EHR or EMR adapter follows the same design, it becomes easier to:
- Maintain the code
- Onboard new developers
- Reuse logic across projects
- Keep credentials secure
- Handle system outages gracefully
- Build consistent enterprise grade interfaces
Adapters allow Iguana projects to grow without becoming complex or fragile. As new systems and APIs appear, you can extend your library of adapters using the same reliable structure.