Healthcare application helping dentists to check over patient status visually in real life
Marketplace for open to sale health care goods in the United States
CEOChief Executive Officer
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
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.
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.
Business Process Automation
Digital Platform & Technology
For building a proper fastest-working, HIPAA compatible application we created a windows-based solution integratable with 3rd party devices.
.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++ 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 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 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.
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.
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.
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.
Upload specific files.
Process a proper treatment.
Create an "exam" (example progress of patient treatment)
Print feature for media files and exam.
Existing "Exam" materials for a proper treatment.
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.
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 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.
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.
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.
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
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
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
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
Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency
Project architecture is crucial to building a robust, ergonomic design. The team pays special attention to the development of the product's functional elements and the ways these elements interact.