...
OpenTeleRehab was designed and implemented based on the following guiding principles:
A future system must be conceptualized and implemented with the needs of the end-users in mind. This means actors have the chance to participate in the design phase, test early, providing valuable feedback for definition and refinement.
The system should use a modular system design and micro-services architecture to make it easier to implement changes in the future
A thorough and stable implementation and early piloting are achieved incrementally through agile development. It assures strict orientation at business value and improves quality through regular development, validation and learning cycles
The information must be integrated and centralized ideally, in the cloud. This decreases vulnerability to local system failure, increases scalability and allows for wider access, process improvement and automation
The key approach for OpenTeleRehab is using micro-services architecture that leaves the door open for integration of other third-party applications that may be able to provide cost-effective solutions for certain components. For example, Google Calendar can be used appointment system instead of custom made solution when the majority of users want to only have one calendar. Or another example, Moodle could be used for the Education Management Service, saving costs and resources over a custom made solution. This approach will enable future extension, scalability and stability to ensure the growth of the app users and coverage from one county to the global expansion. Offline data can be synced thanks to API support. Accessing to the internet in rural areas is challenging, and we have worked with government ministries and organizations to solve this by using mobile applications to store and sync offline data.
Micro-Services Architecture
Micro-services, also known as the micro-services architecture, is an architectural style that structures an application as a collection of services that are highly maintainable and testable, loosely coupled, independently deployable and organized around business capabilities. See https://hidsi.atlassian.net/wiki/spaces/OpenTeleRehab/pages/8718218/Architecture+Details+and+Diagrams#Micro-services-Architecture .
OpenTeleRehab Modules
The OpenTeleRehab application is a combination of 3 different modules that interact with each other to help therapists and patients with rehabilitation treatment. The first module is a web application for Administrators that can to manage the contents, users and users of the system settings. The second module is a web application for Therapists where they can manage their patients and manage their treatment plans. Lastly, the to manage patient accounts, design treatment plans, set up appointments and organize communication. The third module is a mobile application for Patients to help them follow the treatment plan given by their therapist and contact them for consultations.patients to access tailor-made treatment plans and get in contact with therapists.
A satellite open-access web app, OpenTeleRehab Library, allows the public to access, review and contribute to a global telerehabilitation clinical library of contents (Exercises, Information and Education Materials and Questionnaires)
Admin Portal and Therapist Portal
Are web applications for organizational administrators and therapists who manage other users of the system and provide the clinical content to support therapists to create treatment plans for patients. These portals enables enable administrators and therapists to manage all content related to other modules. The frontend is developed using ReactJS and Google Material Design following an initial Figma Design prepared by HI. See Initial Figma Designs. The backend of the portal is developed separately and follow follows the micro-services architecture mentioned above that allows all three modules to connect to these micro-services independently. These micro-services uses use technologies like Laravel framework, Restful APIs, Identity and Access Management systems and other open-sourced third-party systems that can easily be integrated as a micro-service using Restful APIs.
...
The Patient Mobile App is designed to assist allow patients to follow access the treatment plan given designed by the therapist(s). It displays the scheduled activities for the day and appointments and the progress the patients have made. The activities are shown as easy-to-read cards that include exercises with pictures and instructions, questionnaires and feedback forms, and education and information materials that the patient can access. It also supports chat and call features that allow the patients to be in contact with their therapiststherapist(s). Patients can also manage their appointments with their therapist(s). The mobile app was developed using ReactNative and Google Material Design components that follows follow the initial Figma Design prepared by HI. See Initial Figma Designs. A kid-friendly theme for the mobile app was also developed.
Chosen technologies are all rooted in free Open Source projects and the components are popular and widely used in Android and iOS. Choosing ReactNative means that the system can be developed and compiled for both iOS and Android instead of being built separately.
OpenTeleRehab Library
- Jeferson Sese to add some content about the library
The OpenTeleRehab Library ( Library ) is a site where the public can view and search for telerehabilitation resources satellite open-access platform where telerehabilitation clinical contents (Exercises, Education Materials and Questionnaires) . These resources are categorized into different subjects and can be filtered by these categories. Users that visit the site can also view translated versions of these resources.are publicly available. Visitors of the Library can add and contribute resources to the library. They can submit their own access, review and submit new clinical content. Submitted clinical content(s) (Exercises, Education Materials and Questionnaires telerehabilitation resources which ) are reviewed by a team of moderators. Once approved, the submitted resource clinical content(s) can be seen in on the sitewebsite.
The resources are automatically translated to different languages available to the site using Google Translate. At the same time, visitors can also add or suggest proper translations of these resources and goes through the same review process by the moderators.
Admin and moderators can access the site’s backend platform. In On this platform, they can add and/or remove user access, manage the resource categories, manage the available languages of the site, review and approve submitted resources and translations and manage the site’s other pages (home page, about us, terms and conditions and acknowledgement acknowledgment pages).
Technology Stack
Item | Technology | Comments |
---|---|---|
Hosting | Amazon Web Services (AWS) provides a wide range of services with option to upscale the match with the peak demands.
| |
Operating system and webserver | Many |
microservices that were used (database, firewall, never-proxy, etc.) are available as SaaS and |
an operating system is not needed. In case we added extra services which requires an OS, our default and preferred OS is Ubuntu which has been used worldwide. | ||
Programming language and framework | Laravel: open-source PHP web application framework | |
Databases | MySQL: open-source, well-maintained by community, frequent security fixes |