Project Objective
The client wanted to rewrite a healthcare solution that allowed users to connect with a dentist remotely at any time. While the application did exist, its features were non-functional and it used outdated technologies. The client requested a Minimum Viable Product with the hope to add additional features once funding was later secured.
Client
The client is a privately-held startup focused on mobile telehealth and teledentistry. The client sought to disrupt the current expensive, ineffective way of addressing dental needs with a live, on-demand dental professional providing appropriate care.
Project Scope
Keyhole Software was brought in to develop the MVP of a dental consultation and referral system that allowed emergency departments, urgent care centers, and retail-based clinics to have a dentist available 24/7/365 from online professionals.
- Provide architectural and software development services to create a high quality, scalable, and secure solution.
- Enact features to allow a patient the ability to speak to a dental professional live, triage dental issues, provide education, and refer the patient to a provider.
- Develop new application using as much of the existing code base and UI artifacts as possible.
- Application to be designed for accessed via a company kiosk Client or kiosk web application instance, with an additional web-based administration website.
Technical Overview
Kiosk Client
The kiosk is an Electron-based app that runs on laptops at clinics, hospitals, urgent care centers, and other medical facilities. It uses Node.js, Angular, Bootstrap CSS, and Electron. Electron is a framework for creating native desktop applications with web technologies like JavaScript, HTML, and CSS.
Kiosk Web
The kiosk web application allows patients to connect with a dentist remotely from anywhere. It uses Node.js, Angular, and Bootstrap CSS to allow for a responsive design and can be used on a phone, tablet, or browser. The same core code from the Kiosk Client is used, except it runs in a web browser versus the desktop.
Backend
The application backend uses Node and Express to provide a RESTful API and connects to a MongoDB database and Redis cache for queuing patients. Git/GitHub was used for source control, with NPM for package management, and Gulp for builds. Trello was also used for managing work and issues.
Hardware
The Dentist Admin website, Kiosk website, RESTful APIs, Mongo DB and Redis databases are run on cloud-based servers hosted by Heroku and mLab. They have the ability to be scaled up and down as needs change.
Third-Party Integrations
Sightcall, a WebRTC-based technology, is used for live video conferencing and remote assistance.
Sfax is used for sending dentist notes, privacy notice, and consent forms from the dentists to remote patients.
Architecture Overview
Application Development Outcome
Keyhole Software successfully architected, developed, and delivered the application minimum viable product to client specifications. It was developed in an iterative, agile approach and delivered functionality in time-boxed sprints. Post-delivery, the working application was to be used by the client to pitch the company to healthcare partners and clients.