Developing medical apps for survey data collection and privacy concerns
At the doctor’s office when she asks us how much sleep are we getting or how many cups of coffee we consumed per day, our response is often the result of our perception and not actual data. It’s amazing how we made it this far by relying on our perceptions alone, however, by developing medical apps now we have the option to have patients and volunteers keep a daily journal and push it to the cloud where all the results are aggregated and rendered to the doctors and medical caregivers.
Traditionally journals were done using survey sheets given to patients and volunteers. They were supposed to fill out a survey after consuming a particular food or drug, or if they experienced a particular chronic health condition such as migraine headaches, allergic reactions, heart race, etc.
Developing medical apps for surveys
Now a patient has the option of launching an app on their iPhone or Android device, where they can fill out a short survey and push it to the cloud. They can even get a personalized report and summary on their app. Since the release of iOS8, Apple has been providing built-in health tools that can be used by Quantified Self gadgets as well as custom data collection medical, fitness, and health-related apps. Google Fit was released shortly after for the same purpose.
Designing surveys for medical apps
Designing short surveys for data collection apps could be a challenge. Based on our interviews with medical organizations and a lot of them are still using pen and paper with lengthy forms and a large number of questions on them. Problem is that updating paper forms requires reprinting, redistributing, and updating a lot of spreadsheets where all the data end up. It may be hundreds of hours of manual labour work done by interns and volunteers. With software, however, you can automate the data processing and maintenance. Surely some software development effort is involved, but it is not nearly as labour intensive as dealing with paper records or Excel spreadsheets.
Mobile and desktop users are in a different state of mind. A desktop user has more time to go through a lengthy document, but they are less committed to filling out many copies of the same survey every day. A mobile user, however, has less time and attention span, because they are always on the go, but you may get more commitment from them to submit a short survey on a frequent basis. That is only if you design the survey right.
To get better results, shorten the survey and stick with a maximum of 3 to 5 questions. Multiple choice questions often work best. If the user can use a slide to enter a number or percentage, it is always better than entering values in text boxes. If the user is required to enter sentences, use at most one text box per survey. Even a user with a dizzy head, headache, or low energy should be able to fill out the form and submit it in one or a few easy steps.
The magic happens in the cloud
A lot of mobile apps that we use are specialized user interfaces that communicate back and forth with software in the cloud. All the data, information, and content are all stored and processed in the cloud. The mobile app is only responsible for passing a user’s requests and information to the cloud or rendering information that comes back from the cloud API. An API or Application Programming Interface is just a buzzword for the ways that mobile and cloud apps use to communicate with each other.
People are surprised to learn that half of their project cost is invested in building cloud apps for their mobile front-end. That is because communication with the cloud is very transparent to the users. Basically any app that stops functioning in the absence of internet connection relies on some kind of cloud back-end.
What happens in the cloud is quite complex and the work involved in building cloud apps is often largely underestimated. Mobile development shops are highly specialized in developing slick looking mobile apps, but often have little or no experience in developing cloud software. Some rely on 3rd party services such as Parse and Kinvey, but who in the right mind wants to store people’s private information and especially medical data on those services? Some app development shops can put together something using RubyOnRails or other similar rapid application development frameworks. These quickly made apps can store data and provide an API, but developing an architecture that provides people profiles, identity management, privacy, global search, and different kinds of graphs goes beyond the client budget and the expertise of the mobile development shops.
During the past few years, we invested a lot of our time developing the Anahita technology which is a knowledge networking cloud infrastructure for building knowledge sharing apps and services. We invested thousands of hours solving complex scenarios and devising software design patterns to solve those complexities in a simple fashion. It provides nodes and graphs architecture and APIs. The technology is completely open-source. We have clients such as Vancouver Coastal Health using Anahita for the HealthConnection app. Anahita is still in continuous development: it is evolving to become a lean and mean technology for developing scientific and knowledge sharing apps and services. Our focus so far has been on Open Data and Open Access, however as we improve the privacy and security of the system, it will be suitable for handling more private information as well.
Privacy And Security
In medical apps, privacy and security become ever more important. We are dealing with patients’ data that need to be protected by any possible means. For Canadian universities and medical organizations that means hosting all data and apps on Canadian soil, using a secure encrypted connection for all the communications that happen between the mobile app and the cloud, encrypting passwords, and building all kinds of security and privacy features in the apps.
Those are some general rules, however, for each particular app, you need to identify what needs to be secured and what information ought to be protected. That would be very case-specific. There are also privacy requirements in place by medical organizations and the apps need to meet those requirements as well. For a few consulting projects that we’ve had, our proposed solutions had to be audited in advance to ensure data privacy.
Development And Maintenance Cost
A data collection medical app is a mobile cloud architecture which means there is cloud app development cost as well as the cost for developing mobile apps. iOS and Android are currently the dominant mobile platforms. Some may want to save money by using cross-platform or HTML5 tools to develop mobile apps that can be deployed on all platforms such as iOS, Android, Windows, and BlackBerry. Problem is that the usability of cross-platform apps never measures up with native apps developed for iOS or Android. Of course the development cost doubles and triples, but considering the competitive nature of the mobile apps market, user experience is the king and you don’t want to cut corners.
Cloud applications – or web application – may cost as much as a mobile app or more depending on what existing platforms and frameworks are used. Open-source options are much more appealing because then you won’t build your infrastructure on somebody else’s proprietary foundation. Besides, you will have much more control over customization and fixing bugs with open source tools. You will be investing in the development of two or three apps: one cloud and one or two mobile apps for iOS and Android.
Do consider the update and maintenance cost. These kinds of projects could take from 6 to 18 months depending on their level of complexity and number of release cycles. During that time new updates of iOS and Android may become available and the update cost often cannot be included in the estimates in advance. That’s because nobody knows how much work will be involved in updating mobile apps until the updates are available. The cost is normally a few days of extra work, but sometimes it could be significantly more. For example, up to iOS 6 updates were somewhat minimal until Apple completely revamped the UI look and feel in iOS7 and iOS8. Then they introduced iPhone 6 and 6+ with larger screens. The update costs were much higher due to the big changes made in the mobile operating system. Be cautious about a mobile development shop that offers free upgrades as a part of their service. It may be due to their lack of experience or because they are running low on cash and really need your business. Offering free upgrade services can very quickly drain them from cash and your project will be directly affected as a result.
Cloud computing has significantly reduced the cost of hosting web apps. Your cloud hosting cost may start anywhere from a few hundred to a few thousand depending on the volume of data and traffic that you are hosting. Cloud upgrade and maintenance costs could vary depending on the amount of data and the complexity of your system as well. Data accumulates very quickly and every update often requires running data migration scripts and backups. These are sensitive procedures that you cannot afford not to take seriously. Loss or corruption of data will render your entire system useless.
When it gets to development and maintenance cost, beware of tempting discounted offers and aggressive deadlines. Mobile development shops often have little experience in cloud back-end development and maintenance. They may also underestimate the work involved. The software in the cloud is the brain of your system. If mobile apps break, you can always build new ones. If the cloud software breaks, you are out of business!
Canadian universities and medical organizations are required to host their data on Canadian soil so the data can be subjected to or protected by Canadian laws. Search for a Canadian cloud company and make sure that all their servers are in Canada as well. You may be able to negotiate better prices as well as agreeing to customized terms of services that are approved by your legal experts.
Photo by NEC Corporation of America