Telemedicine-ready EHR

Telemedicine-ready EHR

Development and testing of a Telemedicine-enabled EHR, integrated with innovative voice recognition, smartpen and clinical text analysis features.

Table of contents


Triptych Technologies Inc. is a leading IT company developing medical software capabilities focused on maximizing the recording, storage and retrieval of patient care information supporting the healthcare community. The company is focusing on reimagining medical system interfaces through the collaboration with physicians and other healthcare providers to successfully enhance their usability and productivity through the incorporation of the latest industry technologies. Itransition, a long-term technology partner to Triptych, as such has successfully completed many projects; among them was the creation of the product for a busy and successful medical practice as described in the case study below.

Existing electronic health records (EHRs) on the market have been created by developers, without fully taking into consideration the unique needs of physicians and other healthcare providers, their workflow and timeframes requirements. Additionally, most EHRs have been based on a one-size-fits-all approach created for generalized clinics and insurance companies rather than small clinics or individual physician practices failing to consider the very different specifics of each healthcare organization and diverse types of end users. It has been noted that inefficient EHRs suffer from navigation and usability problems, outdated interfaces, and unnecessary validation and confirmation steps having an adverse impact on the efficiency and flexibility of delivering healthcare support.

A client approached Triptych with a concept for an EHR, which evolved to become Sapiocare, and Itransition was contracted to accomplish the project due to our expertise in development EHR and telehealth solutions. The project sponsor, as a seasoned healthcare provider with extensive clinical and practical experience and a sitting member of the board of directors of a successful practice, recognized firsthand that the industry was in dire need of an EHR which would optimize complex workflow of medical practices. It was decided to create a solution with built-in telemedicine functionality, with the development process guided and monitored by physicians, healthcare providers and industry experts.

Project Goals

The main planned competitive advantage of the planned EHR product was to use innovate methods of natural data input (voice, pen and paper) to speed up administrative processes and pay more attention to patients during encounters, combined with the telemedicine functionality to facilitate instant communication with patients, and possibly other physicians.

The main objective of the system as created is for doctors to spend as little time as possible on filling out an Encounter Note. UX and usability were also vital for the customer, since simplifying and speeding up data entry was the main concern. The learning curve of adapting the system by the users is none-to-minimal. 

Goals of the developed EHR are to:

  1. Optimize doctor input of medical records (intuitive user-centered web UI, speech recognition, smartpen).
  2. Enhance doctor-patient communication with the help of an online medical teleconference solution.
  3. Build an advanced integration solution with medical services providers (pharmacies, labs, etc.).
  4. Continue to provide services while being disconnected from the server.
  5. Make sure the system is compliant with a set of medical standards and regulations (HIPAA, ONC, CEHRT, Section 508, etc.).


The client had a thorough understanding of business goals, and Itransition, as an expert in healthcare digitization, stepped in to turn them into reality. Itransition studied the project, gathered requirements, prioritized them, eliminated conflicting ones, created mockups and developed a prototype, successfully implementing a full healthcare digital transformation.

Solution Functionality

The users of the solution are employees of the care provider organization and patients of the organization.

The solution automates the following business processes: scheduling patient appointments, keeping medical history records, forming billing reports without integration with a concrete payment system.

Care provider portal Patient portal
  • Patient appointments, scheduling without overlapping, planning
  • Supporting physicians during encounters (speech analysis, recognition of medical terms)
  • Permission and access rights distribution according to user roles 
  • Advanced self-audit of HIPAA standards (the portal creates reports of all performed business actions: access history, “break the glass” history, user roles and permissions history, etc.)
  • Teleconference
  • Reporting
  • 24/7 access to patient’s medical records
  • Requesting appointments
  • Viewing past visit summaries 
  • Exchanging secure messages with doctors
  • Viewing, printing and downloading health summary reports
  • Requesting referrals
  • Accessing the education module with a list of patient’s active medications linked to official medical resources (WebMed, CDC and MedlinePlus)


Creating a capability that complies with the variety of official medical and security standards (PCI, HIPAA, ONC, Section 508), and analysis of a broad spectrum of documentation on regulations, guides, other systems, etc., was quite challenging. 

Itransition’s business analyst was able to acquire expertise from other similar projects, create guides on developing medical software, analyze complex documentation from CMS (Centers for Medicare & Medicaid Services), compile compliance checklists and compare ongoing achievements with the checklist targets.


Speech recognition

