The platform is based on Softr.io, a low-code platform. This provides hosting for the front-end files and enables server side rendering. The back-end is composed of a Airtable.com database for data storage, additional application logic is implemented using Airtable scripts, hosted on the platform. The following is a high-level diagram of the system architecture:
The Softr platform provides the application with:
It allows for a one click deployment of the application, with no need for the NHS to set up or maintain a dedicated server. Furthermore, it abstracts maintenance security updates away from the system manager: with over the air updates and security patches it helps ensure data protection and regulatory compliance, while also reducing development time and resource requirements.
Airtable provides the application with a hosted relational database, this has 7 tables (visible in the "Data Storage" section below), with a spreadsheet-like interface, tables and records can be easily viewed and edited, even by non-technical users, a key requirement for this project.
Interactions between Softr and Airtable occur using Airtable's API (documentation for this is available upon login into the Airtable development console). Data is transferred in JSON format and linked using Airtable's record ids. Airtable also provides scripting functionality using JavaScript to execute conditional logic programmatically.These scripts are hosted on Airtable and are available on our team's Github.
The following is a map of the website: there are 3 key pages
The Home page is visible to all users (this is where sign up and sign in functionalities are implemented), available subpages, accessible from the navigation bar at the top of the page, are dependent on the logged in user's role (Clinician, Team Manager, Department Manager or Hospital Head) - views contained within them are also affected by this.
The following is the ER diagram of the system's database, generated by Airtable:
This design allows for a multi-tenant system with multiple hospitals potentially accessing the same system. This can allow for a more streamlined and easy to deploy system. Notably: this has evolved from the previous system to permit customised forms as well as personalised questions.
The following is a data flow diagram of the system, showing the flow of data between the front-end and
back-end, visualised from the perspective of different user roles:
The system is dependant on the following libraries:
The system also requires the following commercial licenses: