The ClientStar-MDC (Medisch Diagnostisch Centrum) is one of the largest and most modern laboratories for blood testing and diagnosis in the Netherlands. They provide, among others, prenatal screenings, (pregnancy) ultrasounds, heart and lung functions and biometric investigations. They employ more than 500 professionals at it has more than 100 locations, performing over 4 million tests for more than 1 million clients a year. Star-MDC is also an important thrombosis treatment services provider, having more than 22.000 patients in the Rotterdam area.
Why they chose QubizStar-MDC wanted to use a nearshore software company to develop an online diagnostic platform that would comprise a handful of web and mobile applications to cover every aspect of their activity.One of the most important criteria in the selection process for them was that they could work with the selected IT company as one integrated team. They also felt that geographical proximity and cultural affinity were important factors to be taken into consideration.After being recommended by Leger des Heils, one of our long-term clients, Star-MDC decided to visit us in Romania in order to better understand our way of working. After a throughout selection process, they decided that we fit the profile the best and chose us as their technological partner.
Solutions descriptionQubiz is developing for Star-MDC an Online Diagnosis Platform that uses a common layer of authentication and authorisation incorporating a suite of modules used for different processes:
Thrombosis app (TD)
Using their mobile phone's QR scanner, employees can collect the blood drop test’s result from the Roche diagnostics device. Also, they can fill out a form with relevant medical information regarding the patient. The application sends the information and the test results via a web API to a system which holds the treatment and the medication calendar of the patient. General practitioners can also use Thrombosis app to access descriptions of the laboratory tests and processes. The app was developed for both Windows Phone and Android.
Digitaal Aanvragen Systeem (DAS)
DAS is a web application that manages blood sample and laboratory test requests submitted through HIS (General Practitioners Information System) and ZIS (Hospital Information System). DAS is integrated with several modules of the platform.
The technical solution is composed of an API (ASP.NET Web API), a Web Application (ASP.NET MVC) and a Windows Service Solution to accept digital orders via TCP/IP connection from external services (which are being sent in HL7 packages). Data is parsed and stored in the Online Diagnosis Platform database and is sent to another module of the platform.
Point of Care Testing (POCT)
The application enables the execution of a medical test in the immediate vicinity of a patient in order to provide rapid results outside the conventional laboratory environment. It allows general practitioners to use their own measurement devices to perform medical tests (blood, urine etc.) and then automatically sends the results for processing. The technical solution is composed of a web API, a mini PC used as an on-site gateway for the measurement devices, and an integration with 3rd party systems (Phillips Labosys using HL7). Solution supports both POCT1A as well as HL7 as communication protocol with the devices. Besides capturing observation results the solution allows quality control management as well as device and operators management.
The application assists general practitioners in making digital orders for laboratory tests through the Online Diagnosis Platform, according to their specialisation or the forms that are assigned to them. The application also sends reminders to doctors in case they have to visit a patient at home, and notifies the patient of the doctor’s visit. This module is connected to the HIS (General Practitioners Information System).
Ministar is a web application that features instructions for general practitioners regarding laboratory processes and laboratory tests processes, as well as general guidelines and information for general practitioners and Star-MDC employees alike. The solution also notifies its users in case the processes are not performed as the guidelines mandate.
Online Patient Portal (OPP)
The Online Patient Platform is a new project that will start this year. We'll develop a platform that will grant patients access to their medical information stored on the Online Diagnosis Platform, their medical history with Star-MDC, as well as their profile information. It will also feature a calendar that will function as an overview, but will also send reminders of different scheduled tasks, visits, and appointments. This module will take the form of a suite of native mobile applications (for Android, iOS and Windows Phone), as well as of a web application.
Project setupWe kicked the project off with the Thrombosis (TD) module working with an initial team of two developers (web and mobile - Windows Phone), one of them also playing the SCRUM master role. After 4 months, another mobile developer (Android) joined along with a software architect. After about a year from starting the project, the application was deployed, and after an initial training session, the Star-MDC employees started to use it.In the second phase of the project we started to develop the DAS and POCT modules, whilst four more developers joined the team. 8 months later we managed to deploy three new web applications and three new mobile apps!In the third phase of the project we developed the eOrder module which it took us two months with the same team. The impact of the product owner visiting us regularly was quite visible in this phase, and in a good way! In this phase we also developed the Ministar module.Currently all modules are live and operating. The Thrombosis module is used by four other companies besides Star-MDC, all together performing around 1.500.000 measurements/tests in 2016. We expect to extend the usage of the application to new companies in 2016 companies.In 2016 we expect other companies will join and use the application, and this way to exceed 2,000,000 measurements this year.During the next phase, we are going to develop the Online Patient Portal module. The current structure of the team is as follows: five software developers, a tester, a project manager/SCRUM master, two product owners (on the client's side) and a system architect.
Application typesThe Online Diagnosis Platform (ODP) is a service platform developed for the health care system, and is composed of several web applications (DAS, POCT, eOrder, Ministar) and mobile applications (Thrombosis, DAS, Logistics, Handbook and Ministar).
Architecture patterns & stylesODP is a complex platform integrated with multiple external services. SOA (Service Oriented Architecture) concept is the base of the platform solution, which requires integration with mobile applications via:
- Web API
- REST services
- SOAP communication with external web services
- For both the Windows Phone and the Android applications we implemented MVVM (Model View View Model) architecture.
TechnologiesDue to the complexity of the project, multiple technologies were used:
1. Web applications were build with:
- MVC architectural pattern
- .NET Framework 4.5
- Web API 2 structured in multiple layers
- Presentation layer is build with HTML5 elements
- Less (for CSS)
- Ajax and jQuery for client side
- Data access layer uses Entity Framework 6
- MS SQL Server 2008 database
2. Android app:
- minimum operating system requirement: Ice Cream Sandwich 4.0.3
- API level 15
- target: Android 6.0 API 23
- data is stored on the phone into a SQLite database that is encrypted with a 256 bit AES encryption
- communication with external services is done via REST API connections using Retrofit
- MVVM pattern was used to build all mobile applications running on Android
3. Windows Phone app:
- minimum operating system requirement Windows Phone 8.0
- MVVM architecture
- XAML language for graphic design
- Entity Framework Code First
- Object-relational mapping tool
- SQL Compact database
All applications have a common service interface definition.Business Layer is build using the following concepts:
- Inversion of Control
- Dependency Injection to manage data
- Repository and Visitor patterns