Using and Creating Components in Iguana
With an understanding of what Components are and how they are structured, we can focus on how to use them in real projects. One of the strengths of Iguana is that you can begin building useful interfaces right away. Many of the tools you need are already included as built in Components, organized into Collections. You can mix and match them, customize them, or create your own reusable Components when you need something specific.
This post explains how to put Components to work, how Collections fit into the picture, and how you can design new Components of your own.
Getting Started With Built In Components
Iguana includes a large collection of ready to use Components. They handle many common integration tasks, and several can be used without writing any code. You can add them to a workflow, set their configuration, and start running them right away.
Examples of these tasks include:
- Listening for HL7 or FHIR messages
- Connecting to HTTP or REST endpoints
- Routing or filtering data
- Managing queues or delayed work
- Transforming message content
These Components are designed to be combined into complete interfaces. You can build meaningful workflows simply by arranging them and entering the right configuration.
The iNTERFACEWARE Collections
To keep things organized, Iguana includes two major Collections of Components:
Core Collection
These Components handle common integration tasks that are not tied to a specific data format. They help you build the structure and flow of your interface. Examples include:
- HTTP and REST connectors for making API calls or receiving web requests
- File and directory Components for reading, writing, and monitoring files
- Queue and workflow Components for managing retries, delays, and controlled message processing
- Monitoring and performance Components for tracking how interfaces are running
HL7 Collection
The HL7 Collection includes Components for a wide range of healthcare messaging standards. Many focus on HL7 v2 workflows, but the collection also provides tools for working with FHIR, X12, and CDA. Examples include:
- HL7 listeners and senders for receiving and transmitting HL7 messages
- HL7 transformation and mapping helpers for reshaping and translating message content
- Validation and preprocessing Components for cleaning and checking HL7 segments
- FHIR profiling and resource creation tools for building and shaping FHIR resources
- X12 parsing tools for working with claims and other administrative transactions
- CDA creation and validation tools for producing and verifying clinical documents
These Components make it easier to build interfaces that work across both established and newer standards. Combined with the Core Collection, they provide a strong foundation that lets most interfaces be assembled with only minimal scripting.
Popular Components You Can Use Right Away
Queue and workflow Components
These Components help with timed or controlled message processing. Examples include the Process Scheduler and Timer (polling) Components from the Core Collection, which you can use to run work on a schedule or at regular intervals when interacting with other systems.
HL7 feed handlers
These Components receive or send HL7 messages and prepare them for the next step in your workflow. Common examples from the HL7 Collection include HL7 Server, From LLP, HL7 Client, and To LLP, which are often used for inbound and outbound ADT, ORM, ORU, and other HL7 v2 message types.
File handling Components
These Components work with files and directories and are useful for file based integrations and batch workflows. The Core Collection includes Components such as File Reader, File Writer, From File, and To File for reading, writing, and moving data through the file system.
REST and FHIR helpers
These Components make it easier to work with modern APIs and structured healthcare data. From the Core Collection, From HTTP and From HTTP Multithreading help you call REST endpoints and handle JSON payloads, while the HL7 Collection provides the FHIR Resource Creator and FHIR Profiling Tool for building and shaping FHIR resources.
Built in Components like these cover much of the day to day work in healthcare integration and can be combined to form complete workflows with minimal scripting.
Customizing Existing Components
You are not limited to the default behavior of the Components that come with Iguana. Each one has a full Translator project behind it. You can open that project, review the code, and modify it to meet your needs.
Examples of customizations include:
- Adding new fields to the card through config.json
- Extending mapping or validation logic
- Adjusting how a Component calls a downstream system
- Changing how a Component handles errors or retries
Since Components are version controlled, you can safely make changes while keeping a clear record of what was modified.
Creating Your Own Reusable Components
Sometimes a project needs functionality that does not already exist. In these cases, you can create your own Component from scratch. This gives you full control over structure, settings, and behavior.
Creating a reusable Component usually involves:
- Defining the purpose and boundaries
- Creating the card fields through config.json
- Writing the Translator logic that performs the work
- Designing the input and output pattern so the Component fits into different workflows
- Testing it in an interface and committing changes
By following the same style that Iguana uses for its built in Components, your own Components will feel consistent and easy for teams to use.
The Value of Reusable Design
Reusable Components help teams build faster and maintain their work more easily. When logic is separated into small units, it becomes:
- Easier to test
- Easier to update
- Easier to understand
- Easier to share across projects
A Component you build today might solve a similar problem in a different interface tomorrow. Instead of copying and pasting code, you drop the Component into place, adjust the card settings, and keep moving.
This supports a functional and modular style of development that fits well with Iguana's philosophy.