CASE STUDY

Safety Healthcare

A trusted leader in identification and patient safety solutions.

Solution

Web Development

Industry

Life Sciences Tools & Services

Digital Transformation Communication Framework

Computools
Teamlead
Project Manager
Developers
CLIENT
Project Coordinator
Communication

While working on a joint project, it is important from the very beginning to develop a convenient communication system that would allow all participants to be aware of what is happening - to track the execution of tasks and quickly resolve emerging issues. Based on the features of the client and his personal experience, our project manager chose the most optimal communication tools: Skype for discussions and conferences and Email to solve business issues of average urgency, reports and agreeing on further actions.

Business Process Mapping

01
Described

The client independently developed Business Process Mapping to fit his needs, strictly stipulating specific details of the project that are important for achieving the main goal.

02
Modeled

After studying the offered by the client Business Process Mapping we also made our offer to strengthen the team with one more developer, which would speed up the process and complete all tasks on time.

03
Planned

The Computools Project Manager has distributed tasks among developers, especially drawing attention to the key tasks for this project and we started to work.

Digital Platform & Technology

To build a state-of-the-art platform, we have carefully chosen a set of technologies with exceptional performance and security characteristics. Our chosen technologies were also highly efficient in terms of total cost of ownership and support.

Computools
Teamlead
Project Manager
Developers
CLIENT
Project Coordinator
Communication
Java

Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages. This allows to create modular programs and reusable code. One of the most significant advantages of Java is its ability to move easily from one computer system to another.

ReactJS

ReactJS is a JavaScript library that combines the speed of JavaScript and uses a new way of rendering web pages, making them highly dynamic and responsive to user input. The main benefit of the ReactJS for this project is the ability to reuse code components of a different level anytime, meaningful time-saving effect.

Spring Framework

Spring Framework is a powerful lightweight application development framework used for Enterprise Java (JEE). It can be described as a complete and modular framework. The Spring Framework can be used for all layer implementations of a real-time application. It can also be used for the development of a particular layer of a real-time application.

Spring Security

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. The real power of Spring Security is found in how easily it can be extended to meet custom requirements.

Hibernate

Hibernate is an Object-Relational Mapping (ORM) solution for JAVA. It is an open source persistent framework. It is a powerful, high-performance Object-Relational Persistence and Query service for any Java Application. Hibernate maps Java classes to database tables and from Java data types to SQL data types and relieves the developer from 95% of common data persistence related programming tasks.

JPA

The Java Persistence API (JPA) is a standard API for accessing databases from within Java applications. JPA is designed to operate both inside and outside of a Java Enterprise Edition (Java EE) container. JPA represents a simplification of the persistence programming model. The JPA specification explicitly defines the object-relational mapping, rather than relying on vendor-specific mapping implementations. JPA standardizes the important task of object-relational mapping by using annotations or XML to map objects into one or more tables of a database.

Elasticsearch

Elasticsearch is a database that stores, retrieves, and manages document-oriented and semi-structured data. Elasticsearch has its own query domain-specific language in which you specify the query in JSON format. It allows to nest other queries based on the client’s needs. Real-world projects require search on different fields by applying some conditions, different weights, recent documents, values of some predefined fields, and so on. All such complexity can be expressed through a single query.

PostgreSql

PostgreSQL is an enterprise-class open source database management system. It supports both SQL for relational and JSON for non-relational queries. It can run dynamic websites and web apps as a LAMP stack option, write-ahead logging makes it a highly fault-tolerant database, supports geographic objects so it can be used for location-based services and geographic information systems.

System architecture

Specification

The specification developed by our engineers allows us to speed up the application development process, accurately track the steps and make edits to any of them. Main goal: development of medical equipment tracking application using RFID tags.

1. Connecting Main DB with Auth Service and Support Service. 2. Adding UltraDNS API, Google GEO&Timezone and Google mail to Support Service. 3. Developing Hospital1 DB (as a part of the test) and connecting it with Hospital Service. 4. Adding Firebase notification service to Hospital Service. 5. Connecting Auth Service and Hospital Service with Support Service of the App. 6. Implementing ElasticSearch Service to Hospital Service. 7. Developing Hospital2 DB (as a part of the test) and connecting it with Hospital Service. 8. Testing the application for web clients and mobile users.

COMPUTOOLS TEAM

