The leading online platform for dental and orthodontic
Mobile Development Digital Transformation
Outdated technology and visual design
Not very effective development process
Monolithic application with a high degree of connectivity
Advanced algorithm for working with X-rays
A profitable business niche
A large set of tools for automatic and semi-automatic processing and analysis of images
Dental Health was established in 2000 by a team of experienced orthodontists and software experts, with the vision to build the first of its kind cloud system, that will provide its users with peace of mind and allow them to focus on patient care rather than analyzing cephalometric images by themselves.
Dental Health is the leading online platform for dental and orthodontic practitioners, providing them with solutions for Cephalometric X-Ray analyses, image archiving and patient record management. Dental Health's innovative AlgoCeph technology provide practitioners with accurate & professional cephalometric analysis within seconds, allowing them for greater efficiency, productivity and patient throughput.
The main task of the client was to develop a platform for the orthodontist support, which will help to analyze processing, prepare analytics reports and support in the installation of reference points on the X-ray image for planning the necessary procedure (brace, for instance). After analyzing the client's goals we've decided to offer Dental Health an outstaff team of engineers.
During work on the project Computools specialists identified additional options, improved functionality and design, and solved a number of problems with language packs. Productive work on the application continues as Computools engineers maintain it.
Several key options we solved:
Implemented analyze processing.
Implemented analytics tools for forming reports.
Added features for the X-ray image processing.
Business Process Automation
Digital Platform & Technology
The technology stack was offered by the client, however, we’ve also participated in the discussion.
JPA (Java Persistence Annotation) is Java's standard solution to bridge the gap between object-oriented domain models and relational database systems. The idea is to map Java classes to relational tables and properties of those classes to the rows in the table. This changes the semantics of overall experience of Java coding by seamlessly collaborating two different technology within the same programming paradigm.
A servlet is a Java programming language class that is used to extend the capabilities of servers that host applications accessed by means of a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by web servers.
Canvas is part of the specification for web pages. It gives a way to make space on a web page, and a set of operations for drawing on it. The canvas as an HTML5 element allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap and does not have a built-in scene graph
The organization and creation of a communicative ecosystem greatly simplify the process of developing any application, executing client tasks. It also increases the productivity of collaboration in several times.
In order to effectively accomplish the tasks assigned by the client, the Computools Project Manager tried to create a comfortable communication ecosystem that would facilitate quick decision-making and control over the execution of tasks. Email and Skype were used to communicate with the client, internal communication was built at work in Skype.
In order to finish the project and complete the client’s tasks on time, our engineers have developed a specification based on tasks setted by the client. Thanks to close collaboration with the client’s Project Coordinator we had a good opportunity to pay close attention to all important functional and non-functional requirements.
Create a web application according to all client’s demands. Steps of the Development Process:
1. Implementation of changes to the application interface according to the client’s tasks.
2. Adding checkboxes for each doctor.
3. Solving problems with language packs.
4. Solving problems with a data analysis system in various languages.
5. Creating an analytical report export page
6. Debugging the function of unloading the analytical report for each patient. Maintaining
1. Maintaining of the application.
2. Quick debugging.
To reach the client’s goals and complete the task on time the Computools formed a strong team of Java developers and experts in other technologies required for this project. Thorough selection of project participants allowed to perform all the tasks at a high-level quality and on time.
A productive collaboration between the project participants is a key to success in any difficult situation. A well-organized communication system allows to solve various almost immediately.
Each type of meetings, face-to-face brainstorming, video or audio-conferences, helps to achieve the main goal of the project.
After finishing a large part of the work we conduct team discussions and arrange feedback sessions. Thanks to exchanging opinions and emerging ideas, our developers find truly innovative solutions, improving their personal efficiency and the efficiency of the entire team.
The brainstorming sessions help our engineers to find a really innovative solution. They stimulate creative activity and each participant has an opportunity to offer as many options as possible, including the most fantastic ones. It helps to hit the necessary ideas and solutions.
Well-coordinated collaboration at all stages of the coding and testing process increases the pace of the development. This works especially well when our software engineers cooperate closely with their client counterparts.
Internal Communication Flow
The main goal of the Computools is to finish the project on time and meet all intermediate deadlines with completed tasks and solved issues. To provide quick decision making and solving any difficulties during work on the project developers used Skype. All the necessary information and transitional data were stored and shared through Google Drive. Project Manager used Jira to set tasks to team members and to monitor assignments.
Project Management Methodology
For this project, Kanban was chosen as a proper methodology.
Kanban is a method for managing the creation of products with an emphasis on continual delivery while not overburdening the development team. Kanban is based on 3 main principles: visualize workflow, limit the amount of work in progress, enhance flow (when something is finished, the next highest thing from the backlog is pulled into play). Kanban promotes continuous collaboration and encourages active, ongoing learning and improving by defining the best possible team workflow.
Gathering all the necessary data
Working on a prototype scheme
Developing a strategy
Building a prototype
First series of tests
Solving problems with language packs.
Solving problems with a data analysis system in various languages.
Maintaining of the app
Implementation On Client’s Side
The launch of the application is preceded by thorough preparation by the client. Marketing research, surveys and customer opinions were collected before making the final fixes to the application.
The development of the application was carried out in real time, so only the latest version of the developed application was transferred to the company's main servers.
The development of the application was carried out according to a clear plan and tasks determined by the client in advance. Employee training and writing instructions and user guides were not required. However, the client may contact us for further clarification.
For 10 years, Computools's experts have been providing a full range of software development services to the Retail, Finance, Healthcare, Consumer Services, Energy industries to enhance your innovation and increase your position on the market.
Use Computools`s accelerators to reduce development time for different products and speed up the implementation of core features.