About Fresenius Medical Care
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.
Fresenius Medical Care products have a very long life-cycle. To ensure the ongoing development and maintainability of these products, the company uses the Axivion Suite to carry out automated code and architectural analyses.
Why Axivion?
Certified for suitability in safety-critical systems according to IEC 62304 up to Class C
Axivion ensures the code matches the architecture from the CASE tool
MISRA C:2004, MISRA C:2012, MISRA C++:2008 and MISRA C/C++:2023 are only some of the coding guidelines checked by the Axivion Suite
Axivion identifies any new deviations during the daily automated analysis and allows the configuration of how findings in legacy code should be handled
Implementing Axivion Suite reduces testing times and costs significantly
Developers get a better understanding of the architectural model by receiving direct feedback on newly created code
Thanks to the Axivion Suite, we have the maintainability of our software under control, thereby safeguarding our long-term capacity for innovation.
Thomas Stahl, Director Software Engineering, Fresenius Medical Care
The Challenge
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.
The Solution
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.
The Success
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.
Need more information?
Learn more about Axivion Suite or request a meeting with one of our experts to find out how Axivion can help you ensure the high quality of your software code.