Loop Development FAQs
Frequently asked questions about Loop Development and using the Loop Development Kit (LDK).
Last updated
Was this helpful?
Frequently asked questions about Loop Development and using the Loop Development Kit (LDK).
Last updated
Was this helpful?
Here are some on our Local Loop Installation page to help you become a author.
We have a handy list of to follow in order to be a Loop author in the Loop Library.
Anyone can develop and test a . Follow these steps to set up and run your Loop.
1. First step is to become a . This will unlock a new option in the menu items under Loop Authors for Local Development.
2. Create a and build it to generate a file.
3. Once you have a compiled loop.js
file, go to .
4. Click the link to add a new . This will open up a form similar to the form you filled in order to publish your Loop.
5. There are only two required pieces of information, the Loop name and path to the loop.js
file. Fill out the form with the required information, and submit it.
6. Your loop should now be running in Olive Helps! And you can test it out to see if your logic is working.
7. If you find any issues in your code, or if you need to change anything, you can make edits in your Loops files. After it is fixed/updated, you can rebuild the project. This will generate a new loop.js
file. In the Local Loops section, you will see the Loop that you are working in with a Restart button. Clicking the restart button will pull in the new loop.js
file for your loop that you were working on (assuming it is generated in the same folder path given) and reserve your Loop.
Please note: Changes to permissions will require the Loop to have to be uninstalled and then reinstalled to be picked up.
Anytime you’d like! Whispers are meant to tell the user what they need at specific times. Please note: try not to create a Whisper on startup unless you absolutely need to. This is to prevent too many Whispers showing for a user as soon as they open the app.
Go to Menu -> Click Developer -> and open Release NotesWhat kind of artifact do I need to produce
The LDK is the Software Development Kit (SDK) for creating Loops. Loop authors can use the LDK to create Loops, which can reach a wide audience through the Loop Library. Our platform provides a sophisticated environment for Loop development, all while adhering to Olive’s advanced security compliance.
For that reason certain node/browser built-ins are not exposed to your Loop (ex. fetch
for network calls or fs
for reading files). That's how Olive Helps is able to do things like enforce which domains you can access from your Loop based on your permissions requests. So while we generally encourage you to leverage existing modules/packages/libraries from npm or other sources, you may have to do some testing to make sure it works.
Olive includes a business associate agreement as part of Olive's terms and conditions that you agree to as a Loop author. Olive also includes a business associate agreement within the terms and conditions agreed to by Olive Helps users. It is the Loop Author's responsibility to determine the terms and conditions and/or business associate agreement that are required for their Loop.
No. Olive will perform a security review with the Loop Author prior to the Loop being published into the Loop Library. Having a SOC or HITRUST will speed up the review process, but is not required.
Olive is actively building partnerships with the goal to create Loops that will bring real-time intelligence to users in varied areas of healthcare. Much like apps in an app store, Loop building will be an ongoing process post-launch as well.
Not yet, but having Loops installed upon Helps installation is on the roadmap as part of “Groups.” Eventually org admins will be able to configure groups, as well as default installations, so that when those users login, the Loops are automatically downloaded, and each user will need to install any Loops they'll be using.
We have some available in a few places in our documentation. Namely, in our documentation. We have sample code in and some other , as well.
All aptitudes are available as long as you request permission in your package.json. To use an Aptitude, import it from the LDK library and use the functions you need. Examples can be found in each Aptitude’s .
We require a single file, called "loop.js", which needs to be built in a specific way where metadata is embedded in a header comment. how we suggest doing it with and to build it out with our configuration. We recommend using Webpack 5 to compile your Loop code for you. Our Webpack configuration includes support for Typescript, and generates the Loop metadata required for installation.
Yes, but the environment that your Loop runs in is not quite node and not quite a browser — it's a custom JavaScript runtime that has added security/sandboxing in place, accessing file, making network calls, and needs to be done through an .
Many packages should work if used properly. For example, the xlsx module can be used to read excel spreadsheets by leveraging the to read the contents of the file and then passing it into xlsx.read(data, read_opts)
. However, your Loop would fail with an error if you tried to use xlsx.readFile(filename, read_opts)
because that function would try to access fs
, which isn't available within the secure runtime environment. See for more details about Loop permissions and Loop sandboxing.