Methods

Requirement Analysis

In order to use an e-PROM system clinically in our setting, we identified the following requirements for a minimum viable product:

Software choice

After reviewing the requirements we decided to go ahead with Drupal (version 8.8.x) as the core content management system on which the platform will be developed \cite{cms}. The choice of Drupal was dictated by the fact that it is open-source and has a great eco-system of add-ons (also called modules) which can extend the functionality. The software is easily installable on a Linux server with a MySQL database backend. Not only is Drupal 8 modular and extensible, but also has the following features built-in:
  1. Modular role-based permission system and a robust user authentication system.
  2. Responsive design allowing usage across devices like mobiles, tablets and desktops without requiring additional theming and coding.
  3. Strong support for regional languages and integration with translation management services. Currently supported Indian languages include Assamese, Bengali, Gujrati, Hindi, Kannada, Malayalam, Marathi, Odia, Nepali, Punjabi, Sindhi, Singhala, Tamil, Telugu, and Urdu \cite{translations}.
  4. Integration with a powerful graphical database query builder (Views) which can return tabular summaries of data.
  5. A separation between the front end and back end allowing content developers and site administrators to have separate work interfaces
  6. An active open source community of developers backed by multiple enterprises.
In addition, we also used the following contributed modules to build the required functionality:
  1. Charts: A module that allows the display of charts using data from Views \cite{charts}.
  2. Group: Allows creation of arbitrary groups of users with group-specific content and membership. Access control is also built-in and tiers on top of the existing access control \cite{group}. Also allows integration with Views.
  3. Media: Allows management, translation and embedding files and multimedia elements (e.g. audio, video) across the site \cite{media}.
  4. Webform: A complete form builder with support for a diverse range of form elements, skip logic, calculated fields, translation, visualization, data export along with application programming interface (API) support \cite{webform}.
  5. Lingotek Translation: A translation management system offering automated as well as manual translation for Drupal entities \cite{translation}.

Software deployment

The CMS was deployed on a virtual machine in the Google Cloud platform on an n1-standard-1 machine (with 1 virtual Intel Haswell CPU and 3.75 GB of memory). Ubuntu 18.04 server was installed on the machine. Standard MySQL (26), PHP (PHP: Hypertext Preprocessor(27)) and Nginx (28) packages were installed from the Ubuntu package repositories. The standard installation profile of Drupal was deployed using Composer (a PHP dependency manager)(29). The deployed website is available currently at https://astu.pw.

User Roles and Functionality

The site defines three types of roles with role-specific privileges and features (\ref{208334}):
  1. Patient
  2. Health Care Workers
  3. Site Administrator
The group module is used to create disease (cancer) specific groups such that specific questionnaires could be targeted to specific patients. Thus patients with breast cancer would only see PROMs for breast cancer. Given the large number of patients seen in health care settings in India, it may not be possible to ensure that each and every patient gets individual attention from a health care worker while filling the PROM. Hence this arrangement should reduce the chances of patients filling in wrong questionnaires.
Each patient can view information related to the disease group they belong to. Given the rich content creation ability in the site varied types of content can be presented to the patients at a later stage of development.
Physicians and other healthcare workers have higher privileges. They can create, edit and translate questionnaires (forms) and view responses to the questionnaires filled by patients. They can additionally add patients to disease groups and create rich multimedia content for patients to view for each disease group.
Administrators are privileged to do all the tasks that the physicians can do and can administer the site functions including taking care module installation, site update and maintenance. Additionally, they can add new roles with a more limited set of privileges in the system and tweak the permission system. A super administrator role can also be defined for further fine-grained permission control.