The main functional and technological feature of the solution is integration with platforms for natural language processing and voice recognition. Itransition implemented Nuance’s Dragon speech recognition software solution without the necessity to own the device itself. If the physician already has a Dragon account, the accounts are united and Nuance in the Sapiocare EHR recognizes the doctor, their speech patterns, speed and pronunciation peculiarities, set commands and so on. In future it is planned to extend this feature to the level of Siri. 


Sapiocare is integrated with an Automated System of handwriting recognition (from electronic ink to digital notes).The smartpen allows doctors to fill in initial encounter forms on regular paper, with handwritten and printed text recognized by additional services, and stored digitally in the Sapiocare system. In future, the smartpen is planned to be used by patients in waiting rooms prior to the appointment commencement, so that when they enter the doctor’s office, all the data provided is already in the system.

Clinical text analysis using Apache cTakes

Integration of ready-made libraries for medical term recognition with subsequent identification from SNOWMED CT. Text analysis enables the system to recognize medical terms using the richest medical terminology database in the world, SNOWMED Clinical Terms. Using cTakes allows various healthcare professionals (desk clerks, medical assistants, registered nurses, physicians, etc.) at various stages of interacting with the patient to document information in the encounter note or SOAP (subjective objective assessment plan) note much faster than traditional data input methods. In future, it can also be used to analyze patterns and frequency of medications prescribed, disease occurrence, MIPS/MACRA, and other important metrics.


In the effort to minimize readmission rates, televisits have proven to be quite effective. In the past, when patients with certain conditions had to be monitored constantly, frequent nurse visits were used, but now televisits conducted through a secure HIPAA-compliant portal can substitute for these activities. In future, televisits are planned to be used for virtual meetings with other physicians and other healthcare providers.

The psychological value of using natural language processing and clinical text analysis is in the elimination of computers from visits entirely and focusing on patient care instead. All these innovative features concentrated in a single solution, the Sapiocare system, make the product stand out from all competition in the marketplace.

High Level Architecture

High level architecture

The system can be deployed either in the cloud and on-premise. The source code for both options of the deployment is the same; the different behavior is considered in the design and controlled by a simple configuration.

Background Processing is the service component that performs scheduled tasks or processes large portions of data in the background. For on-premise deployment it includes Sync job that synchronizes data with a global database on schedule or on triggers from the EHR. On-premise Interface Service Web service is used for direct interaction of on-premise deployments with global data.

Permanent storage of system data is realized with the help of a single multi-tenant database (data in one place, separation of data is done with HCO identifiers) for cloud deployment.

The system enables users to keep a medical entry in the system from 5 to 28 years, making the volume of processed data quite large. The medical record is the main type of data, and may consist of text data, accompanied by binary attachments such as test results, X-rays, ultrasounds, etc.

EHR Layers

EHR Layers

The image below illustrates system layers responsibilities on the example of a simple use case for loading appointment information. If the appointment information, with the patient information attached, is required to be loaded for viewing, the AppointmentViewModel aggregates the Appointment and Patient models.

A simple use case for loading appointment information


System users were stored in the system database, with no external identity providers supported.

The portals use Claims-based authentication in OWIN. Automatic sign out in case of inactivity is implemented.

For each functional module authorization on the basis of OWIN authentication providers is used.

Keys for encryption are managed by AWS IAM service (AWS Key master is used for encryption of environment variables on nodes as well).

Load balancer uses the SSL/TLS protocol for encrypted connections. Traffic is encrypted between ELB and nodes (EC2 instances) as well.

The EHR is protected against common types of attacks with built-in ASP.NET MVC tools: XSS and XRSF (AntiForgeryToken). The system is available via the HTTPS protocol.



Itransition provided a dedicated team of 7 specialists, including .NET developers, a business analysist, a QA engineer, and three part-time experts: UX specialist, Scrum Master and a project manager playing a role of product owner. Itransition’s team held weekly meetings with the client, providing prototypes and demos to gage the development progress.

Development Stages

The team collaborated with the client during the following project development stages: pre-analysis, analysis and requirements gathering, technical and graphic, development, research, integration and testing. 

Itransition’s team created pre-production materials, system architecture documentation, and the minimal prototype that was approved for production. The team showed iteration results to the sponsor and subject matter experts, collected feedback, and implement approved steps. 

Main Development Tools

Visual Studio 2015

Integrated development environment


Scaffolding generator for Frontend/ ASP.NET


.NET build utility


Server-side package manager


Automated code quality control tool


Frontend build utility


Frontend libraries package manager


Source control


Issues and Fixes

