Extra Horizon
GitHub
  • Extra Horizon Documentation
  • Getting Started
    • Start familiarizing yourself
  • Tutorials
    • Medical Device Tutorial
      • Preparation
      • Build your first prototype
        • Define a data model
        • Configure your workflows
          • Workflow 1: Analyze a measurement
          • Workflow 2: Create & store a PDF report
          • Workflow 3: Send an e-mail
        • Define your permissions
          • Update your schema with user permissions
          • Update your schema with group permissions
        • Build the Front-End
          • Set up oAuth in your backend
          • Demo login page
      • Summary & Wrap up
    • Polysomnography (PSG) Tutorial
    • Retool - Building dashboards Tutorial
  • FAQ
    • General
  • Services
    • Identity and Access Management
      • User service
        • Users
        • Groups
        • Global roles
        • Configuration
      • Auth Service
        • Applications
        • OAuth2
        • OAuth1
        • MFA
        • OpenID Connect
          • Google Cloud
          • Azure ADFS
    • Data Management
      • File Service
      • Data Service
        • Schemas
        • Documents
        • FAQ Data Service
    • Automation
      • Task Service
        • Functions
        • Tasks
        • API Functions
        • Examples
          • Hello world (JS)
          • Hello world (Py)
          • Hello world (Docker)
        • FAQ
      • Dispatchers Service
      • Event Service
        • System Events
    • Communication
      • Notification Service
        • Notifications
        • Settings
      • Mail Service
    • Other
      • Localization Service
        • Language Codes
      • Template Service
        • Localizations
      • Payments Service
        • Subscriptions
        • Stripe
        • iOS App Store
      • Configurations Service
  • API Reference
    • OpenAPI Specifications
    • 📦Changelog
      • Per-service Changelog
    • Postman Reference Collection
  • Tools
    • SDK
    • CLI
    • Control Center
  • Additional Resources
    • Resource Query Language (RQL)
    • Handling Errors
    • GitHub
    • API interaction (Python)
    • Migration guide: Enabling verification request limiting
  • ExH Platform
    • 🙋Support
    • ⏱️Usage and Performance
    • 🗺️Regions
    • ⚖️Cloud Subscription Agreement
    • Security, Privacy & Quality
      • 🔓Security
      • 🇺🇸CFR 21 Part 11
      • ExH as OTS Software
Powered by GitBook
On this page

Was this helpful?

  1. Tutorials
  2. Medical Device Tutorial

Preparation

PreviousMedical Device TutorialNextBuild your first prototype

Last updated 1 year ago

Was this helpful?

Before you begin, make sure you have the credentials to access your Extra Horizon environment. You'll need

Variable
Example

Host URL

api.dev.my-company.extrahorizon.io

OAUTH1 consumer key

bb6c5186acf8aca8ed64ef4ef49e08bb4484c7c4

OAUTH1 consumer secret

4808fbc315294aa7aeb2e40b76d84680c0b582ee

e-mail

john.doe@extrahorizon.com

password

SomeDiff!UnguessableP8ssword

Using Host URL, e-mail and password, you can access the Control Center UI at . Please log in and explore the UI at your leisure.

This tutorial will be based on code located in the GitHub repository at .

  1. You'll need to have installed in order to use the repository

  2. Check out the repository:

git clone git@github.com:ExtraHorizon/medical-device-tutorial.git
  1. In the repository, do

npm install

This will install all the repository dependencies, including the and . The SDK will be used by our tutorial application to interact with the Extra Horizon API, while we'll use the CLI to set up & manage our Extra Horizon configuration.

  1. Now we'll need to authenticate the CLI to the Extra Horizon backend so that we can use the CLI to manage our configuration. Using the credentials mentioned at the top of this page, do

npx exh login --host=https://<Host URL> --email=<email> 
    --password=<password> --consumerKey=<consumer key> 
    --consumerSecret=<consumer secret>

The CLI will authenticate you & store your credentials in ~/.exh/credentials.

  1. Verify that the CLI works correctly by doing

npx exh data schemas list

which should return an (empty) list of data schemas.

Repository structure

The structure of the repository is as follows:

.
├── 1-data-model
│   └── schemas
├── 2-workflows
│   ├── schemas
│   ├── tasks
│   │   └── analyze-blood-pressure
│   │       └── src
│   └── templates
│       ├── mail-analysis
│       └── pdf-analysis
├── 3-permissions
│   └── schemas
├── 4-oauth-frontend
│   └── front-end
│       ├── dist
│       └── src
└── examples
    ├── permissions
    ├── workflow 1
    └── workflow 2

There are separate directories for each section of this tutorial. Next to that, there's an examples directory, which contains sample scripts to perform certain operations on the Extra Horizon backend. They will be used throughout the tutorial.

That's it! Now you're all set to begin the tutorial.

https://app.extrahorizon.com
https://github.com/ExtraHorizon/medical-device-tutorial
Node.js
Extra Horizon SDK
CLI