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:
- Should be developed using existing open source technologies to
minimize development time.
- Easily installable on-premises to allow de-centralized data
collection.
- Access control with different role-specific modular permissions for
reading, editing, revising content and forms.
- Should allow sharing of PROMs across installations using simple
configuration files.
- Ability to be delivered across diverse digital platforms, especially
smartphones.
- Ability to deploy multiple types of PROM instruments simultaneously.
- Ability to target specific groups of patients with disease-specific as
well as generalized PROM instruments.
- Ability to present questions one question at a time with minimal
distractions.
- Ability to integrate multi-media prompts (audio/video) with text such
that patients with limited literacy or reading problems can fill the
questionnaires.
- Ability to present diverse response options which are touch screen
friendly.
- Easily translatable into multiple Indian and other international languages and dialects.
Integration with a translation management system would be preferable
so that translations can be reused across sites.
- Integration with a graphical query builder such that summarized
results from questionnaires can be presented for a group of patients
as well as for a single patient in tabular formats and charts.
- Ability to export data for further analysis in external applications.
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:
- Modular role-based permission system and a robust user authentication
system.
- Responsive design allowing usage across devices like mobiles, tablets
and desktops without requiring additional theming and coding.
- 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}.
- Integration with a powerful graphical database query builder (Views)
which can return tabular summaries of data.
- A separation between the front end and back end allowing content
developers and site administrators to have separate work interfaces
- 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:
- Charts: A module that allows the display of charts using data from
Views \cite{charts}.
- 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.
- Media: Allows management, translation and embedding files and
multimedia elements (e.g. audio, video) across the site
\cite{media}.
- 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}.
- 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}):
- Patient
- Health Care Workers
- 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.