About RTNA
Real Time Neuromonitoring Associates (RTNA) is an innovative TeleNeurology and Neurophysiological patient care operating practice in the intraoperative neurophysiological monitoring field. It is an application to monitor country’s leading neurosurgeons and gather their expertise in ongoing neurological surgeries and critical cases. The platform facilitates the physicians at the time of surgery to provide their input and ensure the process and medical technology used for the treatment are accurate, cutting-edge and enable them to suggest if the treatment can be enhanced.
Architecture
– Microservice
– Slack and JIRA
Technologies & Integration
– NodeJs
– Angular
Project Goals
RTNA is a huge project having an application Neumapp with which physicians could monitor patient care during surgeries in real-time. The client was already a team of tech experts working on the application development and looking to enhance the application.
However, since the application was not optimized for user experience, it was difficult for physicians and staff to use it without hiccups. There were breakdowns and lags which meddled with the real-time response. As neurophysiological surgery is a critical process, physicians need to act at the spur of the moment to make advanced suggestions and address any major issues during surgery without delay. This utterly required the application to be optimized for use and enable physicians to make the earliest decisions.
What were the deliverables RTNA wanted
Sunflower Lab to work on?
Sunflower Lab to work on?
RTNA partnered with Sunflower Lab for working on Neumapp application to:
- Migrate it to latest technology
- Ease process of data management
- Optimize the UI/layout
- Enhance user experience
- Make the application faster
Timeline ⸻
Phase #1
What were the problems RTNA was looking solution to?
01
Managing all the complex and huge patient data manually was quite hectic and tedious so it needed a place that could automate the entire process.
02
It was looking to have a good advisory group that could diagnose a precise particular patient's condition with latest medical technology.
03
RTNA provides multiple neurological support and needed to get it on one platform to provide high level of care to patients.
04
Getting all the world’s neurophysiological surgeons to make recommendations at one place independent of their location.
05
If any data updates are made in Neumapp, they need to sync with RTNA’s other subsidiaries like Zinniax and Usmon.
06
Finding patients’ diagnosis histories to identify their past conditions without getting lost in documents and provide better care.
07
It wanted to streamline its billing process automatically and with accuracy.
Our Resolution
What were the problems RTNA was looking solution to?
When Sunflower Lab started with Neumapp development it was built on old AngularJS framework. So, the first thing we implemented was to migrate the whole application to latest Angular version. At the time of migration, Angular 12 was the latest version and we achieved the migration successfully. All the modules of the old application’s version were also migrated to the new application along with some new features added to it.
Post this, a new release of Angular i.e. Angular 16 came. We worked on this new release of Angular which is also the latest version (as of January 2024) of Angular and made major UI changes that optimized the user experience and aesthetic look of the application.
What we achieved
- Successful migration to latest Angular 16 version
- Incorporating new features
- Aesthetic UI with improved UX
- In sync with cutting-edge technology
- No disruption in functionality
Reusable Components
Reducing development time with Reusable Components
We wanted to optimize the development process and find out methodologies that reduce the effort and multiply the output. Thus, we decided to incorporate reusable components.
The components we defined in the latest UI were developed commonly. For instance, if we had a dropdown option, the component throughout the application’s dropdown component was designed dynamically and commonly making them reusable throughout the application. To achieve this, the form elements were developed as common components, where all events were written just one time. Even in case of validation, when we make a wrong data entry, common component is used to make the validation.
What we achieved
- We successfully reduced the development time by 60%
- Reusing components to reduce lines of code from 1000 to 300
Challenges
The main challenge we faced was to work on updating the Neumapp application at the same
time ensuring the functionality should not get impacted while still making it a better platform.
Major Features
Everything starts with a case. The Case List is used to track all the details related to a case, for instance, the physician, facility, surgeon, procedures applied, surgical levels, technologists, client, patient, insurance and other information all in one place.
With Case List, one can view complete cases of the system by filtering or sorting them via parameters like procedure, platform, surgeons, division, platform, and other parameters. Only the authorized users of the application can create a case.
What is Case?
Case is the case detail of a patient like when patient visited, the physicians who gave diagnosis, what health issues they had, the surgeons that operated on them, and other information related to their condition.
Why is an application for storing Case Detail important?
- Quick information on the patient’s condition without shuffling through multiple documents.
- Speeds up the consulting process.
- Better collaboration to detect best treatment options.
Analytics is used to create report of the entire application. For a Case, different kinds of reports can be generated for each parameter like physician, facility, surgeon, technologist and other such parameters. With this module, 20+ reports can be created. With reports, physicians can track history of a case, diagnose better and provide optimal care to the patient.
How was Analytics module implemented?
We completely migrated to the Front End followed by development of back-end architecture using one controller. For adding new reports, queries were written commonly. We divided the modules into different services based on reports to reduce the load on the application. So, when we are creating reports of a parameter, joints are created for that parameter only increasing performance of application and generating reports faster.
This module is used by super admin (user with highest level of access to the application) and staff users. It has master data and mapping features with which case details are managed with Divisions plant and credentials added as PDF. It also defines Billing Group whether the bill is for the Client, RTNA or both. This module also enables adjusting time zones according to patients to provide them care as per their time zones.
There are diagnosis added in this module that can be attached to a Case. With this, the admin can also define facility, physicians, procedures, surgeons, and technologists.
Technology behind Maintenance module
It works on Xref which is the functionality of mapping a particular master. For instance, we can choose to map one surgeon with another. This way the two surgeons can connect.
Xref is enabled for the modules Surgeons, Clients and Technologists.
This module is solely created for internal purposes. Here, for each case, the staff is assigned G Units, and it is attached to the case. This enables getting reports for G Units while creating reports for a Case.
This module defines the Cases a physician has for a particular date, time and interval of minutes like in each 30 minute or one-hour and so on.
Types of Physicians
There are two main Physicians in Neumapp application – primary and transition. Primary physicians are the main physicians who create case reports and approve cases at the end. This ultimately helps in billing. After a physician approves a case, the bills are made within the application. However, the payment is made outside the application and its approval is initiated is made inside the application.
One of the most important features of the application is Case Billing. It reduces the complex calculation while making billing of the application. When we are filling in billing details and saving these details, in the back of the application after after-hours (time of consulting that lies outside of physician’s schedule) is calculated. This helps in making accurate billing for the Case.
Data synchronization in other RTNA applications
The data that is created in Neumapp application is also synced with needed and common fields in other
clients’ subsidiaries like Zinniax and Usmon. Whatever data is fed into Zinniax and Usmon having common
fields with Neumapp is synced within the application. If something (field or data) changes in Neumapp
it’s reflected in these applications and vice versa. This is done by pulling and pushing the data.
The application Zinniax and Usmon are connected to Neumapp with external APIs.
Key Features
What were the key features we implemented?
The application runs on NGRX statement. When we load the page for the first time it takes a while to load. However, when we revisit the page, it doesn’t take any time. This can also be implemented in larger applications having loads of data that slow down the functionality.
Benefits
- Quick analytics
- Easy report management
- Quick analytics
- Optimized case management with crucial details like physician details and managing incidents and procedures.
Product Features
Most important features
Cases and Analytics are the most important features of the application. This is because our entire product is based on the Cases using which Physicians provide their inputs and diagnosis for the patient. Analytics helps us to get all the detailed reports based on different times, diagnosis, physicians, etc. details for the entire product.
Most difficult feature
Case Filters is the most difficult feature. In this feature, we have to apply very complex queries for different combinations to get the result.
Phases of the application
Phase 1 - Upgradation/migration
- Migrating the application from Angular JS to Angular 12. This took almost one year to complete this module.
- Optimizing UI, migrating every single component and element to Angular 12.
Phase 2 – Continuous development
- Taking care of backend – optimizing backend code and adding new features to the backend and frontend.
What were the key successes
Sunflower Lab achieved?
Sunflower Lab achieved?
Successful migration
Robust code optimization
Upgradation to major Angular version
Delivering bug free code
Reducing lines of code by 60%
With best-practice testing discovering business scenarios that were not even realized by experts
A large backlog of work and a lot of development that needed to be done. Improper UI with lot of lag.
RTNA before digital revolution
RTNA after digital revolution
Responsive application with improved features, better patient care, streamlined billing and quick reports.
Why client chose Sunflower Lab
‘We were working with Yash Patel on our
another project Zinniax and were happy
with the way it was approached.’
another project Zinniax and were happy
with the way it was approached.’
in Client’s words!
“Kishan, the developer from Sunflower Lab really helped us with converting from Angular 1 to Angular 12 and then going from Angular 12 to Angular 16. He also did a lot of refactoring for our Analytics module to make some common components; for anything we threw at him, he could always tackle the requirement with an appropriate resolution.“
Shane Erben
Software Architect
Brains behind the application
Project Management Tool
Every step in managing healthcare information is extremely
crucial to providing best patient care. Want to optimize your
healthcare process?
crucial to providing best patient care. Want to optimize your
healthcare process?