Oncology treatment platform

Oncology treatment platform

Itransition developed a custom HIPAA-compliant oncology treatment platform now used by 700+ medical employees to make evidence-based patient treatment decisions.

Table of contents

Context

Our customer is a US-based provider of health information solutions for practicing oncologists. They wanted to develop a HIPAA-compliant platform that would help doctors make timely and evidence-based patient treatment decisions.

The customer had a working prototype software that allowed them to collect disease reports and research from relevant sources and store them in their knowledge base. However, it did not meet all of their business requirements which included knowledge base management and reports generation. What is more, the company planned to develop a solution that would streamline patient case analysis and facilitate treatment selection through access to relevant research studies. 

The customer was searching for a software vendor for healthcare software development to build such a platform from the ground up. They chose Itransition due to our relevant expertise and a proven track record in the healthcare domain.

Solution

Itransition delivered a platform streamlining the collection of oncology treatment information from medical research, treatment orders creation, and generation of reports for recommended therapies. The platform consists of three interconnected modules: a knowledge base, a reporting module, and a precision medicine portal. 

The knowledge base and reporting modules are the solution's back-office parts, utilized by the customer's medical experts, or curators, only. The precision medicine app is used by doctors or nurses acting on their behalf from medical institutions the customer partners with. The solution is integrated with EHR and LIMS systems as well as with laboratory and insurance service providers. 

Knowledge base

The knowledge base stores information about relevant medical studies, including targeted therapies, clinical trials, and more, providing oncologists with evidence-based insights regarding patient treatment. Using the knowledge base module, curators can collect, structure, and analyze medical research and therapy data and create and modify therapy rules.

Rule creation

To simplify the curator’s job, we implemented a web browser extension connected with 20+ most popular oncology journals, including The Lancet Oncology, Journal of Clinical Oncology, Annals of Oncology, American Society of Clinical Oncology (ASCO), and European Society for Medical Oncology (ESMO). As the curator visits a website, the extension checks the status of a relevant medical publication in the system and offers to add it to the knowledge base. 

Web browser extension

We also implemented a data crawler that automatically collects recent oncology treatment research from the specified list of sources into the knowledge base, filtering and labeling the documents for curators’ manual approval. 

What is more, the system allows for automatic or manual set up of therapy rules based on the research involving test groups. Curators record the number of patients with given markers and the effect therapy had on them from the research. Therapy rules are also assigned levels of evidence, depending on their novelty and approval from medical institutions. When patient treatment is determined, therapy rules help doctors decide on the most appropriate therapy plan.

Beyond that, the module has a Clinical Trials section containing information from current experimental research, with clinical trial data automatically updated from the national database via API. 

Reporting module

We built the reporting module equipped with custom templates to streamline report generation and help practicing doctors make informed diagnosis and treatment decisions. Each report contains tests that were run and their results, chosen therapy and its effectiveness, recommended treatment, and more. 

Reporting module

Reports are generated using only the data approved by curators and ready for internal publication. The data is received from laboratories via SSH File Transfer Protocol in an XML format and uploaded directly to the Reporting module. Reports also employ therapy rules reinforced by medical research. When genetic testing results are matched against the therapy rules, the solution verifies whether this case already exists. If so, a report draft is automatically created using the existing template which can be edited.

Before approval, reports pass several review stages and then are generated in PDF and in JSON format to be displayed at the precision medicine portal as a dynamic report.

Precision medicine portal

Itransition developed a precision medicine portal that automates therapy order creation, helps coordinate doctors, medical labs, patients, and insurers, and facilitates evidence-based therapy. Built as an SaaS solution, the portal can be configured to meet needs of the customer’s partners with customizable workflows and integrations, some of which our team delivered on demand. 

To create medical orders, doctors or nurses start with filling out a dynamic questionnaire with patient information, previous treatments and tests data, and administrative information. 

