Generate Patient Suggestions
curl --request POST \
--url https://api.decodahealth.com/ai/patient/suggestions \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"context": {
"patient": {
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"createdDate": "<string>"
},
"upcomingAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentNotes": [
{
"createdDate": "<string>",
"summary": "<string>",
"answers": [],
"questions": []
}
],
"measurements": [
{
"measurementDate": "<string>",
"weight": 123,
"height": 123,
"systolicBp": 123,
"diastolicBp": 123,
"pulse": 123,
"temperature": 123,
"waistCircumference": 123
}
],
"medications": [
{
"name": "<string>",
"amount": 123,
"unit": "<string>",
"frequency": "<string>",
"quantity": 123,
"comment": "<string>",
"administrationLocation": "<string>"
}
],
"recentCharges": [
{
"id": "<string>",
"total": 123,
"totalOutstanding": 123,
"status": "<string>",
"description": "<string>",
"createdDate": "<string>",
"items": [
{
"quantity": 123,
"price": 123,
"name": "<string>",
"description": "<string>",
"discountAmount": 123
}
],
"payments": [
{}
]
}
],
"recentForms": [
{
"submissionDate": "<string>",
"isCompleted": true,
"name": "<string>"
}
],
"quickNotes": [
{
"note": "<string>",
"createdDate": "<string>",
"eventId": "<string>"
}
],
"tenant": {
"name": "<string>",
"timezone": "<string>"
}
},
"modelName": "gemini-2.5-flash-lite",
"useStructuredOutput": false,
"conversationHistory": [
{
"content": "<string>",
"timestamp": "<string>",
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
],
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
'import requests
url = "https://api.decodahealth.com/ai/patient/suggestions"
payload = {
"context": {
"patient": {
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"createdDate": "<string>"
},
"upcomingAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentNotes": [
{
"createdDate": "<string>",
"summary": "<string>",
"answers": [],
"questions": []
}
],
"measurements": [
{
"measurementDate": "<string>",
"weight": 123,
"height": 123,
"systolicBp": 123,
"diastolicBp": 123,
"pulse": 123,
"temperature": 123,
"waistCircumference": 123
}
],
"medications": [
{
"name": "<string>",
"amount": 123,
"unit": "<string>",
"frequency": "<string>",
"quantity": 123,
"comment": "<string>",
"administrationLocation": "<string>"
}
],
"recentCharges": [
{
"id": "<string>",
"total": 123,
"totalOutstanding": 123,
"status": "<string>",
"description": "<string>",
"createdDate": "<string>",
"items": [
{
"quantity": 123,
"price": 123,
"name": "<string>",
"description": "<string>",
"discountAmount": 123
}
],
"payments": [{}]
}
],
"recentForms": [
{
"submissionDate": "<string>",
"isCompleted": True,
"name": "<string>"
}
],
"quickNotes": [
{
"note": "<string>",
"createdDate": "<string>",
"eventId": "<string>"
}
],
"tenant": {
"name": "<string>",
"timezone": "<string>"
}
},
"modelName": "gemini-2.5-flash-lite",
"useStructuredOutput": False,
"conversationHistory": [
{
"content": "<string>",
"timestamp": "<string>",
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
],
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
context: {
patient: {
firstName: '<string>',
lastName: '<string>',
dateOfBirth: '<string>',
gender: '<string>',
phoneNumber: '<string>',
email: '<string>',
createdDate: '<string>'
},
upcomingAppointments: [
{
title: '<string>',
start: '<string>',
id: '<string>',
status: '<string>',
providerName: '<string>'
}
],
recentAppointments: [
{
title: '<string>',
start: '<string>',
id: '<string>',
status: '<string>',
providerName: '<string>'
}
],
recentNotes: [{createdDate: '<string>', summary: '<string>', answers: [], questions: []}],
measurements: [
{
measurementDate: '<string>',
weight: 123,
height: 123,
systolicBp: 123,
diastolicBp: 123,
pulse: 123,
temperature: 123,
waistCircumference: 123
}
],
medications: [
{
name: '<string>',
amount: 123,
unit: '<string>',
frequency: '<string>',
quantity: 123,
comment: '<string>',
administrationLocation: '<string>'
}
],
recentCharges: [
{
id: '<string>',
total: 123,
totalOutstanding: 123,
status: '<string>',
description: '<string>',
createdDate: '<string>',
items: [
{
quantity: 123,
price: 123,
name: '<string>',
description: '<string>',
discountAmount: 123
}
],
payments: [{}]
}
],
recentForms: [{submissionDate: '<string>', isCompleted: true, name: '<string>'}],
quickNotes: [{note: '<string>', createdDate: '<string>', eventId: '<string>'}],
tenant: {name: '<string>', timezone: '<string>'}
},
modelName: 'gemini-2.5-flash-lite',
useStructuredOutput: false,
conversationHistory: [
{
content: '<string>',
timestamp: '<string>',
files: [{name: '<string>', size: 123, type: '<string>', data: '<string>'}]
}
],
files: [{name: '<string>', size: 123, type: '<string>', data: '<string>'}]
})
};
fetch('https://api.decodahealth.com/ai/patient/suggestions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.decodahealth.com/ai/patient/suggestions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'context' => [
'patient' => [
'firstName' => '<string>',
'lastName' => '<string>',
'dateOfBirth' => '<string>',
'gender' => '<string>',
'phoneNumber' => '<string>',
'email' => '<string>',
'createdDate' => '<string>'
],
'upcomingAppointments' => [
[
'title' => '<string>',
'start' => '<string>',
'id' => '<string>',
'status' => '<string>',
'providerName' => '<string>'
]
],
'recentAppointments' => [
[
'title' => '<string>',
'start' => '<string>',
'id' => '<string>',
'status' => '<string>',
'providerName' => '<string>'
]
],
'recentNotes' => [
[
'createdDate' => '<string>',
'summary' => '<string>',
'answers' => [
],
'questions' => [
]
]
],
'measurements' => [
[
'measurementDate' => '<string>',
'weight' => 123,
'height' => 123,
'systolicBp' => 123,
'diastolicBp' => 123,
'pulse' => 123,
'temperature' => 123,
'waistCircumference' => 123
]
],
'medications' => [
[
'name' => '<string>',
'amount' => 123,
'unit' => '<string>',
'frequency' => '<string>',
'quantity' => 123,
'comment' => '<string>',
'administrationLocation' => '<string>'
]
],
'recentCharges' => [
[
'id' => '<string>',
'total' => 123,
'totalOutstanding' => 123,
'status' => '<string>',
'description' => '<string>',
'createdDate' => '<string>',
'items' => [
[
'quantity' => 123,
'price' => 123,
'name' => '<string>',
'description' => '<string>',
'discountAmount' => 123
]
],
'payments' => [
[
]
]
]
],
'recentForms' => [
[
'submissionDate' => '<string>',
'isCompleted' => true,
'name' => '<string>'
]
],
'quickNotes' => [
[
'note' => '<string>',
'createdDate' => '<string>',
'eventId' => '<string>'
]
],
'tenant' => [
'name' => '<string>',
'timezone' => '<string>'
]
],
'modelName' => 'gemini-2.5-flash-lite',
'useStructuredOutput' => false,
'conversationHistory' => [
[
'content' => '<string>',
'timestamp' => '<string>',
'files' => [
[
'name' => '<string>',
'size' => 123,
'type' => '<string>',
'data' => '<string>'
]
]
]
],
'files' => [
[
'name' => '<string>',
'size' => 123,
'type' => '<string>',
'data' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"Content-Type: application/json",
"TENANT: <tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.decodahealth.com/ai/patient/suggestions"
payload := strings.NewReader("{\n \"context\": {\n \"patient\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"<string>\",\n \"createdDate\": \"<string>\"\n },\n \"upcomingAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentNotes\": [\n {\n \"createdDate\": \"<string>\",\n \"summary\": \"<string>\",\n \"answers\": [],\n \"questions\": []\n }\n ],\n \"measurements\": [\n {\n \"measurementDate\": \"<string>\",\n \"weight\": 123,\n \"height\": 123,\n \"systolicBp\": 123,\n \"diastolicBp\": 123,\n \"pulse\": 123,\n \"temperature\": 123,\n \"waistCircumference\": 123\n }\n ],\n \"medications\": [\n {\n \"name\": \"<string>\",\n \"amount\": 123,\n \"unit\": \"<string>\",\n \"frequency\": \"<string>\",\n \"quantity\": 123,\n \"comment\": \"<string>\",\n \"administrationLocation\": \"<string>\"\n }\n ],\n \"recentCharges\": [\n {\n \"id\": \"<string>\",\n \"total\": 123,\n \"totalOutstanding\": 123,\n \"status\": \"<string>\",\n \"description\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"items\": [\n {\n \"quantity\": 123,\n \"price\": 123,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"discountAmount\": 123\n }\n ],\n \"payments\": [\n {}\n ]\n }\n ],\n \"recentForms\": [\n {\n \"submissionDate\": \"<string>\",\n \"isCompleted\": true,\n \"name\": \"<string>\"\n }\n ],\n \"quickNotes\": [\n {\n \"note\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"eventId\": \"<string>\"\n }\n ],\n \"tenant\": {\n \"name\": \"<string>\",\n \"timezone\": \"<string>\"\n }\n },\n \"modelName\": \"gemini-2.5-flash-lite\",\n \"useStructuredOutput\": false,\n \"conversationHistory\": [\n {\n \"content\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n }\n ],\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.decodahealth.com/ai/patient/suggestions")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"context\": {\n \"patient\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"<string>\",\n \"createdDate\": \"<string>\"\n },\n \"upcomingAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentNotes\": [\n {\n \"createdDate\": \"<string>\",\n \"summary\": \"<string>\",\n \"answers\": [],\n \"questions\": []\n }\n ],\n \"measurements\": [\n {\n \"measurementDate\": \"<string>\",\n \"weight\": 123,\n \"height\": 123,\n \"systolicBp\": 123,\n \"diastolicBp\": 123,\n \"pulse\": 123,\n \"temperature\": 123,\n \"waistCircumference\": 123\n }\n ],\n \"medications\": [\n {\n \"name\": \"<string>\",\n \"amount\": 123,\n \"unit\": \"<string>\",\n \"frequency\": \"<string>\",\n \"quantity\": 123,\n \"comment\": \"<string>\",\n \"administrationLocation\": \"<string>\"\n }\n ],\n \"recentCharges\": [\n {\n \"id\": \"<string>\",\n \"total\": 123,\n \"totalOutstanding\": 123,\n \"status\": \"<string>\",\n \"description\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"items\": [\n {\n \"quantity\": 123,\n \"price\": 123,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"discountAmount\": 123\n }\n ],\n \"payments\": [\n {}\n ]\n }\n ],\n \"recentForms\": [\n {\n \"submissionDate\": \"<string>\",\n \"isCompleted\": true,\n \"name\": \"<string>\"\n }\n ],\n \"quickNotes\": [\n {\n \"note\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"eventId\": \"<string>\"\n }\n ],\n \"tenant\": {\n \"name\": \"<string>\",\n \"timezone\": \"<string>\"\n }\n },\n \"modelName\": \"gemini-2.5-flash-lite\",\n \"useStructuredOutput\": false,\n \"conversationHistory\": [\n {\n \"content\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n }\n ],\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/ai/patient/suggestions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"context\": {\n \"patient\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"<string>\",\n \"createdDate\": \"<string>\"\n },\n \"upcomingAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentNotes\": [\n {\n \"createdDate\": \"<string>\",\n \"summary\": \"<string>\",\n \"answers\": [],\n \"questions\": []\n }\n ],\n \"measurements\": [\n {\n \"measurementDate\": \"<string>\",\n \"weight\": 123,\n \"height\": 123,\n \"systolicBp\": 123,\n \"diastolicBp\": 123,\n \"pulse\": 123,\n \"temperature\": 123,\n \"waistCircumference\": 123\n }\n ],\n \"medications\": [\n {\n \"name\": \"<string>\",\n \"amount\": 123,\n \"unit\": \"<string>\",\n \"frequency\": \"<string>\",\n \"quantity\": 123,\n \"comment\": \"<string>\",\n \"administrationLocation\": \"<string>\"\n }\n ],\n \"recentCharges\": [\n {\n \"id\": \"<string>\",\n \"total\": 123,\n \"totalOutstanding\": 123,\n \"status\": \"<string>\",\n \"description\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"items\": [\n {\n \"quantity\": 123,\n \"price\": 123,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"discountAmount\": 123\n }\n ],\n \"payments\": [\n {}\n ]\n }\n ],\n \"recentForms\": [\n {\n \"submissionDate\": \"<string>\",\n \"isCompleted\": true,\n \"name\": \"<string>\"\n }\n ],\n \"quickNotes\": [\n {\n \"note\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"eventId\": \"<string>\"\n }\n ],\n \"tenant\": {\n \"name\": \"<string>\",\n \"timezone\": \"<string>\"\n }\n },\n \"modelName\": \"gemini-2.5-flash-lite\",\n \"useStructuredOutput\": false,\n \"conversationHistory\": [\n {\n \"content\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n }\n ],\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Ai
Generate Patient Suggestions
Generate follow-up question suggestions.
POST
/
ai
/
patient
/
suggestions
Generate Patient Suggestions
curl --request POST \
--url https://api.decodahealth.com/ai/patient/suggestions \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"context": {
"patient": {
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"createdDate": "<string>"
},
"upcomingAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentNotes": [
{
"createdDate": "<string>",
"summary": "<string>",
"answers": [],
"questions": []
}
],
"measurements": [
{
"measurementDate": "<string>",
"weight": 123,
"height": 123,
"systolicBp": 123,
"diastolicBp": 123,
"pulse": 123,
"temperature": 123,
"waistCircumference": 123
}
],
"medications": [
{
"name": "<string>",
"amount": 123,
"unit": "<string>",
"frequency": "<string>",
"quantity": 123,
"comment": "<string>",
"administrationLocation": "<string>"
}
],
"recentCharges": [
{
"id": "<string>",
"total": 123,
"totalOutstanding": 123,
"status": "<string>",
"description": "<string>",
"createdDate": "<string>",
"items": [
{
"quantity": 123,
"price": 123,
"name": "<string>",
"description": "<string>",
"discountAmount": 123
}
],
"payments": [
{}
]
}
],
"recentForms": [
{
"submissionDate": "<string>",
"isCompleted": true,
"name": "<string>"
}
],
"quickNotes": [
{
"note": "<string>",
"createdDate": "<string>",
"eventId": "<string>"
}
],
"tenant": {
"name": "<string>",
"timezone": "<string>"
}
},
"modelName": "gemini-2.5-flash-lite",
"useStructuredOutput": false,
"conversationHistory": [
{
"content": "<string>",
"timestamp": "<string>",
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
],
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
'import requests
url = "https://api.decodahealth.com/ai/patient/suggestions"
payload = {
"context": {
"patient": {
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "<string>",
"gender": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"createdDate": "<string>"
},
"upcomingAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentAppointments": [
{
"title": "<string>",
"start": "<string>",
"id": "<string>",
"status": "<string>",
"providerName": "<string>"
}
],
"recentNotes": [
{
"createdDate": "<string>",
"summary": "<string>",
"answers": [],
"questions": []
}
],
"measurements": [
{
"measurementDate": "<string>",
"weight": 123,
"height": 123,
"systolicBp": 123,
"diastolicBp": 123,
"pulse": 123,
"temperature": 123,
"waistCircumference": 123
}
],
"medications": [
{
"name": "<string>",
"amount": 123,
"unit": "<string>",
"frequency": "<string>",
"quantity": 123,
"comment": "<string>",
"administrationLocation": "<string>"
}
],
"recentCharges": [
{
"id": "<string>",
"total": 123,
"totalOutstanding": 123,
"status": "<string>",
"description": "<string>",
"createdDate": "<string>",
"items": [
{
"quantity": 123,
"price": 123,
"name": "<string>",
"description": "<string>",
"discountAmount": 123
}
],
"payments": [{}]
}
],
"recentForms": [
{
"submissionDate": "<string>",
"isCompleted": True,
"name": "<string>"
}
],
"quickNotes": [
{
"note": "<string>",
"createdDate": "<string>",
"eventId": "<string>"
}
],
"tenant": {
"name": "<string>",
"timezone": "<string>"
}
},
"modelName": "gemini-2.5-flash-lite",
"useStructuredOutput": False,
"conversationHistory": [
{
"content": "<string>",
"timestamp": "<string>",
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
],
"files": [
{
"name": "<string>",
"size": 123,
"type": "<string>",
"data": "<string>"
}
]
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
context: {
patient: {
firstName: '<string>',
lastName: '<string>',
dateOfBirth: '<string>',
gender: '<string>',
phoneNumber: '<string>',
email: '<string>',
createdDate: '<string>'
},
upcomingAppointments: [
{
title: '<string>',
start: '<string>',
id: '<string>',
status: '<string>',
providerName: '<string>'
}
],
recentAppointments: [
{
title: '<string>',
start: '<string>',
id: '<string>',
status: '<string>',
providerName: '<string>'
}
],
recentNotes: [{createdDate: '<string>', summary: '<string>', answers: [], questions: []}],
measurements: [
{
measurementDate: '<string>',
weight: 123,
height: 123,
systolicBp: 123,
diastolicBp: 123,
pulse: 123,
temperature: 123,
waistCircumference: 123
}
],
medications: [
{
name: '<string>',
amount: 123,
unit: '<string>',
frequency: '<string>',
quantity: 123,
comment: '<string>',
administrationLocation: '<string>'
}
],
recentCharges: [
{
id: '<string>',
total: 123,
totalOutstanding: 123,
status: '<string>',
description: '<string>',
createdDate: '<string>',
items: [
{
quantity: 123,
price: 123,
name: '<string>',
description: '<string>',
discountAmount: 123
}
],
payments: [{}]
}
],
recentForms: [{submissionDate: '<string>', isCompleted: true, name: '<string>'}],
quickNotes: [{note: '<string>', createdDate: '<string>', eventId: '<string>'}],
tenant: {name: '<string>', timezone: '<string>'}
},
modelName: 'gemini-2.5-flash-lite',
useStructuredOutput: false,
conversationHistory: [
{
content: '<string>',
timestamp: '<string>',
files: [{name: '<string>', size: 123, type: '<string>', data: '<string>'}]
}
],
files: [{name: '<string>', size: 123, type: '<string>', data: '<string>'}]
})
};
fetch('https://api.decodahealth.com/ai/patient/suggestions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.decodahealth.com/ai/patient/suggestions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'context' => [
'patient' => [
'firstName' => '<string>',
'lastName' => '<string>',
'dateOfBirth' => '<string>',
'gender' => '<string>',
'phoneNumber' => '<string>',
'email' => '<string>',
'createdDate' => '<string>'
],
'upcomingAppointments' => [
[
'title' => '<string>',
'start' => '<string>',
'id' => '<string>',
'status' => '<string>',
'providerName' => '<string>'
]
],
'recentAppointments' => [
[
'title' => '<string>',
'start' => '<string>',
'id' => '<string>',
'status' => '<string>',
'providerName' => '<string>'
]
],
'recentNotes' => [
[
'createdDate' => '<string>',
'summary' => '<string>',
'answers' => [
],
'questions' => [
]
]
],
'measurements' => [
[
'measurementDate' => '<string>',
'weight' => 123,
'height' => 123,
'systolicBp' => 123,
'diastolicBp' => 123,
'pulse' => 123,
'temperature' => 123,
'waistCircumference' => 123
]
],
'medications' => [
[
'name' => '<string>',
'amount' => 123,
'unit' => '<string>',
'frequency' => '<string>',
'quantity' => 123,
'comment' => '<string>',
'administrationLocation' => '<string>'
]
],
'recentCharges' => [
[
'id' => '<string>',
'total' => 123,
'totalOutstanding' => 123,
'status' => '<string>',
'description' => '<string>',
'createdDate' => '<string>',
'items' => [
[
'quantity' => 123,
'price' => 123,
'name' => '<string>',
'description' => '<string>',
'discountAmount' => 123
]
],
'payments' => [
[
]
]
]
],
'recentForms' => [
[
'submissionDate' => '<string>',
'isCompleted' => true,
'name' => '<string>'
]
],
'quickNotes' => [
[
'note' => '<string>',
'createdDate' => '<string>',
'eventId' => '<string>'
]
],
'tenant' => [
'name' => '<string>',
'timezone' => '<string>'
]
],
'modelName' => 'gemini-2.5-flash-lite',
'useStructuredOutput' => false,
'conversationHistory' => [
[
'content' => '<string>',
'timestamp' => '<string>',
'files' => [
[
'name' => '<string>',
'size' => 123,
'type' => '<string>',
'data' => '<string>'
]
]
]
],
'files' => [
[
'name' => '<string>',
'size' => 123,
'type' => '<string>',
'data' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"Content-Type: application/json",
"TENANT: <tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.decodahealth.com/ai/patient/suggestions"
payload := strings.NewReader("{\n \"context\": {\n \"patient\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"<string>\",\n \"createdDate\": \"<string>\"\n },\n \"upcomingAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentNotes\": [\n {\n \"createdDate\": \"<string>\",\n \"summary\": \"<string>\",\n \"answers\": [],\n \"questions\": []\n }\n ],\n \"measurements\": [\n {\n \"measurementDate\": \"<string>\",\n \"weight\": 123,\n \"height\": 123,\n \"systolicBp\": 123,\n \"diastolicBp\": 123,\n \"pulse\": 123,\n \"temperature\": 123,\n \"waistCircumference\": 123\n }\n ],\n \"medications\": [\n {\n \"name\": \"<string>\",\n \"amount\": 123,\n \"unit\": \"<string>\",\n \"frequency\": \"<string>\",\n \"quantity\": 123,\n \"comment\": \"<string>\",\n \"administrationLocation\": \"<string>\"\n }\n ],\n \"recentCharges\": [\n {\n \"id\": \"<string>\",\n \"total\": 123,\n \"totalOutstanding\": 123,\n \"status\": \"<string>\",\n \"description\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"items\": [\n {\n \"quantity\": 123,\n \"price\": 123,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"discountAmount\": 123\n }\n ],\n \"payments\": [\n {}\n ]\n }\n ],\n \"recentForms\": [\n {\n \"submissionDate\": \"<string>\",\n \"isCompleted\": true,\n \"name\": \"<string>\"\n }\n ],\n \"quickNotes\": [\n {\n \"note\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"eventId\": \"<string>\"\n }\n ],\n \"tenant\": {\n \"name\": \"<string>\",\n \"timezone\": \"<string>\"\n }\n },\n \"modelName\": \"gemini-2.5-flash-lite\",\n \"useStructuredOutput\": false,\n \"conversationHistory\": [\n {\n \"content\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n }\n ],\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.decodahealth.com/ai/patient/suggestions")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"context\": {\n \"patient\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"<string>\",\n \"createdDate\": \"<string>\"\n },\n \"upcomingAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentNotes\": [\n {\n \"createdDate\": \"<string>\",\n \"summary\": \"<string>\",\n \"answers\": [],\n \"questions\": []\n }\n ],\n \"measurements\": [\n {\n \"measurementDate\": \"<string>\",\n \"weight\": 123,\n \"height\": 123,\n \"systolicBp\": 123,\n \"diastolicBp\": 123,\n \"pulse\": 123,\n \"temperature\": 123,\n \"waistCircumference\": 123\n }\n ],\n \"medications\": [\n {\n \"name\": \"<string>\",\n \"amount\": 123,\n \"unit\": \"<string>\",\n \"frequency\": \"<string>\",\n \"quantity\": 123,\n \"comment\": \"<string>\",\n \"administrationLocation\": \"<string>\"\n }\n ],\n \"recentCharges\": [\n {\n \"id\": \"<string>\",\n \"total\": 123,\n \"totalOutstanding\": 123,\n \"status\": \"<string>\",\n \"description\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"items\": [\n {\n \"quantity\": 123,\n \"price\": 123,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"discountAmount\": 123\n }\n ],\n \"payments\": [\n {}\n ]\n }\n ],\n \"recentForms\": [\n {\n \"submissionDate\": \"<string>\",\n \"isCompleted\": true,\n \"name\": \"<string>\"\n }\n ],\n \"quickNotes\": [\n {\n \"note\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"eventId\": \"<string>\"\n }\n ],\n \"tenant\": {\n \"name\": \"<string>\",\n \"timezone\": \"<string>\"\n }\n },\n \"modelName\": \"gemini-2.5-flash-lite\",\n \"useStructuredOutput\": false,\n \"conversationHistory\": [\n {\n \"content\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n }\n ],\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/ai/patient/suggestions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"context\": {\n \"patient\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dateOfBirth\": \"<string>\",\n \"gender\": \"<string>\",\n \"phoneNumber\": \"<string>\",\n \"email\": \"<string>\",\n \"createdDate\": \"<string>\"\n },\n \"upcomingAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentAppointments\": [\n {\n \"title\": \"<string>\",\n \"start\": \"<string>\",\n \"id\": \"<string>\",\n \"status\": \"<string>\",\n \"providerName\": \"<string>\"\n }\n ],\n \"recentNotes\": [\n {\n \"createdDate\": \"<string>\",\n \"summary\": \"<string>\",\n \"answers\": [],\n \"questions\": []\n }\n ],\n \"measurements\": [\n {\n \"measurementDate\": \"<string>\",\n \"weight\": 123,\n \"height\": 123,\n \"systolicBp\": 123,\n \"diastolicBp\": 123,\n \"pulse\": 123,\n \"temperature\": 123,\n \"waistCircumference\": 123\n }\n ],\n \"medications\": [\n {\n \"name\": \"<string>\",\n \"amount\": 123,\n \"unit\": \"<string>\",\n \"frequency\": \"<string>\",\n \"quantity\": 123,\n \"comment\": \"<string>\",\n \"administrationLocation\": \"<string>\"\n }\n ],\n \"recentCharges\": [\n {\n \"id\": \"<string>\",\n \"total\": 123,\n \"totalOutstanding\": 123,\n \"status\": \"<string>\",\n \"description\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"items\": [\n {\n \"quantity\": 123,\n \"price\": 123,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"discountAmount\": 123\n }\n ],\n \"payments\": [\n {}\n ]\n }\n ],\n \"recentForms\": [\n {\n \"submissionDate\": \"<string>\",\n \"isCompleted\": true,\n \"name\": \"<string>\"\n }\n ],\n \"quickNotes\": [\n {\n \"note\": \"<string>\",\n \"createdDate\": \"<string>\",\n \"eventId\": \"<string>\"\n }\n ],\n \"tenant\": {\n \"name\": \"<string>\",\n \"timezone\": \"<string>\"\n }\n },\n \"modelName\": \"gemini-2.5-flash-lite\",\n \"useStructuredOutput\": false,\n \"conversationHistory\": [\n {\n \"content\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n }\n ],\n \"files\": [\n {\n \"name\": \"<string>\",\n \"size\": 123,\n \"type\": \"<string>\",\n \"data\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Headers
The tenant you are making this request on behalf of
Your api key
Body
application/json
Request schema for generating follow-up suggestions.
Patient context from frontend
Show child attributes
Show child attributes
Model to use for generation
Whether to request structured JSON output
Previous conversation messages for context
Show child attributes
Show child attributes
File attachments for the current request
Show child attributes
Show child attributes
Response
Successful Response
⌘I
