Cross-platform software libraries and APIs
Qt Creator IDE and productivity tools
UI Design tool for UI composition
for Qt projects
Digital advertising for UI apps
Usage intelligence for embedded devices
GUI test automation
Code coverage analysis
Test results management and analysis
Software static code analysis
Software architecture verification
The latest version of Qt.
Make the most of Qt tools, with options for commercial licensing, subscriptions, or open-source.
Explore Qt features, the Framework essentials, modules, tools & add-ons.
The project offers PySide6 - the official Python bindings that enhance Python applications.
Qt empowers productivity across the entire product development lifecycle, from UI design and software development to quality assurance and deployment. Find the solution that best suits your needs.
Insight into the evolution and importance of user-centric trends and strategies.
Learn how to shorten development times, improve user experience, and deploy anywhere.
Tips on efficient development, software architecture, and boosting team happiness.
Get the latest resources, check out upcoming events, and see who’s innovating with Qt.
Fresenius Medical Care is the world’s largest provider of products and services for individuals with renal diseases of which more than 2.6 million patients worldwide regularly undergo dialysis treatment. Through its network of 3,402 dialysis clinics, Fresenius Medical Care provides dialysis treatments for 290,250 patients around the globe. Fresenius Medical Care is also the leading provider of dialysis products such as dialysis machines or dialysers. Along with the core business, the company focuses on expanding the range of additional medical services in the field of care coordination.
Dialysis machines by Fresenius Medical Care (FMC) are used to filter the blood of around 300,000 patients all over the world. The latest product in the field of acute dialysis is the multiFiltratePRO. This machine’s software is programmed in C/C++ and will be continually updated and developed for many years to come. It is in view of the product’s long life cycle – in particular – that FMC places such high demands on the quality and maintainability of the software. Various hardware components are bound to be discontinued throughout the long service life of the product, so the software has to be continually adapted to match the new hardware. Consequently, this intensively maintained software enables the company to master the challenges of obsolete components with confidence. The IEC 62304 requirements for medical device software must also be complied with during the development and maintenance of the software. The standard stipulates that tools for static analysis and coding guidelines must be used to develop systems that are in line with the latest technology, but it allows a certain degree of freedom in terms of how these are implemented.
However, no concessions can be made when it comes to software quality and this is especially true within the medical products sector. For this reason, FMC invests considerable time and effort in ensuring the quality of the overall product. Test stages such as manual testing, code reviews and architectural validation involve a great deal of effort, in turn resulting in costs that gradually build up over the software’s long life-cycle as it undergoes testing time and time again.
A CASE tool is used to model the architecture of the software for the multiFiltratePRO series machines. When new features are introduced into the product, the team first checks if the architecture needs to be modified and then implements any changes that are required. As in the case of all development results, the architectural model is maintained in the version control system and used to test the architecture.
This is where the Axivion Suite comes in. Working within the context of continuous integration, it checks the source code by carrying out a static code analysis and reconciles the code with the architecture from the CASE tool. The Axivion Suite also identifies and locates clones, dead code, metric violations and cyclic dependencies. Medical technology software standards must be complied with, so style violation monitoring is extremely important.
To ensure compliance, modified MISRA checks are carried out together with a test for compliance with other FMC-specific rules, e.g. naming conventions with the aid of a specific dictionary. This improves the quality of the software during its development, avoiding errors at an early stage. The Axivion Suite identifies any new deviations during the daily automated analysis. This temporal differentiation also allows the use of “frozen” legacy code, which – understandably – contains a greater number of deviations, but without actively addressing these for regression reasons. At FMC, the focus is primarily on the prevention of new violations in order to counteract creeping software erosion. The Axivion Suite notifies the developer of the analysis results promptly by e-mail and via an interactive report on a dashboard. This direct feedback gives developers the opportunity to correct their code or to initiate subsequent adaptation of the architecture.
FMC believes that the learning effect for developers is also an important factor here, since they gain a better understanding of the architectural model and the remaining valid rules by receiving direct feedback on their newly created code. In turn, this means that they are better able to implement requirements in the long run.
Thanks to the Axivion Suite, FMC can now master the numerous challenges facing the software for its dialysis machines – the ongoing, comprehensive testing of the newly created codes prevents any deviations from the architectural model and precludes errors and problematic dependencies in the code, all of which could affect the quality of the product. The Axivion Suite also uses relevant code checks to ensure FMC’s compliance with IEC 62304.
Thanks to the introduction of automated analysis with the Axivion Suite, FMC has reduced its testing times and costs significantly, without having to make any concessions in terms of software quality assurance. The savings made can be used to further develop the product and promote innovations in the long run. Thanks to the regular feedback, the analysis facilitates the timely processing of problem lines in the code or strategic changes to the architecture model. At the same time, both project and developer benefit from an improved understanding of the architecture and from a positive learning curve for C/C++ programming.
The high code quality achieved with the help of the automated code analysis also increases the maintainability of products with long life-cycles, such as the FMC multiFiltratePRO series dialysis machines. The level of dependence on the hardware is also reduced, because it is easier, faster and less expensive to migrate and re-use the code when hardware is discontinued.