CASE STUDY

MatExLook

Healthcare application helping dentists to check over patient status visually in real life.

Solution

Marketplace for open to sale health care goods in the United States

Industry

Biotechnology

Outcome

During the work on the project, Computools's engineers successfully completed all the tasks, reaching the client's goals. The technologies used to build applications ensure the speed and high efficiency of the finished product. It is evidenced by positive feedback from the client's customers. The simple and intuitive application interface allows to quickly get started and does not require additional training, which significantly increases its popularity.

Several key options we solved:

  • Added the opportunity to export, print and manage images.
  • Implemented features to draw on image and highlight the certain area.
  • Implemented convenient patient management system.

+95%
Throughput, Users
+94%
Average Order
+58%
Increasing Productivity
+64%
Increasing Revenue
-57%
Reducing Costs
47%
Business Process Automation

PROJECT DESCRIPTION

The client is an innovative company located in the USA. They offer intraoral cameras and teledentistry solutions that bring patients, providers, and treatment together. The company strives to improve oral health around the world through innovative software and products that improve communications, enhance understanding, and facilitate the delivery of dental care.

Client’s representatives turned to Computools with an idea to create a special application for dentists. Their goal was to build software for establishing a view from 3rd party devices in application interface for medical purposes.

The key achievement of the project was to build an application that includes user accounting, photo capture and video recording with a special device, manipulation from user interface with media files, creating an "exam" (example progress of patient treatment), printing features for media files and exams, creating a backup and restore for data app.

Need in establishing a local doctors initial pool of users to establish a stable sales circle

Many of modern known competitors

Perfect sustainability for a wide range of operational machines

Excellent price/quality next to a modern competitors

Well Planned development and marketing strategy

Communication Framework

Computools
Business Analyst
Project Manager
Team Lead
Software Engineer
MatExLook
Representatives of the product business owners
Communication

At the initial stage of work on the project, special attention is paid to creating a comfortable communication framework. This allows all participants to constantly stay on one page and resolve any issues quickly while maintaining efficiency. Following consultation with the client, we agreed upon a clear and unambiguous communication framework with scheduled regular Skype online meetings and regular reports by email.

Our communication ecosystem also incorporated a structured documents environment and client access to Computools's internal task management platform. This made both the general project roadmap as well as specific processes transparent and clear for all parties.

Business Process Mapping

01
CONSULTING

At the beginning of work on the project, the team determines the main goals and objectives of the client, as well as the target audience of the finished product. The company's specialists carry out exhaustive research and analysis of existing solutions, competitors and select the best ways to solve the task. Next, the team conducts an analysis of possible risks and obstacles, choosing the best solution for them.

02
DESIGN

At the design stage, several important preparatory activities for the project are carried out. The first is the building of a specification - an algorithm of actions and key sequences of the project. The second is the creation of an interactive prototype of a mobile and web application that will allow to study the functionality, add new options or remove inconvenient ones. The foundation for UX/UI design is also created during this period.

03
ENGINEERING

Engineering begins by forming a team of the necessary specialists to work on the project. Once this is completed, tasks are distributed among all participants. Depending on the chosen methodology, the process can be divided into stages or performed continuously following the selected schedule. Testing and validation is always a mandatory development step.

Digital Platform & Technology

For building a proper fastest-working, HIPAA compatible application we created a windows-based solution integratable with 3rd party devices.

Computools
Business Analyst
Team Lead
Software Engineers
MatExLook
Representatives of the
product business owners
Communication
.NET

.NET is an ecosystem for software development, created by Microsoft in the late 90s. It started simply with .NET framework, transforming it into a highly developed platform that also includes .NET Core, .NET Standard, and Xamarin. Nowadays .NET is known as one of the best choices for developing web based and desktop based applications making complex applications look easier. .NET helps to develop software and applications robustly so that the code works smoothly without issues. .NET’s caching system is known to be extensible and easy to use. It helps developers create custom amendments to improve performance and scale better.

C++

C++ is a viable, or more importantly, a great choice for multi-device, multi-platform app development. In addition to high performance server and middleware, C++ is a great choice for client side development on the two most popular mobile platforms Android and iOS and the two most popular desktop platforms, Windows and Mac OS X. With the recent introduction of developer tools that enable, among other things, visual design for clients, middleware, and server side apps C++ is extremely productive.

UWP

