From d60d787c95fbf46c8e73bf2b285deb142aff66a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Le=CC=81tourneau?= Date: Tue, 29 Aug 2023 09:34:26 -0400 Subject: [PATCH 1/6] Refs #225, review paper and suggestions. Will run GitHub action to generate paper as artifact on branch joss-paper-review. --- .github/workflows/draft-joss-paper-pdf.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/draft-joss-paper-pdf.yml b/.github/workflows/draft-joss-paper-pdf.yml index 67c0d0024..29ca38a95 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 - From 1fc7cc7b54228c24eaa4b8a5686544da5da150b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Le=CC=81tourneau?= Date: Tue, 29 Aug 2023 10:56:25 -0400 Subject: [PATCH 2/6] Refs #225, Incorporated @galessiorob suggestions. --- joss-paper/paper.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/joss-paper/paper.md b/joss-paper/paper.md index 1a3efd104..7729def1b 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -67,34 +67,37 @@ 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 is based on 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 can also be used 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 harder to access) or hard to deploy in a telehealth context. 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: * **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. +* **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 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 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. 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. +* **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 focus 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 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 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. -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. +# 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 don't fully meet telehealth requirements. 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 is not ideal. We prefer to use or connect to existing systems that comply with local regulations like the Health Insurance Portability and Accountability Act (HIPAA). + +# 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 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], 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 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. From 748be2df7a25639a4577ca73f643147980038e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Le=CC=81tourneau?= Date: Tue, 29 Aug 2023 11:49:30 -0400 Subject: [PATCH 3/6] Refs #225, Incorporated @galessiorob suggestions. --- joss-paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/joss-paper/paper.md b/joss-paper/paper.md index 7729def1b..5a3ef48fe 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -101,7 +101,7 @@ OpenTera contains the base server (TeraServer) offering a REST API [@fielding_re 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. -# 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. From b943e7f2e592b09ffa4496ba9eefcf2d0b336bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Le=CC=81tourneau?= Date: Tue, 29 Aug 2023 13:11:58 -0400 Subject: [PATCH 4/6] Refs #225, Incorporated @Rocsg clarification for earlier paper on OpenTera during COVID. --- joss-paper/paper.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/joss-paper/paper.md b/joss-paper/paper.md index 5a3ef48fe..a6582d0f6 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -103,7 +103,8 @@ OpenTera also includes base services: Video Rehabilitation, Logging and File Tra # 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 that are currently under active development, implementing new OpenTera services or underlying libraries. Preliminary implementation 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 with a focus 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} From 35ab166d5d7a2e80cbbc0a2f467e1a477174a254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Le=CC=81tourneau?= Date: Tue, 29 Aug 2023 13:12:42 -0400 Subject: [PATCH 5/6] Refs #225, Incorporated @Rocsg clarification for earlier paper on OpenTera during COVID. --- joss-paper/paper.md | 1 - 1 file changed, 1 deletion(-) diff --git a/joss-paper/paper.md b/joss-paper/paper.md index a6582d0f6..5ee68131f 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -105,7 +105,6 @@ OpenTera also includes base services: Video Rehabilitation, Logging and File Tra \autoref{tab:opentera-related-projects} shows OpenTera-related open-source projects that are currently under active development, implementing new OpenTera services or underlying libraries. Preliminary implementation 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 with a focus 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} | GitHub Project Name | Description | From 5d6b12ae51821276bf5128feb24b48704493f1f5 Mon Sep 17 00:00:00 2001 From: Thomas Mickley-Doyle Date: Fri, 27 Oct 2023 08:00:52 -0500 Subject: [PATCH 6/6] Suggest some updates to grammar --- joss-paper/paper.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/joss-paper/paper.md b/joss-paper/paper.md index 5ee68131f..4658e4320 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -67,43 +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 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 can also be used in clinical environments. +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. -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. +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 harder to access) or hard to deploy in a telehealth context. OpenTera was built for extensibility to provide research projects complete control over their data and hosting. +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 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 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. 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 focus 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 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 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. +* **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 don't fully meet telehealth requirements. 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 is not ideal. We prefer to use or connect to existing systems that comply with local regulations like the Health Insurance Portability and Accountability Act (HIPAA). +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). # OpenTera Features -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 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 -\autoref{tab:opentera-related-projects} shows OpenTera-related open-source projects that are currently under active development, implementing new OpenTera services or underlying libraries. Preliminary implementation 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 with a focus on open source implementation. Code quality, documentation, examples and usability have been greatly improved between these versions. +\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}