Privis Health
September 2017
January 2019
Software Design

I joined the Privis team as they were embarking on a complete rebuild of their population health and chronic care management platform. This rebuild covered all aspects of the platform including the browser-based front-end application, the backend services, the deployment infrastructure, and the data integration interfaces. Everything was being redesigned and developed from scratch.

In light of my experience working with React, I was brought in to help guide the design and development of the front-end application. I worked alongside the four other front-end engineers designing and developing various features within the platform. Eventually the scope of my work led to other areas of the platform, including the C# backend services, the CI/build process, and the deployment environment/infrastructure. In each of these cases, I was able to get up to speed quickly, broadening the scope of my familiarity within the platform, and continuing to deliver high quality functionality in a timely manner.

The following are a few of the features that I delivered as part of this rebuild:

  • Patient Dashboard: Developed a new section within the application to provide detailed care management insight on a per-patient basis. This included the display of this data in various charts, tables, and graphs, capturing different aspects of the patient's progress toward their personalized goals. All of this content was dynamically retrieved from the backend services and exposed in a manner that allowed the user to immediately grasp the general status of the patient while also allowing them to drill in further, if more detailed insight is needed.

  • Care Document: Added support for generating a PDF document that outlined the full history of the care a given patient has received. Evaluated a set of PDF generation tools selecting the one that aligned with the needs of the business and the capabilities of the team. Included support for configuring the template used for this document on a per-customer basis.

  • Patient Assessments: Developed the framework for displaying and collecting responses to configurable forms used to monitor and capture a patient's progress within their current pathway. These forms were known as assessments within the system and were configured by the customer according to the patients they serve and the processes used to treat these patients. As a result, the structure and behavior of these forms was highly customized, including a wide range of question types and conditional logic used to determine whether subsequent questions/sections should shown or hidden.

  • NPI Registry Integration: Integrated the system with the NPI Registry, which provides a standardized identifier and detailed information about healthcare workers and service providers. Supported multiple methods for querying this content to streamline the process of identifying the service providers caring for a given patient.

  • Admin Dashboard: Set up an administrative dashboard to allow various types of configurable records to be managed directly from within the platform. This included management of a hierarchy of hospitals/organizations covered by the platform, the configuration of roles based on a granular set of permissions, and user management, including their personal information, contact information, authorizations, and assigned organizations.

  • PGIT Builder: Built a standalone tool for developing and managing the hierarchy of problems, goals, interventions, and tasks (PGITs) used with the platform. PGITs were the internal representation of the complex decision tree, also known as a pathway, used to treat a given patient's conditions. The dynamic and composable nature of this functionality was one of the key value propositions for the system, but also became very challenging to understand and manage effectively at scale. To address this, I developed a utility that allowed the team to visualize, modify, and reuse groups of PGITs, significantly increasing the efficiency of this process and allowing us to more confidently reflect the unique needs of each organization in the pathways developed for their program.

After nearly a year, we reached the completion of the initial version of the new platform. With this, the heavy lifting had been completed and the team's focus shifted from new feature development to client on-boarding and maintenance. It was amazing to see all the hard work done since the start of the project finally deployed and put into the hands of the customer.