Online Diagnostic Platform

The Client

Star-SHL is one of the largest and most modern medical investigation and testing laboratories in the Netherlands. They employ more than 1300 professionals in its more than 400 facilities. Their thrombosis service caters to around 31000 patients annually. With a large logistics network and an innovative use of digital technology, their results are rapidly available, thus contributing to an accessible and efficient primary care.

Why they chose Qubiz

Star-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 description

Qubiz is developing for Star-MDC an Online Diagnosis Platform designed to streamline the activity of Star-shl by digitising processes, connecting different business units, integrating existing solutions, and centralising tests data. It uses a common layer of authentication and authorization incorporating a suite of modules used for different processes.Most of these applications are used internally by Star-shl's people, such as lab assistants, operators, and administrators, to facilitate laboratory processes. Other applications are used by external specialists, such as doctors and their assistants, in their own practices, in collaboration with Star-shl.

Digitaal Aanvragen Systeem (DAS)

Digitaal Aanvragen Systeem (DAS) is a Xamarin app that manages laboratory test requests submitted through ZIS (Dutch for Hospital Information System) and HIS (Dutch for General Practitioner Information System), systems to be processed by Star-shl's 400+ blood collecting points in and around Rotterdam. Thus, medical personnel knows exactly what type of samples to harvest from the patient. Moreover, the application estimates what quantity of samples is necessary to perform all the prescribed tests. DAS effectively replaces printed paperwork with digital orders, thus slashing bureaucracy and making the whole process more accurate and hassle-free.

The app also works offline, a crucial feature at times when there’s no internet connection and patients are waiting for their blood samples to be taken. The web and mobile instances of the DAS application include a lot of the same functionality, with the web version having some extra features, such as invalid orders and patients management or track & trace samples. For processing digital orders the mobile app is used in more than 90% of the cases, while the web app is preferred when the aforementioned extra functionalities are needed.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.

eOrder

eOrder is a simple and handy ODP module that stores the test request forms submitted by third party doctors and laboratories. Using eOrder, doctors can order a number of specific tests by filling in a custom form that's configurable in the Admin app, based on each practitioner's specialty. To create an order, the medical professional has to first select and validate the patient and then pick the necessary blood tests to be performed. Validating a patient is a separate process that's carried out by sending a validation request (in the form of an HL7* message) to Labosys, an external medical service that stores the records of all Dutch patients.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).

Point of Care Testing (POCT)

The POCT application is used by doctors to request different blood tests and perform those tests directly in their practices, 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 and then automatically sends the results for processing. Besides capturing observation results the solution allows quality control management as well as device and operators management. It is composed of:

  • The web application - where the doctor can request the blood test to be performed by creating a digital POCT order.
  • The custom solution that integrates a Raspberry Pi (mini PC), an internet router, and one or more medical devices (Clinitek Status Plus, Afinion AS100, AQT90 FLEX, Hemocue HB 201 DM) that Star-shl offers. With all these devices the doctors can perform urine or blood tests in a matter of seconds/minutes, in their practices. The medical devices are communicating through the router with the mini PC in a TCP connection, and the mini PC through https is sending the data further to the server-side POCT API. This way the results are linked to the initial POCT order based on which the test was performed.
  • The medical devices are set to communicate in their own language, HL7 or POCT1A, two of the most common medical communication protocols, recognized worldwide. On the server-side, we’ve implemented a solution to interpret and understand these languages so the bi-directional communication flow with the medical devices can be performed.

Identity Portal

Accessing the applications on the Online Diagnostic Platform is facilitated by the Identity Portal. This Portal is a central authentication solution (based on Identity Server) that grants access to ODP apps according to each user's role.Its main functionalities are:

  • Multiple authentication options, from the standard email and password to login systems such as those provided by ZorgPortaal and Microsoft's Active Directory. Additional systems like Google or Facebook Login can be added in the future.
  • Authentication types administration
  • Multi-tenant administration
  • User administration - create / edit / disable / send invitation / reset password / set roles

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.   

Ministar

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 setup

We 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 types

The 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 & styles

ODP 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.

Technologies

Due to the complexity of the project, multiple technologies were used:

1. Web applications built with:

  • MVC architectural pattern
  • .NET Framework 4.5
  • Web API 2 structured in multiple layers
  • The presentation layer is built with HTML5 elements
  • Less (for CSS)
  • Ajax and jQuery for client-side
  • Bootstrap
  • 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 an 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
Let's meet for a chat about your project
Request meeting
Read more about the work we've done
See case studies