We recently released a two-part series on our podcast Let’s Talk Integration, with Bret Dawson, VP of Product Development at iNTERFACEWARE, in which he discussed the robustness of integrations as well as integration design best practices. In this blog post, we will outline some of the information covered in the podcast and offer it as a guide on how you can make your integrations more robust.
What is an integration?
Different healthcare systems use different protocols and are very rigid in how they process information making it impossible for these systems to connect on their own. Integrations act as a broker between disparate information systems allowing them to communicate with each other.
How to Make Your Integrations Robust
Integrations act as the go-between among different healthcare systems and, as such, these integrations need to be able to handle instances of system failure or other unexpected events where data stops being processed or transferred. Robustness involves thinking of every instance where the system can fail and building a contingency plan within your integration for each scenario.
Some useful steps to take include:
- Breaking integrations into small pieces instead of one complex integration in order to make them easier to manage
- Ensuring that each part of an integration does one task and works independently from others in order to make finding and fixing issues less complex and time consuming
- Determining what steps a system should take upon failures based upon the criticality of information
Integration Design Best Practices
When designing robust integrations three areas should be considered:
- Separation of Concerns
- Rule of Threes
Separation of Concerns
There are four activities present when creating integrations:
- Networking: The movement of information
- Transformation/Translation: Mapping fields to convert one format to another
- Enrichment: Using the information in one system to lookup and import information from another system
- Storage: Putting information in databases and being able to access it at any time
When creating integrations, it is beneficial to separate the components that fall under these activities in order to ensure that changes can be made more easily. This technique also ensures that the entire integration system is easier to understand through the use of component categorization. Therefore, you have a better understanding of how each component operates.
Rule of Threes
The Rule of Threes is another method of separation which breaks integrations into three parts:
- Universal: Components present in all integrations
- Common: Components found in most integrations
- Unique: Components found in one integration
In integration design, hardly anything is unique. When building integrations, anything that is being reused should be a shared module as opposed to copying and pasting as this saves time and promotes efficiency. The only part of an integration that should be built from scratch is the part necessary and specific to that integration. This eliminates unnecessary work, reduces the time spent building integrations, offers consistent results, and makes maintenance easier.
Normalization refers to the way information is formatted, processed, and stored internally within an organization. When information is being stored inside your integration it is useful to have a standard format i.e., family name vs last name or given name vs first name. It is important to make decisions about how data with your system will be structured and build upon your own system language. As the number of integrations grow, it increases speed and value because anything you’re working with is normalized, eliminating the need to transform data every time, cutting efforts in half.
For more information, you can listen to Bret’s podcast here: