How to build an AI AutoScribing capability into your platform using Beam API

Since Beam Health started offering its telehealth, appointments, and payments services as an API first service, many customers have integrated Beam into their workflow. In addition to the API, we also launched an SDK – enabling users to set up their own telehealth solution within 10 minutes.

Today, we’re excited to announce that we are leveling up that experience by bringing Shine AI to our API. Starting today, Shine AI can integrate into your solution and autoscribe your entire consultation. Using the latest in generative AI capabilities, it can also create detailed SOAP notes, look up billing codes, and post it automatically to your EHR. To make this happen, it’s as simple as using just up to 3 API endpoints.

The first one is to fetch all your autoscribed consults. This is particularly useful for when you want to build your own dashboard.

To access our endpoints, simply include your API key in the header like this: 

Authorization: Bearer <YOUR_API_KEY>

Step 1: Now you can fetch your autoscribed consults by sending a GET request to This returns the unique id as well as the timestamps for the consultation.

Step 2: Using the unique ID, you can make a 2nd GET request to where you pass in the consult_id as a parameter. This returns the details and the full transcript of the consult.

Step 3: Finally, to generate the SOAP notes and billing codes, you will make a POST request to with the consult_id as a parameter. You can even provide Shine AI with additional context for higher quality notes by passing in intake data. To do so, simply include your intake data within the form body.

Your intake data can include the patient’s demographic information (name, DOB, gender), the provider’s manual freehand notes, as well as file uploads (e.g. clinical test results). You can also include the patient’s email to allow Shine AI to look up the patient’s history as well.

Let’s take a look at an example to see how this works. Let’s assume you’re a doctor (Dr. Smith) who has just completed a consultation with your patient (John Appleseed) about sinusitis. You log onto your platform and navigate to the table with a list of your recent consults (using the endpoint described in Step 1).

Then you click on the most recent consult, which triggers the endpoint in Step 2, and shows you the full transcript of your consult.

Here is an example of how the raw JSON data would look:

{ "id": 1, "created": 1661260258, "completed": 1661271435,
"transcription": [
{ "name": "John Appleseed", "role": "provider", "time": 1661260258, "message": "Hey there, how are you!" },
{ "name": "Phil Jones", "role": "patient", "time": 1661261258, "message": "I'm doing well, how about you?" },

Now you can generate your SOAP notes and billing codes with the click of a button (assuming you don’t have any additional intake data to upload). If you do have intake data, you can simply upload it and attach it to the body of the POST request described in step 3.

e.g. something like 'file': 'test_results.pdf'

Your response might look something like this:

{ "subjective": "Patient reports having had a persistent stuffy nose, frontal headache, and facial pain for the past week. No known allergies. No recent travel or sick contacts. Denies fever or cough. Over-the-counter decongestants provide temporary relief but symptoms return. Sleep has been disturbed due to difficulty breathing.", "objective": "Vital signs stable. On physical examination via video consult, patient appears in mild distress. Noted dark circles under eyes. Palpation of sinuses elicited discomfort. Nasal mucosa appeared swollen and reddened when patient was asked to position camera to the nostrils. No signs of dental infection observed.", "assessment": "Patient's symptoms and physical examination are consistent with acute sinusitis.", "plan": "Prescribe a course of amoxicillin-clavulanate for bacterial sinusitis. Recommend saline nasal irrigation and continued use of over-the-counter decongestants as needed. Instruct patient to return for follow up in 10 days or sooner if symptoms worsen or fever develops. Educate patient on signs of complications such as vision changes or severe headache that would necessitate urgent evaluation.", "icd10": "J01.90", "pcs": "", "cpt": "99213-95", "em": "99213" }

It’s worth mentioning that, while not required, we highly recommend adding as much intake data as possible. In the example above, Shine AI did not have access to any intake data and created the SOAP notes based on context provided in the transcript (for example, the provider vocally made note of the dark circles under the patient’s eyes). While Shine is optimized for creating the best possible notes with the information provided, including intake data will result in more accurate and descriptive notes, by leveraging important context like patient’s demographic information, medical history, lab results, and questionnaires, and better medical coding, by including codes that might not be clear from the transcript alone.

You can view our full API documentation here.