iNTERFACEWARE Blog

Integration Insights

Perspectives on healthcare data exchange and system integration

The Shell Adapter: A Starting Point for Building Your Own Adapters

Most integration teams eventually run into a system that does not match any common protocol or standard. It might be a custom EMR used in a regional clinic, a pharmacy system with a one of a kind API, or a legacy platform that communicates in a format no engine recognizes out of the box. When this happens, the question becomes simple. How do you integrate with something that has no ready made adapter?

This is exactly why the Shell Adapter exists. It gives you a structured foundation for creating your own first class adapter inside Iguana. Instead of hacking together custom logic from scratch, you start with a clean blueprint that has all the essential pieces already in place.

What the Shell Adapter is

The Shell Adapter is a template that lets you build an adapter the same way iNTERFACEWARE builds its official adapters. It provides:

  • A preconfigured component structure

  • A clear set of input and output expectations

  • A starting point for custom logic

  • A model for how to handle configuration fields

  • A simple pathway for packaging the result as a reusable component

You can think of it as a blank adapter kit. It contains the wiring, the shape, and the structure, but leaves the system specific behavior for you to define.

Documentation link for reference:
https://docs.interfaceware.com/docs/IguanaX_Documentation_Home/Development/iNTERFACEWARE_Collections/Core_Collection/Shell_Adapter_2705850686

Why it exists

Every customer has at least one system that does not behave like anything else. That reality makes it difficult to rely only on pre built adapters. The Shell Adapter solves this problem by giving teams a standard way to build new adapters that look and function like any other component in Iguana.

The goals behind it include:

Consistency
Your custom adapter follows the same structure as Iguana's official ones.

Reusability
Once you build an adapter for a system, you can package it and use it for every new clinic or customer that uses that same platform.

Flexibility
It supports any system, whether it uses HL7, JSON, CSV, SOAP, a vendor API, or something completely non standard.

Better long term maintainability
Instead of one off custom code inside a mapping component, you have a clean component dedicated to connecting to that system.

A simple mental model: think of the Shell Adapter as a mold

The Shell Adapter is not an adapter by itself. It is the mold for creating one. When you first import it, the component contains:

  • A source block

  • A destination block

  • A translator block

  • Placeholder configuration fields

  • Comments explaining where custom logic should go

You fill in the translator code with whatever is required to talk to your target system. You define which configuration fields the user should set. You decide how the component should behave.

Once finished, your team can treat the result exactly like any built in adapter.

When to use the Shell Adapter

Teams commonly use it for:

Custom EMRs

If a clinic uses its own homegrown EMR or a regional one not listed in Iguana's library, the Shell Adapter gives you a structured way to create a clean connection for it.

Pharmacy networks

Many pharmacy systems use unique message formats or proprietary APIs. The Shell Adapter helps wrap that complexity in a reusable component.

Vendor APIs with inconsistent patterns

If a vendor has a set of endpoints that do not align with any standard, you can design an adapter around their specific authentication, endpoints, and field requirements.

Legacy or file based systems

Some older systems exchange data using CSV files, fixed width text files, or custom XML. Creating a dedicated adapter keeps the logic organized and repeatable.

What building an adapter looks like

Here is an example scenario. Imagine you need to build an adapter for a small EMR that sends patient updates through a simple HTTPS POST endpoint with a custom JSON schema.

Inside the Shell Adapter, you might:

  1. Define configuration options such as base URL, API key, and timeout

  2. Add code to authenticate with the EMR

  3. Parse incoming data from a source feed

  4. Convert that data to the EMR's JSON schema

  5. Post the payload to the EMR's endpoint

  6. Handle errors and retries

At that point, you now have a reusable EMR adapter component that any developer on your team can import.

Packaging your custom adapter for reuse

The Shell Adapter is designed to work with Iguana's Collections system and with Git.

Once you finish building your adapter:

  • Store it in Git

  • Version it with commit messages

  • Add it to a collection

  • Import it into other environments or customer systems

  • Update it centrally when the EMR or pharmacy changes their behavior

This turns your custom work into a shared asset across projects.

The Shell Adapter is your pathway to unlimited integrations

Iguana includes many pre built adapters, but no vendor can ever produce an adapter for every system in every region. The Shell Adapter removes that limitation by giving you a clean, structured framework for building exactly what you need.

Once your team gets comfortable with it, you can create:

  • Custom EMR connectors

  • Pharmacy interfaces

  • Vendor specific protocol modules

  • System specific mapping layers

  • Internal integration utilities

Anything that needs a repeatable integration pattern can be built with the Shell Adapter as the foundation.

The all-in-one integration platform by iNTERFACEWARE.
G2 - Healthcare Integration Engines
Rated 4.5/5
4.5/5 on G2
Capterra - Integration Software
Rated 4.8/5
4.8/5 on Capterra
KLAS - Integration Engines
KLAS Rated*
93.6/100
*Average performance score from 2017-2022 in the 'Best of KLAS' report
iNTERFACEWARE Inc.
© iNTERFACEWARE Inc.
Privacy | Terms of Service | MSA
General Inquiries
iNTERFACEWARE Inc.
2 Bloor Street East, Suite 3500
Toronto, Ontario   M4W 1A8   Canada
contact@interfaceware.com
1-888-824-6785
Follow Us: