Patient Management Endpoints
Get patient prescriptions
Get prescriptions for a specific patient
GET
/
v1
/
organizations
/
{organization_id}
/
users
/
{user_id}
/
patients
/
{patient_id}
/
prescriptions
cURL
curl --request GET \
--url https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions \
--header 'Authorization: Bearer <token>' \
--header 'x-organization-secret: <x-organization-secret>'import requests
url = "https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions"
headers = {
"x-organization-secret": "<x-organization-secret>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-organization-secret': '<x-organization-secret>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions', 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.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions",
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-secret: <x-organization-secret>"
],
]);
$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.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-organization-secret", "<x-organization-secret>")
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.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions")
.header("x-organization-secret", "<x-organization-secret>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-organization-secret"] = '<x-organization-secret>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "Prescriptions retrieved successfully",
"data": {
"patient": {
"given_name": "John",
"family_name": "Smith",
"date_of_birth": "1990-01-15T00:00:00.000Z",
"sex": "M",
"patient_id": "1234567890",
"partner_patient_id": "PARTNER#12345"
},
"prescriber": {
"given_name": "Dr. Emily",
"family_name": "Johnson",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"prescriptions": [
{
"prescription_type": "ELECTRONIC",
"url": "https://egw-etp-int-qrcode-web-au-se.azurewebsites.net/scripts/2F3WFX8J4WQH8T72X9",
"scid": "2F3WFX8J4WQH8T72X9",
"status": "Active",
"created_date": "2025-06-30T00:11:22",
"item_name": "Sildenafil 100 mg tablet, 4",
"quantity": "4",
"number_of_repeats_authorised": "0",
"repeat_intervals": "0",
"pbs_code": "",
"item_strength": "",
"item_form": "",
"route_administration": "Oral",
"pbsdva_authority_number": "0",
"phone_approval_authority_number": "",
"schedule_number": "S4",
"private_prescription": true,
"emergency_supply": false,
"brand_substitution_not_allowed": false,
"reason_for_prescribing": "",
"patient_instructions": "xcxc",
"doctor_notes": "",
"pharmacy_name": "",
"regulation_24": false,
"controlled_substance_reference": "",
"unusual_dose_flag": false,
"unusual_qty_flag": false,
"my_sl_consent": true,
"send_to_pharmacy": "",
"unlisted_item_repat_authority": false,
"prescriber_script_number": "19192",
"custom_drug_details": {
"custom_product_id": "1234567890"
},
"prescriber": {
"title": "Dr",
"given_name": "Emily",
"family_name": "Johnson",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"delivery": {
"method": "EMAIL",
"recipient_type": "PHARMACY",
"destination": "scripts@bayside-pharmacy.com.au",
"pharmacy": {
"pharmacy_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Bayside Pharmacy"
}
}
},
{
"prescription_type": "ELECTRONIC",
"url": "https://egw-etp-int-qrcode-web-au-se.azurewebsites.net/scripts/2F3WFX8B8K66686MVA",
"scid": "2F3WFX8B8K66686MVA",
"status": "Ceased",
"created_date": "2025-04-17T05:09:02",
"item_name": "Oxycodone hydrochloride 20 mg capsule, 20",
"quantity": "500",
"number_of_repeats_authorised": "0",
"repeat_intervals": "0",
"pbs_code": "8502L",
"item_strength": "",
"item_form": "",
"route_administration": "Oral",
"pbsdva_authority_number": "10074227",
"phone_approval_authority_number": "1234567",
"schedule_number": "S8",
"private_prescription": false,
"emergency_supply": false,
"brand_substitution_not_allowed": false,
"reason_for_prescribing": "",
"patient_instructions": "1x am pm",
"doctor_notes": "",
"pharmacy_name": "",
"regulation_24": false,
"controlled_substance_reference": "",
"unusual_dose_flag": false,
"unusual_qty_flag": false,
"my_sl_consent": true,
"send_to_pharmacy": "",
"unlisted_item_repat_authority": false,
"prescriber_script_number": "18631",
"custom_drug_details": {},
"prescriber": {
"title": "Dr",
"given_name": "Emily",
"family_name": "Johnson",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"delivery": {
"method": "SMS",
"recipient_type": "PATIENT",
"destination": "+61400000000"
}
}
]
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_yza567",
"pagination": {
"count": 1,
"hasNext": false,
"limit": 50,
"offset": 0,
"lastKey": null
}
}{
"success": false,
"statusCode": 400,
"error": {
"type": "https://parchment.health/errors/invalid-request",
"title": "Bad request",
"detail": "Invalid query parameters provided."
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_bcd890",
"meta": {
"apiVersion": "1.0"
}
}{
"success": false,
"statusCode": 401,
"code": "UNAUTHORIZED",
"error": {
"type": "https://parchment.health/errors/authentication-required",
"title": "Unauthorized",
"detail": "Valid authentication token is required."
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_efg123"
}{
"success": false,
"statusCode": 403,
"code": "FORBIDDEN",
"error": {
"type": "https://parchment.health/errors/insufficient-scope",
"title": "Insufficient permissions",
"detail": "This operation requires the 'read:patient_prescription' scope"
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_hij456"
}{
"success": false,
"statusCode": 404,
"code": "RESOURCE_NOT_FOUND",
"error": {
"type": "https://parchment.health/errors/patient-not-found",
"title": "Patient not found",
"detail": "Patient with the specified ID does not exist.",
"instance": "/patients/invalid-id"
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_klm789"
}Pagination
Query Parameters
limit(optional, integer): Maximum number of prescriptions to return per page (default: 20, max: 50).lastKey(optional, string): Opaque cursor for fetching the next page. Use thepagination.lastKeyvalue from the previous response.
Error Status
When a prescription has encountered an error during processing, thestatus field will be "Error" and an error object will be included with a description:
{
"status": "Error",
"error": {
"description": "Description of the error that occurred"
}
}
error field is omitted from the prescription.
Response
If pagination is used, the response will include apagination object:
{
"prescriptions": [
{
"url": "https://...",
"scid": "ABC123",
"status": "Active",
"created_date": "2025-01-15T10:30:00Z",
"prescriber": {
"title": "Dr",
"given_name": "Jane",
"family_name": "Smith",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"item_name": "Amoxicillin 500mg capsules",
"quantity": "20",
"number_of_repeats_authorised": "2",
"pbs_code": "1234A",
"item_strength": "500mg",
"item_form": "capsule",
"route_administration": "oral",
"custom_drug_details": {},
"delivery": {
"method": "EMAIL",
"recipient_type": "PHARMACY",
"destination": "scripts@bayside-pharmacy.com.au",
"pharmacy": {
"pharmacy_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Bayside Pharmacy"
}
}
}
],
"patient": { ... },
"prescriber": { ... },
"pagination": {
"count": 20,
"hasNext": true,
"limit": 20,
"offset": 0,
"lastKey": "eyJwayI6ICJQQVRJRU5UIzIwYjA0OTM0LTJjZTUtNDYyOC1iYzZlLWVhMWNkM2I3MjllMyIsICJzayI6ICIyMDI1LTA1LTAyVDA1OjU5OjI3LjM0NFo..."
}
}
The top-level
prescriber field is deprecated. Use prescriptions[].prescriber instead — each prescription carries its own prescriber, including the Parchment user_id. The top-level field is kept for backwards compatibility and will be removed in a future release.count: Number of prescriptions returned in this page.hasNext: Whether more prescriptions are available on subsequent pages.limit: Maximum number of prescriptions per page (as requested).offset: Starting position of the current page (zero-based).lastKey: The string to use as thelastKeyquery parameter for the next request. Ifnull, there are no more results.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Organization secret for authentication - provided by Parchment
Path Parameters
Organization ID
User ID
Patient ID
Response
Successfully retrieved prescriptions
Indicates if the request was successful
Example:
true
HTTP status code
Example:
200
Human-readable success message
Example:
"Prescriptions retrieved successfully"
Patient prescription data
Show child attributes
Show child attributes
ISO 8601 timestamp of the response
Example:
"2024-01-15T10:30:00.000Z"
Unique identifier for request tracing
Example:
"req_1705312200000_abc123"
Machine-readable operation code
Example:
"SUCCESS"
Pagination information for list operations
Show child attributes
Show child attributes
Was this page helpful?
⌘I
cURL
curl --request GET \
--url https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions \
--header 'Authorization: Bearer <token>' \
--header 'x-organization-secret: <x-organization-secret>'import requests
url = "https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions"
headers = {
"x-organization-secret": "<x-organization-secret>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-organization-secret': '<x-organization-secret>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions', 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.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions",
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-secret: <x-organization-secret>"
],
]);
$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.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-organization-secret", "<x-organization-secret>")
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.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions")
.header("x-organization-secret", "<x-organization-secret>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.parchmenthealth.io/external/v1/organizations/{organization_id}/users/{user_id}/patients/{patient_id}/prescriptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-organization-secret"] = '<x-organization-secret>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "Prescriptions retrieved successfully",
"data": {
"patient": {
"given_name": "John",
"family_name": "Smith",
"date_of_birth": "1990-01-15T00:00:00.000Z",
"sex": "M",
"patient_id": "1234567890",
"partner_patient_id": "PARTNER#12345"
},
"prescriber": {
"given_name": "Dr. Emily",
"family_name": "Johnson",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"prescriptions": [
{
"prescription_type": "ELECTRONIC",
"url": "https://egw-etp-int-qrcode-web-au-se.azurewebsites.net/scripts/2F3WFX8J4WQH8T72X9",
"scid": "2F3WFX8J4WQH8T72X9",
"status": "Active",
"created_date": "2025-06-30T00:11:22",
"item_name": "Sildenafil 100 mg tablet, 4",
"quantity": "4",
"number_of_repeats_authorised": "0",
"repeat_intervals": "0",
"pbs_code": "",
"item_strength": "",
"item_form": "",
"route_administration": "Oral",
"pbsdva_authority_number": "0",
"phone_approval_authority_number": "",
"schedule_number": "S4",
"private_prescription": true,
"emergency_supply": false,
"brand_substitution_not_allowed": false,
"reason_for_prescribing": "",
"patient_instructions": "xcxc",
"doctor_notes": "",
"pharmacy_name": "",
"regulation_24": false,
"controlled_substance_reference": "",
"unusual_dose_flag": false,
"unusual_qty_flag": false,
"my_sl_consent": true,
"send_to_pharmacy": "",
"unlisted_item_repat_authority": false,
"prescriber_script_number": "19192",
"custom_drug_details": {
"custom_product_id": "1234567890"
},
"prescriber": {
"title": "Dr",
"given_name": "Emily",
"family_name": "Johnson",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"delivery": {
"method": "EMAIL",
"recipient_type": "PHARMACY",
"destination": "scripts@bayside-pharmacy.com.au",
"pharmacy": {
"pharmacy_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Bayside Pharmacy"
}
}
},
{
"prescription_type": "ELECTRONIC",
"url": "https://egw-etp-int-qrcode-web-au-se.azurewebsites.net/scripts/2F3WFX8B8K66686MVA",
"scid": "2F3WFX8B8K66686MVA",
"status": "Ceased",
"created_date": "2025-04-17T05:09:02",
"item_name": "Oxycodone hydrochloride 20 mg capsule, 20",
"quantity": "500",
"number_of_repeats_authorised": "0",
"repeat_intervals": "0",
"pbs_code": "8502L",
"item_strength": "",
"item_form": "",
"route_administration": "Oral",
"pbsdva_authority_number": "10074227",
"phone_approval_authority_number": "1234567",
"schedule_number": "S8",
"private_prescription": false,
"emergency_supply": false,
"brand_substitution_not_allowed": false,
"reason_for_prescribing": "",
"patient_instructions": "1x am pm",
"doctor_notes": "",
"pharmacy_name": "",
"regulation_24": false,
"controlled_substance_reference": "",
"unusual_dose_flag": false,
"unusual_qty_flag": false,
"my_sl_consent": true,
"send_to_pharmacy": "",
"unlisted_item_repat_authority": false,
"prescriber_script_number": "18631",
"custom_drug_details": {},
"prescriber": {
"title": "Dr",
"given_name": "Emily",
"family_name": "Johnson",
"user_id": "8e1c9bab-6614-4723-8981-87c8fa026dae"
},
"delivery": {
"method": "SMS",
"recipient_type": "PATIENT",
"destination": "+61400000000"
}
}
]
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_yza567",
"pagination": {
"count": 1,
"hasNext": false,
"limit": 50,
"offset": 0,
"lastKey": null
}
}{
"success": false,
"statusCode": 400,
"error": {
"type": "https://parchment.health/errors/invalid-request",
"title": "Bad request",
"detail": "Invalid query parameters provided."
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_bcd890",
"meta": {
"apiVersion": "1.0"
}
}{
"success": false,
"statusCode": 401,
"code": "UNAUTHORIZED",
"error": {
"type": "https://parchment.health/errors/authentication-required",
"title": "Unauthorized",
"detail": "Valid authentication token is required."
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_efg123"
}{
"success": false,
"statusCode": 403,
"code": "FORBIDDEN",
"error": {
"type": "https://parchment.health/errors/insufficient-scope",
"title": "Insufficient permissions",
"detail": "This operation requires the 'read:patient_prescription' scope"
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_hij456"
}{
"success": false,
"statusCode": 404,
"code": "RESOURCE_NOT_FOUND",
"error": {
"type": "https://parchment.health/errors/patient-not-found",
"title": "Patient not found",
"detail": "Patient with the specified ID does not exist.",
"instance": "/patients/invalid-id"
},
"timestamp": "2024-01-15T10:30:00.000Z",
"requestId": "req_1705312200000_klm789"
}