Due to integrations with EMR, insurance software, and other systems, users can easily get access to the necessary data. Proceeding from the patient's insurance plan, the system analyzes testing completeness and suggests the set of markers for further testing together with the suitable laboratory. After everything is settled, the doctor signs and submits the medical order. Additionally, the order needs to be approved by the medical institution’s management.

Lab and tests selection

Afterward, the system automatically sends a request for testing to a selected laboratory by fax containing all the necessary information. At the same time, a fax is sent to the insurance company for authorization of the requested services. The insurer can fully or partially approve the request and reject it.

Order authorization

Having received authorization, the system sends the final fax to the laboratory which includes the information on approvals and rejections for specific tests, if any. Once results from the laboratory become available, they are automatically uploaded to the Reporting module. Doctors can download reports with test results and recommended therapies or view them in the portal.

Testing results

Additional features

Itransition implemented an analytics module powered by Tableau’s data science capabilities to provide in-depth insights from all data within the system for clinics, laboratories, and insurers. 

Analytics module

We also implemented a Clinical Decisions Support JSON API as a separate solution to help users select necessary genetic tests. Now, clients can send a request for order creation to the platform, take a questionnaire, and select markers for testing, and the platform will suggest suitable labs.

Integrations

We integrated the platform with the EHR system ELLKAY, used by the customer’s partner, via API. The EHR system, in its turn, provides the connection with various EMR systems it supports and allows for integration with laboratories, insurance providers, data analytics systems, etc. 

Because ELLKAY does not cover all integrations, we also connected the platform to a LIMS system representing a subgroup of EHR systems and necessary for integration with some laboratories.

The communication with the EHR and LIMS systems is aligned with HL7 standards for transferring medical information and based on TCP/IP. 

We also implemented a separate integration with a large laboratory and enabled a two-way data exchange. Since the laboratory handled paper documents and faxes, we implemented integration with Sfax to help digitally send and receive faxes.

Technologies

We built the knowledge base and reporting modules using Java, Spring framework, and the MySQL database, and employed JavaScript and Angular framework to develop their frontend. To separate the knowledge base and reporting modules’ backend and frontend and implement changes separately, we shifted their architecture from JSP to SPA.

Initially, the customer planned to have the knowledge base and reporting modules for internal use, but after a while, they decided to go public and develop a precision medicine portal. This required the platform to be highly scalable, sustain high loads, and support multiple integrations and end-clients’ customizations. Considering these requirements, we chose a microservices architecture for portal implementation.

We utilized TypeScript, Angular framework, and Angular Material UI component library to develop the precision medicine portal’s frontend. We built the backend leveraging Java and Kotlin. We used PostgreSQL, MongoDB, and Redis as databases, with the Hibernate ORM tool enabling database access. 

The microservice architecture employs Spring Cloud Netflix, so each microservice acts as a Spring Boot application with its own database. In total, there are around 40 microservices, which communicate through Feign requests and AMQP messages, with RabbitMQ acting as a message broker for the AMQP protocol. 

The solution’s architecture allows for a number of entities to be configured according to the template that defines required and optional configurations. 

Microservices configuration

We carried out the release build using the Gradle build automation tool. We used Jenkins for building and delivering the project with all build configurations stored as Jenkins Pipelines in the Git version control system. We employed Prometheus to monitor the system’s state and service availability and used Graylog for logs analysis. Our team also utilized the Mirth engine for integrating the portal with the reporting module and connecting the solution with third-party systems. Beyond that, we used JUnit and Mockito to write and run unit and integration tests for the portal’s backend and applied Jasmine and Karma to write and run unit tests for the frontend.

The portal’s multi-tier architecture

