curl --request GET \
--url https://api.clarionhealth.com/v1/patient/{id}/chart \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.clarionhealth.com/v1/patient/{id}/chart"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.clarionhealth.com/v1/patient/{id}/chart', 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.clarionhealth.com/v1/patient/{id}/chart",
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>"
],
]);
$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.clarionhealth.com/v1/patient/{id}/chart"
req, _ := http.NewRequest("GET", url, nil)
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.clarionhealth.com/v1/patient/{id}/chart")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clarionhealth.com/v1/patient/{id}/chart")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"date_of_birth": "1990-01-01",
"status": "active",
"first_name": "Jane",
"last_name": "Doe",
"sex": "female",
"mrn": "MRN-001"
}{
"message": "Patient 12345 has no date of birth",
"statusCode": 400,
"error": "Bad Request"
}{
"message": "Patient 12345 not found",
"statusCode": 404,
"error": "Not Found"
}{
"message": "Too many requests. Try again later.",
"statusCode": 429
}{
"message": "Internal server error",
"statusCode": 500
}Get Patient Chart
Get basic facts from a patient’s chart: name, date of birth, sex, MRN, and whether the patient is active or inactive at the practice.
Get the patient ID from POST /patient/match.
Rate limit: 60 requests per minute per practice, shared across all API keys calling it. Requests over the limit get a 429.
curl --request GET \
--url https://api.clarionhealth.com/v1/patient/{id}/chart \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.clarionhealth.com/v1/patient/{id}/chart"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.clarionhealth.com/v1/patient/{id}/chart', 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.clarionhealth.com/v1/patient/{id}/chart",
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>"
],
]);
$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.clarionhealth.com/v1/patient/{id}/chart"
req, _ := http.NewRequest("GET", url, nil)
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.clarionhealth.com/v1/patient/{id}/chart")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clarionhealth.com/v1/patient/{id}/chart")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"date_of_birth": "1990-01-01",
"status": "active",
"first_name": "Jane",
"last_name": "Doe",
"sex": "female",
"mrn": "MRN-001"
}{
"message": "Patient 12345 has no date of birth",
"statusCode": 400,
"error": "Bad Request"
}{
"message": "Patient 12345 not found",
"statusCode": 404,
"error": "Not Found"
}{
"message": "Too many requests. Try again later.",
"statusCode": 429
}{
"message": "Internal server error",
"statusCode": 500
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Clarion's ID for the patient, from POST /patient/match
Response
The patient's chart
Read-only facts from the patient's chart. More fields will be added over time.
Patient's date of birth in YYYY-MM-DD format
"1990-01-01"
Whether the practice holds the patient as active or inactive in its EHR
active, inactive "active"
Patient's first name. Omitted when the chart does not record it.
"Jane"
Patient's last name. Omitted when the chart does not record it.
"Doe"
Patient's administrative sex as recorded in the EHR. Omitted when the chart does not record it.
female, male, other, unknown "female"
Patient's medical record number in the practice's EHR. Omitted when the chart does not record it.
"MRN-001"