The main task of the company is to complete the tasks set by the client on time. For this purpose, we carefully assemble a team based on the needs of the client and the skills of our employees. High professionalism and experience of our developers allow choosing the most appropriate employees for the project.

Java Developer
Igor Ryadinskii
Front-End Developer
Alexandr Gongadze
Teamlead
Mihail Bobrovski
Project Manager
Aleksandr Novikov

BACKSTAGE

High importance during work on the project is given to the joint solution of problems and the search for the best way. For this purpose, we arrange a variety of types of meetings and discussions, in the process of which the best solution is chosen.

Whiteboard Meeting
Cooperation with other teams and clients also allows to share experiences and make the necessary changes to ready-made solutions, as a fresh look allows to identify small bugs and errors.
Team Brainstorming
Brainstorming is one of the most common ways to jointly find a solution to a complex problem. During the discussion, our developers offer even the most insane solutions that can serve as the basis for new development.
Dev meeting
Getting feedback is as important as the rest work stages of the project. Reviews and reports help us to become better, strengthen our team and the company.

Internal Communication Flow

Properly organized internal communication greatly simplifies the process of managing the project, allows to track the execution of tasks and identify delays and problems. For this project, Jira was chosen as the most optimal tracker. The client was provided with reports on the work done. For internal communication in the team, Skype was used, which allows to quickly solve a problem in a correspondence or conference mode or ask an urgent question.

Project Management Methodology

The right choice of project methodology is a prerequisite for quick execution of tasks, easier management and the earliest achievement of goals. For this project the Scrum was chosen. Scrum originally was formalized for software development projects, but works well for any complex, innovative or new product development scope of work.The Scrum framework is deceptively simple. During sprint planning, the team pulls a small chunk from the top of list with tasks, a sprint backlog, and decides how to implement those pieces. The team has a certain amount of time, a sprint, to complete its work – usually two to four weeks – but meets each day to assess its progress (daily scrum). At the end of the sprint, the work should be potentially shippable, as in ready to hand to a customer, put on a store shelf, or show to a stakeholder. The sprint ends with a sprint review and retrospective.

PROJECT TIMELINE

1 week
2 weeks
9 months
1
Background
Defining Scope
  • Gathering all the necessary data
  • Working on a prototype scheme
2
Strategy
Planning
  • Developing the roadmap of the project
  • Distributing tasks
Teamwork
  • Brainstorming
  • Building a prototype
Tests
  • First series of tests
3
Implementation
Developing
  • Connecting Main DB with Auth Service and Support Service.
  • Adding UltraDNS API, Google GEO&Timezone and Google mail to Support Service.
Implementing
  • Implementing ElasticSearch Service to Hospital Service
  • Implementing Firebase notification service to Hospital Service.
Testing
  • Series of tests before launching

CODE DEVELOPMENT

Development of the code for the project took place in a short time, so we choose technologies and platforms, which significantly simplifies the work and saves time. Since Scrum was chosen as the main methodology, the team performed tasks divided into sprints and shared the results daily. In some cases, it was necessary to further coordinate the chosen solution for the problem with the client. It did not take much time, so all the work was done right on time.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/java-spring-sample

Implementation On Client’s Side

01 Launch

Research carried out in advance and identified the needs of clients potential customers. This allowed us to create a unique application with the necessary functionality.

02 Transfer

Transfer to the main client servers was carried out gradually. Thanks to the technologies chosen for this project and skills of our specialists, everything went quickly and without errors.

03 Education

The client did not request additional training documentation or instructions from us for his staff or potential customers. However, we are always ready to provide everything needed to demonstrate the basic functions of the developed application and the features of interaction with it.

Outcome

Thanks to the professional skills and experience of our developers, the client’s goals were achieved on time. We used the latest technologies and solutions, which allowed us to develop an intuitive, useful application for hospitals that allows tracking medical equipment in hospitals. After completing the project, we keep in touch with the client, so that we can monitor the effectiveness of the App and make edits and improvements if necessary.

1 application
Number of Application Released
0%
Number of Application Released
0 days
Exceeding Deadlines
9 month
Overall Outstafing Time
4 weeks
Average First Version Delivery Time
46%
Increase the number of clients

CONTACT US

Let's talk about your project.
Use the form to drop us an e-mail.

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.