Telehealth Remote Monitoring Reference Implementation

Version: 2.0.0   Published: 09/01/2021  

Last Updated: 10/20/2021

Overview

Telehealth Remote Monitoring Reference Implementation (RI) showcases containerized telehealth application design providing a real-time audio-visual framework leveraging Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC). Enabled by the cloud native containerized WebRTC server sessions are hosted between users that could include clinicians, patients, and caregivers. A web application interface provides a way for users to connect, view, and communicate from a range of possible end point devices including cameras, phones, and laptops.   

AI capabilities for remote monitoring are not validated in this release. Communication is provided through video, chat, and screen sharing. 

After getting hands on with the Reference Implementation, you can directly integrate components from Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC) and Open Visual Cloud pipeline building blocks for real-time video analytics.

To run the reference implementation, you will need to first download and install the Intel® Smart Edge Open Developer Experience Kit.

Select Configure & Download to download the reference implementation and the software listed below.  

Configure & Download

Sample Application WebUI


Time to Complete

Programming
Language

Available Software

15-20 minutes

Go*, C++, JavaScript*, HTML

 

Intel® Smart Edge Open Developer Experience Kit 

Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC) 

Intel® Distribution of OpenVINO™ toolkit

 

 


Target System Requirements

Smart Edge Node

  • One of the following processors:
    • Intel® Xeon® Scalable processor.
  • At least 32 GB RAM
  • At least 512 GB hard drive
  • An Internet connection
  • Ubuntu* 20.04.2 LTS Server

How It Works

This reference implementation implements a web session based on Open WebRTC Toolkit (OWT) media server and Client SDK, which demonstrates OWT media processing features and provides basic real-time and interactive sessions with control in web UI. This application is delivered in a container format and installed via helm charts. It runs as a single pod with two containers, i.e., OWT Server and OWT meeting on smart edge node enabled by Intel® Smart Edge Open Developer Experience Kit.

Architecture Diagram
Figure 1: Edge Node Networking Diagram 

 

High Level Block Diagram
Figure 2: High Level Block Diagram 

 


Get Started

Step 1: Install the Reference Implementation

To run the reference implementation, you will need to first download and install the Intel® Smart Edge Open Developer Experience Kit.

Select Configure & Download to download the reference implementation and then follow the steps below to install it.  

Configure & Download

  1. Make sure that the Target System Requirements are met properly before continuing RI deployment process. Ensure that Smart Edge single node cluster environment is created through Edge Software Provisioner (ESP) based deployment of Intel® Smart Edge Open Developer Experience Kit to ensure smooth RI installation process. 

    • NOTE: Skip step 2 and step 3 if they were performed with ESP based Intel® Smart Edge Open Developer Experience Kit installation process.  

  2. Open a new terminal and configure non-root user to deploy all the tasks of RI with non-root user's permission. 
    1. To create a user smartedge-open execute the command: 
      useradd -s /bin/bash -d /home/smartedge-open/ -m -G sudo smartedge-open
    2. A password for the given user is required:
      passwd "smartedge-open"

       

    3. As some tasks require root privileges the non-root user needs to have a possibility to become a root: 

      echo "smartedge-open ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/smartedge-open

       

  1. To generate and install the public key on your host, log in as root and execute the commands below:
    ssh-keygen 
    ssh-copy-id smartedge-open@<smartedge-open-node-ip-address> 

     

  2. Move the downloaded zip package to /home/smartedge-open folder:  
    mv <path-of-downloaded-directory>/telehealth_remote_monitoring.zip /home/smartedge-open/
  3. Go to /home/smartedge-open directory using the following command and unzip the RI: 
    cd /home/smartedge-open
    unzip telehealth_remote_monitoring.zip
  4. Go to teleheatlth_remote_monitoring directory.  
    cd telehealth_remote_monitoring
  5. Change permission of the executable edgesoftware file: 
    chmod 755 edgesoftware 
  6. Run the command below to install the Reference Implementation: 
    ./edgesoftware install 

     

  7. During the installation, you will be prompted for the Product Key. The Product Key is contained in the email you received from Intel confirming your download.  

    Product Key screen
    Figure 3: Product Key

     

  8. When the installation is complete, you see the message Installation of package complete and the installation status for each module. 
    Install Success Screen
    Figure 4: Install Success
      

NOTE: Installation logs will be available at path - /var/log/esb-cli/Telehealth_Remote_Monitoring_2.0.0/telehealth_remote_monitoring/install.log.   

  1. If Intel® Smart Edge Open 21.09 is installed, running the following command should show all the pods either in running or completed stage: 
    kubectl get pods -A
    Pod Status Check
    Figure 5: Pods Status

     

  2. If Telehealth is installed, running the following command should show output like below. Check the running pod with the command below. 
    smartedge-open@:/$ kubectl get pods -A | grep telehealth 
    smartedge-apps  telehealth-94568f9bc-zcwq4  2/2     Running     0          69s 

     

  3. Run the command below to check the Docker* images and their details: 

    smartedge-open@:/$ docker images | grep owt 
    openvisualcloud/xeon-ubuntu1804-service-vcs-owt latest a1639d7ccb7c 6 weeks ago 214MB  
    openvisualcloud/xeon-ubuntu1804-service-owt   latest 073486dba08   5 weeks ago     1.63GB 

     

  4. Run the below command to make sure the network policy is created: 

NOTE: In Intel® Smart Edge Open, the default network policy blocks ingress traffic to all pods, hence the telehealth pod network policy is created to allow the ingress traffic.  

