OpenTera is a micro-services based backend primarily built to support research projects. Focusing on years in the research field, common features between the different projects emerged:
- Data structure: The need to store data in a structured way to ease data analysis
- Ecological data capture: The need to collect data not only in a laboratory or controlled environment, but also in the home
- Project adaptability: The need to develop projects specific dashboards while reusing as much as possible of what was done before to reduce development time
- Security: The need to store and transfer data in a secure and controlled way
To address those common features, OpenTera was designed with an architecture based as much as possible on recognized standards and best practices.
In its essence, OpenTera provides an adaptable data structure on which you can base your developments. With its modular and service-based design, it is possible to tailor specific needs based on the OpenTera framework.
Applications of the OpenTera backend are not limited to research projects, and could also be applied in a clinical environment, where clinicians have to communicate with patients. Such fields include but are not limited to: tele-rehabilibation (physical, social, mental), robotic tele-operation and remote activity monitoring.
The OpenTera micro-services structure allows:
- Management of several sites, users, projects, participants, groups of participants, connected devices, sessions, data sources, assets in a structured manner.
- We developed a Qt management tool called OpenTeraPlus, which is also under developement.
- A web management interface will be developed in the future.
- Easy and secure deployment on any cloud, dedicated or embedded platform(such as a Raspberry Pi, AWS, Azure)
- Easy to use for elderly participants (no configuration, interfaces adapted to clients needs).
- Better collaboration / dissemination for open code.
- Support for several current and future research projects:
- INTER - Tele-Actimetry: connected watches, portable capture devices.
- INTER - Tele-Rehabilitation: videoconference, management of rehabilitation sessions for participants using tele-rehabilitation.
- INTER - Active desk: Management of active desks and data visualization in the form of a dashboard.
- INTER - OpenIMU, OpenIMU-MiniLogger: Capture, visualization and analysis of data from inertial measurement units.
- AGEWELL (SMART, MOvIT+): Tele-presence and assistance of elderly people at home by a mobile robot, and power wheelchairs instrumentation and usage monitoring.
You are welcome to participate in this effort. Leave us comments or report Issues.
- Dominic Létourneau, ing. M.Sc.A., IntRoLab, Université de Sherbrooke (@doumdi)
- Simon Brière, ing. M.Sc.A., CDRV, Université de Sherbrooke (@sbriere)
- François Michaud, ing. Ph.D., IntRoLab, Université de Sherbrooke
- Michel Tousignant, pht, Ph.D., CDRV, Université de Sherbrooke
- Philippe Arsenault
- Cédric Godin
- Marc-Antoine Maheux
- Cynthia Vilanova
- Létourneau, D., Brière , S., et al., OpenTera: A Framework for Telehealth Applications, Journal of Open Source Software, vol. 8, no 91, p. 5497 (2023)
- Panchea, A.M., Létourneau, D., Brière, S. et al., OpenTera: A microservice architecture solution for rapid prototyping of robotic solutions to COVID-19 challenges in care facilities, Health Technol. 12, 583–596 (2022)
Detailled information is available in the docs
OpenTera is licensed under Apache License 2.0 .
- WebRTC Native Libraries
- OpenTera WebRTC Libraries
- OpenTera WebRTC ROS Client and Nodes
- OpenTera Teleoperation Service
- OpenTera WebRTC Teleoperation Frontend
OpenTera is based or uses the following Open Source technologies :
- Python 3.8+, PSFL (BSD like)
- Flask, BSD
- Redis, BSD
- txredisapi, Apache License 2.0
- SQLAlchemy, MIT
- Twisted, MIT
- PostgreSQL, PostgreSQL License(MIT/BSD like)
- Node.js, Node license