One area where the NetBeans Platform, the world's only modular Swing application framework, is well suited is as the basis of an enterprise's internal quality testing tools. In Semiconductor Validation Engineering on the NetBeans Platform, you can read how engineers at PMC Sierra have created Swing applications on the NetBeans Platform to validate PMC Sierra's semiconductor products. A similar thing is done at B. Braun, a healthcare product provider.
One of the devices made by B. Braun is Outlook Safety Infusion System, which helps to ensure that "the Right patient receives the Right medication in the Right dose from an authorized clinician at point-of-care". This is what the device looks like:
Below, we meet Javier Ortiz from B. Braun, who is in charge of developing tools for quality testing of healthcare devices such as the above.
Hi Javier who are you and what do you do?
I'm a software and power engineer from Juncos, Puerto Rico, and work as a software quality engineer for B. Braun in Carrollton Texas. I love wrestling to the point that I've practiced it for a while, love video games, and programming is my hobby! Among my software quality related tasks, I'm in charge of developing tools for testing purposes, performing code reviews, and analyzing programming issues.
So, you work in quality assurance in the healthcare industry. What kind of software applications are typically required in this area?
Healthcare industries have many requirements due to FDA regulations. They use a lot of data gathering software and databases, document management systems, training management systems and, as in my case, some development tools.
In other instances they want to use open source applications that don't comply with FDA regulations. In my case, I joined Xinco (more info on that later in this interview) and added the 21 CFR part 11 functionality to it. After validation, I gave Baxter, my employer at the time, a document management system, got the Xinco project to the next level, and became its lead programmer in the process.
Let's now look at your work at B. Braun. There you work on the Outlook ES Interface Tester. What is that exactly?
Outlook ES Interface Tester (OIT for short) is a test framework for interfaces of our device the Outlook ES. As part of my duties as quality engineer I need to figure out how to test that all requirements are met by our product before it is released to the public. Among those requirements are communication protocols and data transfer that can be too technical for a technician to test.
OIT provides a user friendly GUI to "see" these protocols and data transfers, providing parsing and visual aids to ease the validation process.
- For example, the HIMS module simulates a HIMS system as used in hospitals to send data to the medical device for configuration. Also, it parses the outbound data used to collect stats of multiple devices within a hospital.
- The PCEIS module provides similar testing functionality between the device and its configuration software.
- The CMAIS module (work in process) provides similar functionality between the device and a Configuration Management Application to handle configuration of the devices wirelessly.
All huge parts of our device! Here's a screenshot of OIT:
When did you start creating it and what were the requirements?
The first tool, HIMS (Health Information Management System), started development in 2008 as a Swing based application. The aim was simply to provide a visual way of seeing the interaction between systems and verify all formatting and data requirements of the defined protocol were met at all times.
How does the NetBeans Platform help in this scenario?
In time, other interfaces were added to the system and more tools like the HIMS were needed. As a regulated environment all software, and changes to those softwares, come with a huge amount of documentation to comply with FDA regulations. Also, the new interfaces would have code that would be shared somehow.
The NetBeans Platform provided a way to merge all those applications (and any future ones) as modules into one application. Also, many GUI issues I encountered in the early Swing applications were already elegantly solved by the NetBeans Platform, so migrating to it fixed a lot of those issues as well!