Zambda Functions are ready for use in production!
Zambda Functions supplement the ZapEHR 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 ZapEHR: 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 ZapEHR’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 ZapEHR 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 ZapEHR feature, Zambda Functions are created and modified via API endpoints. To set up a Zambda Function:
The ZapEHR Console includes features for managing Zambda Functions that make it easier to get started.
The first production application built on ZapEHR uses Zambda Functions: PM Pediatrics’ Behavioral Health Intake website. Let’s reverse-engineer how the application uses ZapEHR 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:
ZapEHR 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 ZapEHR 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 ZapEHR 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 ZapEHR, 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