Poll a live read that answered 202
curl --request GET \
--url https://api.maxcare.ai/v4/ehr/reads/{readId} \
--header 'Authorization: Bearer <token>' \
--header 'X-Organization-Id: <x-organization-id>' \
--header 'x-session-token: <x-session-token>'import requests
url = "https://api.maxcare.ai/v4/ehr/reads/{readId}"
headers = {
"x-session-token": "<x-session-token>",
"X-Organization-Id": "<x-organization-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-session-token': '<x-session-token>',
'X-Organization-Id': '<x-organization-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.maxcare.ai/v4/ehr/reads/{readId}', 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.maxcare.ai/v4/ehr/reads/{readId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Organization-Id: <x-organization-id>",
"x-session-token: <x-session-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.maxcare.ai/v4/ehr/reads/{readId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-session-token", "<x-session-token>")
req.Header.Add("X-Organization-Id", "<x-organization-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.maxcare.ai/v4/ehr/reads/{readId}")
.header("x-session-token", "<x-session-token>")
.header("X-Organization-Id", "<x-organization-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maxcare.ai/v4/ehr/reads/{readId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-session-token"] = '<x-session-token>'
request["X-Organization-Id"] = '<x-organization-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"meta": {
"source": "live",
"ehr": "modmed",
"fetchedAt": "<string>",
"completeness": "complete",
"actingAs": "user"
}
}
}{
"code": "success",
"data": {
"readId": "rd_0123456789abcdef0123456789abcdef",
"status": "running",
"pollUrl": "/v4/ehr/reads/rd_0123456789abcdef0123456789abcdef",
"expiresAt": "<string>"
}
}{
"code": "unauthorized",
"message": "Invalid or missing API key",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "forbidden",
"message": "Insufficient scope",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "not_found",
"message": "Resource not found",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 1000 requests per 60 seconds.",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "unexpected_integration_error",
"message": "EHR sync failed",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}EHR live reads
Poll a live read that answered 202
200 with the read’s response once done, 202 while running, the read’s own error if it failed. 404 for an unknown or expired id, and for a read started by another app, organization or session user.
GET
/
ehr
/
reads
/
{readId}
Poll a live read that answered 202
curl --request GET \
--url https://api.maxcare.ai/v4/ehr/reads/{readId} \
--header 'Authorization: Bearer <token>' \
--header 'X-Organization-Id: <x-organization-id>' \
--header 'x-session-token: <x-session-token>'import requests
url = "https://api.maxcare.ai/v4/ehr/reads/{readId}"
headers = {
"x-session-token": "<x-session-token>",
"X-Organization-Id": "<x-organization-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-session-token': '<x-session-token>',
'X-Organization-Id': '<x-organization-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.maxcare.ai/v4/ehr/reads/{readId}', 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.maxcare.ai/v4/ehr/reads/{readId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Organization-Id: <x-organization-id>",
"x-session-token: <x-session-token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.maxcare.ai/v4/ehr/reads/{readId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-session-token", "<x-session-token>")
req.Header.Add("X-Organization-Id", "<x-organization-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.maxcare.ai/v4/ehr/reads/{readId}")
.header("x-session-token", "<x-session-token>")
.header("X-Organization-Id", "<x-organization-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.maxcare.ai/v4/ehr/reads/{readId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-session-token"] = '<x-session-token>'
request["X-Organization-Id"] = '<x-organization-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"meta": {
"source": "live",
"ehr": "modmed",
"fetchedAt": "<string>",
"completeness": "complete",
"actingAs": "user"
}
}
}{
"code": "success",
"data": {
"readId": "rd_0123456789abcdef0123456789abcdef",
"status": "running",
"pollUrl": "/v4/ehr/reads/rd_0123456789abcdef0123456789abcdef",
"expiresAt": "<string>"
}
}{
"code": "unauthorized",
"message": "Invalid or missing API key",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "forbidden",
"message": "Insufficient scope",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "not_found",
"message": "Resource not found",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 1000 requests per 60 seconds.",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"code": "unexpected_integration_error",
"message": "EHR sync failed",
"trace_id": "550e8400-e29b-41d4-a716-446655440000"
}Authorizations
Marketplace API key
Path Parameters
rd_… from the 202
