@19labs/gale-wellness
Version:
## Overview Welcome to the [19Labs](https://19labs.com) Custom Wellness Portal SDK .
477 lines • 31.6 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@19labs/gale-wellness</title>
<meta name="description" content="Documentation for @19labs/gale-wellness">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
<script async src="assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">@19labs/gale-wellness</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<h1>@19labs/gale-wellness</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<div class="tsd-panel tsd-typography">
<a href="#19labs-custom-wellness-portal-sdk" id="19labs-custom-wellness-portal-sdk" style="color: inherit; text-decoration: none;">
<h1>19Labs Custom Wellness Portal SDK</h1>
</a>
<a href="#overview" id="overview" style="color: inherit; text-decoration: none;">
<h2>Overview</h2>
</a>
<p>Welcome to the <a href="https://19labs.com">19Labs</a> Custom Wellness Portal SDK documentation.</p>
<p>This document is intended to give you all the information you need to build a custom HTML page that loads on the <a href="https://www.19labs.com/platform">19Gale platform</a>.</p>
<a href="#installing" id="installing" style="color: inherit; text-decoration: none;">
<h2>Installing</h2>
</a>
<a href="#manually" id="manually" style="color: inherit; text-decoration: none;">
<h3>Manually</h3>
</a>
<p>To add the captive portal library to an existing project:</p>
<pre><code><span style="color: #001080">yarn</span><span style="color: #000000"> </span><span style="color: #001080">add</span><span style="color: #000000"> @19</span><span style="color: #001080">labs</span><span style="color: #000000">/</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">wellness</span>
<span style="color: #001080">or</span>
<span style="color: #001080">npm</span><span style="color: #000000"> </span><span style="color: #001080">install</span><span style="color: #000000"> @19</span><span style="color: #001080">labs</span><span style="color: #000000">/</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">wellness</span>
</code></pre>
<a href="#functionality-of-the-api" id="functionality-of-the-api" style="color: inherit; text-decoration: none;">
<h2>Functionality of the API</h2>
</a>
<p>The API allows the following functionality, either with JavaScript or with the DOM elements:</p>
<ol>
<li>Login, Signup, Logout</li>
<li>Navigate to a native Gale screen</li>
<li>Get list of sensors & clinics from the active configuration</li>
<li>Start a sensor measurement</li>
<li>Retrieve or update the intake data</li>
<li>Get the sensor measurements for the current session</li>
<li>Save or restore a session</li>
<li>Create or update patient profiles</li>
<li>Respond to system events</li>
</ol>
<a href="#examples" id="examples" style="color: inherit; text-decoration: none;">
<h2>Examples</h2>
</a>
<p>There are two public git repositories with examples using the api</p>
<p>the first is a simple sample that demonstrates all of the bridge api calls</p>
<p><a href="https://bitbucket.org/19labs_external/wellness-test-pwa.git">https://bitbucket.org/19labs_external/wellness-test-pwa.git</a></p>
<p>the second is a more sophisticated example that shows a more complex nodejs/express application that uses
both the api and the Dom custom elements to connect to a demonstration FHIR based sytem </p>
<p><a href="https://bitbucket.org/19labs_external/fhir.git">https://bitbucket.org/19labs_external/fhir.git</a></p>
<a href="#developing" id="developing" style="color: inherit; text-decoration: none;">
<h2>Developing</h2>
</a>
<p>The gale-wellness library provides two ways of building captive portals:</p>
<ol>
<li>A JavaScript API that talks to the Gale native components</li>
<li>Built-in custom HTML elements that make it easy to build a captive portal for the Gale platform.</li>
</ol>
<a href="#using-the-javascript-api" id="using-the-javascript-api" style="color: inherit; text-decoration: none;">
<h3>Using the JavaScript API</h3>
</a>
<p>The entry point to the JavaScript API is <a href="classes/galeapibridge.html">GaleAPIBridge</a>.</p>
<a href="#using-the-builtin-dom-capabilities" id="using-the-builtin-dom-capabilities" style="color: inherit; text-decoration: none;">
<h3>Using the builtin DOM capabilities</h3>
</a>
<p>The Gale SDK comes with several <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements">custom HTML elements</a> that can help building a captive wellness page without dealing with the nits and grits of JavaScript.</p>
<p>The elements come with a default style, but can be fully stylable using CSS.</p>
<a href="#easy-navigation" id="easy-navigation" style="color: inherit; text-decoration: none;">
<h4>Easy navigation</h4>
</a>
<p>If the Gale DOM library is imported, it is possible to navigate to different native screens using hash addresses. Available navigations:</p>
<ul>
<li><p><code>#gale:sensor/sensor-type</code></p>
<p> Start a sensor measurement. For example:</p>
<p> <code><a href="#gale:sensor/Weight Scale>Get my weight</a></code></p>
</li>
<li><p><code>#gale:clinic/clinic-name</code></p>
<p> Start a video call visit. For example:</p>
<p> <code><a href="#gale:clinic/My Clinic>Start Video Visit</a></code></p>
</li>
<li><p><code>#gale:login</code>: Go to the login screen</p>
</li>
</ul>
<p>See <a href="modules.html#screenname">here</a> for the available screen names.</p>
<a href="#the-included-elements" id="the-included-elements" style="color: inherit; text-decoration: none;">
<h4>The included elements:</h4>
</a>
<a href="#the-root-element" id="the-root-element" style="color: inherit; text-decoration: none;">
<h4>The root element</h4>
</a>
<ul>
<li><p><code><gale-root></code></p>
<p> Contains the context of the app, such as knowledge about whether the user is currently logged in.</p>
<pre><code><span style="color: #000000"><</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">root</span><span style="color: #000000">></span>
<span style="color: #000000">...</span>
<span style="color: #000000"> <</span><span style="color: #001080">div</span><span style="color: #000000"> </span><span style="color: #001080">class</span><span style="color: #000000">=</span><span style="color: #A31515">"when-logged-in"</span><span style="color: #000000">></span><span style="color: #001080">You</span><span style="color: #000000"> </span><span style="color: #001080">are</span><span style="color: #000000"> </span><span style="color: #001080">logged</span><span style="color: #000000"> </span><span style="color: #0000FF">in</span><span style="color: #000000">!</</span><span style="color: #001080">div</span><span style="color: #000000">></span>
<span style="color: #000000">...</span>
<span style="color: #000000"></</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">root</span><span style="color: #000000">></span>
</code></pre>
<a href="#outputs" id="outputs" style="color: inherit; text-decoration: none;">
<h5>Outputs</h5>
</a>
</li>
</ul>
<p>Output elements show dynamic information read from Gale.</p>
<ul>
<li><p><code><gale-user></code></p>
<p> Show information about the current user, with a template. For example:</p>
<p> <code><gale-user>Welcome {firstName} {lastName}</gale-user></code></p>
</li>
<li><p><code><gale-sensor-output></code></p>
<p> Shows the current measurement of a specific sensor, for example:</p>
<p> <code><gale-sensor-output type="Blood Pressure Monitor">No data</gale-sensor-output></code>.</p>
<p> The inner HTML of the <code>gale-sensor-output</code> element represents the placeholder in case no data is available.</p>
<p> The available sensor types and their fields are found <a href="modules.html#builtinsensortypes">here</a>.</p>
</li>
</ul>
<a href="#links" id="links" style="color: inherit; text-decoration: none;">
<h5>Links</h5>
</a>
<ul>
<li><p><code><gale-link></code></p>
<p> A link to a native Gale screen. For example:</p>
<p> <code><gale-link href="logout">Log out</gale-link></code>.</p>
<p> The available link targets are specified <a href="modules.html#screenname">here</a>.</p>
</li>
<li><p><code><gale-sensor-link></code></p>
<p> A link to start a sensor measurement. For example:</p>
<p> `<gale-sensor-link type="Blood Pressure Monitor">Start blood pressure</gale-sensor-link>.</p>
<p> To get a list of sensor types, see <a href="interfaces/sensortypes.html">here</a>.</p>
</li>
<li><p><code><gale-clinic-link></code></p>
<p> A link to start a call to a clinic. For example:</p>
<p> `<gale-clinic-link name="My clinic name">Start call with my clinic</gale-clinic-link>.</p>
<p> To get a list of sensor types, see <a href="interfaces/sensortypes.html">here</a>.</p>
</li>
<li><p><code><gale-patient-profile-link></code></p>
<p> A link to select a patient profile. For example:</p>
<p> <code><gale-patient-profile-link name="Mrs Patient" dateOfBirth="1980-01-01">Mrs. Patient</gale-patient-profile-link></code>.</p>
<p> To get a list of sensor types, see <a href="interfaces/sensortypes.html">here</a>.</p>
</li>
</ul>
<a href="#forms" id="forms" style="color: inherit; text-decoration: none;">
<h5>Forms</h5>
</a>
<p>Forms allow the user to input data that would be submitted into Gale. This include <code>login</code>, <code>signup</code>, <code>intake</code>, and <code>patient-profile</code>.</p>
<p>A Gale Form may have a <code>target</code> attribute, which is the location to navigate to once the form is submitted. If the form has an element with <code>class="error"</code>, it will receive the output in case the submition has failed.</p>
<ul>
<li><p><code><gale-login-form></code></p>
<p> Wraps a form to login to Gale with the results once submitted.
The login form should have <code>email</code> and <code>password</code> fields, a potential <code>error</code> output field to show errors, and a <code>target</code> attribute with the location to navigate to once login has succeeded.</p>
<p> Example:</p>
<pre><code><span style="color: #000000"> <</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">login</span><span style="color: #000000">-</span><span style="color: #001080">form</span><span style="color: #000000"> </span><span style="color: #001080">target</span><span style="color: #000000">=</span><span style="color: #A31515">"#nrxt"</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #267F99">form</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #267F99">label</span><span style="color: #000000">>Email: <</span><span style="color: #267F99">input</span><span style="color: #000000"> </span><span style="color: #267F99">type</span><span style="color: #000000">=</span><span style="color: #A31515">"email"</span><span style="color: #000000"> </span><span style="color: #267F99">name</span><span style="color: #000000">=</span><span style="color: #A31515">"email"</span><span style="color: #000000">></</span><span style="color: #267F99">label</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #267F99">label</span><span style="color: #000000">>Password: <</span><span style="color: #267F99">input</span><span style="color: #000000"> </span><span style="color: #267F99">type</span><span style="color: #000000">=</span><span style="color: #A31515">"password"</span><span style="color: #000000"> </span><span style="color: #267F99">name</span><span style="color: #000000">=</span><span style="color: #A31515">"password"</span><span style="color: #000000">></</span><span style="color: #267F99">label</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #001080">input</span><span style="color: #000000"> </span><span style="color: #001080">type</span><span style="color: #000000">=</span><span style="color: #A31515">"submit"</span><span style="color: #000000"> </span><span style="color: #001080">value</span><span style="color: #000000">=</span><span style="color: #A31515">"Log In"</span><span style="color: #000000"> /></span>
<span style="color: #000000"> <</span><span style="color: #001080">output</span><span style="color: #000000"> </span><span style="color: #001080">class</span><span style="color: #000000">=</span><span style="color: #A31515">"error"</span><span style="color: #000000">></</span><span style="color: #267F99">output</span><span style="color: #000000">></span>
<span style="color: #000000"> </</span><span style="color: #001080">form</span><span style="color: #000000">></span>
<span style="color: #000000"> </</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">login</span><span style="color: #000000">-</span><span style="color: #001080">form</span><span style="color: #000000">></span>
</code></pre>
</li>
<li><p><code><gale-signup-form></code></p>
<p> Wraps a form to signup to Gale with a new account once submitted.</p>
<p> The signup form should have the same fields expected by the <a href="nterfaces/signupinfo.html">SignupInfo</a></p>
<p> Note that the signup form automatically logs in after signin up.</p>
</li>
</ul>
<ul>
<li><p><code><gale-intake-form></code></p>
<p> Wraps a form to submit intake information.</p>
<p> The intake doesn't have a pre-defined schema, and all the submitted fields would be added to the intake data.</p>
</li>
<li><p><code><gale-patient-profile-form></code></p>
<p> Wraps a form to submit new patient profile information.</p>
<p> The fields required are <code>dateOfBirth</code> and <code>name</code>.</p>
</li>
</ul>
<a href="#lists" id="lists" style="color: inherit; text-decoration: none;">
<h5>Lists</h5>
</a>
<p>Lists allows repeating a given template based on array-like information from Gale, such as sensors, clinics and patient profiles.</p>
<p>A Gale List element should always have a <code>template</code>element as its child, with its dynamic text as handlebars.</p>
<ul>
<li><p><code><gale-patient-profile-list></code></p>
<p> Repeats the given template based on the list of existing patient profile on the Gale device.</p>
<p> The dynamic content of each item can be expressed using handlebars. Each patient profile corresponds to the <a href="interfaces/patientprofile.html">PatientProfile</a> interface.</p>
<p> For example:</p>
<pre><code><span style="color: #000000"><</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">patient</span><span style="color: #000000">-</span><span style="color: #001080">profile</span><span style="color: #000000">-</span><span style="color: #001080">list</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #267F99">template</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #267F99">h4</span><span style="color: #000000">>{{</span><span style="color: #001080">name</span><span style="color: #000000">}}</</span><span style="color: #001080">h4</span><span style="color: #000000">></span>
<span style="color: #000000"> <</span><span style="color: #267F99">p</span><span style="color: #000000">>{{</span><span style="color: #001080">dateOfBirth</span><span style="color: #000000">}}</</span><span style="color: #001080">p</span><span style="color: #000000">></span>
<span style="color: #000000"> </</span><span style="color: #001080">template</span><span style="color: #000000">></span>
<span style="color: #000000"></</span><span style="color: #001080">gale</span><span style="color: #000000">-</span><span style="color: #001080">patient</span><span style="color: #000000">-</span><span style="color: #001080">profile</span><span style="color: #000000">-</span><span style="color: #001080">list</span><span style="color: #000000">></span>
</code></pre>
</li>
<li><p><code><gale-sensor-list></code></p>
<p> Repeats the given template based on the list of available sensors on the Gale device.</p>
<p> The dynamic content of each item can be expressed using handlebars. Each sensor corresponds to the <a href="interfaces/sensor.html">Sensor</a> interface.</p>
</li>
<li><p><code><gale-clinic-list></code></p>
<p> Repeats the given template based on the list of available callable clinics defined in the Gale configuration.</p>
<p> The dynamic content of each item can be expressed using handlebars. Each sensor corresponds to the <a href="interfaces/clinic.html">Clinic</a> interface.</p>
</li>
</ul>
<a href="#to-initialize-the-custom-elements" id="to-initialize-the-custom-elements" style="color: inherit; text-decoration: none;">
<h4>To initialize the custom elements:</h4>
</a>
<pre><code><span style="color: #AF00DB">import</span><span style="color: #000000"> {</span><span style="color: #001080">GaleAPIBridge</span><span style="color: #000000">} </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">'@19labs/gale-wellness/bridge'</span>
<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">galeBridge</span><span style="color: #000000"> = </span><span style="color: #0000FF">new</span><span style="color: #000000"> </span><span style="color: #795E26">GaleAPIBridge</span><span style="color: #000000">({</span><span style="color: #001080">apiKey:</span><span style="color: #000000"> </span><span style="color: #A31515">'MY-API-KEY'</span><span style="color: #000000">, </span><span style="color: #001080">simulatorPort:</span><span style="color: #000000"> </span><span style="color: #098658">9393</span><span style="color: #000000"> </span><span style="color: #008000">/* optional*/</span><span style="color: #000000">})</span>
<span style="color: #AF00DB">import</span><span style="color: #000000"> {</span><span style="color: #001080">init</span><span style="color: #000000">} </span><span style="color: #AF00DB">from</span><span style="color: #000000"> </span><span style="color: #A31515">'@19labs/gale-wellness/dom'</span>
<span style="color: #795E26">init</span><span style="color: #000000">(</span><span style="color: #001080">galeBridge</span><span style="color: #000000">)</span>
</code></pre>
<a href="#style-considerations" id="style-considerations" style="color: inherit; text-decoration: none;">
<h2>Style Considerations</h2>
</a>
<a href="#stay-responsive" id="stay-responsive" style="color: inherit; text-decoration: none;">
<h3>Stay responsive</h3>
</a>
<p>Gale tablets can come in several resolutions. Keep your UI resposive!
Follow best practices for layout, especially flex-box and grid.</p>
<a href="#preconfigured-style" id="preconfigured-style" style="color: inherit; text-decoration: none;">
<h3>Preconfigured style</h3>
</a>
<p>The SDK comes with an optional preconfigured stylesheet for Gale. To use it:
<code>import "@19labs/gale-wellness/style.css"</code></p>
<a href="#testing" id="testing" style="color: inherit; text-decoration: none;">
<h2>Testing</h2>
</a>
<a href="#using-a-gale-device" id="using-a-gale-device" style="color: inherit; text-decoration: none;">
<h3>Using a Gale device</h3>
</a>
<p>deploy your application to a server or host visible to the internet. 19Labs recommends using NGrok to expose your app running on a local
device to the internet</p>
<p>Update your device's configuration on 19Labs DMS to the internet address of your applicationto test your portal on a Gale device.</p>
</div>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="modules.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-class">
<a href="classes/galeapibridge.html" class="tsd-kind-icon">GaleAPIBridge</a>
</li>
<li class=" tsd-kind-class tsd-has-type-parameter">
<a href="classes/galeevent.html" class="tsd-kind-icon">Gale<wbr>Event</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/bloodpressuremeasurement.html" class="tsd-kind-icon">Blood<wbr>Pressure<wbr>Measurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/bloodpressuremeasurementdata.html" class="tsd-kind-icon">Blood<wbr>Pressure<wbr>Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/camerameasurementdata.html" class="tsd-kind-icon">Camera<wbr>Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/clinic.html" class="tsd-kind-icon">Clinic</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/documentdata.html" class="tsd-kind-icon">Document<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/galeeventtypes.html" class="tsd-kind-icon">Gale<wbr>Event<wbr>Types</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/genericmeasurement.html" class="tsd-kind-icon">Generic<wbr>Measurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/glucometerdata.html" class="tsd-kind-icon">Glucometer<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/glucometermeasurement.html" class="tsd-kind-icon">Glucometer<wbr>Measurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/healthhistorydata.html" class="tsd-kind-icon">Health<wbr>History<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/imagefiledata.html" class="tsd-kind-icon">Image<wbr>File<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/intakedata.html" class="tsd-kind-icon">Intake<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/location.html" class="tsd-kind-icon">Location</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/logininfo.html" class="tsd-kind-icon">Login<wbr>Info</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/measurementdata.html" class="tsd-kind-icon">Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/measurementdatawithtimestamp.html" class="tsd-kind-icon">Measurement<wbr>Data<wbr>With<wbr>Timestamp</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/measurementfiledatasummary.html" class="tsd-kind-icon">Measurement<wbr>File<wbr>Data<wbr>Summary</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/measurementwithoptionaltimestamp.html" class="tsd-kind-icon">Measurement<wbr>With<wbr>Optional<wbr>Timestamp</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/multifunctionmeasurement.html" class="tsd-kind-icon">Multifunction<wbr>Measurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/otoscopeimagedata.html" class="tsd-kind-icon">Otoscope<wbr>Image<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/participant.html" class="tsd-kind-icon">Participant</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/participants.html" class="tsd-kind-icon">Participants</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/patientprofile.html" class="tsd-kind-icon">Patient<wbr>Profile</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/pdfdatasummary.html" class="tsd-kind-icon">Pdf<wbr>Data<wbr>Summary</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/pdffiledata.html" class="tsd-kind-icon">Pdf<wbr>File<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/prescriptiontext.html" class="tsd-kind-icon">Prescription<wbr>Text</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/prescriptiontextdata.html" class="tsd-kind-icon">Prescription<wbr>Text<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/pulseoxmeasurement.html" class="tsd-kind-icon">Pulse<wbr>OxMeasurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/pulseoximeterdata.html" class="tsd-kind-icon">Pulse<wbr>Oximeter<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/sensor.html" class="tsd-kind-icon">Sensor</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/sensortypes.html" class="tsd-kind-icon">Sensor<wbr>Types</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/signupinfo.html" class="tsd-kind-icon">Sign<wbr>UpInfo</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/singlemeasurementdata.html" class="tsd-kind-icon">Single<wbr>Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/spirometermeasurement.html" class="tsd-kind-icon">Spirometer<wbr>Measurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/stethoscopefiledata.html" class="tsd-kind-icon">Stethoscope<wbr>File<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/stethoscopemeasurementdata.html" class="tsd-kind-icon">Stethoscope<wbr>Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/thermometermeasurement.html" class="tsd-kind-icon">Thermometer<wbr>Measurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/thermometermeasurementdata.html" class="tsd-kind-icon">Thermometer<wbr>Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/updateuserinfo.html" class="tsd-kind-icon">Update<wbr>User<wbr>Info</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/user.html" class="tsd-kind-icon">User</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/weightscaledata.html" class="tsd-kind-icon">Weight<wbr>Scale<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/weightscalemeaurement.html" class="tsd-kind-icon">Weight<wbr>Scale<wbr>Meaurement</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/zoomcallurl.html" class="tsd-kind-icon">Zoom<wbr>Call<wbr>Url</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="modules.html#builtinsensortypes" class="tsd-kind-icon">Builtin<wbr>Sensor<wbr>Types</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="modules.html#eventtype" class="tsd-kind-icon">Event<wbr>Type</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="modules.html#screenname" class="tsd-kind-icon">Screen<wbr>Name</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="modules.html#sensormeasurementdata" class="tsd-kind-icon">Sensor<wbr>Measurement<wbr>Data</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="modules.html#sensorstate" class="tsd-kind-icon">Sensor<wbr>State</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
</body>
</html>