Zambda Functions are ready for use in production!
Zambda Functions supplement the Oystehr platform's out-of-the-box FHIR API and services with custom functionality when you need to:
One of the major benefits of building on Oystehr: no need to build your own backend. Actions like fetching available appointment slots, creating patients, inviting doctors, and filing an insurance claim for a patient all happen through Oystehr’s APIs. But in the case of integration with proprietary systems for example, custom code is required to connect.
With Zambda Functions, you write code and Oystehr runs it. Built on top of AWS Lambda, Zambda Functions provide a secure and scalable function-as-a-service platform. Zambda Functions is launching with support for four types of functions:
Zamda Functions include endpoints for monitoring your functions through direct access to system logs.
Like every other Oystehr feature, Zambda Functions are created and modified via API endpoints. To set up a Zambda Function:
The Oystehr Console includes features for managing Zambda Functions that make it easier to get started.
The first production application built on Oystehr uses Zambda Functions: PM Pediatrics’ Behavioral Health Intake website. Let’s reverse-engineer how the application uses Oystehr to provide users available appointment slots.
Go ahead and load the page so you can inspect the network requests via the browser’s developer console and find the call to execute-public. This is a public Zambda Function that returns the slots available for booking. Here is a sample request to the function:
curl 'https://project-api.zapehr.com/v1/zambda/a532f706-176c-427c-a90f-e56ae7cb09d8/execute-public' -H "x-zapehr-project-id: f3d649b6-17fe-4e83-93a9-55ac48e32864" --data-raw '{"startDate":"2023-05-10T18:19:58.149-04:00"}'
Example response:
Oystehr is designed to help you build a backend for your health applications, and Zambda Functions are an important part of running your own code in the backend. They provide functionality for you to write a custom backend without needing to manage servers. Refer to our documentation on Zambdas for more information, and contact us at [email protected] or using Slack if you would like to discuss them in more detail.
What are the key use cases for Zambdas?
Zambdas serve various purposes, including creating new FHIR resources, reacting to changes in FHIR records in real-time, integrating with third-party services, and running custom code at scheduled intervals.
What are the benefits of using Zambdas for integrating with third-party services?
Zambdas simplify the process of integrating with third-party services by allowing developers to write custom code that interacts seamlessly with external APIs, eliminating the need for building and maintaining separate backend infrastructure.
What types of functions are supported by Zambdas, and how are they invoked?
Zambdas support four types of functions: public, authenticated, subscription, and scheduled. These functions are invoked based on different criteria, such as authentication status, event triggers, or scheduled intervals.
How are Zambdas monitored and managed within the Oystehr platform?
Zambdas include endpoints for monitoring functions through direct access to system logs, allowing developers to review logs for debugging and performance monitoring purposes.
Where can I find more information and support for working with Zambdas?
More information and support for working with Zambdas can be found in the Oystehr documentation and can contact us at [email protected] or using Slack if you would like to discuss them in more detail.
Looking to try it out yourself? Request FREE access to our developer sandbox.
Our new behavioral health intake application, built on Oystehr, allowed us to build a solution that is customized for our use including scheduling, insurance validation, and direct integration with our eClinicalWorks EHR.
Chief Medical Information Officer at PM Pediatric Care