Patient Record System & Database Migration

Azati helped a well-known healthcare company to merge two separate solutions, enhance the user interface, and optimize basic business processes, leading to smoother system operation and increased performance.

Discuss an idea

All Technologies Used

Java
Java
Oracle
Oracle
JasperReports
JasperReports
PostgreSQL
PostgreSQL
ZK
ZK
Spring
Spring
Hibernate
Hibernate
SQL
SQL
MySQL
MySQL

Motivation

A healthcare company faced challenges managing two separate databases for its Physician and Patient Records modules. Azati was hired to merge the databases, integrate internal Java logic, enhance the user interface, and develop a new recruitment module. These efforts significantly improved system performance, simplified maintenance, and allowed for easier third-party integrations.

Main Challenges

Challenge 1
Merging Two Different Database Technologies

The two main subsystems used different database technologies: PostgreSQL for the Physician Module and Oracle for the Patient Records Module. Merging them into a unified structure was risky, especially considering the massive amounts of data and high user volume.

Challenge 2
User Interface Enrichment

Enhancing the user interface was complicated by the limited functionality of the ZK Framework. Adding tables for medical conclusions for recruits required vertical and horizontal scaling, necessitating a large amount of custom code.

Challenge 3
Remote Workflow and Infrastructure Issues

The team worked remotely, over 5500 kilometers away from the customer, leading to infrastructure problems such as server performance and delays. Automated testing and server reboots caused significant lag, complicating the workflow.

Challenge 4
Project Management and Task Clarity

Task descriptions were often vague, and frequent changes in project management slowed progress. The team took a proactive approach to clarify tasks and ensure correct execution.

Key Features

  • Database Migration and Merging: Successfully merged two large databases (PostgreSQL and Oracle) into a single system.
  • UI Enrichment: Developed and implemented new UI elements to display medical conclusions with an expanded table.
  • Recruitment Module: Created a module for tracking military suitability for recruits with detailed medical examination reports.
  • PDF Generation: Rebuilt important forms (Form 088) from scratch, integrating them into the system using JasperReports for PDF generation.
  • Enhanced Internal Logic: Rewrote Java internal logic to add two roles (doctor and verified patient).

Our Approach

Database Merging and Unification
We successfully merged the two databases (PostgreSQL and Oracle) into a single structure, ensuring compatibility and efficient data processing.
Rewriting Internal Java Logic
We rewrote significant parts of the internal logic to add a new 'verified patient' role to the Physician Module, enabling seamless operation for different user types.
User Interface Optimization
Despite ZK Framework limitations, we developed custom tables for the web interface to display medical conclusions for recruits.
Overcoming Infrastructure Challenges
To resolve performance issues, we deployed the application in a private cloud and moved the databases closer to the development team, improving response times and minimizing delays.
Managing Distributed Workflow
We used Redmine for task management and maintained regular communication through daily discussions and bi-weekly meetings to track progress and ensure smooth workflow despite challenges.

Project Impact

Merging the databases and optimizing internal logic significantly improved system performance and user experience.

The unified system simplified data management, reduced maintenance complexity, and enhanced the accuracy of medical records

New features enabled faster deployment of additional services and modules, greatly improving the healthcare platform’s operations.

The project was successfully launched, and all key functionalities were delivered, positively impacting the client's operational activities.

Ready To Get Started

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.