Bulk Save Care Plan Steps
curl --request PUT \
--url https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"steps": [
{
"scheduledDate": "2023-11-07T05:31:56Z",
"id": "<string>",
"templateStepId": "<string>",
"branchId": "<string>",
"description": "<string>",
"minutesAfterPrevious": 123,
"parentStepId": "<string>",
"sourceServiceId": "<string>",
"serviceIds": [
"<string>"
],
"medicationIds": [
"<string>"
],
"measurements": [
{
"measurementField": "<string>",
"id": "<string>",
"displayUnit": "<string>"
}
],
"smsBody": "<string>",
"taskTitle": "<string>",
"taskAssigneeId": "<string>",
"taskTeamId": "<string>",
"taskDescription": "<string>",
"taskDueDateMinutes": 123,
"eventId": "<string>",
"taskId": "<string>",
"cycleId": "<string>",
"cyclePass": 123,
"branches": [
{
"position": 123,
"tagIds": [
"<string>"
],
"id": "<string>",
"templateBranchId": "<string>",
"name": "<string>",
"steps": []
}
],
"sequences": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"isActive": true,
"steps": [
{
"id": "<string>",
"delayMinutes": 0,
"config": {},
"displayOrder": 0,
"isActive": true
}
]
}
]
}
],
"cycles": [
{
"passCount": 3,
"id": "<string>",
"name": "<string>",
"branchId": "<string>",
"parentCycleId": "<string>",
"gapMinutes": 0,
"position": 0,
"fromStepId": "<string>",
"toStepId": "<string>",
"templateCycleId": "<string>"
}
],
"branchSelections": [
{
"stepId": "<string>",
"branchId": "<string>"
}
]
}
'import requests
url = "https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps"
payload = {
"steps": [
{
"scheduledDate": "2023-11-07T05:31:56Z",
"id": "<string>",
"templateStepId": "<string>",
"branchId": "<string>",
"description": "<string>",
"minutesAfterPrevious": 123,
"parentStepId": "<string>",
"sourceServiceId": "<string>",
"serviceIds": ["<string>"],
"medicationIds": ["<string>"],
"measurements": [
{
"measurementField": "<string>",
"id": "<string>",
"displayUnit": "<string>"
}
],
"smsBody": "<string>",
"taskTitle": "<string>",
"taskAssigneeId": "<string>",
"taskTeamId": "<string>",
"taskDescription": "<string>",
"taskDueDateMinutes": 123,
"eventId": "<string>",
"taskId": "<string>",
"cycleId": "<string>",
"cyclePass": 123,
"branches": [
{
"position": 123,
"tagIds": ["<string>"],
"id": "<string>",
"templateBranchId": "<string>",
"name": "<string>",
"steps": []
}
],
"sequences": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"isActive": True,
"steps": [
{
"id": "<string>",
"delayMinutes": 0,
"config": {},
"displayOrder": 0,
"isActive": True
}
]
}
]
}
],
"cycles": [
{
"passCount": 3,
"id": "<string>",
"name": "<string>",
"branchId": "<string>",
"parentCycleId": "<string>",
"gapMinutes": 0,
"position": 0,
"fromStepId": "<string>",
"toStepId": "<string>",
"templateCycleId": "<string>"
}
],
"branchSelections": [
{
"stepId": "<string>",
"branchId": "<string>"
}
]
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
steps: [
{
scheduledDate: '2023-11-07T05:31:56Z',
id: '<string>',
templateStepId: '<string>',
branchId: '<string>',
description: '<string>',
minutesAfterPrevious: 123,
parentStepId: '<string>',
sourceServiceId: '<string>',
serviceIds: ['<string>'],
medicationIds: ['<string>'],
measurements: [{measurementField: '<string>', id: '<string>', displayUnit: '<string>'}],
smsBody: '<string>',
taskTitle: '<string>',
taskAssigneeId: '<string>',
taskTeamId: '<string>',
taskDescription: '<string>',
taskDueDateMinutes: 123,
eventId: '<string>',
taskId: '<string>',
cycleId: '<string>',
cyclePass: 123,
branches: [
{
position: 123,
tagIds: ['<string>'],
id: '<string>',
templateBranchId: '<string>',
name: '<string>',
steps: []
}
],
sequences: [
{
id: '<string>',
name: '<string>',
description: '<string>',
isActive: true,
steps: [{id: '<string>', delayMinutes: 0, config: {}, displayOrder: 0, isActive: true}]
}
]
}
],
cycles: [
{
passCount: 3,
id: '<string>',
name: '<string>',
branchId: '<string>',
parentCycleId: '<string>',
gapMinutes: 0,
position: 0,
fromStepId: '<string>',
toStepId: '<string>',
templateCycleId: '<string>'
}
],
branchSelections: [{stepId: '<string>', branchId: '<string>'}]
})
};
fetch('https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps', 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/user/patient/care-plans/{care_plan_id}/steps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'steps' => [
[
'scheduledDate' => '2023-11-07T05:31:56Z',
'id' => '<string>',
'templateStepId' => '<string>',
'branchId' => '<string>',
'description' => '<string>',
'minutesAfterPrevious' => 123,
'parentStepId' => '<string>',
'sourceServiceId' => '<string>',
'serviceIds' => [
'<string>'
],
'medicationIds' => [
'<string>'
],
'measurements' => [
[
'measurementField' => '<string>',
'id' => '<string>',
'displayUnit' => '<string>'
]
],
'smsBody' => '<string>',
'taskTitle' => '<string>',
'taskAssigneeId' => '<string>',
'taskTeamId' => '<string>',
'taskDescription' => '<string>',
'taskDueDateMinutes' => 123,
'eventId' => '<string>',
'taskId' => '<string>',
'cycleId' => '<string>',
'cyclePass' => 123,
'branches' => [
[
'position' => 123,
'tagIds' => [
'<string>'
],
'id' => '<string>',
'templateBranchId' => '<string>',
'name' => '<string>',
'steps' => [
]
]
],
'sequences' => [
[
'id' => '<string>',
'name' => '<string>',
'description' => '<string>',
'isActive' => true,
'steps' => [
[
'id' => '<string>',
'delayMinutes' => 0,
'config' => [
],
'displayOrder' => 0,
'isActive' => true
]
]
]
]
]
],
'cycles' => [
[
'passCount' => 3,
'id' => '<string>',
'name' => '<string>',
'branchId' => '<string>',
'parentCycleId' => '<string>',
'gapMinutes' => 0,
'position' => 0,
'fromStepId' => '<string>',
'toStepId' => '<string>',
'templateCycleId' => '<string>'
]
],
'branchSelections' => [
[
'stepId' => '<string>',
'branchId' => '<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/user/patient/care-plans/{care_plan_id}/steps"
payload := strings.NewReader("{\n \"steps\": [\n {\n \"scheduledDate\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"templateStepId\": \"<string>\",\n \"branchId\": \"<string>\",\n \"description\": \"<string>\",\n \"minutesAfterPrevious\": 123,\n \"parentStepId\": \"<string>\",\n \"sourceServiceId\": \"<string>\",\n \"serviceIds\": [\n \"<string>\"\n ],\n \"medicationIds\": [\n \"<string>\"\n ],\n \"measurements\": [\n {\n \"measurementField\": \"<string>\",\n \"id\": \"<string>\",\n \"displayUnit\": \"<string>\"\n }\n ],\n \"smsBody\": \"<string>\",\n \"taskTitle\": \"<string>\",\n \"taskAssigneeId\": \"<string>\",\n \"taskTeamId\": \"<string>\",\n \"taskDescription\": \"<string>\",\n \"taskDueDateMinutes\": 123,\n \"eventId\": \"<string>\",\n \"taskId\": \"<string>\",\n \"cycleId\": \"<string>\",\n \"cyclePass\": 123,\n \"branches\": [\n {\n \"position\": 123,\n \"tagIds\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"templateBranchId\": \"<string>\",\n \"name\": \"<string>\",\n \"steps\": []\n }\n ],\n \"sequences\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"steps\": [\n {\n \"id\": \"<string>\",\n \"delayMinutes\": 0,\n \"config\": {},\n \"displayOrder\": 0,\n \"isActive\": true\n }\n ]\n }\n ]\n }\n ],\n \"cycles\": [\n {\n \"passCount\": 3,\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"branchId\": \"<string>\",\n \"parentCycleId\": \"<string>\",\n \"gapMinutes\": 0,\n \"position\": 0,\n \"fromStepId\": \"<string>\",\n \"toStepId\": \"<string>\",\n \"templateCycleId\": \"<string>\"\n }\n ],\n \"branchSelections\": [\n {\n \"stepId\": \"<string>\",\n \"branchId\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"steps\": [\n {\n \"scheduledDate\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"templateStepId\": \"<string>\",\n \"branchId\": \"<string>\",\n \"description\": \"<string>\",\n \"minutesAfterPrevious\": 123,\n \"parentStepId\": \"<string>\",\n \"sourceServiceId\": \"<string>\",\n \"serviceIds\": [\n \"<string>\"\n ],\n \"medicationIds\": [\n \"<string>\"\n ],\n \"measurements\": [\n {\n \"measurementField\": \"<string>\",\n \"id\": \"<string>\",\n \"displayUnit\": \"<string>\"\n }\n ],\n \"smsBody\": \"<string>\",\n \"taskTitle\": \"<string>\",\n \"taskAssigneeId\": \"<string>\",\n \"taskTeamId\": \"<string>\",\n \"taskDescription\": \"<string>\",\n \"taskDueDateMinutes\": 123,\n \"eventId\": \"<string>\",\n \"taskId\": \"<string>\",\n \"cycleId\": \"<string>\",\n \"cyclePass\": 123,\n \"branches\": [\n {\n \"position\": 123,\n \"tagIds\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"templateBranchId\": \"<string>\",\n \"name\": \"<string>\",\n \"steps\": []\n }\n ],\n \"sequences\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"steps\": [\n {\n \"id\": \"<string>\",\n \"delayMinutes\": 0,\n \"config\": {},\n \"displayOrder\": 0,\n \"isActive\": true\n }\n ]\n }\n ]\n }\n ],\n \"cycles\": [\n {\n \"passCount\": 3,\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"branchId\": \"<string>\",\n \"parentCycleId\": \"<string>\",\n \"gapMinutes\": 0,\n \"position\": 0,\n \"fromStepId\": \"<string>\",\n \"toStepId\": \"<string>\",\n \"templateCycleId\": \"<string>\"\n }\n ],\n \"branchSelections\": [\n {\n \"stepId\": \"<string>\",\n \"branchId\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"steps\": [\n {\n \"scheduledDate\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"templateStepId\": \"<string>\",\n \"branchId\": \"<string>\",\n \"description\": \"<string>\",\n \"minutesAfterPrevious\": 123,\n \"parentStepId\": \"<string>\",\n \"sourceServiceId\": \"<string>\",\n \"serviceIds\": [\n \"<string>\"\n ],\n \"medicationIds\": [\n \"<string>\"\n ],\n \"measurements\": [\n {\n \"measurementField\": \"<string>\",\n \"id\": \"<string>\",\n \"displayUnit\": \"<string>\"\n }\n ],\n \"smsBody\": \"<string>\",\n \"taskTitle\": \"<string>\",\n \"taskAssigneeId\": \"<string>\",\n \"taskTeamId\": \"<string>\",\n \"taskDescription\": \"<string>\",\n \"taskDueDateMinutes\": 123,\n \"eventId\": \"<string>\",\n \"taskId\": \"<string>\",\n \"cycleId\": \"<string>\",\n \"cyclePass\": 123,\n \"branches\": [\n {\n \"position\": 123,\n \"tagIds\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"templateBranchId\": \"<string>\",\n \"name\": \"<string>\",\n \"steps\": []\n }\n ],\n \"sequences\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"steps\": [\n {\n \"id\": \"<string>\",\n \"delayMinutes\": 0,\n \"config\": {},\n \"displayOrder\": 0,\n \"isActive\": true\n }\n ]\n }\n ]\n }\n ],\n \"cycles\": [\n {\n \"passCount\": 3,\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"branchId\": \"<string>\",\n \"parentCycleId\": \"<string>\",\n \"gapMinutes\": 0,\n \"position\": 0,\n \"fromStepId\": \"<string>\",\n \"toStepId\": \"<string>\",\n \"templateCycleId\": \"<string>\"\n }\n ],\n \"branchSelections\": [\n {\n \"stepId\": \"<string>\",\n \"branchId\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"patientId": "<string>",
"locationId": "<string>",
"assignedById": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"description": "<string>",
"templateId": "<string>",
"stepCount": 0,
"completedStepCount": 0,
"tagIds": [
"<string>"
],
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z"
}
],
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"steps": [
{
"carePlanId": "<string>",
"stepNumber": 123,
"id": "<string>",
"scheduledDate": "2023-11-07T05:31:56Z",
"carePlanName": "",
"branchId": "<string>",
"description": "<string>",
"minutesAfterPrevious": 123,
"parentStepId": "<string>",
"sourceServiceId": "<string>",
"serviceIds": [
"<string>"
],
"medicationIds": [
"<string>"
],
"measurements": [
{
"id": "<string>",
"measurementField": "<string>",
"displayUnit": "<string>"
}
],
"smsBody": "<string>",
"taskTitle": "<string>",
"taskAssigneeId": "<string>",
"taskTeamId": "<string>",
"taskDescription": "<string>",
"taskDueDateMinutes": 123,
"eventId": "<string>",
"taskId": "<string>",
"completedDate": "2023-11-07T05:31:56Z",
"isDateEstimated": false,
"cycleId": "<string>",
"cyclePass": 123,
"sourceStepId": "<string>",
"branches": [
{
"id": "<string>",
"decisionStepId": "<string>",
"position": 123,
"name": "<string>",
"tagIds": [
"<string>"
],
"selectedDate": "2023-11-07T05:31:56Z",
"selectedById": "<string>",
"steps": []
}
],
"sequences": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"isActive": true,
"steps": [
{
"id": "<string>",
"delayMinutes": 123,
"config": {},
"displayOrder": 0,
"isActive": true
}
]
}
]
}
],
"cycles": [
{
"id": "<string>",
"carePlanId": "<string>",
"branchId": "<string>",
"templateCycleId": "<string>",
"passCount": 123,
"gapMinutes": 123,
"position": 123,
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"name": "<string>",
"parentCycleId": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Care Plans
Bulk Save Care Plan Steps
Replace all steps on a care plan atomically (delete + recreate).
PUT
/
user
/
patient
/
care-plans
/
{care_plan_id}
/
steps
Bulk Save Care Plan Steps
curl --request PUT \
--url https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"steps": [
{
"scheduledDate": "2023-11-07T05:31:56Z",
"id": "<string>",
"templateStepId": "<string>",
"branchId": "<string>",
"description": "<string>",
"minutesAfterPrevious": 123,
"parentStepId": "<string>",
"sourceServiceId": "<string>",
"serviceIds": [
"<string>"
],
"medicationIds": [
"<string>"
],
"measurements": [
{
"measurementField": "<string>",
"id": "<string>",
"displayUnit": "<string>"
}
],
"smsBody": "<string>",
"taskTitle": "<string>",
"taskAssigneeId": "<string>",
"taskTeamId": "<string>",
"taskDescription": "<string>",
"taskDueDateMinutes": 123,
"eventId": "<string>",
"taskId": "<string>",
"cycleId": "<string>",
"cyclePass": 123,
"branches": [
{
"position": 123,
"tagIds": [
"<string>"
],
"id": "<string>",
"templateBranchId": "<string>",
"name": "<string>",
"steps": []
}
],
"sequences": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"isActive": true,
"steps": [
{
"id": "<string>",
"delayMinutes": 0,
"config": {},
"displayOrder": 0,
"isActive": true
}
]
}
]
}
],
"cycles": [
{
"passCount": 3,
"id": "<string>",
"name": "<string>",
"branchId": "<string>",
"parentCycleId": "<string>",
"gapMinutes": 0,
"position": 0,
"fromStepId": "<string>",
"toStepId": "<string>",
"templateCycleId": "<string>"
}
],
"branchSelections": [
{
"stepId": "<string>",
"branchId": "<string>"
}
]
}
'import requests
url = "https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps"
payload = {
"steps": [
{
"scheduledDate": "2023-11-07T05:31:56Z",
"id": "<string>",
"templateStepId": "<string>",
"branchId": "<string>",
"description": "<string>",
"minutesAfterPrevious": 123,
"parentStepId": "<string>",
"sourceServiceId": "<string>",
"serviceIds": ["<string>"],
"medicationIds": ["<string>"],
"measurements": [
{
"measurementField": "<string>",
"id": "<string>",
"displayUnit": "<string>"
}
],
"smsBody": "<string>",
"taskTitle": "<string>",
"taskAssigneeId": "<string>",
"taskTeamId": "<string>",
"taskDescription": "<string>",
"taskDueDateMinutes": 123,
"eventId": "<string>",
"taskId": "<string>",
"cycleId": "<string>",
"cyclePass": 123,
"branches": [
{
"position": 123,
"tagIds": ["<string>"],
"id": "<string>",
"templateBranchId": "<string>",
"name": "<string>",
"steps": []
}
],
"sequences": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"isActive": True,
"steps": [
{
"id": "<string>",
"delayMinutes": 0,
"config": {},
"displayOrder": 0,
"isActive": True
}
]
}
]
}
],
"cycles": [
{
"passCount": 3,
"id": "<string>",
"name": "<string>",
"branchId": "<string>",
"parentCycleId": "<string>",
"gapMinutes": 0,
"position": 0,
"fromStepId": "<string>",
"toStepId": "<string>",
"templateCycleId": "<string>"
}
],
"branchSelections": [
{
"stepId": "<string>",
"branchId": "<string>"
}
]
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
steps: [
{
scheduledDate: '2023-11-07T05:31:56Z',
id: '<string>',
templateStepId: '<string>',
branchId: '<string>',
description: '<string>',
minutesAfterPrevious: 123,
parentStepId: '<string>',
sourceServiceId: '<string>',
serviceIds: ['<string>'],
medicationIds: ['<string>'],
measurements: [{measurementField: '<string>', id: '<string>', displayUnit: '<string>'}],
smsBody: '<string>',
taskTitle: '<string>',
taskAssigneeId: '<string>',
taskTeamId: '<string>',
taskDescription: '<string>',
taskDueDateMinutes: 123,
eventId: '<string>',
taskId: '<string>',
cycleId: '<string>',
cyclePass: 123,
branches: [
{
position: 123,
tagIds: ['<string>'],
id: '<string>',
templateBranchId: '<string>',
name: '<string>',
steps: []
}
],
sequences: [
{
id: '<string>',
name: '<string>',
description: '<string>',
isActive: true,
steps: [{id: '<string>', delayMinutes: 0, config: {}, displayOrder: 0, isActive: true}]
}
]
}
],
cycles: [
{
passCount: 3,
id: '<string>',
name: '<string>',
branchId: '<string>',
parentCycleId: '<string>',
gapMinutes: 0,
position: 0,
fromStepId: '<string>',
toStepId: '<string>',
templateCycleId: '<string>'
}
],
branchSelections: [{stepId: '<string>', branchId: '<string>'}]
})
};
fetch('https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps', 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/user/patient/care-plans/{care_plan_id}/steps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'steps' => [
[
'scheduledDate' => '2023-11-07T05:31:56Z',
'id' => '<string>',
'templateStepId' => '<string>',
'branchId' => '<string>',
'description' => '<string>',
'minutesAfterPrevious' => 123,
'parentStepId' => '<string>',
'sourceServiceId' => '<string>',
'serviceIds' => [
'<string>'
],
'medicationIds' => [
'<string>'
],
'measurements' => [
[
'measurementField' => '<string>',
'id' => '<string>',
'displayUnit' => '<string>'
]
],
'smsBody' => '<string>',
'taskTitle' => '<string>',
'taskAssigneeId' => '<string>',
'taskTeamId' => '<string>',
'taskDescription' => '<string>',
'taskDueDateMinutes' => 123,
'eventId' => '<string>',
'taskId' => '<string>',
'cycleId' => '<string>',
'cyclePass' => 123,
'branches' => [
[
'position' => 123,
'tagIds' => [
'<string>'
],
'id' => '<string>',
'templateBranchId' => '<string>',
'name' => '<string>',
'steps' => [
]
]
],
'sequences' => [
[
'id' => '<string>',
'name' => '<string>',
'description' => '<string>',
'isActive' => true,
'steps' => [
[
'id' => '<string>',
'delayMinutes' => 0,
'config' => [
],
'displayOrder' => 0,
'isActive' => true
]
]
]
]
]
],
'cycles' => [
[
'passCount' => 3,
'id' => '<string>',
'name' => '<string>',
'branchId' => '<string>',
'parentCycleId' => '<string>',
'gapMinutes' => 0,
'position' => 0,
'fromStepId' => '<string>',
'toStepId' => '<string>',
'templateCycleId' => '<string>'
]
],
'branchSelections' => [
[
'stepId' => '<string>',
'branchId' => '<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/user/patient/care-plans/{care_plan_id}/steps"
payload := strings.NewReader("{\n \"steps\": [\n {\n \"scheduledDate\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"templateStepId\": \"<string>\",\n \"branchId\": \"<string>\",\n \"description\": \"<string>\",\n \"minutesAfterPrevious\": 123,\n \"parentStepId\": \"<string>\",\n \"sourceServiceId\": \"<string>\",\n \"serviceIds\": [\n \"<string>\"\n ],\n \"medicationIds\": [\n \"<string>\"\n ],\n \"measurements\": [\n {\n \"measurementField\": \"<string>\",\n \"id\": \"<string>\",\n \"displayUnit\": \"<string>\"\n }\n ],\n \"smsBody\": \"<string>\",\n \"taskTitle\": \"<string>\",\n \"taskAssigneeId\": \"<string>\",\n \"taskTeamId\": \"<string>\",\n \"taskDescription\": \"<string>\",\n \"taskDueDateMinutes\": 123,\n \"eventId\": \"<string>\",\n \"taskId\": \"<string>\",\n \"cycleId\": \"<string>\",\n \"cyclePass\": 123,\n \"branches\": [\n {\n \"position\": 123,\n \"tagIds\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"templateBranchId\": \"<string>\",\n \"name\": \"<string>\",\n \"steps\": []\n }\n ],\n \"sequences\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"steps\": [\n {\n \"id\": \"<string>\",\n \"delayMinutes\": 0,\n \"config\": {},\n \"displayOrder\": 0,\n \"isActive\": true\n }\n ]\n }\n ]\n }\n ],\n \"cycles\": [\n {\n \"passCount\": 3,\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"branchId\": \"<string>\",\n \"parentCycleId\": \"<string>\",\n \"gapMinutes\": 0,\n \"position\": 0,\n \"fromStepId\": \"<string>\",\n \"toStepId\": \"<string>\",\n \"templateCycleId\": \"<string>\"\n }\n ],\n \"branchSelections\": [\n {\n \"stepId\": \"<string>\",\n \"branchId\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"steps\": [\n {\n \"scheduledDate\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"templateStepId\": \"<string>\",\n \"branchId\": \"<string>\",\n \"description\": \"<string>\",\n \"minutesAfterPrevious\": 123,\n \"parentStepId\": \"<string>\",\n \"sourceServiceId\": \"<string>\",\n \"serviceIds\": [\n \"<string>\"\n ],\n \"medicationIds\": [\n \"<string>\"\n ],\n \"measurements\": [\n {\n \"measurementField\": \"<string>\",\n \"id\": \"<string>\",\n \"displayUnit\": \"<string>\"\n }\n ],\n \"smsBody\": \"<string>\",\n \"taskTitle\": \"<string>\",\n \"taskAssigneeId\": \"<string>\",\n \"taskTeamId\": \"<string>\",\n \"taskDescription\": \"<string>\",\n \"taskDueDateMinutes\": 123,\n \"eventId\": \"<string>\",\n \"taskId\": \"<string>\",\n \"cycleId\": \"<string>\",\n \"cyclePass\": 123,\n \"branches\": [\n {\n \"position\": 123,\n \"tagIds\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"templateBranchId\": \"<string>\",\n \"name\": \"<string>\",\n \"steps\": []\n }\n ],\n \"sequences\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"steps\": [\n {\n \"id\": \"<string>\",\n \"delayMinutes\": 0,\n \"config\": {},\n \"displayOrder\": 0,\n \"isActive\": true\n }\n ]\n }\n ]\n }\n ],\n \"cycles\": [\n {\n \"passCount\": 3,\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"branchId\": \"<string>\",\n \"parentCycleId\": \"<string>\",\n \"gapMinutes\": 0,\n \"position\": 0,\n \"fromStepId\": \"<string>\",\n \"toStepId\": \"<string>\",\n \"templateCycleId\": \"<string>\"\n }\n ],\n \"branchSelections\": [\n {\n \"stepId\": \"<string>\",\n \"branchId\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/user/patient/care-plans/{care_plan_id}/steps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"steps\": [\n {\n \"scheduledDate\": \"2023-11-07T05:31:56Z\",\n \"id\": \"<string>\",\n \"templateStepId\": \"<string>\",\n \"branchId\": \"<string>\",\n \"description\": \"<string>\",\n \"minutesAfterPrevious\": 123,\n \"parentStepId\": \"<string>\",\n \"sourceServiceId\": \"<string>\",\n \"serviceIds\": [\n \"<string>\"\n ],\n \"medicationIds\": [\n \"<string>\"\n ],\n \"measurements\": [\n {\n \"measurementField\": \"<string>\",\n \"id\": \"<string>\",\n \"displayUnit\": \"<string>\"\n }\n ],\n \"smsBody\": \"<string>\",\n \"taskTitle\": \"<string>\",\n \"taskAssigneeId\": \"<string>\",\n \"taskTeamId\": \"<string>\",\n \"taskDescription\": \"<string>\",\n \"taskDueDateMinutes\": 123,\n \"eventId\": \"<string>\",\n \"taskId\": \"<string>\",\n \"cycleId\": \"<string>\",\n \"cyclePass\": 123,\n \"branches\": [\n {\n \"position\": 123,\n \"tagIds\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"templateBranchId\": \"<string>\",\n \"name\": \"<string>\",\n \"steps\": []\n }\n ],\n \"sequences\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true,\n \"steps\": [\n {\n \"id\": \"<string>\",\n \"delayMinutes\": 0,\n \"config\": {},\n \"displayOrder\": 0,\n \"isActive\": true\n }\n ]\n }\n ]\n }\n ],\n \"cycles\": [\n {\n \"passCount\": 3,\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"branchId\": \"<string>\",\n \"parentCycleId\": \"<string>\",\n \"gapMinutes\": 0,\n \"position\": 0,\n \"fromStepId\": \"<string>\",\n \"toStepId\": \"<string>\",\n \"templateCycleId\": \"<string>\"\n }\n ],\n \"branchSelections\": [\n {\n \"stepId\": \"<string>\",\n \"branchId\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"patientId": "<string>",
"locationId": "<string>",
"assignedById": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"description": "<string>",
"templateId": "<string>",
"stepCount": 0,
"completedStepCount": 0,
"tagIds": [
"<string>"
],
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z"
}
],
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"steps": [
{
"carePlanId": "<string>",
"stepNumber": 123,
"id": "<string>",
"scheduledDate": "2023-11-07T05:31:56Z",
"carePlanName": "",
"branchId": "<string>",
"description": "<string>",
"minutesAfterPrevious": 123,
"parentStepId": "<string>",
"sourceServiceId": "<string>",
"serviceIds": [
"<string>"
],
"medicationIds": [
"<string>"
],
"measurements": [
{
"id": "<string>",
"measurementField": "<string>",
"displayUnit": "<string>"
}
],
"smsBody": "<string>",
"taskTitle": "<string>",
"taskAssigneeId": "<string>",
"taskTeamId": "<string>",
"taskDescription": "<string>",
"taskDueDateMinutes": 123,
"eventId": "<string>",
"taskId": "<string>",
"completedDate": "2023-11-07T05:31:56Z",
"isDateEstimated": false,
"cycleId": "<string>",
"cyclePass": 123,
"sourceStepId": "<string>",
"branches": [
{
"id": "<string>",
"decisionStepId": "<string>",
"position": 123,
"name": "<string>",
"tagIds": [
"<string>"
],
"selectedDate": "2023-11-07T05:31:56Z",
"selectedById": "<string>",
"steps": []
}
],
"sequences": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"isActive": true,
"steps": [
{
"id": "<string>",
"delayMinutes": 123,
"config": {},
"displayOrder": 0,
"isActive": true
}
]
}
]
}
],
"cycles": [
{
"id": "<string>",
"carePlanId": "<string>",
"branchId": "<string>",
"templateCycleId": "<string>",
"passCount": 123,
"gapMinutes": 123,
"position": 123,
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"name": "<string>",
"parentCycleId": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Headers
The tenant you are making this request on behalf of
Your api key
Path Parameters
Body
application/json
Replaces ALL steps on a care plan atomically.
Response
Successful Response
Full care plan detail including all steps.
Associated tag IDs
Associated tags
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
