Skip to content
v1.0.0

Standard PACS Interface (SPI)

The SPI is a combination of a subset of ezyVet's API and the PACS provider's API that provides customers a consistent workflow experience.

Contact

Servers

https://api.ezyvet.comezyVet Production Environment
https://api.trial.ezyvet.comezyVet Trial Environment

Partner Authentication


Get an access token from the partner

POST
/accesstoken

This endpoint must be implemented by the Partner.

This endpoint will allow ezyVet to authenticate and use the Partner's web services

Request Body

application/json
JSON
{
  
"client_id": "partner-clinic",
  
"client_secret": "partner-secret",
  
"grant_type": "client_credentials"
}

Responses

Returns an access token.

application/json
JSON
{
  
"access_token": "CnKAVqSqp6UBq3Ei17e1UIj2U39UuOQI1i9Db3QT",
  
"token_type": "Bearer"
}

Samples


Authentication


Fetch a JWT bearer token

POST
/v1/oauth/access_token

Generates a valid access token, given client credentials. Access tokens have an 12-hour TTL.

Request Body

application/json
JSON
{
  
"partner_id": "string",
  
"client_id": "string",
  
"client_secret": "string",
  
"grant_type": "client_credentials",
  
"scope": "string",
  
"site_uid": "string"
}

Responses

A JSON object containing the access token details.

application/json
JSON
{
  
"access_token": "string",
  
"token_type": "string",
  
"expires_in": 0
}

Samples


Modalities


Get modalities

GET
/modalities

This endpoint must be implemented by the Partner.

This endpoint will allow ezyVet to get a list of supported modalities.

Responses

Returns a list of supported modalities

application/json
JSON
{
  
"modalities": [
  
  
{
  
  
  
"name": "Autorefraction",
  
  
  
"code": "AR"
  
  
}
  
]
}

Samples


Attachment


Creates a single Attachment

POST
/v1/attachment

Creates a single Attachment that links to a Consult with an ID of 1.

Authorizations

bearerAuth
clientCredentials Flow
Token URL"https://api.ezyvet.com/v1/oauth/access_token"
Scopes:
  • "write-attachment"Create and update attachment resources

Request Body

multipart/form-data
object

The record type the Attachment is for. E.g. Animal, Contact, Consult.

The ID number of the record the Attachment is linked to.

Notes that are related to the Attachment

The data of the file.

Format"binary"

Create an Attachment using an existing file in ezyVet.

Responses

Successful response

application/json
JSON
{
  
"meta": {
  
  
"timestamp": "string"
  
},
  
"items": [
  
  
{
  
  
  
"attachment": {
  
  
  
  
"id": "string",
  
  
  
  
"active": true,
  
  
  
  
"created_at": "string",
  
  
  
  
"modified_at": "string",
  
  
  
  
"file_id": "string",
  
  
  
  
"file_download_url": "string",
  
  
  
  
"mime_type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"primary_image": true,
  
  
  
  
"notes": "string"
  
  
  
}
  
  
}
  
],
  
"messages": [
  
  
{
  
  
}
  
]
}

Samples


Separations


Fetch a Separation list

GET
/v2/separation

Fetches a list containing Separations.
Separations are a complex part of the ezyVet API and is important to understand.
Please read this document to ensure you have an adequate understanding.

Authorizations

bearerAuth
clientCredentials Flow
Token URL"https://api.ezyvet.com/v1/oauth/access_token"
Scopes:
  • "read-separation"Read separation resources

Parameters

Query Parameters

id

The ID number used by the system to uniquely identify a Separation.

Type
number
uid

The ID number used by the system to uniquely identify a Separation across all ezyVet sites.

Type
string
active

If true, the Separation is active and usable in ezyVet.

Type
boolean
created_at

The epoch time when the Separation was created.

Type
number
modified_at

The epoch time when the Separation was last modified.

Type
number

Responses

A list of separations

