Custom Software Showcase

Care Management Mobile App

Business Summary

The app is a care/case management mobile app targeted towards tablets that allows field care representatives to perform many vital on-site tasks, even without an internet connection. At a high level those tasks include:

View and edit member health and demographic info

Perform assessments and input new data captured on-site

Generate care plans and related problems/goals/interventions based on defined rules

Technical Summary

The app is a native app that was built with Xamarin (C# mobile framework) and works on iOS, Android and UWP in vertical and horizontal perspectives. The app supports both SSO and username/password authentication along with two-factor authentication using a PIN generated by the user. It gets its data by interacting with a set of REST services hosted by the primary vendor that allows the app to pull and update reference data, such as new assessment types, and “checkout” members for mobile/offline use.

Additional Security Info

All member data, regardless of whether or not it is considered PII or PHI, is encrypted both in transport and at rest on the device. The app currently supports TLS 1.2 and SHA-256. When a member is checked back in, all encrypted member data is scrubbed from the device. Additionally, encryption is linked to the user that checked out the member. Therefore, another valid user cannot view member data on a device checked out by another user.

Dynamic Assessments

Due to the regularly changing nature of health care, the types of assessments and the data gathered as part of those assessments also regularly changes. Having to create a new distribution each time a question or answer options change is impractical. In order to manage this, the app uses JSON templates that describe the sections, tabs, text and controls needed to dynamically generate assessments in native form. Templates are pulled from the web servers via REST services.


The app is designed from the ground up to work with data stored locally. Therefore, once a member is checked out, the app natively interacts with the local data store, providing users a fluid experience while working on-site with members. For reference (non-member) data, at login the app is able to check if this data has changed (or not) and will only update reference data that has changed since the last login of the user.

Member Check-In and Data Submissions

While a user is generating new data for members, the app creates an encrypted ordered transaction list. At the time of check-in, the app will push these transactions to the server one by one to ensure they are applied in the same order that the user-generated the data. Further, the app monitors transactions as they are sent. If there is a failure in communication, the app will stop check-in at that point. The user can then attempt another check-in and the app will continue from the point of failure.

Online vs Offline

While the app is natively designed to work offline, there are certain features that are “nice to haves” if the device is online. For example, the ability to search for a provider. It is somewhat impractical to store a list of all providers offline on the device. In these cases, the app detects if a user is online or offline and will adjust their experience accordingly.

Technologies Used:

xamarin Logo
Spring Logo
Azure Logo
Java Logo
Docker Logo
.net mvc Logo

Schedule a Demo