smartedge-open@:/$ kubectl get networkpolicies. 
NAME                  POD-SELECTOR             AGEs 
allow-gst-analytics   app=telehealth           6m55s 
block-all-ingress        <none>                3d18h 
  1. During uninstall of Telehealth application, telehealth pod and network policy will be removed from the smartedge node, which are specific to Telehealth Remote Monitoring Reference Implementation. 
    . /edgesoftware uninstall < telehealth package ID >
    Uninstall Success Screen
    Figure 6: Uninstall Success

     

  2. Run the command below to make sure the network policy is deleted after uninstalling.

    smartedge-open@:/$ kubectl get networkpolicies. 
    NAME                     POD-SELECTOR             AGEs 
    block-all-ingress        <none>                   3d18h

     


Visualize the Output

1. To Visualize the results, launch an Internet browser and navigate to: https://<smartedge-open-node-ip-address>:30443. 

Visualize the Output
Figure 7: Launch an Internet Browser

2. Click on the Advanced option and it will be redirected to the page to proceed with unsafe mode.

Figure 8: Launch an Internet Browser - Advanced

3.  Enter any nick name to recognize the participants after logging into the web conference, more than three participants can join a conference using Chrome browser using Intel® Smart Edge Open node IP and node port to perform video conference, chats and screen sharing by selecting the options in webRTC web UI. In the Settings choose “Video and Audio” option. Note: First participant needs to open a second tab to verify the audio and the second participant will subscribe to the stream of first participant and vice versa .

Login Screen
Figure 9: Application Web Conference Login Page

4. The security certificate of the following URL is not trusted by your computer's operating system. To continue, click the URL and proceed to the unsafe host, then come back to this page and refresh. https://<smartedge-node-ip-address>:<socker io node port>/socket.io/ 

Security Certificate
Figure 10: Application Web Conference Page

5. You will see similar types of options such as video conferences, chats and screen sharing on webRTC web UI.

Sample Application WebUI
Figure 11: Application WebUI

6. You will see results like the image below when you join the web conference. (In the image below two participants have joined.)

Participant Screen
Figure 12: Application Results

Use Cases  

Remotely Monitoring Patients Across Facilities 

Use case: An emergency department patient is transferred to a long-term acute care facility along with a companion device that enables the care team to remotely observe the patient.

Telehealth Remote Monitoring Reference Implementation: Provides a head start toward developing this use case. When the patient meets a pre-set condition, a request to join the WebRTC-powered session could be sent, a session established, and clinicians prompted to join to remotely assess the patient. A screen sharing option can enable the remote clinician to rapidly transfer and share notes, reports, and charts with staff at the remote facility. 

Remote Monitoring for Patients at Home 

Use case: A patient is transferred from the hospital to the home with orders that require monitoring periodically. The provider can establish communications with the patient and conduct these visits across device types leveraging this application. 

Telehealth Remote Monitoring Reference Implementation: Deployed on CSP instances to form the structure of a telehealth capability accessible from nearly anywhere. Patients sent home with monitoring orders could meet with clinicians virtually through the WebRTC-powered video and chat features and communicate changes in condition or the latest readings from home monitoring devices like weight scales, BP cuffs, etc. 

Virtual Rounding in Field Hospitals 

Use case: A rapidly set up field hospital requires telehealth capabilities delivered and operated on-site without depending on continuous internet connectivity.  

Telehealth Remote Monitoring Reference Implementation: Delivered already installed as a service as part of the site’s rugged edge computing equipment. With nearly any camera equipped devices, a telemetry monitoring capability can be rapidly deployed. The care team is able to remotely check in on patients located in different areas of the hospital, including some in isolation wards, which would otherwise require twenty minutes of suiting up in PPE to round on in person, 


Summary and Next Steps

Telehealth Remote Monitoring, when deployed on Intel® Smart Edge Open, creates an impactful edge computing use case that utilizes the capability of Intel® Smart Edge Open and Intel® CS for WebRTC. 

The next version of this Reference Implementation will include the following features:


Learn More

To continue learning, see the following guides and software resources:


Troubleshooting

Docker Pull Limit Issue

If a Docker pull limit error is observed, log in with your Docker premium account.​

docker login 
username - xxxxx 
password - xxxxx 

Uninstallation Failure

If uninstall command (./edgesoftware uninstall < module id >) fails, manually uninstall telehealth deployment and network policy, which are specific to telehealth pod:                 

helm uninstall telehealth -n smartedge-apps 
kubectl delete networkpolicy allow-gst-analytics

Installation and Debug Log Information 

  1. Installation log info of Intel® Smart Edge Open Developer Experience Kit will be available at: 
    /var/log/esb-cli/Smart_Edge_Open_Developer_Experience_Kits_1.0.0/Smart_Edge_Open_Developer_Experience_Kits/install.log 

     

  2. Installation log info of Telehealth Remote Monitoring module will be available at: 
    /var/log/esb-cli/Telehealth_Remote_Monitoring_2.0.0/telehealth_remote_monitoring/install.log

     

Support Forum 

If you're unable to resolve your issues, contact the Support Forum.  

To attach the installation logs in compress format, refer to the steps below to create the tar.gz compressed file. 

Execute the command below to consolidate list of the log files in tar.gz format, e.g.,  telehealth_remote_monitoring.tar.gz

 tar -czvf telehealth_remote_monitoring.tar.gz /var/log/esb-cli/Telehealth_Remote_Monitoring_2.0.0/telehealth_remote_monotoring/ /var/log/esb-cli/Smart_Edge_Open_Developer_Experience_Kits_1.0.0/ Smart_Edge_Open_Developer_Experience_Kits/

 

Regulatory Disclaimer: Applications and software here are for development purposes only. These have not been vetted for any regulatory requirements such as accessibility, security, privacy, or HIPAA. Compliance to any regulatory requirements shall be the responsibility of the final application provider.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.