Key Firmware Development Concepts for Embedded Systems
Embedded systems are everywhere, from household appliances to industrial machinery. At the heart of these systems is embedded firmware, the […]
Development of which field of science has had the greatest impact on mankind in the last century? Although the question might seem difficult the answer will probably come to you almost immediately. Yes, you guessed it – we are talking about medicine and all related industries.
We can list the effects of the development of the medical industry endlessly: diseases that were once fatal or caused disability can now be cured or effectively prevented, advanced treatments and therapies make it possible not only to save countless lifes but also to improve their comfort, with miracles of science like surgery on the cochlea of the ear or the optic nerve. All this is possible thanks to the hard work of people, and many years of in-depth research and analysis.
The development of medicine is further driven by the constantly increasing computing power and, consequently, the capabilities of processing capacity. Nowadays medical software is an integral part of medical documentation, the performance of operations, but also their planning. The latter two would not be possible without non-invasive patient scans, which are what we will focus on today. However, if you want to read more about the development of medical software, you will certainly be interested in our medical devices software development.
Suppose a patient has severe headaches on the left side of the skull. As a doctor, the first thing to do is to prescribe painkillers, but this will only help with the symptoms, not the cause, which we do not know yet. Once we have ruled out all possibilities of inflammation or infection, then it would be best to actually “see” what is going on inside the brain. What then? Well, back in the previous century, in an extreme case, a trepanation procedure would have been performed on the patient, which, may not only have failed but may also not have yielded any useful information – a lose-lose situation.
However, the situation changed drastically when medical imaging techniques were gradually introduced in the early 1970s. From a medical point of view, they are very important in detecting diseases and monitoring their progress. Medical imaging makes it possible to gather accurate images of internal body structures with the use of appropriate imaging devices. Thanks to them, doctors and surgeons can access information about organs, tissues, and bones, without the need for invasive yet risky procedures.
Non-invasive scanning of a patient’s body allows doctors to diagnose diseases more quickly and accurately, as well as plan their treatment. Of course, diagnostic imaging also makes it possible to rule out certain diseases, thus reducing the risk of mistakes in choosing a correct patient’s treatment method.
As you may have guessed, there are many different methods of diagnostic imaging. Of course, which one you ultimately choose depends strongly on the specifics of your case, as well as the medical image analysis you undertake. These are some of the most popular medical imaging techniques, as well as imaging equipment, and medical imaging devices used to obtain them:
CT, or computed tomography, is an advanced medical imaging technique that produces a series of medical images of the internal structures of the body. During a CT scan, the patient is placed on a special table, which then moves inside a machine called a tomograph. The tomograph consists of a ring of special detectors and an X-ray generator that spins around and moves along the patient’s longitudinal axis, transmitting a series of X-rays that pass through the patient’s body, and allowing to catch them in detectors. Then, using a computer and special software, these signals are processed into three-dimensional images, allowing accurate digital imaging of the body’s organs and tissues.
MRI, or magnetic resonance imaging, is a medical imaging diagnostic technique that allows highly detailed images of the body’s internal structures to be obtained without the use of X-rays, as was the case with CT. During an MRI scan, the patient is placed in a machine generating a strong magnetic field, and radio waves directed at the patient. Those radio waves are forcing the patient’s body atoms to emit their own radio waves, and then a special detector records them, allowing them to be analyzed by a computer, which finally creates a visualization of the body’s structures.
MRI is particularly useful in diagnosing neurological diseases, cancer, and spinal disorders, as well as joint, heart, and blood vessel examinations. It is a safer alternative to other imaging methods, such as CT scans and traditional X-rays. However, it is worth remembering that it is also not an inert method for the body and is not recommended for people with any electric or metallic implants.
USG is one of the digital imaging techniques that use high-frequency sounds to create an image of the inside of a patient’s body, often allowing the doctor to see live how an organ of a patient’s works. The procedure involves applying a gel to the patient’s body and then moving a special hand-held medical instrument that acts both as a sound emitter but also as a receiver of the sounds reflected by the tissues, bones, and other organs.
By varying the frequency of the sound, the computer is able to create a preview of the patient’s internal organs. While ultrasound is a safe alternative to CT and MRI because it does not use any ionizing radiation, it is less accurate than these two methods.
PET (Positron Emission Tomography) and SPECT (Single Photon Emission Computed Tomography) are medical imaging methods that use special markers that emit radioactive radiation to diagnose the density of blood systems and their distribution in specific organs like the heart or brain. In both methods, a special substance is injected into patients. In the case of PET, the substance emits a positron (it’s an electron antiparticle), while in the case of SPECT, the substance emits gamma radiation. The emitted radiation is then caught by special medical equipment, which in turn, after appropriate computer analysis, yields nuclear images of the patient’s internal structures.
Okay, now we know what medical imaging is, and also what techniques are used to create it. However, just scanning a patient’s body is not enough – a patient who has undergone this procedure still faces a long road to diagnosis but also treatment.
Let’s focus on the former. Once the image data has been created, it then needs to be processed and analyzed properly. Doctors can print the scans on special material, and then identify discoloration in individual images on the appropriate background.
However, what if there are many of such images because the surgery requires a full 3D scan? Well, many might think that ambitious doctors are in for many sleepless nights spent reviewing seemingly similar, but different in important details images. Is this really the case in the days of modern medicine?
If you think about that problem, we have an obvious solution – computers and advanced medical software. After all, medical imaging information could be loaded into a computer and processed properly, and then analyzed correctly, but digitization of medical imaging also has other advantages.
Suppose a patient has undergone a CT scan at hospital A, and an oncologist working at hospital B needs access to the results of that scan to diagnose and plan the patient’s treatment. If it were not for the digitization of medical images, it would be necessary to print out the CT scan results on paper and send them by mail or fax to Hospital B. The doctor at Hospital B would then have to manually enter these results into their system, which could lead to errors and delays in treating the patient.
And this is where DICOM, or Digital Imaging and Communications in Medicine, comes into play. It is a standard for the transmission, storage, and display of medical images and related data. With the DICOM standard, CT scan results are stored digitally and can be easily transferred between different applications and hospitals. Medical images are stored in a special DICOM format, which allows medical data to be transmitted in a uniform manner and in accordance with international standards.
DICOM not only facilitates the transfer of medical images between different systems but also ensures the security and confidentiality of patient data. The DICOM standard provides numerous security and authentication rules that protect medical data from unauthorized access and alteration.
The DICOM standard is widely used and supported in the medical industry for good reason. Here are some of its most important advantages:
As you can see, DICOM has many advantages, making it a real game-changer in medical research. How much information does a DICOM file contain? It turns out that a single, easily transferable .dcm file contains a significant amount of information. Besides medical images, it also contains non-image data. Here are the most important medical information that can be included in a DICOM file:
Now, knowing what DICOM files consist of, it is worth considering what practical use it has. While there are many advantages of this standard, it is of no use unless you have the right software to create, read and process it. Check out the example use cases for an application that supports the DICOM interface:
An application system for storing and transmitting medical images between staff in hospitals. Such an application would serve as image storage for DICOM images. Doctors and nurses would have a simple view of the patient’s medical records, and any new scans could be automatically uploaded to the appropriate machine. It is worth noting here that such an application already exists: the PACS is actually a system used to store, display, and also transfer DICOM images between different end-points in the hospital(s). Thanks to PACS, creating medical records based on the data coming out of imaging devices is much simpler and faster than it would be the traditional way, on paper.
An application that creates medical reports based on digital images. Such an application would analyze the state of certain vital functions of a patient, based on the provided DICOM images, and then return a detailed report on deviations and norms in the size of particular structures of a given part of the patient’s body. Such an application would help automatically determine the patient’s diseases, as well as exclude them during clinical analysis.
An application for simulating and planning medical operations – based on images created with imaging devices, the application could create virtual, three-dimensional objects of the internal structures of the organs, so surgeons can determine precisely how to perform the operation while keeping it as safe as it’s possible.
Below is a picture from an app of this type developed by Scythe Studio software engineers. The app was segmenting a 3D view out of the scans.
An all-in-one application – a combination of all the above-mentioned applications, would allow the creation of a comprehensive diagnosis, but also the maintenance of a patient’s health, based on three-dimensional images of his internal organs. Such an app could also be used for educational purposes, e.g. for medical students who are not experienced enough to perform certain procedures on real patients – in the case of the app, making a mistake in diagnosis or procedure, apart from possibly failing the exam, has no other catastrophic consequences.
When planning the development of any application, there are many factors to consider. The most important of these is, of course, its purpose, the selection of target users, but also the set of tools, and the technology in which it will be created.
In the case of DICOM-based medical software, the situation is different. For such an application, as its name suggests, developers need to ensure that it is fully compatible with any version of DICOM – losing or destroying valuable information in the *.dcm file can seriously complicate the medical therapy and diagnosis of patients.
Speaking of patients, another important factor is security and stability. No one would want their data to fall into the wrong hands. It is especially true for health information – some medical conditions may be beyond the patient’s comfort zone.
Relevant medical regulations, for example, the GDPR in the European Union or HIPAA, should also be taken into account – if they are not met, the software owner may face huge fines, and he himself puts patients’ health and lives at risk by not meeting certain standards.
Digital imaging DICOM software should also be easy to use and have a clear, efficient user interface. We can agree that it is a very complicated application that performs many complex processes in the background. However, there is a medical staff or even a patient in front of the screen who may not necessarily know what each thing is about, so it should be clearly described and easily accessible.
Such an application should also be as efficient as possible, especially when used in live operations – where any seconds matter. For this reason, it is worth betting on technology that allows you to create an efficient but user-friendly interface at the same time. In addition, it would be good for the chosen technology to have been used in medicine before.
Care should also be taken to ensure proper integration with existing systems and/or electronic devices. An application using DICOM will certainly be used in a certain branch of healthcare, where various medical diagnostic equipment, imaging equipment, and fully-functional solutions to transmit medical image data between endpoints, such as PACS, already exist.
As you can see, the development of an application requires some effort already at the very stage of its planning. The situation is even more complicated if we are talking about the development of DICOM medical applications because the number of factors that need to be taken care of increases significantly. Is there a solution that would solve most of the problems mentioned? It is hard to find a perfect solution, however, when it comes to developing a complex medical application, we have the perfect candidate for you: the Qt framework.
Qt is a framework that allows you to create efficient and clean cross-platform applications. Why do we think Qt is the best solution for DICOM application development?
Qt is a framework based on C++, while C++ itself is a popular language known for its performance, long-standing development, and rich community support. In practice, this means that any working C++ library or module can be easily plugged into a Qt application and use its functionality seamlessly. In addition, the C++ community is constantly providing open-sourced solutions, most of which you can use commercially in your project. For example, in the case of an application based on digital imaging in Qt, it could use the DCMTK (DICOM Toolkit) library, which offers a wide range of tools for reading and processing DICOM images.
As we mentioned above, Qt is a cross-platform framework. So you can create an application that will run exactly the same on many different devices, including embedded ones – check our HMI development page. All this using the same source code, reducing the number of resources you need to use to create it. By reducing the variety of code, you reduce the number of teams, but also the problems that can arise from code inconsistency. If you’re interested in why versatility is so important for software development, you’ll definitely be interested in our blog post about Low technology stack with Qt.
Qt provides a number of useful tools for fast, simple but stable development of application appearance and behavior. The Qt Widgets and Qt Quick modules allow you to create an application’s UI with near-native performance while maintaining stable consistency with its logic. Such a selection is extremely critical when developing DICOM applications – the surgeon cannot afford to have the application hang while planning the operation, and its progress must be constantly up-to-date with the connected database. In addition, Qt supports the development of applications for touch devices, making the user experience even faster and more convenient from the user’s perspective.
There’s a reason why the Qt framework has already been a successful tool of choice in the medical industry many times over. Aside from the advantages mentioned above, Qt has tools certified to ISO 62304:2015, which is an international standard for quality management systems for medical devices, meaning that Qt meets the requirements for designing and producing software for medical devices. Qt’s tools are also certified to comply with safety standards such as IEC 62304, IEC 60601, and ISO 14971, so you can be sure that a medical application developed in Qt will work reliably, and in full compliance with the required standards.
Also worth mentioning here is the Qt Safe Renderer module, which continues to display important information in the case of a device or application failure, operating separately from the rest of the application.
Much of the functionality you’ll need in developing a DICOM-based application is already here. Qt has built-in modules to support 3D rendering, artificial intelligence, and easy data visualization. In addition, you can also read measurements from the built-in modules of the target device using Qt Sensors. The Qt framework also allows you to inject native OpenGL code so you can fully control what is displayed on the user’s screen.
Qt integrates well with technologies that are commonly used for custom healthcare development with DICOM viewers. By that, we mean the aforementioned OpenGL as well as VTK and OpenCV C++ libraries.
Be sure to check out our blog post where we cover the topic of choosing the right technology for healthcare software development.
Developing an application that operates on medical images is a complex process. Where would you start? Well, preferably by implementing each of the factors we mentioned above. However, it is worth adding here that just designing and creating an application is not enough.
First and foremost, you need to get the right team that knows its stuff. Here we don’t mean programmers, but specialists in a particular industry. When creating software for visual inspection of the lungs, it is crucial to constantly consult with pulmonologists and verify our requirements with the possibilities of medicine. Specialists will also help point out what they miss in their daily work, allowing you to identify possible functionalities for the application.
You should then consult functional and non-functional requirements with the appropriate specialist to determine what is and is not possible. With the help of the experts, you will also create an outline of the application and its functionality. For example, for an application using DICOM view, ongoing compatibility with medical image files is important, but so is data security and application stability. Of course, when creating an application outline, you should also enlist the help of a designer to help you create an interface that is as user-friendly as possible.
Compliance with relevant medical regulations and standards should also not be overlooked. The primary one is, of course, DICOM itself, but you also need to consider the Health Insurance and Portability of Information Act, and compliance with standards like IEC 62304 and ISO 13485.
With all of this in mind, you also need to take care in selecting the technology suitable for custom healthcare software development. Technology that would not block you from coding DICOM elements. You also need to find the team or teams of developers to implement the requirements you specify in it. Hiring multiple teams can prove problematic – synchronizing their work can be a challenge, and the potential delays of one of them slow down the rest, generating unnecessary costs and crunches. It’s also worth noting here that an application must be maintained once it’s developed throughout its time on the market – users may demand new functionality, and medicine itself is developing so rapidly that this is inevitable.
How to remedy this? First of all, bet on one specific technology that eliminates the above problems. It is a good idea to use cross-platform technology because you get rid of the problem of employing many different teams. The tech stack of your choice should be mature and stable to meet specific medical regulations. You should also consider choosing a technology that allows you to easily develop the UI of your application. With all of those factors in mind, we can clearly see why going with Qt is the right call. Don’t choose blindly – when it comes to medicine, there is no room for error. Choose a technology and a team that already has experience in it.
As a company with extensive experience in developing multi-platform applications in Qt, including medical applications, we want to show you what we can do. We will adapt to any requirements and specifications, providing ongoing support for the applications we create. At Scythe Studio, we focus on innovation and efficiency, which allows us to create complex medical solutions in a short time. 80% of our projects are for the medical industry. Choose Scythe Studio and leave the rest to us – we will help you change the world for the better. If you are interested in what we can do for you, be sure to check out our Qt Development services.
Let's face it? It is a challenge to get top Qt QML developers on board. Help yourself and start the collaboration with Scythe Studio - real experts in Qt C++ framework.
Discover our capabilitiesEmbedded systems are everywhere, from household appliances to industrial machinery. At the heart of these systems is embedded firmware, the […]
Outsourcing embedded systems development has become an increasingly popular strategy for businesses looking to enhance efficiency, reduce costs, and leverage […]
Choosing the right Real-Time Operating System (RTOS) is key to performance, reliability, and efficiency in embedded systems development. This article […]