Search K
The SDI is a combination of a subset of ezyVet's API and the diagnostic provider's API that provides customers a consistent workflow experience.
Contact
License
ezyVet API licenseServers
https://api.ezyvet.comezyVet Production Environment
https://api.trial.ezyvet.comezyVet Trial Environment
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
{
"client_id": "partner-clinic",
"client_secret": "partner-secret",
"grant_type": "client_credentials"
}
Responses
Returns an access token.
application/json
{
"access_token": "CnKAVqSqp6UBq3Ei17e1UIj2U39UuOQI1i9Db3QT",
"token_type": "Bearer"
}
POST
/accesstoken
Samples
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
{
"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
{
"access_token": "string",
"token_type": "string",
"expires_in": 0
}
POST
/v1/oauth/access_token
Samples
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:
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
{
"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": [
{
}
]
}
GET
/v2/separation
Samples
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
{
"species": [
{
"code": "CANINE",
"name": "Canine",
"breeds": [
{
"code": "LABRADOR_RETRIEVER",
"name": "Labrador Retriever"
}
]
}
]
}
GET
/breedsandspecies
Samples
Get diagnostic codes
GET
/diagnosticcodes
This endpoint must be implemented by the partner.
This endpoint will allow ezyVet to get a list of diagnostic codes.
Responses
Returns a list of diagnostic codes
application/json
{
"directoryofservice": {
"Test": [
{
"Name": "Complete Blood Count",
"Code": "CBC",
"Replicate": "0",
"validFrom": "2012-12-13",
"ExcVAT": "50",
"Currency": "USD",
"NonDiscountable": "true"
}
]
}
}
GET
/diagnosticcodes
Samples
Send a diagnostic request
POST
/diagnosticrequest
This endpoint must be implemented by the partner.
ezyVet will push diagnostic 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
{
"labreport": {
"Identification": {
"ReportType": "request",
"PracticeRef": "NZ0-DR158",
"PIMSName": "ezyVet",
"PIMSVersion": "21.80",
"OwnerName": "Sales, Cash",
"OwnerId": 2,
"VetName": "Team Star",
"VetID": 10
},
"AnimalDetails": {
"AnimalID": 1,
"AnimalName": "Mini",
"Breed": "Border Collie",
"Gender": "MN",
"Species": "Canine",
"Age": "6Y 5M 15D",
"DateOfBirth": "2011-03-07T00:00:00.000Z",
"AbbreviatedHistory": "Some History",
"AdditionalFields": {
"AnimalCode": "100001",
"BreedCode": "BORDCOL",
"SpeciesCode": "C",
"ConsultCode": "300003"
}
},
"LabRequests": {
"LabRequest": [
{
"TestCode": "AR1PE",
"RequestStatus": "request"
}
]
}
}
}
Responses
OK
application/json
{
"external_link": "https://www.clickdimensions.com/links/TestPDFfile.pdf",
"status": "OK"
}
POST
/diagnosticrequest
Samples
Get a partner portal link for a diagnostic result
GET
/externalhotlink
This endpoint must be implemented by the partner.
This endpoint will allow ezyVet to open the partner's portal in a new browser tab. The page should relate to the diagnostic result.
Parameters
Query Parameters
practice_ref
The diagnostic request ID
Type
string
Example
"US1324-DR158"client_id
The client_id that is set up in the SDI record and used for authentication. Represents the location's connection to the Partner
Type
integer
Example
"partner-clinic"Responses
Returns a link to a web page to the partner's portal that is related to the queried diagnostic result
GET
/externalhotlink
Samples
Get a diagnostics requisition form as PDF
GET
/requisitionform
This endpoint must be implemented by the partner.
This endpoint will allow ezyVet to open and print a diagnostics requisition form as PDF that is then sent to the lab along with a specimen relating to the diagnostic request.
Parameters
Query Parameters
practice_ref
The diagnostic request ID
Type
string
Example
"US1324-DR158"Responses
Returns a link to a printable diagnostics requisition form as PDF that is sent to the lab with a specimen.
GET
/requisitionform
Samples
Make a diagnostic result
POST
/standarddiagnostic/labReport
Creates a single diagnostic result that links to a diagnostic request.
You can also upload attachments together with the creation of a diagnostic result. This can be done by encoding the file using base64 and including it in the request.
The file types supported are JPG, PNG and PDF. The maximum file size is 5MB (before encoding).
Authorizations
bearerAuth
clientCredentials Flow
Token URL
"https://api.ezyvet.com/v1/oauth/access_token"Scopes:
Request Body
application/json
{
"labreport": {
"LabReport": {
"Identification": {
"ReportType": "request",
"PracticeID": "0",
"PracticeRef": "NZ0-DR158",
"LaboratoryID": "200314",
"LaboratoryRef": "Panny Farm",
"PIMSName": "ezyVet",
"PIMSVersion": "21.80",
"OwnerName": "Sales, Cash",
"OwnerId": 2,
"VetName": "Team Star",
"VetID": 10,
"BillingType": "Practice"
},
"AnimalDetails": {
"AnimalID": 1,
"AnimalName": "Mini",
"Breed": "Border Collie",
"Gender": "MN",
"Species": "Canine",
"DateOfBirth": "2011-03-07T00:00:00.000Z"
},
"LabResults": [
{
"LabResult": {
"LabResultHeader": {
"TestCode": "CBC",
"TestName": "New SDI Result",
"TestType": "Bloodtest",
"ResultDate": "2012-12-15T12:12:12.000Z",
"ResultNotes": ""
},
"LabResultItems": [
{
"LabResultItem": {
"AnalyteName": "Blood Level",
"Result": "50",
"Units": "p",
"LowRange": 1,
"HighRange": 100,
"PathologistName": "Sally",
"PathologistTitle": "Ms",
"Qualifier": "qualifier",
"Notes": "notes"
}
}
],
"attachment_list": [
{
"content_upload_method": "base64",
"content_type": "jpg",
"content_name": "four_pixels.jpg",
"content_binary": "/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEAAAMBAAUAAAABAAAAVgMDAAEAAAABAA AAEQAAEAAAABAQAAAFERAAQAAAABAAAOw1ESAAQAAAABAAAOwwAAAAAAAYagAACxj//bAEMAAgEBAgEBAgICAgICAgIDBQMDA wMgQEAwUHBgcHBwYHBwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP/bAEMBAgICAwMDBgMDBgwIBwgMDAwMDA wMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAAIAAgMBIgACEQEDEQH/ xAAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMo GRgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpO UlXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBA AAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SX xFZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4 ubw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOT8XfBPwZJ4r1Rm8I+GGZruUknS4Mk7z/s0UUV+NR2P 0/96qf4n+bP//Z"
}
]
}
}
]
}
}
}
Responses
OK
application/json
{
"message": [
{
"level": "info",
"text": "Inserted AU0-DR5. Specifics: ..."
}
]
}
POST
/standarddiagnostic/labReport