Healthcare Interoperability Blog

interfaceware.com
  • Iguana Integration Engine
  • Resource Center
  • Blog
Home Thinking Through Interface Error Handling

Thinking Through Interface Error Handling

When it comes to errors and interfaces, there is a little more to think about than what first comes to mind.

The bad news is that error handling is specific to your application, the type of interface you are implementing and whatever technologies you’re using. If you are doing interfacing at scale, this is a topic you’ll find value in thinking through at some point.

The good news is that IGUANA gives you the control to determine exactly how errors will be handled. So don’t worry. Take a break, get a cup of coffee and quietly go through the exercise outlined here. It will pay itself back with a lot less drama in production.

Here are some points to consider:Why You Need A Modern Integration Engine

Not all errors are equal. This is the most important point to realize. If you want things to work smoothly at scale it’s helpful to think through the errors you anticipate and plan on what you want your interface in IGUANA to do.

Sometimes retrying makes sense. Let’s say for instance, you know it’s common for the database you are feeding into to go offline for backups. Then, the desirable behaviour for the interface would be to have it go to sleep and retry periodically until the backup is done. That can easily be achieved using our retry module as a starting point.

Some errors should be fatal. In some cases, an error represents a serious logic error in the interface. In this case, you do want the interface to stop. The problem needs to be fixed before the interface can be safely restarted. This is the default behaviour unless you use the iguana.stopOnError function.

Sometimes skipping bad transactions is correct. Let’s say the interface is something non-critical – like getting demographics into your application. Maybe the other side sends you an unexpected message that you didn’t expect. In this case, logging a warning and skipping the message makes sense.

Fortunately, the IGUANA Translator environment makes it easy to get the tight control over the error handling that you need to handle all these scenarios. You can use pcall function to catch errors and figure out what type of error message you have and then execute the desired behaviour.

What I recommend to you, is to make a two column table. On the right side write down the errors you anticipate and on the left side write down the desired behaviour.

Once you have thought it through clearly, then implementing this as part of your standard module should be straightforward. Typically this stuff should be boilerplate – the same for all your interfaces. Over time you’re likely to understand your interfaces better and how they have issues and do a better analysis of the desired error handling.

If you have questions or comments about this please feel free to ask – we’re here to help.

Why You Need A Modern Integration Engine

Jun 25, 2015Eliot
  • Email
  • LinkedIn
  • More
  • Facebook
  • Twitter

Related

Managing Key/Value Pairs with IGUANAMeasuring Your System Requirements for IGUANA
June 25, 2015 News, Tips and Tricks
Enjoying this blog?

Sign up to receive healthcare integration news, just like this, from iNTERFACEWARE Inc.

iNTERFACEWARE needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Privacy Policy.

Resources

Integration Resources & Guides

HL7 Resources

Iguana Case Studies

Iguana Integration Engine

Overview: Integration Engine

Features: Building HL7 Interfaces

Benefits: Why Choose Iguana

Company

About Us

Integration Services

Contact Us

Connect

LinkedIn

Twitter

YouTube

© - iNTERFACEWARE Inc.
loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.