Issue Dealing with constant changes and rewrites to the system.
Fix Itransition used an iterative Agile development model. The business analysist and project manager worked closely with the stakeholders directly at their practice. Itransition worked with subject matter experts with more than 50 years of medical systems administration and budgeting experience. They worked with the business analyst to describe the workflow and daily routine of doctors working with an EHR, the look and feel of the desired solution, as well as industry standards and best practices.
Issue The project was complicated by the goal to integrate with external solutions such as electronic pens, speech recognition, natural language processor, telemedicine, not to mention pharmaceuticals interaction databases and connection of external databases.
Fix Itransition’s team did market research and analysis, tried different solutions within small POC, communicated with providers of these services and integrated solutions on different platforms (.NET and Java).
Issue Organizational issues with establishing partnerships with existing videoconferencing services, problems with finding a suitable service supporting the HIPAA security standards, and issues with stability and flexibility of their APIs.
Fix We tried several options to achieve a perfect compromise and came to develop a functional solution that resolved those issues.

Core Techonologies

Microsoft technologies were used as a platform for the implementation of the project. The system is deployed in the Amazon cloud with Amazon services (S3, Elastic Beanstalk) integration.

The main technology used was .NET (ASP.NET Core 1.0, AWS Elastic Beanstalk, MSSQL, EF 6.0, Knockout JS, Kendo UI, HTML 5 Offline, Fast Reports, cTakes).

The presentation layer of the solution was built using ASP.NET MVC Pages, KnockoutJS with Kendo UI (for third-party UI components), Fast reports). The connectivity layer was built using REST API (with the backend on .NET, Java service). The persistence (database) layer was built with MS SQL as the main database in the cloud (Amazon RDS). Other databases used were Redis, Docker (Java service), and Windows server.

Integration tasks were performed using Java with the same resources.

The following technologies were selected for the development of the system.

Common Stack

MS .NET 4.6.1

Base platform for development


Inversion-of-control container


SDK for connecting to AWS services


Main programming language for development


Library for automating mapping of models

NLog with Common.Logging

Logging framework

MS Entity Framework

Data access ORM framework


Web Stack


Web development MVC framework for .NET


Library to optimize web resources loading


Library for simplifying connection management (offline/online handling) and access to Web Storage


REST services framework


Library for building dynamic web UI on JavaScript

Kendo UI Scheduler

Rich component for Outlook-like scheduling


Programming language extensions for JavaScript

Kendo UI

UI components library for web development


CSS pre-processor


JS library for HTML document manipulations and AJAX requests

Kendo UI Grid

Rich datagrid component on JS, with filtering, sorting, paging support



MS SQL Standard Enterprise Edition

Database solution for on-premises deployments

Amazon RDS for SQL Server

High-available and partitionable SQL service on AWS, oriented on systems with high load


The solution was tested during the whole development cycle, except the discovery stage. Functional testing was used with the main goal of ensuring that the end product is compliant with HIPAA and ONC standards for easy certification. Medical and security standards checklists were used to achieve this. Functionality was another important aspect to be tested.

Testing Process

Functional testing was carried out on the component level, where the operation of each component at the desired level was checked by conducting a Full Acceptance Test. We also conducted integration testing, checking the relationship between the modules of the system, as well as between the two portals. At the moment, there is no integration with third-party services, so integration testing was only carried out on the Sapiocare system. Acceptance tests were conducted by the customer. All functional defects were found and corrected using black-box and grey-box testing.

The project is characterized by constant communication and detailed sprint planning, with all features specified and discussed during frequent design meetings. 

Test cases were written based on gathered requirements and business processes.

The requirements were compiled by the business analyst on the basis of analyzing popular EHR systems, best practices and industry standards, as well as during communications with the customer, where functionality priorities were determined.

Requirements were also presented in the form of high-level business use cases, where business processes were thoroughly described.

Testing Tools


Unit testing framework


Test data generation helper


Testing automation in browser


Mocking framework


BDD scenarios definition and runner


Continuous test running tool

Testing Results

The project is characterized by its stability, in regards to both the development and the testing processes. For more than 1 year of testing Sapiocare, there were no significant quality peaks or plunges. All the metrics for detected defects and the defect lifetime showed a stable positive result.

Project Results

The project grew in scope and time limits because of changing requirements. Partial implementation is not possible because of the strict functional standards of healthcare applications and compliances with HIPAA, ONC, CEHRT, and Section 508. At the moment Development Version 1 is nearing its finish line, and implementation is currently being planned.