application/json
JSON
{
  
"meta": {
  
  
"timestamp": "string",
  
  
"items_page": "string",
  
  
"items_page_total": "string",
  
  
"items_page_size": "string",
  
  
"items_total": "string"
  
},
  
"items": [
  
  
{
  
  
  
"separation": {
  
  
  
  
"id": 0,
  
  
  
  
"uid": "string",
  
  
  
  
"created_at": 0,
  
  
  
  
"modified_at": 0,
  
  
  
  
"active": true,
  
  
  
  
"name": "string",
  
  
  
  
"type": "string",
  
  
  
  
"parent": 0,
  
  
  
  
"child": 0,
  
  
  
  
"separation_type": "string",
  
  
  
  
"contact_id": 0,
  
  
  
  
"contact_uid": "string"
  
  
  
}
  
  
}
  
],
  
"messages": [
  
  
{
  
  
}
  
]
}

Samples


Breeds & Species


Get species and breeds

GET
/breedsandspecies

This endpoint must be implemented by the Partner.

This endpoint will allow ezyVet to get a list of animal species and breeds.

Responses

Returns a list of species & breeds

application/json
JSON
{
  
"species": [
  
  
{
  
  
  
"code": "CANINE",
  
  
  
"name": "Canine",
  
  
  
"breeds": [
  
  
  
  
{
  
  
  
  
  
"code": "LABRADOR_RETRIEVER",
  
  
  
  
  
"name": "Labrador Retriever"
  
  
  
  
}
  
  
  
]
  
  
}
  
]
}

Samples


Diagnostic Request


Send a PACS request

POST
/diagnosticrequest

This endpoint must be implemented by the partner.

ezyVet will push diagnostic (PACS) requests as they are made/updated/disabled to the partner's diagnostic request endpoint.
The partner must acknowledge the POST request with a HTTP 200 OK once they have received the diagnostic request successfully AND have been able to parse the information correctly.

Request Body

application/json
JSON
{
  
"id": 595,
  
"active": true,
  
"created_at": 1529901719,
  
"modified_at": 1529901719,
  
"timestamp": 1529897843,
  
"contact": {
  
  
"id": 76,
  
  
"active": true,
  
  
"created_at": 1527011450,
  
  
"modified_at": 1527011450,
  
  
"ownership_id": 1,
  
  
"code": "WendyTest",
  
  
"first_name": "Wendy",
  
  
"last_name": "Ww",
  
  
"business_name": "",
  
  
"is_business": false,
  
  
"is_customer": true,
  
  
"is_supplier": false,
  
  
"is_vet": false,
  
  
"is_syndicate": false,
  
  
"is_staff_member": false,
  
  
"stop_credit": "OK"
  
},
  
"animal": {
  
  
"id": 2,
  
  
"name": "XiaoGouABC",
  
  
"code": "XGABC",
  
  
"sex": {
  
  
  
"id": 1,
  
  
  
"active": true,
  
  
  
"created_at": 1467543440,
  
  
  
"modified_at": 1467543440,
  
  
  
"name": "Male",
  
  
  
"abbreviation": "M",
  
  
  
"is_desexed": false
  
  
},
  
  
"is_dead": false,
  
  
"is_hostile": "",
  
  
"animalcolour_id": 34,
  
  
"integrated_species": {
  
  
  
"id": 293,
  
  
  
"active": true,
  
  
  
"created_at": 1528986101,
  
  
  
"modified_at": 1528986101,
  
  
  
"code": "1",
  
  
  
"name": "Canine"
  
  
},
  
  
"integrated_breed": {
  
  
  
"id": 5055,
  
  
  
"active": true,
  
  
  
"created_at": 1528986101,
  
  
  
"modified_at": 1528986101,
  
  
  
"code": "1",
  
  
  
"name": "AFFENPINSCHER"
  
  
},
  
  
"species": {
  
  
  
"name": "Feline (Cat)",
  
  
  
"integrated": {
  
  
  
  
"name": "Canine",
  
  
  
  
"code": "CANINE1"
  
  
  
}
  
  
},
  
  
"breed": {
  
  
  
"name": "Ragamuffin",
  
  
  
"integrated": {
  
  
  
  
"name": "Labrador Retriever",
  
  
  
  
"code": "LABRADOR_RETRIEVER"
  
  
  
}
  
  
},
  
  
"rabies_number": "",
  
  
"date_of_rabies_vaccination": 0,
  
  
"microchip_number": "",
  
  
"date_of_birth": 1438524000,
  
  
"is_estimated_date_of_birth": false,
  
  
"date_of_death": 0,
  
  
"death_reason": "",
  
  
"date_of_desex": 0,
  
  
"referring_clinic_id": 0,
  
  
"referring_vet_id": 0,
  
  
"residence_contact_id": 0,
  
  
"weight_unit": "kg",
  
  
"weight": 3.499,
  
  
"resuscitate": "Unspecified",
  
  
"notes": "Some notes."
  
},
  
"consult_id": 55,
  
"vet": {
  
  
"id": 31,
  
  
"active": true,
  
  
"created_at": 1494879128,
  
  
"modified_at": 1522194348,
  
  
"name": "Dr Vet",
  
  
"is_vet": true,
  
  
"is_salesperson": true
  
},
  
"reference_number": "AU10674-DR595",
  
"specifics": "",
  
"modality": "DX",
  
"status": "",
  
"supplier_id": 67,
  
"ownership_id": 2,
  
"diagnostic_list": [
  
  
{
  
  
  
"id": 958,
  
  
  
"active": true,
  
  
  
"created_at": 1529901719,
  
  
  
"modified_at": 1529901719,
  
  
  
"diagnostic_id": 190,
  
  
  
"name": "Cardio Ultrasound",
  
  
  
"code": "CardioUS",
  
  
  
"diagnostic_class": "Diagnostic"
  
  
}
  
]
}

