diff --git a/.github/workflows/draft-joss-paper-pdf.yml b/.github/workflows/draft-joss-paper-pdf.yml index 67c0d002..29ca38a9 100644 --- a/.github/workflows/draft-joss-paper-pdf.yml +++ b/.github/workflows/draft-joss-paper-pdf.yml @@ -1,6 +1,10 @@ name: JOSS Paper Draft PDF -on: [push] +on: + push: + branches: [main, joss-paper-review] + workflow_dispatch: + branches: [main, joss-paper-review] jobs: paper: @@ -23,4 +27,3 @@ jobs: # PDF. Note, this should be the same directory as the input # paper.md path: joss-paper/paper.pdf - diff --git a/joss-paper/paper.md b/joss-paper/paper.md index 1a3efd10..4658e432 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -67,40 +67,43 @@ bibliography: paper.bib # Summary -OpenTera is a microservice based framework primarily developed to support telehealth research projects and real-world deployment. This project is based on 20 years of experience linking at-home participants to remote users (such as clinicians, researchers, healthcare professionals) with audio-video-data connections and in-the-field sensors, such as biometrics, wearable and robotics devices. Applications of the OpenTera framework are not limited to research projects and can also be used in clinical environments. -Most telehealth-based research projects require a common data structure: data collection sites, projects, participants and sessions including various recorded data types from sensors or other sources. They also require many common features: user authentication based on various access roles, ability to add new features based on specific project needs, ease of use for the participant, and secure data hosting. These features are also shared between research projects: videoconferencing with specific health related features (e.g., angles measurement, timers), surveys data collection, data analysis and exportation. +OpenTera is a microservice-based framework primarily developed to support telehealth research projects and real-world deployment. This project has 20 years of experience linking at-home participants to remote users (such as clinicians, researchers, healthcare, and professionals) with audio-video-data connections and in-the-field sensors, such as biometrics, wearable, and robotics devices. Applications of the OpenTera framework are not limited to research projects and could exist in clinical environments. -Many of the available solutions are either costly, feature limited, proprietary (e.g., can hardly be adapted for research purposes and raw data is harder to access) or hard to deploy in a telehealth context. OpenTera was built for extensibility to provide research projects full control over their data and hosting. +Most telehealth-based research projects require a common data structure: data collection sites, projects, participants, and sessions, including various recorded data types from sensors or other sources. They also require standard features: user authentication based on various access roles, the ability to add new features based on specific project needs, ease of use for the participant, and secure data hosting. These features are also shared between research projects: videoconferencing with specific health-related features (e.g., angles measurement, timers), surveys data collection, data analysis, and exportation. + +Many available solutions are costly, feature-limited, proprietary (e.g., can hardly be adapted for research purposes, and raw data is more complex to access), or hard to deploy in telehealth. OpenTera was built for extensibility to provide research projects complete control over their data and hosting. # Statement of need -From our research experience, common features between the different telehealth projects emerged: +From our research experience, standard features between the different telehealth projects emerged: * **Data structure.** Store data in a structured way to ease data extraction and analysis. -* **Ecological data capture.** Collect data not only in laboratories or controlled environments, but also in homes or institutions. -* **Project adaptability.** Develop project-specific dashboards and user interfaces while reusing what was previously implemented as much as possible of to reduce development time. Rehabilitation projects may require implementing serious games or exergames, while teleoperation projects may require real-time navigation tools. Adapting already existing open-source software when possible is often the key. -* **Cost effectiveness.** Most of the recent commercial cloud telehealth applications available are subscription-based and do not offer the flexibility needed. Each vendor offers its own approach tailored for its products and services. We often have data collections from dozens of participants and users, and paying subscription fees would be prohibitive. -* **Security.** Store and transfer data in a secure and controlled way. Access control to information depends on specific project requirements. Research projects involving participants must be approved by the ethics committee, and they often require servers hosted locally or in a specific region. -* **Uniformity.** Avoid the use of multiple applications and tools that would require the user to navigate between them (minimizing and restoring them as needed) and focusing attention on the current task. -* Ease of use. Implement an easy-to-use solution for users and participants at all steps of the process, I.e., authentication, data collection, data management. -* **Synchronous and asynchronous sessions.** Support real-time sessions (synchronous) or on-demand pre-recorded or application-based sessions (asynchronous) with multiple users, devices and participants. -* **No installation.** Connecting through a web browser with a personalized link is favored, avoiding complicated installation of apps and login / password / registration steps which is not an easy task for everyone, depending on their technological literacy. In the context of healthcare establishments, support of deployed apps often requires long-term planning and discussions with the Information Technology team, as opposed to web-based applications. -* **Long term availability.** Research projects can be conducted over a long period of time, and software versions, data structures, APIs, and used features must be stable over that period. There is no guarantee with a commercial system that used features will be supported for the required duration. -* **Server deployment and management.** Installation on low-cost hardware (e.g., Raspberry Pis), local servers and cloud infrastructure can be required, depending on the scale of the projects and its location. Deployments should be manageable by a small team. +* **Ecological data capture.** Collect data not only in laboratories or controlled environments but also in homes or institutions. +* **Project adaptability.** Develop project-specific dashboards and user interfaces while reusing previous implementations as much as possible to reduce development time. Rehabilitation projects may require implementing serious games or exergames, while teleoperation projects may require real-time navigation tools. Adapting already existing open-source software when possible is often the key. +* **Cost-effectiveness.** Most commercial cloud telehealth applications are subscription-based and do not offer the flexibility needed. Each vendor provides its approach tailored to its products and services. We often have data collection from dozens of participants and users, and paying subscription fees would be prohibitive. +* **Security.** Store and transfer data in a secure and controlled way. Access control to information depends on specific project requirements. The ethics committee must approve research projects involving participants, and they often require servers hosted locally or within a particular region. +* **Uniformity.** Avoid using multiple applications and tools requiring the user to navigate between them (minimizing and restoring them as needed) and focus on the current task. +* **Ease of use.** Implement an easy-to-use solution for users and participants at all process steps, I.e., authentication, data collection, and data management. +* **Synchronous and asynchronous sessions.** Support real-time sessions (synchronous) or on-demand pre-recorded or application-based sessions (asynchronous) with multiple users, devices, and participants. +* **No installation.** Connecting through a web browser with a personalized link is favored, avoiding complicated installation of apps and login/password/registration steps, which are not accessible for everyone, depending on their technological literacy. In healthcare establishments, support of deployed apps often requires long-term planning and discussions with the Information Technology team, as opposed to web-based applications. +* **Long term availability.** Research projects can be conducted over a long period, and software versions, data structures, APIs, and used features must be stable. There is no guarantee that a commercial system with features will be supported for the required duration. +* **Server deployment and management.** Installation on low-cost hardware (e.g., Raspberry Pis), local servers, and cloud infrastructure can be required, depending on the scale of the projects and their location. Deployments should be manageable by a small team. + +# Existing Open-Source Solutions + +Open-source projects like Big Blue Button, NextCloud Talk, Jami, OpenVidu, Jitsi Meet, and Kurento offer excellent videoconferencing solutions; however, they still need to meet telehealth requirements fully. While there are open-source rehabilitation-oriented applications available, such as the OpenRehab [@freitas_openrehab_2017] project, which offers multiple rehabilitation tools for upper limbs, mobility, fitness, cognition, and balance, they often focus on specific domains and primarily contain pre-recorded videos or games prescribed by physiotherapists. Most of these applications lack teleconsultation features and remote access to research data. Open-source Electronic Health/Medical Records (EHR, EMR) [@neha_intelehealth_2017] can meet some research requirements, but storing personal and sensitive information on participants could be better. We prefer to use or connect to existing systems that comply with local regulations like the Health Insurance Portability and Accountability Act (HIPAA). -Most of the open-source projects currently available concentrated their efforts on providing videoconferencing alternative to proprietary solutions (i.e., Skype, Google Meet, MS Teams, Zoom, etc.) with chat and file transfer capabilities. Alternative open-source projects include Big Blue Button, NextCloud Talk, Jami, OpenVidu, Jitsi Meet, and Kurento. Although excellent solutions for videoconferencing, they are not especially fit for research and do not meet all requirements for telehealth applications. They would also require customization at some level that can quickly become limitative or complicated. +# OpenTera Features -Open-source rehabilitation-oriented applications are also available. The OpenRehab [@freitas_openrehab_2017] project lists multiple rehabilitation tools for upper limb, mobility, fitness, cognition, balance. Such applications are often dedicated to a specific domain and mostly contain pre-recorded videos or games that are prescribed by physiotherapists. Most of them do not offer teleconsultation features and remote access to research data. -Finally, open-source Electronic Health/Medical Records (EHR, EMR) [@neha_intelehealth_2017] are available and can meet some research requirements, but we want to avoid storing personal and sensitive information on participants. We prefer to use or connect to existing systems that comply with local regulations like Health Insurance Portability and Accountability Act (HIPPAA). -OpenTera is specifically designed to address the previously mentioned and required features for research. It is built using a microservice architecture based on recognized standards and best practices. This architecture provides scalability, flexibility, resilience, maintainability and technology diversity, all needed in a research context. +OpenTera is specifically designed to address the previously mentioned and required features for research. It leverages a microservice architecture based on recognized standards and best practices. This architecture provides scalability, flexibility, resilience, maintainability, and technology diversity, all needed in research. -OpenTera contains the base server (TeraServer) offering a REST API [@fielding_rest_2002], useful to manage users, participants, devices, sites, projects, sessions, and supports multiple authentication methods via user/password, certificates or tokens. TeraServer also manages authorizations for users, participants and devices, providing a fine-grained access control on resources and assets. +OpenTera contains the base server (TeraServer) offering a REST API [@fielding_rest_2002], which helps manage users, participants, devices, sites, projects, sessions, and supports multiple authentication methods via user/password, certificates, or tokens. TeraServer also manages authorizations for users, participants, and devices, providing fine-grained access control on resources and assets. -OpenTera also includes base services: Video Rehabilitation, Logging and File Transfer. They are used to conduct audio/video WebRTC sessions from the web along with appropriate logging and file transfer capabilities. Structured sessions enable organized information such as survey data, sensor data, metadata and analytics, and facilitate the retrieval of information and key statistics. Development of new microservices allows developers to add new features to the system such as serious or exergames, exercises coach / videos and participant calendar / portal. +OpenTera also includes base services: Video Rehabilitation, Logging, and File Transfer. They are used to conduct audio/video WebRTC sessions from the web along with appropriate logging and file transfer capabilities. Structured sessions enable organized information such as survey data, sensor data, metadata, analytics, and facilitate the retrieval of information and key statistics. Developing new microservices allows developers to add new features to the system, such as serious or exergames, exercise coaches/videos, and participant calendar/portal. -# Related projects +# Related Projects -\autoref{tab:opentera-related-projects} shows OpenTera-related open-source projects that are currently under active development, implementing new OpenTera services or underlying libraries. OpenTera has been deployed for robot teleoperation during COVID [@panchea_opentera_2022] and is currently used for multiple rehabilitation projects. +\autoref{tab:opentera-related-projects} shows OpenTera-related open-source projects currently under active development, implementing new OpenTera services or underlying libraries. Preliminary implementations have been deployed for robot teleoperation during COVID[@panchea_opentera_2022]. The current paper presents the implementation and design choices for a more generic OpenTera framework focusing on open-source implementation. Code quality, documentation, examples, and usability have been greatly improved between these versions. Table: OpenTera Related Projects \label{tab:opentera-related-projects}