Hays specialist and computer scientist, Gerald Müller, supported one of the world‘s leading medical technology companies in ophthalmology in developing a new diagnostic device.
The medical technology company had already commissioned us on multiple occasions to find experts to help optimise existing or develop new ophthalmic devices. This included developing software for a new biometric device for ocular diagnostics. The aim here was to help support the development of the different application levels for this device. To this end, the software had to be programmed for the main application and then the connection between the application and the hardware had to be implemented. In addition to this development work, the expert deployed for this project also focused on the extensive documentation and testing of the software.
“Working on the development of the hardware abstraction layer (HAL) for me was a real highlight of the project. When we were finished, the HAL even had a sophisticated simulation mode that was an enormous help to us in developing the higher levels of the main application”, says project specialist Gerald Müller excitedly. “While developing the HAL we even came up with a practical testing tool. This had its own user interface that could be used to check that the HAL, USB communication and firmware were all functioning correctly.”
The test tool developed by Müller proved to be extremely valuable in the further course of the project and was used not only by the developers, but also by the quality assurance teams in manufacturing and service support.
The main device application is based on a Windows embedded application. Using this application, patient measurements can be carried out and the results evaluated. The hardware is controlled with a micro-controller (MC) and associated firmware that the main application communicates with via USB. The user interface was realised using GrafikFrameworks-WPF and touchscreen technology. Gerald Müller was one of three Hays experts deployed and was involved in the project for 36 months. Initially, he defined the interface between the main application and the MC firmware. To do this, he had to work out the requirements of the main application on the firmware: device commands, status information, events, response times, etc. At the same time, he analysed both the device hardware and the communication channel (USB) in terms of mechanical switching and processing times, telegram lengths, transfer times, latency and cycle times. As a result of these analyses, the specifications for the communication protocol and the HAL were derived. These serve as a bridge between the application for the operator (the main application) and the software for the controlling device (microcontroller firmware).
The HAL itself was conceived as a stand-alone software module that was primarily to be used by the main application for communicating with the biometric device. But other applications such as test, diagnostic and service tools also needed to able to access this module. To achieve the best possible integration into the main application, Gerald Müller implemented the HAL in the form of a .NET assembly. In this way, all the functions required by the main application for accessing the device could be deployed as a C# interface. This makes the entire device easier to operate at the higher application layers.
The diagnostic tool was introduced onto the market in 2015 and today sets the standard for all devices in the field of optical biometry. “Our collaboration with Hays was distinguished by an uncomplicated and consistently target-oriented recruitment of specialists. By using their excellent network of contacts, Hays was able both to quickly provide support at short notice during critical project phases and facilitate longterm cooperation. The group-wide framework agreement we have now established makes future collaboration between our two companies much more efficient”, says the head of software development regarding the company’s relationship with Hays.
A new diagnostic device for use in ophthalmology.