Responses

OK

application/json
JSON
{
  
"external_link": "https://www.externalimageviewer.example",
  
"status": "OK"
}

Samples


Diagnostic Result


Create a Diagnostic Result

POST
/v1/diagnosticresult

Creates a single DiagnosticResult.

Authorizations

bearerAuth
clientCredentials Flow
Token URL"https://api.ezyvet.com/v1/oauth/access_token"
Scopes:
  • "read-diagnosticresult"Read diagnostic result resources
  • "write-diagnosticresult"Create and update diagnostic result resources

Request Body

application/json
JSON
{
  
"active": "true",
  
"consult_id": "string",
  
"animal_id": "string",
  
"supplier_id": "string",
  
"vet_id": "string",
  
"diagnostic_request_id": "string",
  
"timestamp": "Current epoch",
  
"specifics": "string",
  
"outcome": "string",
  
"diagnostic_result_item_list": [
  
  
{
  
  
  
"name": "string",
  
  
  
"value": "string",
  
  
  
"range_low": "string",
  
  
  
"range_high": "string",
  
  
  
"unit": "string"
  
  
}
  
],
  
"external_link": "string"
}

Responses

Success

application/json
JSON
{
  
"meta": {
  
  
"timestamp": "string"
  
},
  
"items": [
  
  
{
  
  
  
"diagnosticresult": {
  
  
  
  
"id": "string",
  
  
  
  
"active": "string",
  
  
  
  
"created_at": "string",
  
  
  
  
"modified_at": "string",
  
  
  
  
"ownership_id": "string",
  
  
  
  
"contact_id": "string",
  
  
  
  
"consult_id": "string",
  
  
  
  
"animal_id": "string",
  
  
  
  
"vet_id": "string",
  
  
  
  
"diagnostic_request_id": "string",
  
  
  
  
"timestamp": "string",
  
  
  
  
"specifics": "string",
  
  
  
  
"outcome": "string",
  
  
  
  
"diagnostic_result_item_list": [
  
  
  
  
  
"string"
  
  
  
  
]
  
  
  
}
  
  
}
  
],
  
"messages": [
  
  
"string"
  
]
}

Samples


Powered by VitePress OpenAPI