UWP web app development was first introduced in Windows 10 with the total purpose of helping to create universal applications that would work with Windows 10, Windows 10 Mobile, the HoloLens and the Xbox One. Supporting app development in C++, C#, VB.NET, and XAML, it allows to hit all the bases with UWP development services without having to constantly change code depending on the device they are creating the application for.

SQLite

SQLite is a relational database management system to store large records with any administration. It is self-contained and stores objects as a file. It has an amazing set of tools to handle all sorts of data without any server constraint. SQLite uses SQL, so it has all the features of a standard SQL database. Some developers require databases which can scale and provide support for concurrency. SQLite, with its rich feature, can be linked with any application in production.

Specification

The specification is written throughout the work on the project. An initial specification is needed to create an algorithm for working on a project. In the future, the project specification is supplemented by the necessary information.

Goal - create an "exam" - example progress of patient treatment.

Precondition Apply user accounting, photo capture and video recording with a special device, manipulation from user interface with media files to create an "exam" (example progress of patient treatment), print feature for media files and exams, creating a backup and restore for data app.

Main Flow Upload specific files. Process a proper treatment. Create an "exam" (example progress of patient treatment) Print feature for media files and exam.

Postconditions Existing "Exam" materials for a proper treatment.

COMPUTOOLS TEAM

To make the project a success, we have chosen the best specialists with the most appropriate expertise and experience from Computools’s talent pool. When choosing, the social skills of employees are also taken into account - comfort teamwork is also important to maintain efficiency while working on a project.

Project Manager
Artem Karpuchin
Business Analyst
Victoriia Semenchenko
Teamlead
Michail Bobrovskiy
Software Engineer
Stanislav Zinoviev
Quality Assurance Engineer
Mariia Boborova
UI Designer
Sergei Shmatov
UX Designer
Valeriy Panchenko

BACKSTAGE

There is more to quality than meets the eye so there is even more backstage activity at Computools that benefits the client. Each kind of meeting serves its own purpose, but all of them work towards a common goal - successful transformation of the client’s business.

Whiteboard meeting
Whiteboard meetings are a great way to continuously align everyone's efforts on the quest towards perfection and a very effective tool for visualizing progress and obstacles.
Team brainstorming
Collective brainstorming is a very effective technique designed to let the best ideas come to reality. Each team member expresses his ideas, so the most brilliant of them are born.
Dev Meeting
A special kind of meeting, it allows to take the collaborative process all the way to de-facto editing the code in parallel. This works especially well when our engineers engage with their client counterparts.

Internal Communication Flow

To support efficient internal communication within the project team we have chosen Email for sharing reports and tasks; Skype and Slack were perfect for addressing urgent issues, as well as for scheduling and conducting audio/video conferences. Redmine and Jira Project Management Platforms were used for role assignment and progress control.

Project Management Methodology

Scrum, an effective Agile methodology for application development, helps to solve the time management problems. Scrum offers an efficient system of workload traffic control. The first step of task fulfillment in Scrum is defining the product backlog – a list of subtasks that should all be done to achieve the result. The team works with a Product Owner – a person who acts as a mediator and consultant between the client and the team. In Scrum for app development, the roles and tasks are divided in such a way that all of the members get roughly equal amounts of work. Working with Scrum we create special internal systems, which evaluate the workload of each team member to improve time management and an overall level of organization of the team.

PROJECT TIMELINE

1 week
2 weeks
3 months
1
CONSULT
Defining Goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining restrictions and providing solutions for them
  • Identifying the main risks
2
DESIGN
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive Prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
ENGINEER
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Distribution and execution of project tasks
  • Integration of the necessary options
  • Secure system for additional data needed for selling
  • Environment Setting of Client’s Server
  • Migrating Users’ Data To A New Application
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Design

Working on product design, we primarily develop its architecture, as this has a great influence on how the design will be built in the future, and how ways of promoting and upgrading the product will be organized.

Computools
Architect
Business Analyst
UI Designer
UX Designer
MatExLook
Representatives of the product business owners
Communication

Engineering

We implemented the Continuous Integration and Delivery System and established a Version Control System Flow in the development stage. Automated Integration Testing was conducted with the help of Use Cases based on User Stories from Specification. During this process the Team Lead constantly reviewed and refactored the Code until the team achieved the point of Stable Release. This approach allowed the team to achieve stable and predictable outcome on time and on spec.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/MatExLook

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

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.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.