We hosted the solution on AWS and employed the following range of Amazon services:

  • Amazon VPC for launching environments in a logically isolated virtual network.
  • Amazon EC2 as a virtual computer for deploying each environment.
  • Amazon S3 for storing static frontend files, files generated and processed by the system, user attachments, server and PHI logs, and temporary backups. 
  • Amazon Glacier for long-term storage of backups and logs. 
  • Amazon CloudFront for quickly distributing static files, such as frontend files.
  • AWS Lambda and Amazon SNS for managing notifications from an alert service monitoring the state of the servers. 
  • AWS WAF for access control to the solution’s resources. 
  • Amazon EFS for scalable, elastic, and concurrent storage for EC2 instances. 
  • Amazon Route 53 as a DNS service for resolving the project domain name and redirecting to the required resource. 
  • AWS KMS for creating and managing cryptographic keys. 
  • Amazon CloudWatch for monitoring the state of AWS infrastructure. 
  • AWS IAM for secure management of access to AWS services and resources. 
  • AWS CodeDeploy for automating software deployments to EC2 instances within the CI/CD process.

DevOps

Our DevOps team established four separate environments for the knowledge base and reporting portals, namely for development, staging, testing, and production. They also set up five environments for the precision medicine portal with an extra environment for beta testing by the customer. Apart from that, the team set up two demo environments with slightly different portal configurations to demonstrate the solution to the customer’s future partners. 

To ensure a stable, predictable, and repeatable delivery, our DevOps team implemented CI/CD practices, including continuous code review and quality assurance. The team also performed delivery monitoring, events logging, and alerting, which allowed us to quickly react to issues in the early stages.

DevOps enablement helped us improve agility and accelerate delivery cycles up to 20-30 minutes. What is more, it allowed the customer to cut deployment costs by 50% due to optimized resource utilization. 

Currently, the DevOps team applies the Infrastructure-as-a-Code approach to the project using AWS Code Deploy, Terraform, and Kubernetes, which enables flexibility, scalability, load balancing and control, optimization of infrastructural resources, and automation of deployments and updates.

Testing

To test new platform features, our QA team wrote test cases and used Zephyr integrated with Jira to manage them and compose test runs for regression testing.  

Our QA activities on the project also encompassed defect validation, smoke testing, compatibility testing, and regression testing. Besides that, our team conducted beta testing with real users for pre-production feature checks.

We used Postman to verify some tasks that don’t have a user interface as well as the solution’s APIs. Our team also applied DevTools for reading logs and emulating user activities to measure various indicators. Apart from that, we used browser extensions to accelerate input fields testing.

HIPAA compliance

We developed the oncology treatment platform in line with HIPAA requirements and ensured comprehensive protection of sensitive health information within it. 

First, we made sure the access to patient information is available only to practicing oncologists and each session is logged and stored in the system for five years.

Second, we implemented Advanced Encryption Standard (AES-256) to ensure all patient data is encrypted and securely stored in the database. Additionally, our team applied Transport Layer Security (TLS) to encrypt data whilst in transit.

What is more, we made sure that all actions with PHI are logged separately, with logs encrypted by AWS Key Management Service and kept up for six years in AWS Glacier storage. 

Finally, the customer submitted the platform for the Service Organization Control 2 audit to a third-party company.

Process

Our development team initially consisted of four specialists and with time was scaled up to 16 members as QA and DevOps engineers joined the project. We organized our work in line with the Scrum methodology and had two-week sprints, daily meetings with the customer, backlog reviews, demo sessions, and retrospectives. Once a week we also held technical debt meetings involving developers, QA, and DevOps engineers.

The customer assumed the role of a Product Owner responsible for product development and constantly communicated with our team to discuss their platform vision. Occasionally, we also had meetings dedicated to specific topics like third-party integrations. 

Results

Itransition delivered a custom oncology treatment platform that streamlines patient care by enabling doctors to make decisions based on relevant studies and prescribe appropriate therapy for each patient. The platform also greatly facilitates the work with tests and lab selection, as 90% of doctors accept the automatically recommended test sets without changes. 

The solution is currently used by 700+ employees from 30+ medical institutions across the US, with about 1,000 therapy orders created each month. Besides, several potential clients were interested in incorporating the Clinical Decisions Support API in their existing solutions to facilitate the selection of necessary genetic tests. 

The Itransition team keeps enhancing the platform and constantly adding new features and integrations with laboratories and insurance companies as more clinics adopt the system.