Consultations
The Consultations API provides read-only access to clinical encounter data — the full picture of what happened during a patient visit. Consultations follow the POMR (Problem-Oriented Medical Record) structure, with observations, medications, procedures, and other clinical data scoped to specific problems.
Consultations are read-only via the API. Create and manage consultations through the Jump dashboard.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /consultations | List consultations |
GET | /consultations/{id} | Full consultation card (all sections) |
GET | /consultations/{id}?include=core | Core sections only |
GET | /consultations/{id}/problems | Problems + headings |
GET | /consultations/{id}/medications | Linked medications |
GET | /consultations/{id}/observations | Observations + components |
GET | /consultations/{id}/procedures | Procedures |
GET | /consultations/{id}/referrals | Referrals |
GET | /consultations/{id}/lab-orders | Lab orders |
GET | /consultations/{id}/prescriptions | Prescriptions |
GET | /consultations/{id}/allergies | Allergies + reactions |
GET | /consultations/{id}/immunisations | Immunisations |
GET | /consultations/{id}/documents | Linked documents |
GET | /consultations/{id}/family-history | Family history panels |
GET | /consultations/{id}/social-history | Social history panels |
GET | /consultations/{id}/invoices | Invoices |
GET | /consultations/{id}/amendments | Amendment audit trail |
The Consultation Object
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"consultation_id": "con_abc123",
"patient_id": "pat_456e7890",
"clinician_id": "cli_789a0123",
"location_id": "loc_012b3456",
"appointment_id": "apt_345c6789",
"episode_id": null,
"consultation_date": "2025-01-15",
"consultation_time": "14:30:00",
"status": "completed",
"consultation_type_code": "11429006",
"consultation_type_display": "Consultation",
"consultation_medium_code": "11429006",
"consultation_medium_display": "Face to face",
"consultation_setting": "General practice",
"consultation_setting_code": "394761003",
"template_id": "tmpl_abc",
"template_version": 1,
"finalized_at": "2025-01-15T15:00:00Z",
"finalized_by": "usr_abc",
"has_amendments": false,
"notes": null,
"created_at": "2025-01-15T14:30:00Z",
"updated_at": "2025-01-15T15:00:00Z"
}Status Values
| Status | Description |
|---|---|
draft | In progress, not yet finalized |
in_progress | Being documented |
completed | Finalized |
scheduled | Future consultation |
imported | Imported from external system |
List Consultations
GET /consultationsReturns base consultation fields only (no nested sections). Sorted by consultation_date DESC, consultation_time DESC.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit / offset | integer | Pagination (default 20) |
patient_id | string | Filter by patient |
clinician_id | string | Filter by clinician |
appointment_id | string | Filter by appointment |
episode_id | string | Filter by episode |
status | string | Filter by status |
status_in | string | Multiple statuses (comma-separated) |
consultation_date_gte | string | Date on or after |
consultation_date_lte | string | Date on or before |
has_amendments | string | Filter amended consultations |
Request
curl -X GET "https://app.usejump.co.uk/functions/v1/api-v1/consultations?patient_id=pat_456e7890&status=completed" \
-H "Authorization: Bearer pk_live_your_api_key"Retrieve a Consultation (Full Card)
GET /consultations/{id}Returns the complete clinical encounter with all sections loaded in parallel.
The include Parameter
| Value | Sections loaded |
|---|---|
| (omitted) | All 14 sections (full card) |
core | problems, observations, medications, prescriptions |
problems,medications | Only those sections (comma-separated) |
template_snapshot | Adds the immutable template JSON (large, opt-in) |
core is a stable alias — it will always resolve to problems, observations, medications, and prescriptions in API v1.
Request
# Full card (all sections)
curl -X GET "https://app.usejump.co.uk/functions/v1/api-v1/consultations/con_abc123" \
-H "Authorization: Bearer pk_live_your_api_key"
# Core sections only
curl -X GET "https://app.usejump.co.uk/functions/v1/api-v1/consultations/con_abc123?include=core" \
-H "Authorization: Bearer pk_live_your_api_key"Response (Full Card)
{
"data": {
"id": "con_abc123",
"consultation_date": "2025-01-15",
"status": "completed",
"...base fields...",
"problems": [
{
"id": "cp_1",
"episode_type": "New Episode",
"patient_problems": {
"snomed_code": "386661006",
"snomed_display": "Fever",
"status": "active"
},
"headings": [
{ "heading_type": "History", "content": "3-day history of fever...", "sort_order": 0 },
{ "heading_type": "Examination", "content": "Temp 38.5°C", "sort_order": 1 }
],
"scoped_observations": [
{ "problem_id": "cp_1", "observation": { "code_display": "Body temperature", "value_quantity_value": 38.5 } }
],
"scoped_medications": [
{ "problem_id": "cp_1", "patient_medications": { "display_name": "Paracetamol 500mg" } }
]
}
],
"observations": [
{ "problem_id": "cp_1", "observation": { "code_display": "Body temperature", "value_quantity_value": 38.5, "value_quantity_unit_display": "°C" } }
],
"medications": [
{ "problem_id": "cp_1", "patient_medications": { "display_name": "Paracetamol 500mg", "dosage_amount": 500, "route": "oral" } }
],
"procedures": [],
"referrals": [],
"prescriptions": [],
"allergies": [],
"immunisations": [],
"documents": [],
"lab_orders": [],
"family_history": [],
"social_history": [],
"invoices": [],
"amendments": []
},
"meta": {
"request_id": "req_abc123",
"included_sections": ["problems", "medications", "observations", "procedures", "referrals", "lab_orders", "prescriptions", "allergies", "immunisations", "documents", "family_history", "social_history", "invoices", "amendments"]
}
}POMR Structure
Every linked item includes a problem_id (nullable) indicating which problem it relates to. The problems array nests scoped_* sub-arrays for convenience:
scoped_observations— observations linked to this problemscoped_medications— medications linked to this problemscoped_procedures,scoped_referrals, etc.
These are references to the same records in the flat section arrays. IDs are stable and can be used for deduplication.
Amendments
The base consultation represents the original finalized record. Amendments are an overlay — corrections, addenda, or clarifications applied after finalization. Partners must apply amendments to reconstruct the current clinical state.
When has_amendments: true, check the amendments section for the audit trail.
Consistency
Section data is loaded in parallel for performance. In rare cases, a very recent change may appear in one section but not another. For authoritative point-in-time data, use individual section endpoints.
Section Sub-Endpoints
Each section has its own paginated GET endpoint for granular access:
GET /consultations/{id}/problems
GET /consultations/{id}/medications
GET /consultations/{id}/observations
...etcAll support standard pagination (limit, offset).
Request
curl -X GET "https://app.usejump.co.uk/functions/v1/api-v1/consultations/con_abc123/problems?limit=50" \
-H "Authorization: Bearer pk_live_your_api_key"Response
{
"data": [
{
"id": "cp_1",
"episode_type": "New Episode",
"patient_problems": { "snomed_code": "386661006", "snomed_display": "Fever" },
"headings": [...]
}
],
"meta": {
"limit": 50,
"next_offset": null,
"has_more": false,
"request_id": "req_abc123"
}
}Ordering Guarantees
| Data | Order |
|---|---|
| Problems | created_at ASC (clinical documentation order) |
| Problem headings | sort_order ASC (template-defined) |
| All other sections | created_at ASC |
| Amendments | created_at ASC (chronological audit trail) |
These are part of the v1 contract.
Related Resources
- Patients - Patient records
- Appointments - Linked appointments
- Episodes - Clinical workflow episodes