
Guides
Mar 9, 2025

Albert Mao
Co-Founder
Transform your organization with AI
Discover how VectorShift can automate workflows with our Secure AI plarform.
Use Case Overview
The problem of excessive time spent on healthcare documentation is well known, and impacts both patient care and clinician well-being.
Healthcare professionals now spend an average of 13.5 hours per week on clinical documentation, a 25% increase over the past seven years. This equates to more than one-third of a clinician's typical working hours, with consultant nurses and doctors spending even more time (16.5 and 15.1 hours respectively) on documentation tasks.
For an Urgent Care Clinic, VectorShift built a HIPPA compliant SOAP notes automation. It receives a recording of the patient conversation and any relevant files (e.g., diagnostic test results) and generates a first draft of the SOAP notes.
In this article, we will walk through how to build a SOAP note automation step by step.

Building Steps
Designing the workflow / pipeline
The pipeline will allow for two data inputs: 1) a recording (patient conversation) and 2) a file (e.g., lab results).
Based on the inputs, a LLM will then generate a SOAP report.
Each SOAP report will be sent to another system (e.g., EHR system) via API.
Place a form interface on the workflow so clinicians / end users can easily submit inputs, and receive notes.
1. Designing the Back-Office Pipeline
The pipeline has 8 nodes: two input nodes, a Google Docs node, a speech-to-text node, two LLM nodes, one output node, and an API node.
Input Nodes: Two inputs are going to be used: an audio input which represents the recording between patient and physician, and a file input which represents relevant documents (e.g., Lab Result, EHR).
Speech-to-text Node: The Speech-to-text node will convert the recording into text.
Google Docs Node: Integration with Google Docs to access the SOAP format document (to ensure all the generated reports are of the same style).
LLM Node: The first LLM node generates the SOAP report from inputs. The second LLM node will translate the result into a JSON which will later be passed to an EHR via API.
Output Node: The final report that will be displayed via the interface.
API Node: To send the result via API to other apps (e.g., EHR system).
The Pipeline Design Overview

Working with Nodes in VectorShift

Each node in VectorShift has a name at the top of each node (e.g., openai_0) and output field(s), which are found in the right-hand pane of each node (e.g., the OpenAI LLM node has various output fields: response, tokens.used, input_tokens, output_tokens).
To reference specific data fields from other nodes, you have to do two things:
Connect the two nodes.
Reference the data from the previous field using a variable.
Variables in VectorShift all have the same structure:
You can also create variables by typing “{{“ in any text field, which opens the variable builder. To reference the text from the OpenAI node, you call the variable on the Output node:
Input Node (Audio Recording)
This article will use the input_0 node for recording file input and the input_1 node for custom instruction.
Take an Input Node and from the “Type” list, choose “Audio” type. This allows the pipeline to take the recording file as input.

Speech-to-Text Node
For the audio recording to be analyzed by a LLM, it needs to be converted into text using a Speech-to-text node.
Step 1: First, connect the input_0 node to the ai_speech_to_text_0 node.

Step 2: In the ai_speech_to_text_0 node, click on “Audio”. The dropdown will show the list of available nodes. Click on input_0.

Step 3: After clicking on input_0, you need to choose the type of output field you want to receive (there is only one called “audio”).

Step 4: When the pipeline runs, the audio recording file from input_0 will be forwarded to “ai_speech_to_text_0” and will be converted into text (see the right pane of “ai_speech_to_text_0” Outputs)

Input Node (File)
We need another input node to be able to receive file uploads. Add another Input node and choose “File” from the “Type” dropdown.

Google Docs Node
We will access the SOAP format document from Google Docs. Make sure you have a sample of the SOAP format document in your Google Drive.
Step 1: Add a Google Docs node and click on “Read Google Doc”. This option allows us to read a file in our Google Drive.

Step 2: Click “Sign in with Google”. You will be asked permission for VectorShift to access your account.

Step 3: VectorShift will require permission to access your Google Drive. Check all of the permissions required then click on “Continue”.

Step 4: Click on “Pick File” and you will be shown the “Google Drive” directory.

Step 5: Find the “SOAP Template” file in your Google Drive and click on it.

Step 6: Click “Confirm Selection” after selecting the file.

Step 7: The ID of the selected document will appear in the Google Docs Node.

LLM (Generate Report)
We will use a LLM node to generate a SOAP report based on all the data fields. Connect all three data sources (two input nodes, and google docs node) to the OpenAI Node then adjust the “System (Instructions)” and “Prompt”.

“System (Instructions)” defines how our LLM should behave. You can use the template below:


Within the “Prompt”, you can pass data from other nodes. Use the prompt below to pass all input into LLM:


Output Node
The output nodes allow the physician to read the SOAP report. Connect the LLM Node with the Output Node and put {{openai_0.response}} in the “Output” row.

LLM (Convert Report to JSON)
For each SOAP report created, we also want to send the data to an EHR via API. To do that, we need an extra LLM node to convert the report into JSON.
Add one more LLM node and connect it with the previous LLM to receive the {{openai_0.response}} in the prompt.
“System (Instructions)” :
Note: When deploying live, you will need to instruct the LLM on the specific JSON schema for your database
“Prompt” :

API Node
The last node we need to add is an API Node. Connect the node openai_1.response to the API node as a “Body” and choose “Raw JSON”. Additionally, you can change the “Method” and “URL” rows based on your app.

Running the Pipeline
Click “Run” on the top-right of the window. You will be shown the “Run Pipeline” pane on the right part of the screen.

You need to record the conversation between the physician and patient using the record button and insert the relevant document in the “Upload File” button. Finally, you can click on “Run” to see the result.

You can see the pipeline result in the “Outputs” section.

Deploying the Pipeline
The last thing you need to do is to deploy the pipeline. This allows you to track your pipeline versioning in case you want to revert to the previous version. Click “Deploy Changes” to continue.

Click on the “Deploy” button to apply the changes.

2. Exporting the Pipeline
Exporting a pipeline is the easiest way to publish the pipeline so the physician can interact with it. In this case, we will export the pipeline into a form.
Step 1: After finishing with deployment, go to the main menu, and click on “Interfaces” to see the options, then click on “Forms”. Forms allow us to run the pipeline using VectorShift's built-in interface.
Next, you need to click “New” on the top-right to create a new form.

Step 2: From the “New Form” pop-up window, select the SOAP Report Generator pipeline.

Step 3: Give the form name and click “Create Form”

Step 4: Make any necessary configurations in the left pane. For example if you want to change the name of inputs, you can go to the “Inputs” section, and change the label that represents the interface.
After finishing making changes, click on “Deploy Changes” to deploy the latest update.

Step 5: Click “Deploy”.

Step 6: After finishing deploying the changes, click on “Export” to export your pipeline.

Step 7: You can click “Open Form” or paste the link to access the form. You can also share the link with your colleague. To make the form private, you can choose to turn on “Protect with Password” to safeguard the form with a password.

Now your SOAP Reporting Generator form is ready to use. Upload the relevant document and record the conversation. The result is SOAP notes!

Conclusion
This SOAP Report Generator shows how AI can make healthcare more efficient. It helps physicians spend less time on paperwork and more time with patients. As AI continues to improve, tools like this will become a must-have for hospitals and clinics that want to give the best care possible.
Looking to integrate AI into your clinic and save time from back-office operations? Create a free account or schedule to talk with us.
Albert Mao
Co-Founder
Albert Mao is a co-founder of VectorShift, a no-code AI automation platform and holds a BA in Statistics from Harvard. Previously, he worked at McKinsey & Company, helping Fortune 500 firms with digital transformation and go-to-market strategies.